OSDN Git Service

* doc/invoke.texi (C Dialect Options): Document -aux-info.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
2
3         * doc/invoke.texi (C Dialect Options): Document -aux-info.
4         (Debugging Options): Document -print-multi-directory and
5         -print-multi-lib.
6         * doc/gcc.1: Rebuilt.
7
8 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
9
10         * toplev.c (independent_decode_option): Require `=' between
11         `-aux-info' and filename in the same argument.
12         * gcc.c: Don't pass -aux-info=filename twice.
13
14 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
15
16         * expr.c (expand_expr, case ARRAY_REF): Do not replace
17         an array element with the known initializing value if it has
18         side-effects.
19
20         * toplev.c (rest_of_compilation): Remove dead code before
21         purge_addressof.
22         
23 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
24
25         * cppinit.c (print_help): Document -fpreprocessed.
26         * invoke.texi: Similarly.
27
28 Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
29
30         * predict.def: New file.
31         * predict.h: New file.
32         * predict.c: Include predict.h.
33         (predictor_info): New structure and array.
34         (predict_edge, predict_insn): Rewrite; make global.
35         (predict_edge_def, predict_insn_def): New global functions.
36         (dump_prediction, combine_predictions_for_insns): New
37         static functions.
38         (estimate_probability): Change calls to predict_edge
39         to predict_edge_def and calls to predict_insn to predict_insn_def;
40         combine probabilities.
41         (expected_value_to_br_prob): Behave as predictor.
42         * rtl.h (REG_BR_PRED): Update coment.
43         (invert_br_probabilities): New.
44         * jump.c: Include predict.h
45         (duplicate_loop_exit_test): Drop branch prediction notes.
46         (invert_jump): Use invert_br_probabilities.
47         * Makefile.in: Add dependancy on predict.h for jump and predict pass.
48         * ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
49         * combine.c (distribute_notes): Handle BR_PRED.
50
51 Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
52
53         * predict.c (predict_insn, predict_edge): New static functions.
54         (estimate_probability): Revamp to use new functions;
55         fix loop header heruistics; add loop exist heruistics
56
57 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
58
59         * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
60
61 2001-06-09  Peter Jakubek <pjak@snafu.de>
62
63         * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
64
65 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
66
67         * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
68         for integer operations that don't update C bit.
69
70 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
71
72         * gthr-posix.h (__gthread_objc_init_thread_system): If
73         pthread_key_create fails, it's not clear what the return value is.
74         This obvious fix makes sure it always returns -1 if a problem
75         occurs.
76
77 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
78
79         * doc/gcc.texi: Use @defcodeindex for the index of options.  Add
80         more index entries.  Use more logical markup where appropriate.
81         Use TeX quotes and dashes.
82
83 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
84
85         * unwind-pe.h: Conditionally qualify references to abort with
86         std::.
87
88 2001-06-09  Julian Foad <julian_foad@hotmail.com>
89
90         * doc/invoke.texi: Remove superfluous text.
91
92 2001-06-08  Richard Henderson  <rth@redhat.com>
93
94         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
95         (LIB_SPEC): Mirror config/linux.h version.
96
97 2001-06-08  Richard Henderson  <rth@redhat.com>
98
99         * except.c (get_exception_pointer, get_exception_filter): Take a
100         struct function.  Update all callers.
101         * except.h (get_exception_pointer): Update declaration.
102         * expr.c (expand_expr): Update get_exception_pointer call.
103         * integrate.c (expand_inline_function): Remap the exception pointer
104         from callee to caller.
105
106 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
107
108         * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
109         accurately reflect its cv-qualification.
110         * c-typeck.c (type_lists_compatible_p): Ignore the top-levl
111         cv-qualifiers on function types.
112
113 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
114
115         * basic-block.h: Improve comments.
116         * except.c (expand_eh_region_end_allowed): Remove redundant call
117         to do_pending_stack_adjust.
118         * flow.c (life_analysis): Fix typo in comment.
119         (calculate_global_regs_live): Add documentation.
120         (mark_set_1): Likewise.
121         (debug_regset): Likewise.
122         * doc/rtl.texi (cond_exec): Document it.
123
124 Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
125
126         * i386.h (CONST_COSTS): set cost of constants representable in
127         immediate fields to 0.
128
129 Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
130
131         * function.c (diddle_return_value): Kill code to determine
132         return value before expand_function_end.
133         (expand_function_end): Delay call to clobber_return_register
134         after fucntion return value is computed.
135
136         Re-install temporary reverted patch:
137         * toplev.c (rest_of_compilation): Call split_all_insns
138         before reg-stack and shorten-branches. Do shorten-branches
139         after reg-stack.
140         * final.c (shorten_branches): Remove insn splitting code.
141
142 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
143
144         * doc/gcc.texi, doc/invoke.texi: Add index of command line
145         options.  Use @opindex to index them rather than other indexing
146         commands.  Use @var{...} instead of <...>.  Avoid spaces in names
147         inside @var.  Don't use @kindex to index escape sequences in
148         source code.
149
150 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
151
152         * stmt.c (current_nesting_level): New fn.
153         * tree.h: Declare it.
154         * c-semantics.c (genrtl_compound_stmt): Use it.
155
156         * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
157
158 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
159
160         * jump.c (mark_modified_reg): Allow jump threading if condition
161         codes are represented by a hard register.
162
163 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
164
165         * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
166         for complex floats passed to unprototyped functions.
167
168 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
169
170         * except.c (expand_eh_region_end_allowed): Call
171         do_pending_stack_adjust as necessary.
172
173 Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
174
175         * function.c (clobber_return_register): Clobber the pseudo return
176         register too.
177
178         * sibcall.c (skip_unreturned_value): New function.
179         (call_ends_block_p): Use it.
180
181         * recog.c (split_insn): Break out from ...
182         (split_all_insns): ... here; do not use basic block information
183         when it is broken.
184
185 Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
186
187         * simplify-rtx.c (simplify_subreg):  Fix verification of
188         combined subreg.
189
190 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
191
192         * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
193         Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
194         Move definition of _LANGUAGE_C_PLUS_PLUS ...
195         (CPLUSPLUS_CPP_SPEC): ... here.
196         Fixes PRs c++/3047, target/441.
197
198 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
199
200         * doc/install.texi2html (MAKEINFO): Keep value if set already.
201
202 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
203
204         * doc/gcc.texi: Add trailing slash to URL.
205
206 2001-06-07  Stan Shebs  <shebs@apple.com>
207
208         * config/darwin.h (ENCODE_SECTION_INFO): Define.
209         (REDO_SECTION_INFO_P): Ditto.
210         (STRIP_NAME_ENCODING): Ditto.
211         (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
212         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
213         (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
214         (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
215         * config/darwin.c: No longer include c-tree.h.
216         (machopic_classify_ident): Rewrite to use symbol encoding.
217         (lookup_name_darwin): Remove.
218         (machopic_non_lazy_ptr_name): Handle encoded symbols.
219         (machopic_stub_name): Use STRIP_NAME_ENCODING.
220         (machopic_validate_stub_or_non_lazy_ptr): Ditto.
221         (machopic_finish): Ditto, remove test of decl.
222         (update_non_lazy_ptrs): New function.
223         (darwin_encode_section_info): New function.
224         * config/darwin-protos.h: Declare it.
225         * config/rs6000/rs6000.c (machopic_output_stub): Use
226         STRIP_NAME_ENCODING.
227         
228 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
229
230         * tree.h (DECL_SOURCE_FILE): Improve documentation.
231         (DECL_SOURCE_LINE): Likewise.
232
233 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
234
235         * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
236         from config/elfos.h.
237
238 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
239
240         * linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
241         * pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
242
243 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
244
245         * doc/contrib.texi: Add copyright notice.
246
247 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
248
249         * doc/md.texi: Use four digit years in copyright notice.
250
251 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
252
253         * config.gcc: For $target_alias of athlon-*, set
254         target_cpu_default2=5.
255
256 Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
257
258         * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
259         end of last block if last real insn is a JUMP_INSN.
260
261 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
262
263         * NEWS: Regenerate.
264
265 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
266
267         * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
268         pthread_t to objc_thread_t.
269         (__gthread_objc_thread_id): Likewise.
270
271 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
272
273         * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
274         (ASM_OLDAS_SPEC): Likewise.
275
276         * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
277         (CPP_SUBTARGET_SPEC): Use it.
278         (ASM_OLDAS_SPEC): Define.
279         (ASM_SPEC): Use it.
280         (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
281
282 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
283
284         * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
285         passed by reference.
286
287 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
288
289         * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
290         Document use of N_(...), and show it in examples.  Note that
291         documentation should be added to invoke.texi.  Avoid an overfull
292         hbox.
293
294 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
295
296         * toplev.c (rest_of_compilation): Revert previous patch.
297         * final.c (shorten_branches): Likewise.
298
299 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
300
301         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
302         Remove.
303
304 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
305
306         * doc/install-old.texi: Remove more obsolete documentation.
307
308 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
309
310         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
311
312 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
313
314         * toplev.c (rest_of_compilation): Call split_all_insns
315         before reg-stack and shorten-branches. Do shorten-branches
316         after reg-stack.
317         * final.c (shorten_branches): Remove insn splitting code.
318
319 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
320
321         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
322         * configure: Rebuilt.
323
324 2001-06-07  Andreas Jaeger  <aj@suse.de>
325
326         * emit-rtl.c (operand_subword): Remove unused variable.
327
328 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
329
330         * i386.md (floatdi?f): Avoid usinf of SSE instructions
331         if TARGET_64BIT is false.
332         (floatdi?f_i386_only): New insn.
333         (floatdi?f_i386): Disable for !TARGET_64BIT.
334
335         * (min?f, max?f splitters): Handle case where
336         operands are cross-matched.
337
338         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
339         (MMX_REGISTER_NAMES): Kill.
340         (PRINT_OPERAND): Fix comment.
341         (PRINT_REG): Likewise.
342         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
343         (print_operand): Update comment; kill 'm'.
344
345         * i386.c (x86_branch_hints): New global variable
346         (print_operand): Support outputting of branch prediction hints.
347         * i386.md (conditional jump patterns): Add branch prediction hints
348         to the template.
349         * i386.h (x86_branch_hints): Declare
350         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
351         (PRINT_OPERAND_FUNCT_VALID_P): New.
352         * final.c (final_forward_branch_p): New function.
353
354 2001-06-06  Richard Henderson  <rth@redhat.com>
355
356         * flow.c (mark_used_reg): Clean up looping over multiple hard
357         registers.  Do conditional life bits across multiple hard regs.
358
359 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
360
361         * reload1.c (reload): Revert Schmidt's change so all USEs are not
362         deleted during reload.
363
364 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
365
366         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
367         functions here, instead of ...
368         * c-decl.c (c_expand_body): ... here.
369
370 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
371
372         * config.gcc, config/sparc/bsd.h:  Do not directly include
373         sparc/sparc.h.  Instead do it via tm_file.
374
375 2001-06-05  Richard Henderson  <rth@redhat.com>
376
377         * dwarf2.h (DW_EH_PE_aligned): New.
378         * dwarf2asm.c (eh_data_format_name): Name it.
379         (dw2_asm_output_encoded_addr_rtx): Align for it.
380         * dwarf2out.c (output_call_frame_info): Handle it for personality
381         routine and LSDA pointers.
382
383         * unwind-pe.h (DW_EH_PE_aligned): New.
384         (base_of_encoded_value): Handle it.
385         (read_encoded_value_with_base): Likewise.
386         * unwind-dw2-fde.c (base_from_object): Likewise.
387         (get_cie_encoding): Likewise.
388
389         * config/alpha/elf.h: Remove ecoff commentary.
390         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
391
392 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
393
394         * config.gcc, config/i386/bsd386.h:  Do not directly include
395         i386/386bsd.h.  Instead do it via tm_file.
396
397 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
398
399         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
400         way svr4.h does.
401
402 2001-06-05  Pascal Obry  <obry@act-europe.fr>
403
404         * configure.in: Quote $enable_win32_registry in case the value has
405         spaces in it.
406         * configure: Ditto.
407
408 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
409
410         * print-rtl.c (xspaces): Remove.
411         (print_rtx): Use printf field-width, rather than xpsaces, to
412         indent.
413         * toplev.c (main): Disable sibling-call optimization if we are
414         handling exceptions.
415         
416 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
417
418         * reload1.c (reload): Delete all USEs generated during reload.
419
420 2001-06-05  scott snyder  <snyder@fnal.gov>
421
422         * gccbug.in:  Fix typo.
423
424 2001-06-05  Andreas Jaeger  <aj@suse.de>
425
426         * builtins.def: Fix definition of __builtin_cosf, it uses float as
427         parameter and return value.
428
429 2001-06-04  Anthony Green  <green@redhat.com>
430
431         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
432         machine.  This is now done in sparc.h.
433
434 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
435
436         Correct CVS resurrection of invoke.texi.
437         * doc/invoke.texi: Document new tree dump flags.
438
439 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
440
441         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
442         for casting an aggregate to its own type.  Fixes PR c/2735.
443
444 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
445
446         * doc/texinfo.tex: Update to version 2001-05-24.08.
447
448 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
449
450         * c-common.h (flag_dump_translation_unit): Remove.
451         (enum tree_dump_index): Define.
452         (TDF_ADDRESS, TDF_SLIM): New #defines.
453         (dump_node_to_file): Remove.
454         (dump_node): Make extern. Add flags.
455         (dump_flag, dump_enabled_p, dump_begin, dump_end,
456         dump_switch_p): Prototype.
457         * c-common.c (flag_dump_translation_unit): Remove.
458         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
459         logic. Use dump_switch_p.
460         * c-dump.h (struct dump_info): Add node and user fields.
461         (dump_pointer): Declare.
462         * c-dump.c (dump_node): Make extern. Add flags.
463         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
464         (dump_new_line, dump_maybe_newline): Use them.
465         (dump_pointer): New function.
466         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
467         chain or function's body. Dump address, if TDF_ADDRESS set.
468         (dump_flag): Define.
469         (dump_node_to_file): Remove.
470         (struct dump_file_info): New struct.
471         (dump_files): New array.
472         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
473         * c-lang.c (finish_file): Adjust dumping.
474         * toplev.h (dump_base_name): Make extern.
475         * invoke.texi: Document new flags.
476
477 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
478
479         * c-tree.h (lang_decl): Add pending_sizes fields.
480         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
481         functions.
482         (c_expand_body): Expand them.
483         (lang_mark_tree): Mark lang_decl:pending_sizes.
484         * function.c (expand_pending_sizes): New function, broken out
485         from ...
486         (expand_function_start): ... here.
487         * tree.h (expand_pending_sizes): Declare it.
488
489 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
490
491         * doc/install.texi: Update FreeBSD information.  Generalize
492         and update information for alpha-based platforms using ELF.
493
494 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
495
496         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
497         (store_parm_decls): Likewise.
498         * c-typeck.c (convert_arguments): Likewise.
499
500 2001-06-04  Richard Henderson  <rth@redhat.com>
501
502         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
503         optimization if current_function_calls_setjmp.
504
505 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
506
507         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
508         wide strings.
509
510 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
511
512         * simplify-rtx.c (simplify_subreg): Fix combining of
513         paradoxical subregs.
514
515 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
516
517         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
518         (no_labels_between_p): Short circuit case beg==end.
519
520 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
521
522         * rtlanal.c (operand_preference): Fix preference for objects.
523
524 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
525
526         * gcse.c (handle_avail_expr): Be prepared to handle single_set
527         parallels.
528
529 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
530
531         * combine.c (if_then_else_cond): Use simplify_subreg instead
532         of operand_subword.
533         * integreate.c (sub_constants): Likewise.
534
535 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
536
537         * emit-rtl.c (constant_subword): Deprecate; remove most of code
538         and use simplify_gen_subreg.
539
540 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
541
542         * sibcall.c (skip_copy_to_return_value): recognize the situation
543         when the called function's return value is copied into an
544         intermediate pseudo, and then into the calling functions return
545         value register.
546
547 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
548
549         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
550         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
551         in case register wasn't OK previously, accept it now; allow
552         subregs of frame pointer if reload completed and frame pointer
553         is not needed.
554
555         * combine.c (sombine_simplify_rtx): Fix comment;
556         use subreg_lowpart_offset instead of subreg_lowpart_p
557         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
558         * rtl.h (subreg_lowpart_parts_p): Kill.
559         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
560         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
561         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
562         (gen_lowpart_common): Likewise.
563         (subreg_lowpart_p): Likewise.
564         (subreg_lowpart_parts_p): Kill.
565         (subreg_lowpart_offset, subreg_highpart_offset): New function.
566
567         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
568         to simplify SUBREG and REG.
569         (gen_highpart): Use simplify_gen_subreg for all simplifications.
570
571         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
572         CONCAT specially.
573
574         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
575
576 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
577
578         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
579         (ARRAY_RANGE_REF): Added description.
580
581         * tree.def (ARRAY_RANGE_REF): New code.
582         * alias.c (handled_component_p, can_address_p): Handle it.
583         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
584         * explow.c (set_mem_attributes): Likewise.
585         * expr.c (expand_assignment, get_inner_reference): Likewise.
586         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
587         * fold-const.c (operand_equal_p): Likewise.
588         * tree.c (staticp, stabilize_reference): Likewise.
589         * varasm.c (decode_addr_const): Likewise.
590
591 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
592
593         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
594         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
595
596 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
597
598         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
599         mark_constant_pool_use before output_addr_const.
600         (struct pool_node): New field wend.
601         (add_constant): Note a sequence of constants that are referenced
602         by a given label.
603         (pool_window_label, pool_window_last): New variables.
604         (dump_table): Emit a unspec_volatile representing the end of a
605         sequence of constants.
606         (mark_constant_pool_use): New function.
607         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
608         (consttable_2): Add the second operand which flags whether
609         this consttable entry was used or not.
610         (consttable_4, consttable_8, consttable_sf, consttable_df):
611         Likewise.
612         (consttable_window_end): New insn.
613
614 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
615
616         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
617         Reformat according to coding standards.
618
619         Warning removal.
620         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
621         (shl_and_kind): Cast wide constant.
622         (gen_far_branch): Define as static, as in declaration.
623         (barrier_align): Compute cache-line length as unsigned.  Add
624         parentheses in initial credit computation.
625         (rounded_frame_size): Add parentheses.
626         (permanent_obstack): Remove declaration.  Include ggc.h for
627         declaration of ggc_add_root_rtx().
628         (get_free_reg): Removed declaration of unused variable reg.
629         (legitimize_pic_address): Mark mode argument as unused.
630
631 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
632
633         * config/sh/sh.c (output_branch): Support for insn with lenght
634         attr 12 & 16 which represents cond branches outside +-4096 range.
635
636 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
637
638         * config/sh/lib1funcs.asm (ic_invalidate): Align the
639         cache-mirroring sequence.  Add nops.
640
641 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
642
643         * doc/install-old.texi: Remove more old installation
644         documentation.
645         * doc/install.texi: Add relevant parts here.
646
647 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
648
649         * doc/install.texi2html: New script.
650
651 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
652
653         * doc/install.texi: Update AIX information again.
654
655 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
656
657         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
658         installation documentation.
659         * doc/install.texi: Move it to here.
660
661 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
662
663         * doc/install.texi: Clean up Texinfo markup.
664
665 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
666
667         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
668         to just after title page.
669
670 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
671
672         * doc/install-old.texi: Remove documentation of some configuration
673         options.
674         * doc/install.texi: Add relevant parts of this documentation here.
675
676 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
677
678         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
679         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
680
681 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
682
683         * i386.md (all uses of ext_register_operand): Make sure they are
684         VOIDmode; replace all uses outside zero_extend.
685         (and?i splitters): Use ext_register_operands.
686         (test?i peep2): Remove ignored constraints.
687         * i386.c (ext_register_operand): Check that operand is
688         eighter pseudo or hard or 'Q' register.
689
690 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
691
692         * tree.h (struct record_layout_info_s): New field unpadded_align.
693         (set_lang_adjust_rli): New declaration.
694         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
695         it would have if not packed, do not downgrade DECL_ALIGN.
696         (lang_adjust_rli, set_lang_adjust_rli): New.
697         (start_record_layout): Initialize new field unpadded_align.
698         (debug_rli): Display it.
699         (place_union_field, place_field): Set it.
700         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
701
702         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
703         mean that; use proper names instead.
704         Print DECL_NO_STATIC_CHAIN.
705
706         * except.c (expand_builtin_frob_return_addr): Add missing call
707         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
708         (expand_builtin_eh_return): Likewise.
709         (expand_eh_return): Clean up ptr_mode != Pmode cases.
710
711 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
712
713         * doc/invoke.texi: Remove references to papers about sequence points
714         to readings.html, refer to that page.
715
716 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
717
718         * README: Update references to installation instructions.
719
720 2001-06-01  Laurent Guerby  <guerby@acm.org>
721             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
722
723         * doc/install.texi: Define srcdir when sources come from CVS.
724         Significantly improve markup.  Wrap overly long lines
725
726 2001-06-01  DJ Delorie  <dj@redhat.com>
727
728         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
729         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
730         objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
731         gcov.1: Move to doc subdirectory.
732         * install.texi: Move to doc/install-old.texi.
733         * gcc.texi: Move to doc, refer to install-old.texi.
734         * Makefile.in: Reflect move of docs to doc/.
735         * f/Make-lang.in: Ditto.
736         * java/Make-lang.in: Ditto.
737         * doc/.cvsignore: New.
738
739 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
740
741         * invoke.texi: use two spaces between command options, eliminate
742         some 'overfull hboxes'
743
744 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
745
746         * Makefile.in (s-mlib): Make backtick-commands always succeed.
747         (DRIVER_DEFINES): Ditto.
748
749 2001-05-31  Richard Henderson  <rth@redhat.com>
750
751         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
752         also link against libgcc.a.
753
754 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
755
756         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
757         * config/mips/mips.c (mips_output_ascii): New function.
758         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
759
760         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
761
762 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
763
764         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
765         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
766
767 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
768
769         * install.texi (Configuration): Add html links for --with-gnu-as &
770         --with-gnu-ld and refer to them from hppa & SCO triplets.
771         (Specific): Link back to with-gnu-ld for all ELF platfoms.
772         (Specific): Reword AVR binutils recommendation.
773
774 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
775
776         * ggc-page.c (size_lookup): Increase minimum allocation size
777         to eight bytes.
778         (ggc_print_statistics): Report size of each bin in bytes, not
779         as its order; there is no longer a direct relationship.
780
781 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
782
783         * extend.texi: Fix formating of examples, eliminate some
784         'overfull hboxes'.
785         * gcc.texi: Eliminate some 'overfull hboxes'.
786         * invoke.texi: Use two spaces between command options, eliminate
787         some 'overfull hboxes'.
788
789 2001-05-30  Richard Henderson  <rth@redhat.com>
790
791         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
792
793 2001-05-30  Tom Tromey  <tromey@redhat.com>
794
795         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
796         use it in the new association.
797
798 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
799             John David Anglin  <dave@hiauly1.hia.nrc.ca>
800
801         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
802         to target type to allow ISO C++ compiler to accept it.
803         * gthr-dce.h (__gthread_active_ptr): Likewise.
804         * gthr-solaris.h (__gthread_active_ptr): Likewise.
805
806 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
807
808         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
809         so that we do accept comments in preprocessed input.
810
811 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
812
813         * cpphash.c (alloc_node): Cast allocated pointer.
814
815 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
816
817         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
818
819 2001-05-29  Stan Shebs  <shebs@apple.com>
820
821         * gcc.texi: Add links for information about Objective-C.
822
823 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
824
825         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
826         /bin/sed fails on [^\"]).
827         (configargs.h): Likewise.
828
829 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
830
831         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
832
833 2001-05-28  Stan Shebs  <shebs@apple.com>
834
835         * objc/objc.gperf: Remove, no longer used.
836
837 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
838
839         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
840         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
841         Remove trailing whitespace.
842
843 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
844
845         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
846         became http://freeware.sgi.com/.
847
848 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
849
850         * local-alloc.c (update_equiv_regs): Don't eliminate constant
851         expressions at -O0.
852
853 2001-05-27  Stan Shebs  <shebs@apple.com>
854
855         * objc/objc-act.c: Add/fix various comments.
856         (init_selector): Remove, no longer used.
857         (build_msg_pool_reference): Ditto.
858         (objc_debug): Ditto.
859
860 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
861
862         * c-decl.c (init_decl_processing):
863          Don't call start_identifier_warnings.
864         * flags.h (warn_id_clash, id_clash_len): Remove.
865         * stringpool.c: Don't include flags.h.
866         (scan_for_clashes, do_identifier_warnings,
867         start_identifier_warnings): Remove.
868         * toplev.c (warn_id_clash, id_clash_len): Remove.
869         (display_help): Don't document -Wid-clash.
870         (decode_W_option): Print warning on -Wid-clash.
871         * tree.h (start_identifier_warnings): Remove.
872         * invoke.texi: Remove documentation of -Wid-clash.
873
874 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
875
876         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
877
878 2001-05-27  Bruce Korb  <bkorb@gnu.org>
879
880         * fixinc/check.tpl(HACK) add and use a Scheme variable
881         (has no test text): error out if no "test_text" is defined
882         * fixinc/fixincl.tpl: likewise
883         (FIXIDX): make it an enumeration so we minimize diffs
884         * fixinc/inclhack.def: re-alphabetize and add sort instructions
885         * fixinc/fixincl.x: regenerate
886         * fixinc/tests/base/stdio.h: test output got moved due to
887         the alphabetizing
888         * README-fixinc: rewrite (mostly)
889
890 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
891
892         * cpplib.c (run_directive): Set pfile->directive.
893
894 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
895
896         * c-tree.texi: Reformat the manual as a single chapter now
897         included by gcc.texi.
898         * gcc.texi: Include c-tree.texi. Merge all indexes.
899         * Makefile.in (dvi): Add generation for the cppinternals
900         documentation. Added dependencies on fdl.texi and c-tree.texi
901         where appropriate.  Use TEXI2DVI instead of custom tex calls.
902         (info): Added dependencies on fdl.texi and c-tree.texi where
903         appropriate.  Remove the target c-tree.info.
904
905 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
906
907         * combine.c (try_combine): Fix typo in comment.
908         * expr.c (expand_expr): Likewise.
909         * config/i370/i370.md (untyped_call): Likewise.
910
911 2001-05-26  Bruce Korb  <bkorb@gnu.org>
912
913         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
914         when fixincl is operating in test mode
915         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
916         (AAB_ultrix_limits): remove redundant text
917         (AAB_ultrix_memory): ditto
918         (AAB_ultrix_string): ditto
919         (djgpp_wchar_h): fix the test text
920         (irix_stdio_va_list): add test text
921         (irix_limits_const): add a testing output file (limits.h is overwritten)
922         (strict_ansi_not_ctd): put limits.h second in list for same reason
923         (solaris27_mutex_init): test text needed selection text, too
924
925         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
926         when fixincl is operating in test mode
927
928 2001-05-26  Philip Blundell  <philb@gnu.org>
929
930         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
931         * config/i960/i960-protos.h: Likewise.
932         * config/i370/i370-protos.h: Likewise.
933         * config/h8300/h8300-protos.h: Likewise,
934         * config/sh/sh-protos.h: Likewise.
935         * config/v850/v850-protos.h: Likewise.
936
937 2001-05-26  Philip Blundell  <philb@gnu.org>
938
939         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
940
941 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
942
943         * toplev.c (debug_args, f_options, W_options): Mark
944         descriptions for translation.
945         (display_help): Translate descriptions on output.
946
947         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
948         objc/lang-options.h: Mark descriptions for translation.
949
950         * aclocal.m4: Quote final argument of patsubst.  Use
951         3-argument form of AC_DEFINE.  Restore quotes to [] while
952         using AC_FD_CC.
953         * configure.in: Remove unnecessary changequote calls.
954         * configure, config.in: Regenerate.
955
956 2001-05-25  Sam TH  <sam@uchicago.edu>
957
958         * basic-block.h: Fix header include guards.
959         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
960         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
961         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
962         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
963         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
964         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
965         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
966         varray.h version.h: Likewise.
967         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
968         config/arm/arm.h config/c4x/c4x-protos.h
969         config/h8300/h8300-protos.h config/h8300/h8300.h
970         config/i370/i370-protos.h config/i370/i370.h
971         config/i960/i960-protos.h config/mcore/mcore.h
972         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
973         config/v850/v850-protos.h config/v850/v850.h: Likewise.
974         * fixinc/fixlib.h fixinc/server.h: Likewise.
975
976 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
977
978         * config/arc/initfini.c (.init): Fix typo.
979
980 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
981
982         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
983
984 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
985
986         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
987
988 2001-05-25  Richard Henderson  <rth@redhat.com>
989
990         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
991
992 2001-05-25  Richard Henderson  <rth@redhat.com>
993
994         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
995         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
996         (sparc*-*-solaris2): Likewise.
997         * config/t-linux: Remove shared libgcc macros.
998         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
999         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
1000
1001 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
1002
1003         * config.gcc (*-*-freebsd*): Report bad configuration.
1004
1005 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
1006
1007         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
1008
1009         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
1010         any prefix.
1011         (ASM_OUTPUT_LABELREF): Delete.
1012
1013 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1014
1015         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
1016         strict_ansi_only): Don't run if stdc_0_in_system_headers.
1017         * fixinc/fixincl.x: Regenerate.
1018         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
1019         (FIX_TEST_TABLE): Declare it.
1020         * fixinc/fixlib.h: Include config.h.
1021
1022 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1023
1024         * fixinc/inclhack.def (alpha___assert): Change char * args to
1025         const char * on Tru64 UNIX to avoid excessive warnings from
1026         assert.h.
1027         * fixinc/fixincl.x: Regenerate.
1028
1029 2001-05-25  Geoff Keating  <geoffk@redhat.com>
1030
1031         * dbxout.c (dbxout_symbol): Invert previous patch, which was
1032         outputting a tag only for variable-size records.
1033
1034 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
1035
1036         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
1037         instead of rtx_equal_p for early clobber test.
1038
1039 2001-05-26  Mark Mitchell <mark@codesourcery.com>
1040
1041         * builtins.def: Encode additional information, such as names and
1042         types, here.
1043         * builtin-types.def: New file.
1044         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
1045         (built_in_decls): Likewise.  Don't explicitly initialize global
1046         data to NULL.
1047         (expand_builtin_mathfn): Handle float and long double variants of
1048         math builtins.
1049         (expand_builtin): Likewise.
1050         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
1051         (expand_tree_builtin): Handle long, long long, float, and long
1052         double variants of math functions.
1053         * c-common.h (c_tree_index): Remove some unused nodes.
1054         (void_ftype): Remove.
1055         (void_type_ptr): Likewise.
1056         (int_ftype_int): Likewise.
1057         (ptr_ftype_sizetype): Likewise.
1058         * c-decl.c (init_decl_processing): Remove creation of DWARF
1059         builtins.
1060         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
1061         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
1062         * Makefile.in (c-common.o): Depend on builtin-types.def.
1063
1064 2001-05-25  Dale Johannesen  <dalej@apple.com>
1065
1066         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
1067
1068 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1069
1070         * c-parse.in (notype_initdcl): Remove redundant line.
1071
1072 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1073
1074         * aclocal.m4: Fixed typo.
1075         (gcc_AC_HEADER_STDBOOL): Define.
1076         (gcc_AC_C__BOOL): Define.
1077         * configure.in: Use them.
1078         (AC_CHECK_HEADERS): Remove stdbool.h
1079         * configure, config.in: Regenerate.
1080
1081 2001-05-25  Richard Henderson  <rth@redhat.com>
1082
1083         * function.c (expand_function_start): Don't abort on PARALLEL
1084         returns from hard_function_value.
1085
1086 2001-05-25  Richard Henderson  <rth@redhat.com>
1087
1088         * config/i386/i386.md: Revert previous change.  Do not apply
1089         the peephole if the components do not die after the sequence.
1090
1091 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1092
1093         * c-parse.in (array_declarator): New.  Handle C99 constructs.
1094         Don't restrict [*] declarators to C only.
1095         (after_type_declarator, parm_declarator_starttypename,
1096         parm_declarator_nostarttypename, notype_declarator,
1097         direct_absdcl1): Use it.
1098         * c-decl.c (build_array_declarator, set_array_declarator_type):
1099         New functions.  Warn that [*] isn't properly implemented; pedwarn
1100         for [*] outside C99 mode if pedantic rather than giving a hard
1101         error.
1102         (grokdeclarator): Handle static and type qualifiers in parameter
1103         array declarators.
1104         * c-tree.h (build_array_declarator, set_array_declarator_type):
1105         Declare.
1106         * extend.texi (Attribute Syntax): Document attributes in parameter
1107         array declarators.
1108
1109 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
1110
1111         * config/i386/i386.md: Make sure cmpstr peepholes do not
1112         affect liveness information.
1113
1114 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1115
1116         * c-typeck.c (digest_init): Issue error messages about
1117         invalid constants, not warnings.
1118
1119 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1120
1121         * invoke.texi (-fno-builtin): Document that this is always on
1122         in C++.
1123
1124 2001-05-24  Philip Blundell  <philb@gnu.org>
1125
1126         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
1127         required.
1128
1129 2001-05-24  Philip Blundell  <philb@gnu.org>
1130
1131         * config/arm/arm.c (output_return_instruction): Correctly handle
1132         interworking and interrupt functions.
1133
1134 2001-05-24  Philip Blundell  <philb@gnu.org>
1135
1136         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
1137         -m{no-}sched-prolog.  Fix typos and improve formatting.
1138
1139 2001-05-24  Philip Blundell  <philb@gnu.org>
1140
1141         * invoke.texi (ARM Options): Improve wording slightly.  Add
1142         documentation for more options, including those for Thumb mode.
1143         Don't mention options that don't exist or are unimplemented.
1144         (Thumb Options): Delete; merged into above section.
1145
1146 2001-05-24  Geoff Keating  <geoffk@redhat.com>
1147
1148         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
1149         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
1150
1151 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
1152
1153         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
1154         fix hard register simplification.
1155
1156 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1157
1158         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
1159         of just copying CPP_CPU_SPEC.
1160
1161 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
1162
1163         * i386.c (incdec_operand): Accept only 1 and -1.
1164
1165 2001-05-23  Kelley Cook  <kelley.cook@home.com>
1166
1167         * Makefile.in: Move many of the *_H definitions eariler in the
1168         file, so that rules in t-* files that use them for
1169         dependencies will work in a parallel build.
1170         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
1171
1172 2001-05-23  Richard Henderson <rth@redhat.com>
1173
1174         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
1175
1176 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1177
1178         * cpp.texi: Update for handling of charconsts.
1179         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
1180         diagnostics.  Skip to the end if the UCS is too short.
1181         (cpp_interpret_charconst): Long charconsts issue a warning
1182         not an error.
1183
1184 2001-05-23  Richard Henderson  <rth@redhat.com>
1185
1186         * doc/install.texi (alpha-linux): Require binutils 2.11.
1187
1188 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1189
1190         * c-lex.c (read_escape, read_ucs): Delete.
1191         (lex_string): Use cpp_parse_escape.
1192         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
1193         if not C++ or not C99.  Warn if traditional.
1194         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
1195         unsigned.  Warn for out-of-range escape sequences here.
1196         Update to use maybe_read_ucs.
1197         (cpp_interpret_charconst):  Don't warn here.
1198         * cpplib.h (cpp_parse_escape): New exported function.
1199
1200 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1201
1202         * extend.texi (Attribute Syntax): Clarify application of
1203         attributes to parameters declared as functions or arrays.
1204
1205 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
1206
1207         * dbxout.c (dbxout_type_methods): Do still group methods by name.
1208
1209 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
1210
1211         * diagnostic.c (vnotice): Kill.
1212         (fnotice): Call vfprintf directly.
1213         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
1214         verbatim, set_diagnostic_context): Rename string argument to
1215         indicate that it is run through gettext.
1216         (vbuild_message_string, build_message_string, output_do_printf):
1217         Rename string argument to indicate that it is NOT run through
1218         gettext.
1219         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
1220         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
1221         Run msgid argument through gettext.
1222         (default_print_error_function): Run constant strings through
1223         gettext when nothing else will.
1224         (fatal_error, internal_error, error_recursion): Use fnotice.
1225         Present complete sentences to gettext.
1226
1227 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
1228
1229         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
1230
1231 2001-05-23  Richard Henderson  <rth@redhat.com>
1232
1233         * function.c (expand_function_start): Always use a pseudo
1234         for the function result value.
1235
1236 2001-05-22  Richard Henderson  <rth@redhat.com>
1237
1238         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
1239         section pointer alignment.
1240
1241         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
1242
1243         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
1244         of __USER_LABEL_PREFIX__.
1245
1246 2001-05-22  Richard Henderson  <rth@redhat.com>
1247
1248         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
1249         (__deregister_frame_info_bases): New.
1250         * unwind-dw2-fde.h: Declare it.
1251         * libgcc-std.ver: Export it.
1252         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
1253         called __register_frame_info_bases.
1254
1255 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1256
1257         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
1258         instead of #elif (which is OK for this case but not in general).
1259
1260 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
1261
1262         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
1263         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
1264         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
1265         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
1266         "r2" to the assembly file. Only issue allocs with non-zero parameters.
1267
1268 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1269             David O'Brien  <obrien@freebsd.org>
1270
1271         * config/freebsd.h (LIB_SPEC): Key the exact setting to
1272         configure-time options and target version of FreeBSD.  Set-up
1273         to match architectural change in threading support.  Correctly
1274         report when -pthread option is not supported by configure-time
1275         options.
1276         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
1277         and extend to encode target version number in run-time setting
1278         of __FreeBSD__ macro to match the system compiler.
1279         (CPP_PREDEFINES): Likewise.
1280         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
1281
1282         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
1283         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
1284
1285 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1286             David O'Brien  <obrien@freebsd.org>
1287
1288         * config.gcc (the unlabeled system switch statement): Add
1289         generic configuration section to handle *-*-freebsd*.  Also,
1290         to match the system compiler, default to threading support (it
1291         may be disabled with the standard --disable-threads
1292         configuration-time switch).
1293         (i[34567]86-*-freebsd* in machine-specific section): Use it.
1294         (alpha*-*-freebsd* in machine-specific section): Likewise.
1295
1296         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
1297         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
1298         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
1299         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
1300         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
1301
1302 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1303             David O'Brien  <obrien@freebsd.org>
1304
1305         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
1306         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
1307         -pthread instead setting macro.
1308
1309 2001-05-22  Richard Henderson  <rth@redhat.com>
1310
1311         * crtstuff.c (__register_frame_info_bases): Declare.
1312         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
1313         (__do_global_dtors_aux, __do_global_dtors): Streamline.
1314
1315         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1316         (CRT_GET_RFIB_DATA): New.
1317         * config/i386/sysv4.h: Likewise.
1318         * config/i386/sco5.h: Likewise.
1319         (ASM_PREFERRED_EH_DATA_FORMAT): New.
1320
1321 2001-05-22  Richard Henderson  <rth@redhat.com>
1322
1323         * rtl.c (read_string): Break out from ...
1324         (read_rtx): ... here.
1325
1326 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1327
1328         * doc/install.texi (Specific): Remove a bogus and duplicate part
1329         copied from the end of the document.
1330
1331 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
1332
1333         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
1334
1335 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1336
1337         * install.texi: Remove obsolete information on SunOS as well as
1338         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
1339         (Installing GNU CC on the Sun): Remove section.
1340
1341 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
1342
1343         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
1344         keep errno unchanged on success.
1345
1346 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
1347
1348         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
1349         once for hexadecimal floats, whether or not they contain a decimal
1350         point.  Don't let the setting of pedantic otherwise affect the
1351         parsing of hexadecimal floats.
1352
1353 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1354
1355         * README.ACORN: Remove obsolete file.
1356
1357 2001-05-22  Jan Hubicka  <jh@suse.cz>
1358
1359         * combine.c (gen_binary): Use swap_commutative_operands_p
1360         (simplify_comparison): Likewise.
1361         * expmed.c (emit_store_flag): Likewise.
1362         * expr.c (compare_from_rtx): Likewise.
1363         (do_compare_rtx_and_jump): Likewise.
1364         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
1365         if not emitting a branch and operands want swapping.
1366
1367 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1368
1369         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
1370         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
1371         (maybe_get_identifier): Update.
1372         * tree.h (make_identifier): Delete.
1373
1374 2001-05-21  Richard Henderson  <rth@redhat.com>
1375
1376         * combine.c (subst): Do not substitute for a register as
1377         a destination subreg/strict_low_part/zero_extract.
1378
1379         * combine.c (simplify_comparison): Update op1 after constant
1380         extension.
1381         * recog.c (const_int_operand): Accept only constants valid
1382         for the given mode.
1383         * genrecog.c: Update comments wrt const_int_operand.
1384
1385         * emit-rtl.c (init_emit_once): Zero unused memory in a
1386         CONST_DOUBLE.
1387
1388 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1389
1390         * tree.h (type_num_arguments): Declare it.
1391         * tree.c (type_num_arguments): New function.
1392
1393 2001-05-21  Richard Henderson  <rth@redhat.com>
1394
1395         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
1396         conditional ifdef.
1397
1398 2001-05-21  Geoff Keating  <geoffk@redhat.com>
1399
1400         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
1401         (maxsf3+1): Delete.
1402         (minsf3): Use rs6000_emit_minmax.
1403         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
1404         rs6000_emit_minmax.
1405         (movsfcc): Use rs6000_emit_cmove.
1406         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
1407         Don't generate emit_fselsfsf4.
1408         (fseldfsf4): Likewise.
1409         (maxdf3): Use rs6000_emit_minmax.
1410         (maxdf3+1): Delete.
1411         (mindf3): Use rs6000_emit_minmax.
1412         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
1413         rs6000_emit_minmax.
1414         (movdfcc): Use rs6000_emit_cmove.
1415         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
1416         Don't generate emit_fselsfsf4.
1417         (fselsfdf4): Likewise.
1418         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
1419         (min_max_operator): New predicate.
1420         (rs6000_emit_cmove): New function.
1421         (rs6000_emit_minmax): New function.
1422         * config/rs6000/rs6000-protos.h: Prototype new functions.
1423         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
1424         and min_max_operator.
1425
1426         * config/rs6000/rs6000.c (output_cbranch): Handle all
1427         conditional types in the switch statement.
1428
1429 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1430
1431         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
1432         non-register variables.
1433         * extend.texi: Document that asm-specifications do not make sense
1434         for non-static local variables.
1435
1436 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
1437
1438         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
1439         (dbxout_type_fields): Lose minimal_debug support.
1440         (dbxout_type_methods, dbxout_type): Likewise.
1441
1442 2001-05-17  Andrew Haley  <aph@redhat.com>
1443
1444         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1445
1446 2001-05-21  Richard Henderson  <rth@redhat.com>
1447
1448         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
1449         Update all users.
1450
1451 2001-05-20  Richard Henderson  <rth@redhat.com>
1452
1453         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1454         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
1455         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
1456         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1457         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
1458         Likewise.
1459         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1460         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
1461         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
1462         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1463         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1464         DEBUG_PUBNAMES_SECTION): Rename as above.
1465         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1466
1467 2001-05-20  Richard Henderson  <rth@redhat.com>
1468
1469         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
1470         operands unless the operation is commutative.
1471
1472 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1473
1474         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
1475         cases.
1476
1477 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1478
1479         * extend.texi: Clarify documentation of extensions included in ISO
1480         C99.  Prefer C99 terminology and syntax to old GNU terminology and
1481         syntax.  Add more index entries.  Document mixed declarations and
1482         code as an extension in C89 mode.  Warn about future changes to
1483         semantics of inline functions.  Fixes PR other/930.
1484
1485 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1486
1487         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
1488         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1489         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
1490         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1491
1492         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
1493
1494 2001-05-20  Richard Henderson  <rth@redhat.com>
1495
1496         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
1497         to be output before a branch.
1498
1499 2001-05-20  Richard Henderson  <rth@redhat.com>
1500
1501         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
1502
1503 2001-05-20  Richard Henderson  <rth@redhat.com>
1504
1505         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
1506         (ASM_DOUBLE): Remove.
1507         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
1508         * config/i386/sun386.h: Likewise.
1509
1510         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
1511         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
1512
1513         * config/i386/cygwin.h (INT_ASM_OP): Remove.
1514         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
1515         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
1516         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
1517
1518         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
1519         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
1520         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
1521         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
1522         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
1523         * config/i386/win32.h: Likewise.
1524
1525 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1526
1527         * invoke.texi: Add more options to summary list.
1528
1529 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1530
1531         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
1532         used.  Fixes PR c/2291.
1533         * gcc.1: Regenerate.
1534
1535 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1536
1537         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
1538         the -fpic and -fPIC options, clear flag_pic.
1539
1540 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1541
1542         * hashtable.c (calc_hash): Fix HASHSTEP definition.
1543         * stringpool.c (make_identifier): No statistics here anymore.
1544         * objc-act.c (steup_string_decl): Remove redundant check.
1545
1546 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1547
1548         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
1549         cpplib.o, cpphash.o, fix-header): Update.
1550         (hashtable.o): New target.
1551         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
1552         struct c_common_identifier here.
1553         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
1554         * c-lex.c (c_lex): Update.
1555         * c-pragma.h: Update.
1556         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
1557         Delete rid_code.
1558         (C_RID_CODE): Delete.
1559         * cpphash.c: Rewrite to use hashtable.c.
1560         * cpphash.h: Update include guards.
1561         (struct cpp_reader): Remove hashtab.
1562         hash_ob and buffer_ob are no longer pointers.  Add hash_table
1563         and our_hashtable.
1564         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
1565         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
1566         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
1567         * cppinit.c (cpp_create_reader): Update.
1568         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
1569         (cpp_interpret_charconst): Eliminate warning.
1570         * cpplib.c (do_pragma, do_endif, push_conditional,
1571         cpp_push_buffer, cpp_pop_buffer): Update.
1572         (_cpp_init_stacks): Rename cpp_init_directives.
1573         (_cpp_cleanup_stacks): Remove.
1574         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
1575         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
1576          cpp_forall_identifiers, cpp_create_reader): Update.
1577         (C_RID_CODE, cpp_make_node): New.
1578         (c_common_identifier): New identifier node for C front ends.
1579         * cppmain.c (main): Update.
1580         * fix-header.c (read_scan_file): Update.
1581         * flags.h (id_clash_len): Make unsigned.
1582         * ggc.h (ggc_mark_nonnull_tree): New.
1583         * hashtable.c: New.
1584         * hashtable.h: New.
1585         * stringpool.c: Update comments and copyright.  Update to use
1586         hashtable.c.
1587         * toplev.c (approx_sqrt): Move to hashtable.c.
1588         (id_clash_len): Make unsigned.
1589         * toplev.h (ident_hash): New.
1590         * tree.c (gcc_obstack_init): Move to hashtable.c.
1591         * tree.h: Include hashtable.h.
1592         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
1593         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
1594         (struct tree_identifier): Update.
1595         (make_identifier): New.
1596 cp:
1597         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
1598         (C_RID_CODE): Remove.
1599         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
1600         (init_parse): Don't do it here.
1601 objc:
1602         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
1603
1604 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
1605
1606         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
1607         as ncessary.
1608         (expand_eh_return): Convert between word_mode and Pmode.
1609         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
1610         are the same size.
1611         (execute_stack_op): Likewise.
1612         (execute_cfa_program): Likewise.
1613         (uw_frame_state_for): Likewise.
1614         (uw_update_context_1): Likewise.
1615         * unwind.inc (_Unwind_Reason_Code): Likewise.
1616         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
1617         (EH_RETURN_STACKADJ_RTX): Likewise.
1618         * config/mips/mips.c (compute_frame_size): Make space for saving
1619         EH return registers.
1620         (mips_expand_epilogue): Handle EH stack adjustments.
1621         * config/mips/mips.md (eh_return): New pattern.
1622         (eh_set_lr_si): Likewise.
1623         (eh_set_lr_di): Likewise.
1624         Add splitter to perform EH return after reload.
1625
1626 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1627
1628         * jump.c (mark_jump_label): Tidy previous change.
1629
1630 2001-05-19  Bruce Korb  <bkorb@gnu.org>
1631
1632         * fixinc/genfixes: no need for two warnings
1633         * fixinc/Makefile.in: open stdin for those building with a closed one.
1634
1635 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1636
1637         * jump.c (jump_optimize_1): Tidy.
1638         (mark_jump_label): When changing the label in a LABEL_REF, change
1639         update any REG_EQUAL notes as well.
1640
1641 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
1642
1643         * c-parse.in (parm_declarator): Split into
1644         parm_declarator_starttypename and parm_declarator_nostarttypename.
1645         (parm_declarator_starttypename, parm_declarator_nostarttypename):
1646         New.  Allow parenthesised sub-declarators which don't begin with a
1647         TYPENAME.  Fixes PR c/166.
1648
1649 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1650
1651         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
1652         macro.
1653         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
1654         Document it.
1655         * toplev.c (main): If the target does not allow profiling without
1656         a frame pointer, issue an error message.
1657         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
1658         Define it to false.
1659
1660 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1661
1662         * recog.c (general_operand): Modify last change to allow it if reload
1663         has completed.
1664
1665 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
1666
1667         * recog.c (general_operand): Prohibit nonzero subreg bytes on
1668         subregs containing mem.
1669
1670 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
1671
1672         * regrename.c (regrename_optimize): frame pointer register can
1673         use a few hardregs.
1674
1675 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
1676
1677         * README.DWARF: Move into dwarfout.c.
1678
1679 2001-05-18  Dale Johannesen  <dalej@apple.com>
1680
1681         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
1682         specific misuse of r0 as a reload address.
1683
1684 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
1685
1686         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
1687         suceeded.
1688
1689 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1690
1691         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
1692         (add_to_sequence): Make that decision type.
1693         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
1694         (write_switch, write_cond, debug_decision_2): Likewise.
1695
1696         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
1697         for INTEGER_TYPE.
1698         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
1699         variable size.
1700
1701 2001-05-18  Stan Shebs  <shebs@apple.com>
1702
1703         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
1704         * configure: Regenerate.
1705
1706 2001-05-18  Per Bothner  <per@bothner.com>
1707
1708         Changes needed for java/jvspec.c
1709         * gcc.h (n_infiles, outfiles):  Add declarations.
1710         * gcc.c (n_infiles, outfiles):  Mske no longer static.
1711
1712 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
1713
1714         * config/pa/som.h (EXCEPTION_SECTION): Define.
1715
1716 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
1717
1718         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
1719         list.
1720         Add have_location_lists, a variable to determine whether we need a
1721         .debug_loc section or not.
1722         (enum dw_val_class): Add dw_val_class_loc_list.
1723         (dw_val_struct): Add val_loc_list.
1724         (dw_loc_list_struct): New structure, represents location lists.
1725         (new_loc_list): New function, return a new location list, given
1726         the range and location expression.
1727         (add_loc_descr_to_loc_list): New function, add a location
1728         expression to a location list, given the expression and range.
1729         (output_loc_list): New function, output a location list.
1730         (gen_internal_sym): Modified to take symbol prefix, so we can
1731         reuse it for location list symbols.
1732         (add_AT_loc_list): New function, add a location list to a DIE at
1733         the named attribute.
1734         (AT_loc_list): New function, return the location list reference
1735         for a given attribute, if it's a location list.
1736         (print_die): Handle dw_val_class_loc_list.
1737         (size_of_die): Ditto.
1738         (value_format): Ditto.
1739         (output_die): Ditto.
1740         (output_location_lists): New function, output all of the location
1741         lists for a DIE and it's children.
1742         (dwarf2out_finish): Call output_location_lists if we have location
1743         lists.
1744
1745
1746 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
1747
1748         * gcse.c (try_replace_reg): First try global replace, later try to
1749         simplify the expression.
1750
1751         * gcse.c (find_used_regs): Change calling convention; work via
1752         note_uses.
1753         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
1754
1755 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
1756
1757         Revert
1758         2001-02-09  Nick Clifton  <nickc@redhat.com>
1759         * config/arm/arm.md: Change output constraint on post inc
1760         load/store multiple patterns to be a read/write constraint.
1761
1762 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
1763
1764         * basic-block.h (struct basic_block_def): Add documentation about
1765         what a basic block is, and what the various fields are used for.
1766         * flow.c (calculate_globlal_regs_live): Add documentation about
1767         how the algorithm works, and how we know that it will terminate.
1768         Check that the the inductive assumption that guarantees
1769         termination actually holds.
1770         (mark_used_regs): Treat conditionally set registers as used.
1771         (debug_regset): Add comment.
1772         * rtl.texi (cond_exec): Add documentation.
1773
1774         * function.c (expand_function_start): Avoid creating BLKmode
1775         pseudos.
1776
1777 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
1778
1779         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
1780         DIE, even if it has no children.
1781         (dwarf2out_finish): Always output the line-number table, even if
1782         it has no content.
1783
1784 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
1785
1786         * rs6000.md (movsfcc,movdfcc): Remove NE case.
1787
1788 2001-05-17  Bruce Korb <bkorb@gnu.org>
1789
1790         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
1791         * fixinc/genfixes: emit a warning if AutoGen is out of date
1792
1793 2001-05-17  Brendan Conoboy <blc@cygnus.com>
1794             Bruce Korb <bkorb@gnu.org>
1795
1796         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
1797         found in fixinc directory.  Facilitates binary distributions.
1798
1799 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
1800
1801         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
1802         COMPLEX_TYPE.
1803
1804 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
1805
1806         * dwarf2out.c (modified_type_die): Equate qualified type to die.
1807
1808 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1809
1810         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
1811         (simplify_subreg): Handle complex types represented as CONCAT.
1812
1813         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
1814         * rtl.h (swap_commutative_operands_p): Declare.
1815         * rtlanal.c (swap_commutative_operands_p): New.
1816         (operand_preference): New static function.
1817
1818         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
1819         (gen_binary): Likewise.
1820         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
1821         * simplify-rtx.c (simplify_gen_binary,
1822         simplify_gen_relational): Likewise.
1823
1824 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
1825
1826         * cse.c (fold_rtx): Use simplify_subreg.
1827
1828         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
1829         (simplify_gen_subreg): New.
1830         (simplify_rtx): Use simplify_subreg.
1831         * rtl.h (simplify_gen_subreg): Declare.
1832
1833 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
1834
1835         * doc/install.texi: Update Solaris information.
1836
1837         * except.h (protect_cleanup_actions): Remove it.
1838         (lang_protect_cleanup_actions): Declare it.
1839         * except.c (protect_cleanup_actions): Remove it.
1840         (lang_protect_cleanup_actions): New variable.
1841         (init_eh): Don't make protect_cleanup_actions a GC root.
1842         (expand_eh_region_and_cleanup): Call
1843         lang_protect_cleanup_actions.
1844         (output_function_exception_table): Remove unused `align'
1845         variable.
1846         * varasm.c (assemble_external): Abort if we have not yet
1847         opened the assembly output file.
1848
1849 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
1850
1851         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
1852         for eh_personality_libfunc.
1853
1854 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
1855
1856         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
1857         when calling simplify_subreg.  This is needed to allow replacing
1858         of expression of one mode by expression of different mode.
1859
1860 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
1861
1862         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
1863
1864 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
1865
1866         * expr.c (protect_from_queue): Protect against subsequent calls to
1867         emit_queue.
1868         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
1869         too clever.
1870
1871 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
1872
1873         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
1874
1875 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1876
1877         * gccbug.in (CATEGORIES): Add "bootstrap".
1878
1879 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1880
1881         * simplify-rtx.c (simplify_subreg): Break out from ...
1882         * combine.c (combine_splify_rtx) ... here and ...
1883         * recog.c (validate_replace_rtx_1): ... here;
1884         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
1885         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
1886         (subreg_lowpart_p): ... here.
1887
1888 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
1889
1890         * stmt.c (expand_asm_operands): For inout operands, make sure
1891         the substitution of '=' for '+' makes it into the rtl.
1892
1893         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
1894         (reload_as_needed): Call update_eliminable_offsets a bit later.
1895
1896 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1897
1898         * gcc.texi (gccbug): Refer to the web pages for detailed information
1899         on GNATS.
1900
1901 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
1902
1903         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
1904
1905         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
1906         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
1907         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
1908         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
1909         * cross-make: Don't set LIBGCC1.
1910         * mklibgcc.in: Delete all code for building from libgcc1.c.
1911         Always honor LIB1ASMFUNCS if set.
1912
1913         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
1914         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
1915         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
1916         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
1917         config/i386/uwin.asm, config/m68hc11/larith.asm,
1918         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
1919         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
1920         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
1921         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
1922         Delete or update references to libgcc1 in commentary.
1923
1924         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
1925         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
1926         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
1927         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
1928         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
1929         config/arm/t-semi, config/arm/t-strongarm-coff,
1930         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
1931         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
1932         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
1933         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
1934         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
1935         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
1936         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
1937         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
1938         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
1939         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
1940         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
1941         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
1942         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
1943         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
1944         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
1945         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
1946         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
1947         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
1948         config/mips/t-ultrix, config/mn10200/t-mn10200,
1949         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
1950         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
1951         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
1952         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
1953         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
1954         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
1955         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
1956         config/sparc/t-sparclite, config/sparc/t-splet,
1957         config/sparc/t-sunos41, config/sparc/t-vxsparc,
1958         config/sparc/t-vxsparc64, config/v850/t-v850:
1959         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
1960
1961         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
1962         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
1963         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
1964         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
1965         nongcc_SI_type, nongcc_word_type, or perform_*
1966         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
1967
1968         * config/i386/386bsd.h, config/i386/beos-elf.h,
1969         config/i386/linux-aout.h, config/i386/linux-oldld.h,
1970         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
1971         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
1972         Don't include i386/perform.h.
1973
1974         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
1975         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
1976         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
1977         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
1978         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
1979         config/vax/t-openbsd, config/vax/t-vax: Delete.
1980
1981         * config.gcc: Remove references to deleted files.
1982         (arm-semi-aof): Use arm/t-semi for tmake_file.
1983
1984         * gcc.texi, install.texi, invoke.texi, tm.texi:
1985         Delete or rewrite text which is no longer relevant now that
1986         libgcc1 no longer exists.
1987
1988         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
1989         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
1990
1991 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
1992         Bruce Korb <bkorb@gnu.org>
1993
1994         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
1995         initializer
1996
1997 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
1998
1999         * i386.md: Add two peepholes to clean up code generated by
2000         cmpstr* expanders.
2001
2002 2001-05-16  Richard Henderson  <rth@redhat.com>
2003
2004         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
2005         variants of non-absolute encodings.
2006
2007         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2008
2009         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
2010         __register_frame_info_table_bases): Export.
2011
2012 2001-05-16  Richard Henderson  <rth@redhat.com>
2013
2014         * except.c (eh_data_format_name): Move to ...
2015         * dwarf2asm.c: ... here.  Use designated initializers if available.
2016         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
2017         * dwarf2asm.h: Update declarations.
2018         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
2019         ASM_PREFERRED_EH_DATA_FORMAT.
2020         (output_call_frame_info): Likewise.  Use 'L' augmentation for
2021         the LSDA encoding.
2022
2023         * unwind-dw2-fde.h (struct fde_vector): New.
2024         (struct old_object): Rename from struct object.
2025         (struct object): New.
2026         (__register_frame_info_bases): Declare.
2027         (__register_frame_info_table_bases): Declare.
2028         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
2029         * unwind-dw2-fde.c (objects): Remove.
2030         (unseen_objects, seen_objects): New.
2031         (__register_frame_info_bases): New.
2032         (__register_frame_info): Use it.
2033         (__register_frame_info_table_bases): New.
2034         (__register_frame_info_table): Use it.
2035         (__deregister_frame_info): Rewrite for changed object struct.
2036         (base_from_object, get_cie_encoding, get_fde_encoding): New.
2037         (fde_unencoded_compare): Rename from fde_compare; uninline.
2038         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
2039         (start_fde_sort): Adjust for new definition of fde_vector.
2040         (fde_insert): Likewise.
2041         (end_fde_sort): Likewise.  Select comparison function based
2042         on properties of the object.
2043         (fde_split): Take object and fde_compare_t arguments.
2044         (frame_heapsort, fde_merge): Likewise.
2045         (classify_object_over_fdes): Rename from count_fdes.  Handle
2046         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
2047         for the object.
2048         (add_fdes): Handle encoded pointers.
2049         (init_object): Rename from frame_init.  Update for new struct object.
2050         (linear_search_fdes): Rename from search_fdes.  Handle encoded
2051         pointers.
2052         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
2053         (binary_search_single_encoding_fdes): New.
2054         (binary_search_mixed_encoding_fdes): New.
2055         (search_object): New.
2056         (_Unwind_Find_FDE): Update for new struct object.  Fill in
2057         the dwarf_eh_bases.
2058         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
2059         iterating over EH data.
2060         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
2061         fde_encoding, lsda_encoding.
2062         (read_uleb128, read_sleb128): Remove.
2063         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
2064         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
2065         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
2066         pointers.
2067         * unwind-pe.h: Add "struct" to _Unwind_Context references.
2068
2069 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2070
2071         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
2072         * cpphash.c (_cpp_lookup_with_hash): Similarly.
2073         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
2074         cpp_spell_token, cpp_output_token): Similarly.
2075         * cpplib.c (lex_macro_node, do_undef, do_pragma,
2076         do_pragma_poison, parse_assertion, do_assert): Similarly.
2077         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
2078         save_parameter, _cpp_create_definition, check_trad_stringification,
2079         cpp_macro_definition): Similarly.
2080         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
2081         * c-lex.c (cb_undef, c_lex): Similarly.
2082         * fix-header.c (recognized_function): Similarly.
2083         * cpplib.h (NODE_LEN, NODE_NAME): New.
2084         (cpp_hashnode): Rename length len.
2085
2086 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
2087
2088         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
2089         GPRs.
2090
2091 2001-05-16  Andreas Jaeger  <aj@suse.de>
2092
2093         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
2094
2095         * toplev.c: Include dwarf2asm.h for prototype of
2096         dw2_output_indirect_constants.
2097
2098 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
2099
2100         * stmt.c (expand_asm_operands): Be able to offload addressof
2101         expression to memory. (PR optimization/185)
2102
2103 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2104
2105         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
2106         applying distributive law.
2107
2108 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2109
2110         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
2111
2112         * gthr-dce.h (UNUSED): Attribute unused macro.
2113         (__gthread_key_dtor): Make arguments UNUSED.
2114         (__gthread_key_delete): Revise for compatibility with DRAFT4
2115         implementation.
2116
2117 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
2118
2119         * doc/install.texi: Update AIX information.
2120         * README.RS6000: Remove obsolete file.
2121
2122 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
2123             Nathan Sidwell  <nathan@codesourcery.com>
2124
2125         * gcc.c (give_switch): Don't write before start of string.
2126         Always append suffix.
2127
2128 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
2129
2130         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
2131         after stage3.
2132
2133 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2134
2135         * README.ALTOS: Remove obsolete file.
2136
2137 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2138
2139         * c-lex.h (save_and_forget_protocol_qualifiers,
2140         forget_protocol_qualifiers, remember_protocol_qualifiers):
2141         Remove deleted functions' prototypes.
2142
2143 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2144
2145         * c-parse.in (methodtype): New production.
2146         (methoddef, methodproto): Collapse separate '-' and '+'
2147         handlers into 1.
2148
2149 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2150
2151         * c-common.h (RID_FIRST_PQ): New.
2152         * c-parse.in (objc_pq_context): New.
2153         (objc parser): Set objc_pq_context rather than calling
2154         remember_protocol_qualifiers and forget_protocol_qualifiers.
2155         Don't call save_and_forget_protocol_qualifiers.
2156         (yylexname): Handle objc protocol qualifiers here.
2157         * stringpool.c (struct str_header): Replace with sp_hashnode.
2158         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
2159         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
2160         Allocate an IDENTIFIER_NODE for each identifier.
2161         (FORALL_STRINGS, set_identifier): Delete.
2162         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
2163         (ggc_alloc_string): Use an obstack.
2164         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
2165         * tree.h: Update comments.
2166         (set_identifier): Delete.
2167         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
2168         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
2169         remember_protocol_qualifiers): Delete.
2170
2171 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
2172
2173         * flow.c (life_analysis): After life analysis is complete, do
2174         an optional scan over insns looking for REG_LABEL notes that
2175         reference a deleted label.
2176         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
2177         before peeking at LABEL_NUSES.
2178
2179 2001-05-15  Richard Henderson  <rth@redhat.com>
2180
2181         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
2182         (_Unwind_GetTextRelBase): New.
2183
2184 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
2185
2186         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
2187
2188 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
2189
2190         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
2191         so that CHOOSE_SECTION gets used.
2192
2193         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
2194         TARGET_RELOCATABLE like flag_pic for now.
2195
2196 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
2197
2198         * rs6000.md (movdi splitter): Sign extend more efficiently.
2199         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
2200         to "long long" valid on 32-bit and 64-bit hosts.
2201         (logical_operand): Cast trunc_int_for_mode return value.
2202         (rs6000_emit_move): Shift macro to encapsulate variable.
2203         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
2204         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
2205         plus_constant requires signed argument.
2206
2207 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
2208
2209         * gthr-posix.h: Make additional pthread-* functions weak.
2210
2211 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
2212
2213         * recog.c (apply_change_group): Avoid unneeded validating.
2214
2215 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
2216
2217         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
2218         (num_insns_constant): CONST_INT can be 64-bits.
2219
2220 2001-05-14  Stan Shebs  <shebs@apple.com>
2221
2222         * config/darwin.h (LIB_SPEC): Just use -lSystem.
2223         (LIBGCC_SPEC): Don't define.
2224
2225 2001-05-14  Richard Henderson  <rth@redhat.com>
2226
2227         * configure.in (gcc_cv_as_eh_frame): New test.
2228         * config.in, configure: Rebuild.
2229         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
2230
2231 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2232
2233         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
2234         extended precision divide.
2235
2236 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2237
2238         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
2239         for RETURNS as well.
2240
2241 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2242
2243         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
2244         (CPP_CPU??_SIZE_TYPE): New.
2245         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
2246         (CPP_CPU_SPEC): ... here; support choosing of CPU.
2247         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
2248         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
2249         compiler.
2250         * i386.c (override_options): Add sorry about not suported modes.
2251
2252 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
2253
2254         * config/pa/som.h (NM_FLAGS): Remove.
2255         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
2256         (ASM_OUTPUT_SECTION_NAME): Remove.
2257         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
2258
2259 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
2260
2261         * regrename.c (regrename_optimize): Do not rename registers to
2262         leaf registers.
2263
2264 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
2265
2266         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
2267         contain MEMs.  Remove useless distinction about clobbering
2268         registers.
2269
2270 2001-05-13  Geoff Keating  <geoffk@redhat.com>
2271
2272         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
2273         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
2274         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
2275         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2276         (EXCEPTION_SECTION): Define.
2277
2278 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
2279
2280         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
2281         binary backward compat only.
2282         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
2283         in LIB2FUNCS.  Pass it to mklibgcc.
2284         * mklibgcc.in: Handle LIB2FUNCS_ST.
2285
2286         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
2287
2288 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
2289
2290         * tm.texi (THREAD_MODEL_SPEC): Document it.
2291         * gcc.c (main): Use it.
2292         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
2293         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
2294
2295 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2296
2297         * rtl.h (SYMBOL_REF_WEAK): New macro.
2298         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
2299         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
2300         * rtl.texi (SYMBOL_REF_WEAK): Document it.
2301         * gcc.texi: Remove wrong description.
2302
2303 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
2304
2305         * Makefile.in (STAMP): New macro.
2306         Replace all uses of `touch' with $(STAMP).
2307         * fixinc/Makefile.in: Likewise.
2308
2309 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2310
2311         * configure.in: ldopen is never in -lexc, so don't test for it.
2312         Add test for exc_resume in -lexc for Ada.
2313         * configure: Regenerated.
2314
2315 2001-05-12  Richard Henderson  <rth@redhat.com>
2316
2317         * dwarf2asm.c (size_of_encoded_value): New function.
2318         * dwarf2asm.h: Declare it.
2319         * except.c (output_function_exception_table): Align the TType
2320         array only as wide as the encoding.
2321
2322 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
2323
2324         * extend.texi: Document #pragma GCC java_exceptions.
2325
2326 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2327
2328         * c-parse.in (bison parser, init_reswords): Remove uses of
2329         doing_objc_thang.
2330         * c-tree.h (doing_objc_thang): Remove.
2331
2332 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2333
2334         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
2335         about files not ending in newlines.
2336
2337 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2338
2339         * dwarfout.c (dwarfout_init): Add cast.
2340         * sched-deps.c (sched_analyze_insn): Remove unused vars.
2341         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
2342 cp:
2343         * method.c (build_mangled_C99_name): Remove unused prototype.
2344
2345 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2346
2347         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
2348
2349 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2350
2351         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2352         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
2353
2354 2001-05-11  Richard Henderson  <rth@redhat.com>
2355
2356         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2357         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
2358         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
2359         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
2360         (dw2_output_indirect_constants): Prototype.
2361         * dwarf2out.c (dwarf2out_begin_prologue): Generate
2362         current_function_func_begin_label if we'll need it for EH.  Exit
2363         early for IA64_UNWIND_INFO.
2364         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
2365         (eh_data_format_name): Update for indirect references.
2366         (output_function_exception_table): Care for IA64_UNWIND_INFO.
2367         Handle ASM_PREFERRED_EH_DATA_FORMAT.
2368         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
2369         define HAVE_eh_return etc.
2370         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
2371         (final_end_function): Don't call output_function_exception_table.
2372         * toplev.c (compile_file): Call dw2_output_indirect_constants.
2373         (rest_of_compilation): Invoke output_function_exception_table
2374         for ia64 before assemble_end_function.
2375         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
2376         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
2377
2378         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
2379         * unwind.h: Declare them.
2380         * libgcc-std.ver: Export them.
2381         * unwind-pe.h: New file.
2382
2383         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2384
2385         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
2386         instead of "fde".
2387         (find_fde_for_dso): Extract DT_PLTGOT.
2388         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
2389         the segment and gp as well.
2390         * config/ia64/frame-ia64.c: Remove file.
2391         * config/ia64/frame-ia64.h: Remove file.
2392         * config/ia64/unwind-ia64.c: New file.
2393         * config/ia64/unwind-ia64.h: New file.
2394         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
2395         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
2396         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
2397         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2398         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2399         (IA64_UNWIND_INFO): Re-enable.
2400         (HANDLER_SECTION): Remove.
2401         (EH_RETURN_DATA_REGNO): New.
2402         * config/ia64/ia64.md (exception_receiver): Remove.
2403         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
2404         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
2405
2406 2001-05-11  Richard Henderson  <rth@redhat.com>
2407
2408         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
2409         calls and jumps to be bundled together.
2410         (ia64_reorg): Emit a break after a noreturn call that ends
2411         a function.
2412         * config/ia64/ia64.md (break_f): New.
2413
2414 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2415
2416         * c-lex.c (lex_charconst): Convert into a simple wrapper
2417         around cpp_interpret_charconst, to which most of the code
2418         body is moved.
2419         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
2420         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
2421         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
2422         (lex): Use cpp_interpret_charconst.
2423         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
2424         hex_digit_value): New functions.
2425         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
2426         * cpplib.h (cpp_interpret_charconst): New prototype.
2427         * Makefile.in: Update.
2428
2429 2001-05-12  Dean Wakerley  <dean@wakerley.com>
2430
2431         * doc/install.texi: New file. Converted to texinfo from the HTML
2432         documentation in wwwdocs/htdocs/install.
2433
2434 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
2435
2436         * gcse.c (insert_insn_end_bb): Do not search for assignments to
2437         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2438
2439         * toplev.c (compile_file): Move comment for opening output
2440         file to just before the code that opens the output file.
2441
2442 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
2443
2444         * regmove.c (regmove_optimize): Suppress the optimization for
2445         unchanging destination register.  Add comment above function.
2446
2447 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
2448
2449         * Makefile.in: Exterminate all references to assert.h.
2450         * cross-make: Likewise.
2451         * assert.h: Delete.
2452         * configure.in: Correct commentary.
2453         * configure: Regenerate.
2454
2455         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
2456         Remove __eprintf.
2457
2458         * config/t-freebsd, config/t-linux, config/t-linux-aout,
2459         config/t-netbsd, config/t-rtems, config/x-linux,
2460         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
2461         No need to override INSTALL_ASSERT_H.
2462
2463         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
2464         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
2465         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
2466
2467 2001-05-11  Graham Stott  <grahams@redhat.com>
2468
2469         * combine.c (simplify_comparison): Fix typo.
2470
2471 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2472
2473         * loop.h (struct movables): Remove `num'.
2474         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
2475         Adjust call to strength_reduce.
2476         (num_unmoved_movables): New function.
2477         (move_movables): Don't set movables->num.
2478         (strength_reduce): Compute the number of instructions in the loop
2479         here, rather than in the caller.
2480         (check_dbra_loop): Always clear reversible_mem_store if there
2481         are any memory sets.
2482         (loop_regs_scan): Don't count instructions here.
2483         (count_insn_in_loop): New function.
2484
2485 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2486
2487         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
2488
2489 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2490
2491         * c-common.c (finish_label_expr): New function, lifted from
2492         from cp/semantics.c.
2493         * c-common.h (finish_label_expr, lookup_label): New prototypes.
2494         * c-parse.in: Move 3 blocks of parser code into new functions.
2495         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
2496         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
2497         (lookup_label): Remove.
2498
2499 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
2500
2501         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
2502         FLOAT_BIT_ORDER_MISMATCH.
2503
2504 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2505
2506         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
2507         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
2508
2509 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2510
2511         * expr.c (emit_group_load): extract_bit_field requires a REG or
2512         MEM as an argument.
2513
2514 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
2515
2516         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
2517         a computed jump into an unconditional jump.
2518         In second hunk of code for collapsing computed and conditional jumps
2519         into unconditional jumps, reemit the jump in additional cases.
2520
2521         * jump.c (jump_optimize_1): Do not wrap the new jump target
2522         inside a LABEL_REF; gen_jump will do that automatically.
2523
2524 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
2525
2526         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
2527         contents for a SYMBOL_REF in case of floating point constants.
2528
2529 2001-05-10  DJ Delorie  <dj@redhat.com>
2530
2531         * c-common.c (combine_strings): Widen strings in a
2532         host-endian-independent way.
2533
2534 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2535
2536         * c-parse.in: Remove many shift/reduce conflicts.  Update
2537         %expect values.
2538         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2539         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2540         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2541         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2542         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2543         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2544         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2545         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
2546         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
2547         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
2548         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
2549         typespec_reserved_nonattr, typespec_reserved_attr,
2550         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
2551         structsp_nonattr, components_notype, component_notype_declarator,
2552         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
2553         firstparm, setspecs_fp): New
2554         (typed_declspecs, reserved_declspecs, typed_typespecs,
2555         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
2556         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
2557         declmods_no_prefix_attr, nonempty_type_quals, structsp,
2558         type_quals): Remove.  Users updated.
2559         (initdecls, notype_initdecls, after_type_declarator,
2560         parm_declarator, notype_declarator, absdcl1, components, ivars):
2561         Don't allow attributes at the start of a declarator; include them
2562         in the production containing the declarator instead.  Always
2563         require type specifiers before trying to redeclare a typedef name.
2564         (typename): Allow for attributes but warn that they are ignored.
2565         (parmlist, firstparm, setspecs_fp): Include attributes in
2566         parmlist; suck them off the parser stack in firstparm using
2567         setspecs_fp.
2568
2569 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
2570
2571         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
2572         to determine if a block has an unconditional jump at its end.
2573
2574         * jump.c (jump_optimize_1): When converting a conditional jump
2575         to an unconditional jump, build the jump using gen_jump instead
2576         of just modify operands in-place.
2577
2578 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
2579
2580         * cppinit.c (cpp_post_options): Shut off macro expansion if
2581         -fpreprocessed.
2582         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
2583         IN_I directives only if the # is in column 1 and the directive
2584         name begins in column 2.
2585         * cppmain.c (scan_buffer): Insert a space between # and an
2586         identifier, when that identifier is a directive name.
2587
2588         * tradcpp.c (struct file_buf): Add a pointer to the next entry
2589         in the header search path.
2590         (enum node_type): Add T_INCLUDE_NEXT.
2591         (directive_table): Add entry for include_next.
2592         (do_include_next): New function.
2593         (process_include): New routine, broken out of do_include.
2594         (finclude): Insert 'nhd' argument, to be copied into
2595         next_header_dir of the new buffer.
2596         (main): Adjust to match.
2597         * gsyslimits.h, limity.h: Un-indent #include_next.
2598
2599 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2600
2601         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
2602         inclusion as a chapter of the GCC manual.
2603         * gcc.texi: Include objc.texi.
2604         * fdl.texi: Use @unnumberedsec for the addendum.
2605         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
2606
2607 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2608
2609         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
2610
2611 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
2612
2613         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
2614         handling of two-address insns.
2615
2616 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
2617
2618         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
2619         ../binutils/nm-new instead of ../binutils/nm.
2620
2621 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2622
2623         * i386.md (movdi splitter): Fix the splitting condition
2624         (float_extenddftf splitter): Fix mode.
2625
2626 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
2627
2628         * genrecog.c (write_switch): Avoid outputting of switch for
2629         types wider than int.
2630
2631 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
2632
2633         * reload1.c (copy_eh_notes): New function.
2634         (emit_input_reload_insns): Call it.
2635         (emit_output_reload_insns): Call it.
2636
2637 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
2638
2639         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
2640         Delete stanzas.
2641         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
2642         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
2643
2644         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
2645
2646 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2647
2648         * pa.md (interspace_jump): Revise comment.
2649         (builtin_longjmp): Block initial setup insns from delay slot of
2650         interspace branch.
2651         (builtin_setjmp_receiver): New expander to save and restore PIC
2652         register.
2653
2654         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
2655
2656 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
2657
2658         * toplev.c (compile_file): Set up the output file before we call
2659         the various initializers for the compiler.
2660
2661         * except.c (sjlj_mark_call_sites): Do not search for assignments to
2662         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2663
2664         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
2665         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
2666
2667 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
2668
2669         * Makefile.in (tradcpp0): Correct typo in dependency list.
2670
2671 2001-05-06  Geoff Keating  <geoffk@redhat.com>
2672
2673         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
2674         the link register if we're not going to use it.
2675
2676         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
2677         (output_function_profiler): Likewise.
2678
2679 2001-05-07  Alan Modra  <amodra@one.net.au>
2680
2681         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
2682
2683 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
2684
2685         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
2686         zero-extend it.  Make abs_inc unsigned.
2687
2688         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
2689         widest mode in narrowing and widening operations.
2690
2691         * config/mips/mips.md: Sign extend CONST_INTs.
2692
2693 2001-05-06  Andreas Jaeger  <aj@suse.de>
2694
2695         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
2696         (i386 Options): Document -momit-leaf-frame-pointer.
2697
2698 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2699
2700         * c-typeck.c (internal_build_compound_expr): Check for
2701         array to pointer conversion just once.
2702
2703 2001-05-05  Richard Henderson  <rth@redhat.com>
2704
2705         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
2706
2707 2001-05-05  Richard Henderson  <rth@redhat.com>
2708
2709         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
2710         to the parent of the fixup region.
2711
2712 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
2713
2714         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
2715         "inline" keyword.
2716         * cpp.texi (__NO_INLINE): Document it.
2717
2718 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2719
2720         * cppfiles.c (struct include_file): New member err_no.
2721         (find_or_create_entry): Set it.
2722         (open_file): Don't set fds to -2.  Instead, use err_no to
2723         remember previous errors, if any.
2724
2725 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2726
2727         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
2728         between X and Y by using sequences of xgdx and xgdy.
2729
2730 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2731
2732         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
2733         of '!' for the 'D' alternative ('!' is too strong).
2734         ("*logicalsi3_silshl16"): Likewise.
2735         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
2736         ("movstrictsi"): Remove spurious '+'.
2737         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
2738         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
2739         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
2740         a reload to them.
2741
2742 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
2743
2744         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
2745
2746 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
2747
2748         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
2749         into -a.
2750
2751 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2752
2753         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
2754         TARGET_POWERPC64.
2755
2756 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2757
2758         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
2759         soft register, use ror instead of rol.
2760
2761 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2762
2763         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
2764         into account pre/post increment decrement for 68HC12.
2765         Fix other problems in replacement and fix call to reg_mentioned_p.
2766
2767 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2768
2769         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
2770         Put the soft registers in bss for 68HC12.
2771         (L_regs_d3_4): New for _.d3 and _.d4.
2772         (L_regs_d5_6): Likewise.
2773         (L_regs_d1_2): Likewise.
2774         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
2775
2776 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2777
2778         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
2779         to the pre-processor when -fshort-double is specified.
2780         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
2781
2782 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2783
2784         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
2785         (__mulsi3): Rewrite for 68HC12.
2786         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
2787         Mark 'x' constraint with earlyclobber to prevent a
2788         RELOAD_FOR_OTHER_ADDRESS to go in it.
2789         (mulhi3_m68hc12): New pattern.
2790         (mulhi3_m68hc11): Rename of mulhi3.
2791         (mulhi3): New expand for 68HC12 optimisation.
2792         (umulhisi3, mulhisi3): New patterns for 68HC12.
2793
2794 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2795
2796         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
2797         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
2798         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
2799
2800 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2801
2802         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
2803         constants cheap after reload.
2804         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
2805         are cheap.
2806         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
2807         so that gcc prefers a shift by 16.
2808         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
2809
2810 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
2811
2812         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
2813
2814 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2815
2816         * alpha.h: NULL_PTR -> NULL.
2817         * arm.c: Likewise.
2818         * arm.h: Likewise.
2819         * avr.h: Likewise.
2820         * c4x.c: Likewise.
2821         * c4x.h: Likewise.
2822         * i386.c: Likewise.
2823         * i386.md: Likewise.
2824         * i860.c: Likewise.
2825         * ia64.c: Likewise.
2826         * m68hc11.h: Likewise.
2827         * rs6000.h: Likewise.
2828         * sh.c: Likewise.
2829         * sh.h: Likewise.
2830         * sparc.h: Likewise.
2831         * v850.c: Likewise.
2832
2833         * expr.c: Likewise.
2834         * final.c: Likewise.
2835         * gcc.c: Likewise.
2836         * recog.c: Likewise.
2837
2838 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2839
2840         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
2841         `bool' parameter to `int'.
2842
2843         * hash.c (hash_lookup): Likewise.
2844
2845         * hash.h (hash_lookup): Likewise.
2846
2847         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
2848
2849 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
2850
2851         * i386.c (x86_initialize_trampoline): Fix mode of constant.
2852
2853 2001-05-03  Geoff Keating  <geoffk@redhat.com>
2854
2855         * invoke.texi (i386 Options): Delete references to -malign-jumps,
2856         -malign-loops, -malign-functions.
2857         * i386.c (ix86_align_funcs): Delete.
2858         (ix86_align_loops): Delete.
2859         (ix86_align_jumps): Delete.
2860         (override_options): Mark -malign-* as obsolete.  Emulate their
2861         behaviour with the -falign-* options.  Default -falign-* from
2862         the processor table.
2863         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
2864         patch of Wed May 2 13:09:36 2001.
2865         (LOOP_ALIGN): Delete.
2866         (LOOP_ALIGN_MAX_SKIP): Delete.
2867         (LABEL_ALIGN_AFTER_BARRIER): Delete.
2868         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
2869
2870 2001-05-04  Andreas Jaeger  <aj@suse.de>
2871
2872         * except.h: Add prototype declaration for
2873         expand_builtin_init_dwarf_reg_sizes.
2874
2875 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
2876
2877         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
2878
2879 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2880
2881         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
2882         instruction.
2883         ("bitcmpqi2"): New pattern for bit-extract and test.
2884         ("bitcmphi"): New pattern for bitb/bita instructions.
2885
2886 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2887
2888         * gccbug.in: Use a temporary directory when the mktemp command is
2889         not available.
2890
2891 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2892
2893         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
2894         instead of _.d1.
2895         (INITIALIZE_TRAMPOLINE): Call it.
2896         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
2897         (TRAMPOLINE_TEMPLATE): Remove.
2898         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
2899         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
2900         Declare.
2901
2902 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
2903
2904         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
2905         and crtendS.o with PIC.
2906
2907 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2908
2909         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
2910         negative numbers.
2911         (___subdi3, ___adddi3): Use x instead of y as index register.
2912         (__init_bss_section, __map_data_section): Optimize for 68HC12.
2913         (__memset, __memcpy): Likewise.
2914         (regs): Put the soft registers in bss for 68HC12.
2915         (abort): Use trap to abort for 68hc12.
2916         (__mulhi3, __mulhi32): Use emul for 68hc12.
2917         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
2918
2919 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2920
2921         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
2922         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
2923         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
2924         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
2925         Set 68HC12 min offset to -65536.
2926         (print_operand): Put parenthesis arround the operand if it refers
2927         to a symbol having the same name as a register.
2928         (m68hc11_z_replacement): When z register is replaced by its
2929         equivalent soft register, force the insn to be re-recognized.
2930         (m68hc11_check_z_replacement): Fix the test when destination is
2931         the index register and z dies in the insn.
2932         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
2933
2934 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2935
2936         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
2937         costs according to processor variant.
2938         (m68hc11_shift_cost): New function to compute shift costs.
2939         (m68hc11_rtx_costs): Define costs according to processor variant.
2940         (m6811_cost): Costs for 68HC11.
2941         (m6812_cost): Costs for 68HC12.
2942         (COSTS_N_INSNS): Remove.
2943
2944         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
2945         (DEFAULT_RTX_COSTS): Remove.
2946         (CONST_COSTS): Define costs according to OUTER_CODE.
2947         (processor_costs): New struct to define costs.
2948         (m68hc11_cost): Pointer to current costs.
2949
2950 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2951
2952         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
2953         and use m68hc11_notice_keep_cc when using leax/leay.
2954         (addhi3 split): Reject split if the insn is handled by
2955         leax/leay above.
2956         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
2957         push must be handled in a special way if the source operand uses
2958         sp as index register.
2959         (m68hc11_notice_keep_cc): New function.
2960         (m68hc11_gen_movhi): Use it when an insn changes a register but
2961         not the flags.
2962         (m68hc11_gen_movqi): Fix move for 68HC12.
2963         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
2964
2965 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2966
2967         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
2968         and don't pass operands[0] to emit_library_call_value.
2969
2970 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2971
2972         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
2973         (zero_extendsi split): Simplify and use (zero_extendhi).
2974         (*addhi3): Remove 'w' constraint since stack pointer is handled
2975         by (addhi3_sp).
2976         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
2977         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
2978         (*ashrhi3_const): Fix shift by 7.
2979         (*lshrsi3_const16): Fix template.
2980         (call, call_value): Fix constraint and predicate.
2981
2982 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2983
2984         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
2985         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
2986         (CC_REGNUM): Likewise.
2987         (*unnamed splits): Use above constants instead of hard coded numbers.
2988         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
2989         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
2990         (*return_16bit, *unnamed peepholes): Likewise.
2991
2992 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
2993
2994         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
2995         rs6000/rs6000.h twice.
2996
2997 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
2998
2999         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
3000         (CPP_SPEC): Conditionally define MSDOS and GO32.
3001         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
3002         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
3003         ignored.
3004         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
3005
3006 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3007
3008         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
3009
3010 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3011
3012         * integrate.h (struct inline_remap): Add leaf_reg_map table.
3013         * integrate.c (expand_inline_function): Use xcalloc to allocate
3014         memory.
3015         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
3016         registers.
3017
3018 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3019
3020         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
3021         if it is not set.
3022
3023 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3024
3025         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
3026         linker if -mrelax is given.
3027         (TARGET_SWITCHES): Document -mrelax.
3028
3029         Re-installed 2001-01-09's patch:
3030         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
3031         if it's wider than long and the target's long is wider than the
3032         host's.
3033
3034 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
3035
3036         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
3037         directly include rs6000/rs6000.h.  Instead do it in tm.h.
3038
3039 2001-05-02  Stan Shebs  <shebs@apple.com>
3040
3041         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
3042         NSConstantString for NeXT-style runtimes.
3043         (STRING_OBJECT_GLOBAL_NAME): New macro.
3044         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
3045         OCTI_STRING_CLASS_DECL.
3046         (constant_string_global_id): New macro.
3047         (string_class_decl): Ditto.
3048         (setup_string_decl): New function.
3049         (build_objc_string_object): Use it to build a NeXT runtime
3050         compatible string initializer.
3051
3052 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
3053
3054         * tradcpp.c (do_define): Make sure we don't walk past limit.
3055
3056 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3057
3058         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
3059         offsets if not REG_OK_STRICT.
3060
3061         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
3062         (INT_REG_OK_FOR_INDEX_P): Likewise.
3063         (INT_REG_OK_FOR_BASE_P): Likewise.
3064         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
3065         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
3066         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
3067         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
3068         REG_OK_FOR_BASE_P. Take an additional parameter.
3069         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
3070         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
3071         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
3072         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
3073         rs6000_legitimate_address() and use it.
3074         * config/rs6000/rs6000.c: Update all callers.
3075         (rs6000_legitimate_address): New function.
3076
3077 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
3078
3079         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
3080         special_constant conditional blocks together.
3081
3082 2001-05-02  Dale Johannesen  <dalej@apple.com>
3083
3084         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
3085         parameter.
3086         (STRICT_ARGUMENT_NAMING): Define.
3087         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
3088         function_arg_partial_nregs, setup_incoming_varargs): Remove
3089         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
3090         is defined.
3091
3092 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3093
3094         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
3095
3096         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
3097         for replacement.
3098
3099         * expr.c (store_field): Do nothing except elaborate side-effects if
3100         zero-bit field.
3101
3102 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3103
3104         * c-lex.c: NULL_PTR -> NULL.
3105         * cse.c: Likewise.
3106         * emit-rtl.c: Likewise.
3107         * gcse.c: Likewise.
3108         * genpeep.c: Likewise.
3109         * jump.c: Likewise.
3110         * mips-tdump.c: Likewise.
3111         * reload1.c: Likewise.
3112         * rtlanal.c: Likewise.
3113         * stmt.c: Likewise.
3114         * stor-layout.c: Likewise.
3115         * toplev.c: Likewise.
3116
3117 2001-05-01  Per Bothner  <per@bothner.com>
3118
3119         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
3120         call do_pending_stack_adjust before emiting label.
3121
3122 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
3123
3124         * extend.texi: Fix typo.
3125
3126 2001-05-01  Stan Shebs  <shebs@apple.com>
3127
3128         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
3129         of UOBJC_MODULES_decl.
3130         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
3131         (generate_descriptor_table): Ditto.
3132         (generate_protocols): Ditto.
3133         (generate_protocol_list): Ditto.
3134         (generate_classref_translation_entry): Ditto.
3135
3136 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
3137
3138         * invoke.texi (Optimize Options): Add documentation for `--param
3139         max-delay-slot-insn-search' and `--param
3140         max-delay-slot-live-search' and reorder --param section.
3141         * params.def: Modify initial comment.
3142         * params.h (param_info): Add `help' member.
3143         * toplev.c (lang_independent_params): Include `help' description.
3144         (display_help): Print --param parameters.
3145
3146 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3147
3148         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
3149         Remove references to deleted files.
3150         (*-*-openbsd): No need to override xmake_file.
3151         (*-*-sysv4): Treat like *-*-sysv.
3152
3153         * configure.in: Probe for ldopen in various places, and set up
3154         collect2 to be linked with them if found.
3155         Don't dink with Windows registry stuff unless $host_os is a
3156         Win32 os name.  Check to see if we need -ladvapi32.
3157         * configure: Regenerate.
3158
3159         * Makefile: Get rid of CLIB and HOST_CLIB.
3160         Substitute in COLLECT2_LIBS and link collect2 against its contents.
3161         * build-make: Get rid of HOST_CLIB.
3162
3163         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
3164         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3165         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3166         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
3167         config/rs6000/x-rs6000: Delete.
3168
3169         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
3170         Don't set CLIB.
3171
3172         24 x-host fragments remain, 0 x-cpu, 3 top level.
3173
3174 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3175
3176         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
3177         * configure: Regenerate.
3178
3179 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
3180
3181         * Makefile.in (install-headers): Remove redundant dependency.
3182
3183 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
3184
3185         * c-tree.texi (USING_STMT): Document.
3186
3187 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3188
3189         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
3190         * c-common.c: Likewise.
3191         * c-decl.c: Likewise.
3192         * combine.c: Likewise.
3193         * rs6000.c: Likewise.
3194         * except.c: Likewise.
3195         * explow.c: Likewise.
3196         * expr.c: Likewise.
3197         * fold-const.c: Likewise.
3198         * function.c: Likewise.
3199         * gcc.c: Likewise.
3200         * gcse.c: Likewise.
3201         * integrate.c: Likewise.
3202         * loop.c: Likewise.
3203         * objc/objc-act.c: Likewise.
3204         * recog.c: Likewise.
3205         * reg-stack.c: Likewise.
3206         * reload.c: Likewise.
3207         * reload1.c: Likewise.
3208         * simplify-rtx.c: Likewise.
3209         * stmt.c: Likewise.
3210         * varasm.c: Likewise.
3211
3212 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
3213
3214         * diagnostic.def: New file.
3215         * diagnostic.h (diagnostic_t): New enum.
3216         * Makefile.in (diagnostic.o): Depend on diagnostic.def
3217
3218 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3219
3220         * tsystem.h: Test only POSIX for availability of string.h
3221         and time.h.
3222         * config.gcc (all systems): If USG appeared in xm_defines,
3223         change it to POSIX.  If both USG and POSIX appeared, just
3224         delete USG. Remove unnecessary quotes around xm_defines
3225         settings.
3226         (m68k-crds-unos*): Don't #define unos - tested nowhere.
3227         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
3228         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
3229         powerpc-*-linux*): No need to set xm_defines - handled by
3230         global settings for *-*-linux*.
3231
3232 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3233
3234         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
3235         Always include gstab.h, not system stab.h.  Don't provide
3236         default definitions of N_CATCH or N_OPT.  Always use the
3237         gstab.h variant of STAB_CODE_TYPE.
3238         * final.c: Don't include stab.h/gstab.h at all, or provide
3239         defaults for N_SLINE and N_SOL.
3240
3241         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
3242         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
3243         available.
3244         * sdbout.c: Always include gsyms.h instead of system syms.h.
3245
3246         * configure.in: No need to check for stab.h.
3247         * configure, config.in: Regenerate.
3248         * Makefile.in (final.o): Don't depend on gstab.h.
3249
3250 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3251             Richard Henderson  <rth@redhat.com>
3252
3253         * extend.texi: Improve documentation of volatile asms.
3254
3255 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3256
3257         * c-tree.texi: Fix thinko.
3258         * gcc.texi: Likewise.
3259
3260 2001-04-30  Richard Henderson  <rth@redhat.com>
3261
3262         * c-common.c (c_promoting_integer_type_p): New function, from the
3263         corpse of old macro.  Properly promote too-small enumerations and
3264         booleans.  Adjust all callers.
3265         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
3266         (c_promoting_integer_type_p): Declare.
3267         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
3268         * c-typeck.c: Likewise.
3269         (default_conversion): Remove now redundant boolean check.
3270
3271 2001-04-30  Jan Hubicka  <jh@suse.cz>
3272             Richard Henderson  <rth@redhat.com>
3273
3274         * regmove.c (try_apply_stack_adjustment): Remove now redundant
3275         sanity checks.
3276         (combine_stack_adjustments_for_block): Don't combine stack
3277         allocation followed by deallocations.  Handle grow-up stacks.
3278
3279 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3280
3281         * fdl.texi: New file.
3282         * c-tree.texi: Use the GFDL.
3283         * gcc.texi: Likewise.
3284
3285 2001-04-30  Stan Shebs  <shebs@apple.com>
3286
3287         * invoke.texi: Add a section documenting Objective-C options.
3288
3289 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
3290
3291         * emit-rtl.c (try_split):  Copy EH notes to sequence.
3292
3293 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3294
3295         * regmove.c (record_stack_memrefs): Catch all references to the
3296         stack pointer.
3297
3298 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
3299
3300         * Makefile.in (stmp-fixinc): quote shell assignment values
3301
3302 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3303
3304         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
3305
3306         * gcc.c: Likewise.
3307
3308         * prefix.c: Likewise.
3309
3310 2001-04-28  Stan Shebs  <shebs@apple.com>
3311
3312         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
3313         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
3314         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
3315         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
3316
3317         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
3318         (NEXT_OBJC_RUNTIME): Define.
3319
3320 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
3321
3322         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
3323         * simplify-rtx.c (simplify_gen_relational): Likewise.
3324
3325         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
3326
3327         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
3328         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
3329
3330         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
3331         registers in SSE case; fix handling of the immediates.
3332         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
3333         operands to be in regsiters before reload.
3334         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
3335         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
3336         (abstf,absxf,negtf,negxf splitters): Compute
3337         properly the regnum for x86_64.
3338         (avsdf2_if_rex64): New.
3339
3340 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
3341
3342         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
3343         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
3344         into the constant pool.
3345         * jump.c (jump_optimize_1): Remove barrier successors after all
3346         the LABEL_NUSES counds have been computed.
3347         (delete_barrier_successors): When deleting a tablejump insn, also
3348         delete the jump table it uses.
3349         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
3350         label into memory.
3351
3352 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
3353
3354         * pa.c (FRP): Remove erroneous white space in macro definition.
3355
3356 2001-04-28  Andreas Jaeger  <aj@suse.de>
3357
3358         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
3359         appropriate.
3360         * extend.texi: Likewise.
3361         * tm.texi: Likewise.
3362
3363 2001-04-28  Andreas Jaeger  <aj@suse.de>
3364
3365         * md.texi: Use XX-bit instead of XXbit or XX bit where
3366         appropriate.
3367
3368 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
3369
3370         * gcc.c (process_command): Allow -l lib in addition to -llib
3371         for POSIX compliance. This fixes PR c/2347.
3372
3373         * invoke.texi: Update section on Link Options accordingly.
3374
3375 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
3376
3377         * function.c (purge_addressof_1): Remove the duplicate
3378         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
3379         blocks together.
3380
3381 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
3382
3383         * except.c (expand_eh_region_start): Don't start a new block.
3384         (expand_eh_region_end): Don't end a block.
3385         * stmt.c (expand_end_bindings): Don't end EH blocks.
3386         (expand_decl_cleanup): Starting an EH region won't change the block.
3387         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
3388         (is_eh_region): Lose.
3389         * tree.h: Adjust.
3390
3391 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
3392
3393         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
3394
3395         * collect2.c (main): Add `-L' case to remove duplicate entries.
3396         (is_in_args): New function to check for a duplicate argument.
3397         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
3398         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
3399         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
3400         Define to be nonzero.
3401
3402 2001-04-27  Andreas Jaeger  <aj@suse.de>
3403             Richard Henderson  <rth@redhat.com>
3404
3405         * md.texi (Machine Constraints): Document additional i386
3406         constraints and fix description of "A".
3407
3408 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
3409
3410         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
3411
3412 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
3413
3414         * except.c (get_exception_filter): word_mode, not Pmode.
3415
3416 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
3417
3418         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
3419         common to other movsf patterns.  Move up so that in future
3420         people who change the other patterns will change it too.
3421         (movsf_lo_sum): Allow even for soft-float; add appropriate
3422         constraints.
3423         (movsf_high): Likewise.
3424         (movsf_high+1): Allow even for soft-float.
3425
3426         * function.c (expand_function_end): Always clobber the
3427         return registers, even if there is no return label.
3428
3429 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3430
3431         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
3432
3433 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
3434
3435         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
3436         (pushqi2_rex64, pushhi2_rex64): Add.
3437
3438 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
3439
3440         * except.c (expand_eh_region_end_cleanup): Force pending stack
3441         adjust before emitting label that branches around cleanup code.
3442
3443 2001-04-26  H.J. Lu  (hjl@gnu.org)
3444
3445         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
3446
3447         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
3448         define.
3449         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
3450         (ASM_OUTPUT_SECTION_NAME): Likewise.
3451         (ASM_WEAKEN_LABEL): Likewise.
3452         (UNIQUE_SECTION): Likewise.
3453         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3454         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3455         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
3456         (ASM_OUTPUT_SECTION_NAME): Likewise.
3457         (ASM_WEAKEN_LABEL): Likewise.
3458         (UNIQUE_SECTION): Likewise.
3459         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3460         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3461         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
3462         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
3463         (ASM_FILE_START): Likewise.
3464         (ASM_OUTPUT_SOURCE_LINE): Likewise.
3465         (ASM_DECLARE_OBJECT_NAME): Likewise.
3466         (ASM_FILE_END): Likewise.
3467         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3468         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3469         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3470         (ASM_OUTPUT_CASE_LABEL): Likewise.
3471         (ASM_OUTPUT_SKIP): Likewise.
3472         (ASM_OUTPUT_ASCII): Likewise.
3473         (ASM_OUTPUT_IDENT): Likewise.
3474         (READONLY_DATA_SECTION): Likewise.
3475         (EXTRA_SECTIONS): Likewise.
3476         (EXTRA_SECTION_FUNCTIONS): Likewise.
3477         (SELECT_RTX_SECTION): Likewise.
3478         (SELECT_SECTION): Likewise.
3479
3480         * config/mips/linux.h (INVOKE__main): Undefine.
3481         (CTOR_LIST_BEGIN): Likewise.
3482         (CTOR_LIST_END): Likewise.
3483         (DTOR_LIST_BEGIN): Likewise.
3484         (DTOR_LIST_END): Likewise.
3485         (SET_ASM_OP): Defined it to ".dummy".
3486         (ASM_OUTPUT_DEF): Defined.
3487         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
3488
3489 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
3490
3491         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
3492         assembler supports .p2align.
3493
3494 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
3495
3496         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
3497
3498 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3499
3500         * integrate.c (expand_inline_function): Check for error_mark_node
3501         in actual argument.
3502
3503 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3504
3505         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
3506         -m386 and -m486.
3507
3508 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
3509
3510         * configure.in (configargs.h): Define thread_model.
3511         * configure: Rebuilt.
3512         * gcc.c (main): Print it with -v.
3513
3514 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3515
3516         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
3517         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
3518         * gcc.1: Regenerate.
3519
3520 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3521
3522         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
3523         is_redundant_typedef): Use static inline instead of inline static.
3524
3525 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
3526
3527         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
3528         this directory is always searched.
3529
3530 2001-04-25  Richard Henderson  <rth@redhat.com>
3531
3532         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
3533         of registers to restore along non eh_return path.
3534
3535 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3536
3537         * c-format.c (check_format_info_recurse): Handle
3538         PLUS_EXPR for format string.
3539
3540 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3541
3542         * config/ia64/ia64.h (CC1_SPEC): Define.
3543         * config/ia64/linux.h (CC1_SPEC): Define.
3544
3545 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
3546
3547         * emit-rtl.c (constant_subword): Also do sign extension in
3548         BITS_PER_WORD == 16 case.
3549
3550 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
3551
3552         * loop.c (try_swap_copy_prop): Go back to checking insn.
3553
3554 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3555
3556         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
3557         if check_mode is non-zero.
3558
3559 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3560
3561         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
3562         out and comparison sequence has been detected, put result into
3563         proper temporary pseudo.
3564
3565 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3566
3567         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
3568         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
3569         * libgcc2.c: Remove __dummy and __builtin_saveregs.
3570         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
3571         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
3572         for future reference.
3573
3574 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
3575
3576         * except.c (reachable_handlers): Step out one level from a RESX.
3577
3578         * except.c (struct eh_region): Rename 'last' to 'resume'.
3579         (mark_eh_region, duplicate_eh_region_1): Adjust.
3580         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
3581         (build_post_landing_pads): Likewise.
3582         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
3583         (expand_eh_region_end_must_not_throw): Likewise.
3584         (connect_post_landing_pads): Thread (only) regions with non-deleted
3585         resume insns.
3586
3587         * except.c (expand_eh_region_end_cleanup): Save the EH return data
3588         registers around the cleanup.
3589         (get_exception_filter): New fn.
3590         (finish_eh_generation): Use it.
3591
3592 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
3593
3594         * c-semantics.c (add_scope_stmt): Don't call
3595         current_scope_stmt_stack multiple times.
3596
3597 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3598             Nathan Sidwell <nathan@codesourcery.com>
3599
3600         Lazy __FUNCTION__ generation.
3601         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
3602         RID_C99_FUNCTION_NAME): New _RIDs.
3603         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
3604         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
3605         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
3606         global tree slots.
3607         (function_id_node, pretty_function_id_node, func_id_node): Remove.
3608         (c99_function_name_decl_node, function_name_decl_node,
3609         pretty_function_name_decl_node, saved_function_name_decls):
3610         Declare.
3611         (struct language_function): Remove x_function_name_declared_p.
3612         (make_fname_decl): Remove a parameter.
3613         (declare_function_names): Remove prototype.
3614         (start_fname_decls, finish_fname_decls): Prototype.
3615         (fname_as_string): Likewise.
3616         (fname_string, fname_decl): Likewise.
3617         * c-common.c (make_fname_decl): Adjust.
3618         (struct fname_var_t): New struct.
3619         (fname_vars): New static array.
3620         (declare_function_name): Remove.
3621         (start_fname_decls, finish_fname_decls): New functions.
3622         (fname_as_string): New function from remnants of
3623         declare_function_name.
3624         (fname_string, fname_decl): New functions.
3625
3626         * c-decl.c (c_function_name_declared_p): Remove.
3627         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
3628         don't call declare_function_name. Call start_fname_decls.
3629         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
3630         clobber the line number. Call finish_decl.
3631         (start_function): Call start_fname_decls.
3632         (finish_function): Call finish_fname_decls.
3633         Remove c_function_name_declared_p.
3634         (push_c_function_context): Don't push c_function_name_declared_p.
3635         (pop_c_function_context): Don't pop c_function_name_declared_p.
3636         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
3637         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
3638         (program): Call finish_fname_decls for C.
3639         (primary): Add VAR_FUNC_NAME.
3640         (reswords): Add slots for __FUNCTION__ et al.
3641         (rid_to_yy): Add mappings for __FUNCTION__ et al.
3642         (yylexname): If it's a STRING_FUNC_NAME generate the function name
3643         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
3644         * c-semantics.c (prune_unused_decls): Remove.
3645         (finish_stmt_tree): Don't call prune_unused_decls.
3646         (genrtl_decl_stmt): Don't prune unused decls here.
3647
3648 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
3649
3650         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
3651         constant pool, use the pool's SYMBOL_REF instead.
3652
3653         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
3654         v850e.
3655
3656 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3657
3658         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
3659         passing nested NOP_EXPRs to fold.
3660
3661 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
3662
3663         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
3664
3665 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
3666
3667         * loop.c (loop_delete_insns): Add prototype.
3668
3669 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
3670
3671         * configure.in:  Remove ENABLE_STD_NAMESPACE.
3672         * config.in:  Regenerated.
3673         * configure:  Regenerated.
3674
3675 2001-04-22  Stan Shebs  <shebs@apple.com>
3676
3677         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
3678         into xm_defines.
3679         * config/rs6000/xm-darwin.h: Remove file.
3680
3681 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3682
3683         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
3684         (write_c_file_stat): Likewise.
3685
3686         * dbxout.c (dbxout_init): Likewise.
3687
3688         * profile.c (output_func_start_profiler): Likewise.
3689
3690 2001-04-22  Philipp Thomas  <pthomas@suse.de>
3691
3692         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
3693         require it instead of the CVS version.
3694         * cpperror.c (v_message): Put a blank before the macro
3695         body to not confuse exgettext.
3696
3697 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
3698
3699         * flow.c (proagate_one_insn): Remove useless assignment.
3700         * jump.c (delete_insn): Tidy.
3701         * loop.c (try_copy_prop): When deleting an instruction with a
3702         REG_RETVAL note, delete the entire libcall sequence.
3703         (loop_delete_insns): New function.
3704         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
3705         we're not substituting into them yet.
3706
3707 2001-04-21  Kazu Hirata  <kazu@hxi.com>
3708
3709         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
3710
3711         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
3712         Fix a comment typo.
3713         * config/i960/i960.c (signed_arith_operand): Likewise.
3714
3715         * calls.c (expand_call): Fix a comment typo.
3716
3717 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
3718
3719         * configure.in: Probe for times, clock, struct tms, and clock_t.
3720         * configure, config.in: Regenerate.
3721         * timevar.c: Replace ifdef forest in get_time with (relatively)
3722         straightforward series of checks based on autoconf's probes.
3723
3724 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
3725
3726         * config/pa/som.h (NM_FLAGS): Define.
3727
3728 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
3729
3730         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
3731         function.
3732         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
3733         * ia64.c (nop_cycles_until): New function.
3734         (prev_cycle, prev_first, last_issued): New static variables.
3735         (ia64_sched_reorder): Additional arg for clock.
3736         On final scheduling pass, emit extra NOPs as needed.
3737         Set prev_first and prev_cycle.
3738         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
3739         (ia64_variable_issue): Set last_issued.
3740
3741 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
3742
3743         * config/i386/i386.c (ix86_expand_int_movcc,
3744         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
3745
3746 2001-04-20  Geoff Keating  <geoffk@redhat.com>
3747
3748         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
3749         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
3750         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
3751         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
3752         ctrdi_internal6): In the short-branch case, this insn is only 4
3753         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
3754
3755 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
3756
3757         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
3758         "=u" is used together with "st" resp. "st(1)" clobber.
3759
3760 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
3761
3762         * gcse.c (gcse_main): Fix comment typo.
3763         (delete_null_pointer_check): Likewise.
3764         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
3765         * cse.c (cse_insn): Likewise.
3766         * function.c (fixup_var_refs_insns_with_hash): The sequence is
3767         toplevel.
3768
3769 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
3770
3771         * toplev.c: Excise all code for the undocumented -dm option.
3772         (float_signal): Call signal just once, unconditionally.
3773
3774 2001-04-19  Geoff Keating  <geoffk@redhat.com>
3775
3776         * fold-const.c (fold): Use first_rtl_op rather than
3777         TREE_CODE_LENGTH when looping over parameters of a tree.
3778         Correct strange grouping in test for evaluated SAVE_EXPR.
3779
3780 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
3781
3782         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
3783         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
3784
3785         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
3786         name at 32 total characters.
3787         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
3788         functions in named sections -- data items can still go into unique
3789         sections, but they have normal names (ie $LIT$ and $DATA$).
3790
3791         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
3792         INIT_PRIORITY.
3793
3794 2001-04-19 DJ Delorie  <dj@redhat.com>
3795
3796         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
3797         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
3798         * config/i386/cygwin.h: Likewise.
3799         * config/i386/mingw32.h: Likewise.
3800         * config/vax/vms.h: Likewise.
3801         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
3802
3803         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
3804         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
3805         * config/i386/xm-cygwin.h: Likewise.
3806         * config/i386/xm-djgpp.h: Likewise.
3807         * config/i386/xm-mingw32.h: Likewise.
3808         * config/vax/xm-vms.h: Likewise.
3809
3810         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
3811         instead of OBJECT_SUFFIX.
3812         * collect2.c (find_a_file): Look for files matching the extension
3813         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
3814         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
3815         TARGET_EXECUTABLE_SUFFIX.
3816         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
3817         (make_relative_prefix): Likewise.
3818         (convert_filename): Use TARGET_ suffixes throughout.  Remove
3819         NO_AUTO_EXE_SUFFIX.
3820         (process_command): Likewise.
3821         (do_spec_1): Likewise.
3822         * java/lang.c (init_parse): Likewise.
3823
3824         * gcc.texi : Document four new options matching the pattern
3825         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
3826         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
3827         documentation for NO_AUTO_EXE_SUFFIX.
3828
3829 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
3830
3831         * toplev.h (struct lang_hooks): Allow decode_option to indicate
3832         that language-independent processing should not be done.
3833         * toplev.c (main): Adjust accordingly.
3834
3835         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
3836         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
3837
3838         * mips.md (reload_outputdi): Require that operand0 be a
3839         general_operand.
3840
3841 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
3842
3843         * invoke.texi (-Wshadow): Clarify.
3844
3845 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
3846
3847         * loop.c (load_mems): Examine all the instructions in the loop
3848         before concluding that all jumps branch to the first instruction
3849         after the loop.
3850
3851 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
3852
3853         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
3854
3855 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
3856
3857         * cpp.texi (-Wwhite-space): Remove.
3858         (-Wall): -Wall does not imply -Wwhite-space.
3859
3860 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
3861
3862         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
3863         use it instead of blindly generating a .stabs.
3864         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
3865         in the right place.
3866         * xcoffout.c: Don't bother defining default for N_CATCH.
3867         (UNKNOWN_STAB): Use internal_error.
3868         (stab_to_sclass): Remove now-unnecessary aborts.
3869         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
3870
3871 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
3872
3873         * jump.c (mark_all_labels): Canonicalize the tail recursion
3874         label attached to CALL_PLACEHOLDER insns.
3875
3876 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3877
3878         * output.h (dump_flow_info, free_basic_block_vars,
3879         which_alternative): Delete redundant prototypes.
3880
3881         * rtl.h (bss_section): Likewise.
3882
3883 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
3884
3885         * dbxout.c (N_OPT): Define if not available from <stab.h>
3886
3887 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3888
3889         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
3890         libraries and native K&R compilers.
3891
3892 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3893
3894         * c-typeck.c (convert_arguments): Don't check for width changes
3895         with -Wtraditional.
3896
3897         * invoke.texi (-Wtraditional): Update documentation.
3898
3899 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
3900
3901         * toplev.c (output_lang_identify): Delete.
3902         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
3903         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
3904         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
3905         after calling ASM_FILE_END.
3906
3907         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
3908         Instead, unconditionally emit an N_OPT stab with string equal
3909         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
3910
3911         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
3912
3913         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
3914         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
3915         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
3916         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
3917         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
3918         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
3919         config/i370/i370.h, config/i386/beos-elf.h,
3920         config/i386/osf1elf.h, config/i386/osfrose.h,
3921         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
3922         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
3923         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
3924         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
3925         config/mips/iris6.h, config/mips/osfrose.h,
3926         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
3927         config/sparc/sp64-elf.h:
3928         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
3929         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
3930
3931         * config/elfos.h, config/freebsd.h, config/linux.h,
3932         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
3933         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
3934         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
3935         of ASM_FILE_START which merely emit a .version directive.  Delete
3936         definitions of ASM_FILE_END which merely emit an .ident directive.
3937
3938         * config/avr/avr.h, config/vax/vax.h: Delete definition of
3939         ASM_IDENTIFY_GCC and move part of its logic into
3940         ASM_FILE_START.
3941
3942         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
3943         config/sparc/linux-aout.h: Don't emit .version directive in
3944         ASM_FILE_START.
3945
3946         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
3947         (output_file_start): Correct comment.
3948
3949         * config/i386/osfrose.h: Don't emit trailing .ident directive.
3950         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
3951         to match gdb.
3952         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
3953         * config/rs6000/aix.h: Correct comment.
3954
3955         * config/i386/i386afe.h: Delete.
3956         * config.gcc: Remove references to i386afe.h.
3957
3958         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
3959         other macros deleted by this patch were undocumented.
3960
3961 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
3962
3963         * pa.md (reload_outdi): Operand 0 must be a non hard register.
3964
3965         * pa.c (secondary_reload_class): SAR<->FP copies require a
3966         secondary register.
3967
3968         * install.texi (mips-mips-bsd): Update list of functions
3969         required to include memmove.
3970         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
3971         used functions to include memmove.
3972
3973 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
3974
3975         * i386.md (sqrtdf2): SFmode should be DFmode.
3976
3977 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
3978
3979         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
3980         (find_moveable_store): Likewise.
3981
3982 2001-04-15  Jim Wilson  <wilson@redhat.com>
3983
3984         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
3985
3986 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
3987
3988         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
3989         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
3990
3991 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
3992
3993         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
3994         first alternative.
3995
3996 2001-04-14  Alan Modra  <amodra@one.net.au>
3997
3998         * pa.c (force_mode): New function.
3999         (emit_move_sequence): Use it instead of generating new rtx_REGs.
4000
4001 2001-04-13  Jim Wilson  <wilson@redhat.com>
4002
4003         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
4004         (first_instruction): New static variable.
4005         (rtx_needs_barrier): Return 1 for alloc.
4006         (init_insn_group_barriers): Set first_instruction.
4007         (rws_sum): Delete duplicate definition.
4008         (group_barrier_needed_p): Return 0 when first_instruction true.
4009         (safe_group_barrier_needed_p): Save and restore first_instruction
4010         around group_barrier_needed_p call.
4011
4012 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
4013
4014         * expr.h (enum libfunc_index): Add LTI_memmove.
4015         (memmove_libfunc): Define macro.
4016         * optabs.c (init_optabs): Initialize memmove_libfunc.
4017         * expr.c (expand_assignment): Use memmove_libfunc instead of
4018         memcpy_libfunc.
4019
4020 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
4021
4022         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
4023         fp mode addresses.
4024
4025 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4026
4027         * Makefile.in (reg-stack.o): Depend on reload.h.
4028         (insn-attrtab.o): Depend on flags.h.
4029
4030         * genattrtab (main): Include flags.h in insn-attrtab.c.
4031
4032         * reg-stack.c: Include reload.h.
4033
4034         * sparc.h (flag_pic): Delete redundant declaration.
4035
4036         * output.h (flag_pic): Likewise.
4037
4038         * tree.h (pedantic): Likewise.
4039
4040 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4041
4042         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
4043
4044         * jump.c, regmove.c, toplev.c: Include reload.h.
4045
4046         * reload.h (reload_cse_regs): Declare.
4047
4048         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
4049         reload_cse_regs, init_reload, mark_home_live, reload,
4050         init_caller_save): Delete redundant prototypes.
4051
4052 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4053
4054         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
4055
4056         * regclass.c, ssa.c: Include expr.h.
4057
4058         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
4059         gen_move_insn): Delete redundant declarations.
4060
4061 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4062
4063         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
4064         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
4065         MAKEINFO and MAKEINFOFLAGS too.
4066         (stage4_build): Correctly order -B flags.
4067
4068 2001-04-13  Alan Modra  <amodra@one.net.au>
4069
4070         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
4071         PIC_OFFSET_TABLE_SAVE_RTX.
4072         (zdepi_cint_p): Describe zdepi insn.
4073         Formatting and white space fixes throughout file.
4074
4075         * pa.c (uint32_operand): Don't use long constant >= 2^32.
4076         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
4077         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
4078         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
4079         (output_64bit_and): Use plain `int's for shift counts.
4080         (output_64bit_ior): Likewise.
4081         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
4082         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
4083         `N', and simplify.
4084
4085         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
4086         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
4087         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
4088         NEW_HP_ASSEMBLER into one.  Kill warnings.
4089
4090         * pa-gas.h: Delete file.
4091         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
4092         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
4093         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
4094         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
4095
4096         * config/pa/mill32.S: New file.
4097         * config/pa/mill64.S: New file.
4098         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
4099         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
4100         * config/pa/t-linux64: New file.
4101         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
4102         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
4103         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
4104
4105         * elfos.h (SELECT_SECTION): Undef before defining.
4106         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
4107         (LIB_SPEC): Remove -lmilli.
4108         (DBX_REGISTER_NUMBER): Remove.
4109         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
4110         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
4111         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
4112         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
4113         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
4114         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4115         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
4116         TARGET_GAS): Define.
4117         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
4118         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
4119         regs if we don't have a prototype.
4120         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
4121         * pa.h (TARGET_ELF32): Default to 0 if undefined.
4122         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
4123         EH_RETURN_HANDLER_RTX): Define.
4124         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
4125         (DWARF_FRAME_REGNUM): Define.
4126         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
4127         * pa32-linux.h: New file.
4128         * pa64-linux.h: New file.
4129
4130         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
4131         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
4132         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
4133         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
4134         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
4135         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
4136         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
4137         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
4138         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
4139         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
4140         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
4141         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
4142         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
4143         * pa64-hpux.h: New file.
4144         (ASM_FILE_START): Correct typo.
4145         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
4146         * config.gcc: Modify for above.
4147
4148 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
4149
4150         * jump.c (jump_optimize_1): Don't delete dead stores here.
4151         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
4152         prior to running jump optimize before cse2.
4153
4154 2001-04-12  Richard Henderson  <rth@redhat.com>
4155
4156         * Makefile.in (regmove.o): Depend on except.h.
4157         * regmove.c: Include it.
4158
4159 2001-04-12  Stan Shebs  <shebs@apple.com>
4160
4161         * objc/objc-act.c: Remove all code ifdefed with the never-used
4162         macro OBJC_INT_SELECTORS.
4163         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
4164         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
4165
4166 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
4167
4168         * config/pa/quadlib.c: Add prototypes.
4169
4170 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4171
4172         * bitmap.h (debug_bitmap): Delete redundant prototype.
4173
4174         * rtl.h (get_frame_size): Likewise.
4175
4176 2001-04-12  Jim Wilson  <wilson@redhat.com>
4177
4178         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
4179         to just emit an fnorm.
4180
4181 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4182
4183         * c-common.h (truthvalue_conversion, type_for_mode,
4184         type_for_size): Delete redundant declarations.
4185
4186         * c-lex.h (is_class_name): Likewise.
4187
4188         * c-tree.h (pedantic, convert, getdecls, gettags,
4189         global_bindings_p, init_decl_processing, insert_block,
4190         maybe_build_cleanup, poplevel, print_lang_decl,
4191         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
4192         set_block, incomplete_type_error, build_function_call,
4193         lvalue_or_else, mark_addressable): Likewise.
4194
4195         * expr.h (expand_tree_builtin): Likewise.
4196
4197 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
4198
4199         * invoke.texi: Document --param max-gcse-memory.
4200
4201 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4202
4203         * configure.in (errno): Check for declaration.
4204         * configure, config.in: Regenerated.
4205
4206         * system.h (errno): Only declare if not already done.
4207
4208 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4209
4210         * recog.c (general_operand, immediate_operand,
4211         nonmemory_operand): Require CONST_INTs to be sign-extended
4212         values for their modes.
4213
4214 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4215
4216         * expmed.c (store_bit_field): Truncate CONST_INTs.
4217         (expand_mult_highpart, expand_divmod): Likewise.
4218         * expr.c (convert_modes, store_field): Likewise.
4219         * integrate.c (expand_inline_function): Use promote_mode() to
4220         determine whether to convert_modes() an argument as signed
4221         or unsigned.
4222         * optabs.c (expand_binop): Get CONST_INT operands
4223         sign-extended for their appropriate modes.
4224         * stmt.c (emit_case_nodes): Convert node values to the
4225         appropriate mode.
4226         (expand_end_case): Convert minval and range to the appropriate
4227         mode.
4228         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
4229         the iteration variable.
4230         * varasm.c (immed_double_const): Don't require words to be
4231         narrower than host wide ints to properly sign-extend
4232         CONST_INTs.
4233
4234 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
4235
4236         * sh.md (builtin_setjmp_receiver): New expander.
4237
4238 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
4239
4240         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
4241         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
4242         for generating CONST_INT and CONST_DOUBLE.
4243
4244 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4245
4246         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4247         already sign-extended.
4248         (rs6000_emit_prologue): Make register iterator signed.
4249         (rs6000_emit_epilogue): Likewise.
4250         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
4251         and low.
4252         (movsf split, movdf split): Sign-extend CONST_INTs.
4253         (movdi splits): Likewise.
4254
4255 2001-04-12  Kelley Cook <kelley.cook@home.com>
4256
4257         * config-lang.in (lang_dirs): Add in zlib.
4258
4259 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
4260
4261         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
4262         operands that make it to RTL.
4263
4264 2001-04-11  Stan Shebs  <shebs@apple.com>
4265
4266         Add Darwin (Mac OS X kernel) native support.
4267         * config.gcc (powerpc-*-darwin*): Add native bits.
4268         * config/darwin.c: New file, generic Darwin support functions.
4269         * config/darwin.h: New file, generic Darwin definitions.
4270         * config/darwin-protos.h: New file, generic Darwin prototypes.
4271         * rs6000/darwin.h: New file, Darwin for PowerPC.
4272         * rs6000/t-darwin: New file, Darwin makefile fragment.
4273         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
4274         (TARGET_MACHO): Ditto.
4275         (rs6000_abi): Add ABI_DARWIN.
4276         (RS6000_REG_SAVE): Add ABI_DARWIN case.
4277         (RS6000_SAVE_AREA): Ditto.
4278         (FP_ARG_MAX_REG): Ditto.
4279         (RETURN_ADDRESS_OFFSET): Ditto.
4280         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
4281         cases.
4282         (rs6000_emit_move): Add ABI_DARWIN cases.
4283         (print_operand): Ditto.
4284         (first_reg_to_save): Ditto.
4285         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
4286         (debug_stack_info): Ditto.
4287         (rs6000_emit_prologue): Ditto.
4288         (rs6000_emit_epilogue): Ditto.
4289         (output_profiler_hook): Ditto.
4290         (output_function_profiler): Ditto.
4291         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
4292         (output_mi_thunk): Add TARGET_MACHO case.
4293         (add_compiler_stub): Ditto.
4294         (output_compiler_stub): Ditto.
4295         (no_previous_def): Ditto.
4296         (output_call): Ditto.
4297         (machopic_output_stub): Ditto.
4298         (rs6000_machopic_legitimize_pic_address): Ditto.
4299         (toc_section): Ditto.
4300         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
4301         (macho_high): Ditto.
4302         (macho_low): Ditto.
4303         (movsi_low): Ditto.
4304         (load_macho_picbase): Ditto.
4305         (call): Add TARGET_MACHO case to modify function.
4306         (call_value): Ditto.
4307         (call_nonlocal_sysv): Add ABI_DARWIN case.
4308         (call_value_nonlocal_sysv): Ditto.
4309         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
4310         Add prototype.
4311         (machopic_output_stub): Ditto.
4312         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
4313
4314 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4315
4316         * dwarf2out.c (modified_type_die): Don't create new types here.
4317         * tree.h (get_qualified_type): New function.
4318         (build_qualified_type): Adjust comment.
4319         * tree.c (get_qualified_type): New function.
4320         (build_qualified_type): Use it.
4321
4322 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4323
4324         * cpp.texi (-Wtraditional): Update description.
4325
4326         * invoke.texi (-Wtraditional): Likewise.
4327
4328 2001-04-11  Jim Wilson  <wilson@redhat.com>
4329
4330         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
4331         requires more than 64 bits of alignment.
4332
4333 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4334
4335         * cpplib.c (do_line): Sanity check iff enable checking.
4336
4337 2001-04-11  Richard Henderson  <rth@redhat.com>
4338
4339         * Makefile.in (insn-recog.o): Depend on toplev.h.
4340         (insn-emit.o, doloop.o): Likewise.
4341         * genrecog.c, genemit.c: Include toplev.h in generated file.
4342         * doloop.c: Include toplev.h.
4343
4344 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4345
4346         * Makefile.in (gcse.o): Depend on params.h.
4347         * gcse.c: Include params.h.
4348         (gcse_main): Don't do GCSE if doing so will take inordinate
4349         amounts of memory.
4350         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
4351         * params.h (MAX_GCSE_MEMORY): New macro.
4352
4353 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4354
4355         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
4356
4357         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
4358
4359 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4360
4361         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
4362
4363         * real.h (ereal_atof, real_value_truncate, target_isnan,
4364         target_isinf, target_negative, assemble_real, debug_real): Delete
4365         redundant prototypes.
4366
4367         * Makefile.in (ifcvt.o): Depend on toplev.h.
4368
4369         * c-semantics.c: Include expr.h.
4370
4371         * ifcvt.c: Include toplev.h.
4372
4373         * expr.h (rtx_equal_p): Delete prototype.
4374
4375         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
4376         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
4377         eliminate_constant_term, expand_complex_abs, find_single_use,
4378         make_tree, init_expr_once, init_optabs, supports_one_only):
4379         Likewise.
4380
4381         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
4382         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
4383         expand_assignment, store_expr, emit_line_note_after,
4384         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
4385
4386         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
4387
4388         * sparc-protos.h: Delete redundant prototypes.
4389
4390 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
4391
4392         * reload.c (push_reload): Add condition missed in SUBREG byte
4393         offset patch.
4394
4395 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4396
4397         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
4398
4399 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
4400
4401         * i386.md (floatsisf_sse): Fix output template
4402         * i386.c (ix86_expand_fp_movcc)
4403
4404         * reg-stack.c (emit_pop_insn): Handle complex modes.
4405         (move_for_stack_reg): Emit proper move mode.
4406         (subst_stack_regs_pat): Handle complex modes.
4407
4408 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
4409
4410         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
4411
4412 2001-04-10  Richard Henderson  <rth@redhat.com>
4413
4414         * libgcc2.h (__terminate_func_ptr): Remove typedef.
4415         (__pure_virtual, __terminate, __terminate_set_func,
4416         __default_terminate, __throw_type_match, __empty,
4417         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
4418         __eh_rtime_match, __unwinding_cleanup, __rethrow,
4419         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
4420         Remove prototypes of deleted functions.
4421
4422 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4423
4424         * c-typeck.c (convert_arguments): -Wtraditional now activates
4425         -Wconversion warnings, except for changes in signed-ness.
4426         Detect complex<->int & int<->complex conversions as well.
4427
4428         * invoke.texi (-Wtraditional): Document it.
4429
4430 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4431
4432         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
4433         * flow.c (set_block_for_new_insns): Remove needless cast and
4434         properly check for unset block number.
4435
4436 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
4437
4438         * function.c (purge_single_hard_subreg_set): Only check REGNO if
4439         the subreg was a hard register. Pseudos are left as subregs.
4440
4441 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4442
4443         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
4444         (LIB2ADD_ST): New macro, pass it to mklibgcc.
4445         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
4446         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
4447         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
4448
4449 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
4450
4451         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
4452
4453 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4454
4455         * output.h (set_block_num): Missed it earlier, remove deprecated
4456         prototype.
4457
4458 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4459
4460         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
4461         (load_killed_in_block_p): Change bb parameter from int to basic_block.
4462         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
4463         (handle_rd_kill_set): Change bb parameter from int to basic_block.
4464         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
4465         (expr_killed_p): Change bb parameter from int to basic_block, pass
4466         basic_blocks instead of ints as parameters.
4467         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
4468         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
4469         from int to basic_block, pass basic_blocks instead of ints as parms.
4470         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
4471         parameter from int to basic_block, pass basic_blocks instead of ints.
4472         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
4473         (insert_insn_end_bb): Change bb parameter from int to basic_block,
4474         pass basic_blocks instead of ints.
4475         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
4476         basic_blocks instead of ints as parameters.
4477         (pre_delete): Pass basic_blocks instead of ints as parameters.
4478         (hoist_expr_reaches_here_p): Change bb parameter from int to
4479         basic_block, pass basic_blocks instead of ints.
4480         (hoist_code): Pass basic_blocks instead of ints as parameters.
4481         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
4482         Change bb parameter from int to basic_block.
4483         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
4484         (insert_insn_start_bb): Change bb parameter from int to basic_block,
4485         pass basic_blocks instead of ints.
4486         (insert_store): Pass basic_blocks instead of ints as parameters.
4487         (replace_store_insn, delete_store): Change bb parameter from int to
4488         basic_block, pass basic_blocks instead of ints.
4489         (store_motion): Pass basic_blocks instead of ints as parameters.
4490
4491 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4492
4493         * basic-block.h (set_new_block_for_insns): New Prototype.
4494         (set_block_num): Delete prototype.
4495         * flow.c (set_block_num): Remove obsolete function.
4496         (set_block_for_new_insns): Set BB for single or multiple insns.
4497         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
4498         (process_insn_end_bb): Use set_block_for_new_insns or
4499         set_block_for_insn instead of set_block_num.
4500         (pre_insert_copy_insn): Use set_block_for_new_insns.
4501         (update_ld_motion_stores): Use set_block_for_new_insns.
4502         (insert_insn_start_bb): Use set_block_for_new_insns.
4503         (replace_store_insn): Use set_block_for_new_insns.
4504
4505 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4506             Jeff Law  <law@redhat.com>
4507
4508         * alias.c (get_addr): Externalize.
4509         (canon_true_dependence): New function. Behaves like true_dependance
4510         except it already assumes a MEM has been canonicalized.
4511         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
4512         * gcse.c (struct ls_expr): Add load/store expressions structure.
4513         (modify_mem_list, canon_modify_mem_list): New variable.
4514         (gcse_main): Initialize & finalize alias analysis. Use enhanced
4515         load motion and store motion if requested.
4516         (alloc_gcse_mem): Allocate space for modify_mem_list array.
4517         (free_gcse_mem): Free the modify_mem_list array.
4518         (oprs_unchanged_p): Use load_killed_in_block_p.
4519         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
4520         (mems_conflict_for_gcse_p): New function.  Don't kill loads
4521         with stores to themselves if its in the load/store expression list.
4522         (load_killed_in_block_p): New function.
4523         (canon_list_insert): New Function.
4524         (record_last_mem_set_info): Keep a list of all instructions which
4525         can modify memory for each basic block.
4526         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
4527         (oprs_not_set_p): Use load_killed_in_block_p.
4528         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
4529         (expr_killed_p): Use load_killed_in_block_p.
4530         (compute_transp): Do not pessimize memory references.
4531         (pre_edge_insert): Update stores for a load motion expression.
4532         (one_pre_gcse_pass): Check loads/stores for extra load motion.
4533         (ldst_entry): Find or create a ldst_expr structure.
4534         (free_ldst_entry): Free memory for an individual item.
4535         (free_ldst_mems): Free entire load/store expression list.
4536         (print_ldst_list): Print debug info.
4537         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
4538         (enumerate_ldsts): Assign integer values to each entry in list.
4539         (first_ls_expr): First expression in the list.
4540         (next_ls_expr): Next expression in the list.
4541         (simple_mem): Check if expression qualifies for ld/st expression list.
4542         (invalidate_any_buried_refs): Remove from expression list if its
4543         used in some other way we dont understand.
4544         (compute_ld_motion_mems): Find all potential enhanced load motion
4545         expression.
4546         (trim_ld_motion_mems): Remove any expressions which are invalid.
4547         (update_ld_motion_stores): Copy store values to registers for loads
4548         which have been moved.
4549         (regvec, st_antloc, num_store): New global statics.
4550         (reg_set_info): Marks registers as set.
4551         (store_ops_ok): Verfies registers expressions are valid in a block.
4552         (find_moveable_store): Look for moveable stores in a pattern.
4553         (compute_store_table): Find stores in a function worth moving, maybe.
4554         (load_kills_store): Check dependance of a load and store.
4555         (find_loads): Find any loads in a pattern.
4556         (store_killed_in_insn): Check if a store is killed in an insn.
4557         (store_killed_after): Check is store killed after an insn in a block.
4558         (store_killed_before): Check is store killed before an insn in a block.
4559         (build_store_vectors): Generate the antic and avail vectors.
4560         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
4561         (insert_store): Add a store to an edge.
4562         (replace_store_insn): Replace a store with a SET insn.
4563         (delete_store): Delete a store insn.
4564         (free_store_memory): Free memory.
4565         (store_motion): Perform store motion.
4566         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
4567         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
4568         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
4569         (f_options): Add gcse-lm and gcse-sm.
4570
4571 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
4572
4573         * i386.c (expand_fp_movcc): Fix condition reversal code.
4574
4575         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
4576         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
4577         (CLASS_MAX_NREGS): Use it.
4578
4579         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
4580         handle properly complex values.
4581         (CLASS_MAX_NREGS): Likewise; update comment.
4582
4583 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4584
4585         * ia64.c (ia64_flag_schedule_insns2): New variable.
4586         (ia64_override_options): Initialize it.  Clear
4587         flag_schedule_insns_after_reload.
4588         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
4589
4590 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
4591
4592         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
4593         Do not require source to match destination anymore;
4594         Add abort to the nontrivial cases that should be handled by split.
4595         (fix_trunc?fdi): Add SSE case for x86_64.
4596         (floatdi?f): Likewise.
4597         (floatdi?f_sse): New.
4598         (fix_trunc?fdi_sse): New.
4599
4600 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
4601
4602         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
4603         (DEBUG_ARANGES_END_LABEL): Ditto.
4604         (dwarfout_init): Generate length and version fields at the start
4605         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
4606         after the length field.
4607         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
4608         the .debug_aranges info.
4609
4610 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
4611
4612         * i386.c (call, call_value): Make sure that resulting call_insn
4613         does have proper second operand.
4614
4615 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
4616
4617         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
4618         function.  Remove include of sys/cygwin.h.
4619
4620 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
4621
4622         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
4623         (CPP_SPEC): Always search */include/w32api for header files.
4624         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
4625         (LINK_SPEC): Add "cyg" to the library search prefixes.
4626
4627 2001-04-08  Philip Blundell  <philb@gnu.org>
4628
4629         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
4630
4631 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4632
4633         * cpperror.c (print_location): Don't special case <stdin>.
4634         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
4635         WARNING, but we don't check if we're in system headers.
4636         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
4637         * cpplib.c (do_warning): Warn in system headers.
4638
4639 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
4640
4641         * mbchar.c: Include config.h first.
4642
4643 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
4644
4645         * config.gcc: Set default for xmake_file at top, not bottom.
4646         Change places that set xmake_file to "none" to set to the
4647         empty string instead, or remove them entirely if there is no
4648         default xmake_file for this cpu_type.  Remove references to
4649         deleted files.
4650
4651         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
4652         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
4653         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
4654         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
4655         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
4656         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
4657         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
4658         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
4659         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
4660         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
4661         Delete.
4662
4663         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
4664         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
4665         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
4666         config/mips/x-sysv, config/rs6000/x-aix31:
4667         Just set CLIB to -lld or -lmld, as appropriate.
4668
4669         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
4670         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
4671         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
4672         config/mips/x-iris, config/pa/x-pa:
4673         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
4674         OTHER_FIXINCLUDES_DIRS.
4675
4676         * config/i386/x-djgpp: Don't set LN or LN_S.
4677         * config/m88k/x-dolph: Don't define __m88k__.
4678         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
4679         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
4680         * config/i860/fx2800.h: No need to #undef SVR4.
4681
4682         38 x-host fragments remain, 2 x-cpu.
4683
4684 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4685
4686         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
4687
4688 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4689
4690         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
4691
4692 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4693
4694         * configure.in: Add check for lstat.
4695         * configure, config.in: Regenerate.
4696         * cppinit.c (append_include_chain): Make empty path ".".
4697         * cpplib.c (do_line): Don't simplify #line paths.
4698         * cppfiles.c (remove_component_p): New function.
4699         (find_or_create_entry): Acknowledge stat () errors during
4700         path simplification.
4701         (handle_missing_header): Don't simplify paths.
4702         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
4703         the empty path untouched.  Don't leave a trailing '/'.
4704
4705 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
4706
4707         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
4708         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
4709
4710 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4711
4712         * cppfiles.c (open_file): Fail directories silently, but
4713         with an errno of NOENT set.
4714         (read_include_file): Move the common exit code to the sole
4715         caller.  Return an int indicating success or failure.  Let
4716         open_file handle directories.
4717         (stack_include_file): If read_include_file fails,
4718         push a "null" buffer.
4719
4720 2001-04-05  DJ Delorie  <dj@redhat.com>
4721
4722         * function.h (virtuals_instantiated): Declare.
4723         * function.c: (virtuals_instantiated): Make global.
4724         * calls.c (emit_library_call_value_1): Use
4725         virtual_outgoing_args_rtx only if it hasn't been instantiated.
4726         Otherwise, use the stack pointer directly.
4727
4728 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
4729
4730         * i386.c (x86_initialize_trampoline): New global function.
4731         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
4732         (INITIALIZE_TRAMPOLINE): Move offline.
4733         * i386-protos.h (x86_initialize_trampoline): Declare.
4734
4735 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
4736
4737         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
4738         (lea_0): Rename to lea_1.
4739         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
4740         (lea_general_?): Allow SImodes on TARGET_64BIT
4741         (lea_general_?_zext): New patterns.
4742         (call_1, call_1_rex64): Fix.
4743
4744 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
4745
4746         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
4747
4748 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4749
4750         * i386.c (function_arg): Return constm1_rtx for last argument.
4751         (ix86_expand_prologue): Update gen_call calls.
4752         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
4753         * i386.md (call_pop): Likewise.
4754         (call): Second operand is VOIDmode.
4755         (call_0): Likewise; Support 64bits.
4756         (call_exp): New expander.
4757         (call_1): Get to the sync.
4758         (call_1_exp): New pattern.
4759         (call_value): Support 64bit.
4760         (call_value_exp): New pattern.
4761         (untyped_call): Update gen_call call.
4762         (call_value_pop): Disable for 64bit.
4763         (call_value_0_rex64): New pattern.
4764         (call_value_1_rex64): Likewise.
4765
4766 2001-04-05  Bo Thorsen  <bo@suse.de>
4767
4768         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
4769
4770 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
4771
4772         * i386.md (*andsi_1+3): If used after reload, make sure the operand
4773         satisfies ANY_QI_REG_P.
4774
4775 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4776
4777         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
4778         ASM_OPERAND.
4779
4780         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
4781         change.
4782
4783 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
4784
4785         * config.gcc: Remove default for xm_file.  Clean up local
4786         machine type handling.  Remove settings of xm_file to
4787         something that doesn't exist.  In the big switch, set xm_file,
4788         don't append to it (the value before the big switch is always
4789         null).  Don't force build_xm_file or host_xm_file to have a value.
4790         * configure.in: Remove default for xm_file.  Do not special
4791         case $cpu/xm-$cpu.h not existing.
4792         * configure: Regenerate.
4793
4794 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
4795
4796         * simplify-rtx.c (simplify_binary_operation): Check for overflow
4797         when folding integer division and modulo operations.
4798
4799 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
4800
4801         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
4802         instead of DWARF2_ADDR_SIZE for EH addresses.
4803         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
4804         EH addresses.
4805
4806 2001-04-04  Richard Henderson  <rth@redhat.com>
4807
4808         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
4809         * config/ia64/t-glibc (LIB2ADDEH): Disable.
4810         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
4811
4812 2001-04-04  Richard Henderson  <rth@redhat.com>
4813
4814         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
4815         * configure: Rebuilt.
4816
4817 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
4818
4819         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
4820         push insns to delete to it instead of deleting them.
4821         (delete_null_pointer_checks): Delete insns from delete_list after
4822         all delete_null_pointer_checks_1 passes are done.
4823
4824 2001-04-04  Richard Henderson  <rth@redhat.com>
4825
4826         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
4827         * configure: Rebuilt.
4828
4829 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
4830
4831         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
4832         * config/romp/xm-romp.h: Delete.
4833
4834 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
4835
4836         * sched-deps.c (sched_analyze_insn): Partially revert March 27
4837         change.
4838
4839 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4840
4841         * emit-rtl.c (mark_label_nuses) Increment the label uses for
4842         all labels present in rtx.
4843         (try_split) Call new function for all split insns.
4844
4845 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
4846
4847         * recog.c (validate_replace_rtx_1): Instead of aborting just make
4848         sure the change won't be validated.
4849
4850 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
4851
4852         * rtl.h (set_noop_p): Declare.
4853         * flow.c (set_noop_p): Move from here ...
4854         * rtlanal.c (set_noop_p): ... to here and enhance.
4855         * cse.c (delete_trivially_dead_insns): Use it.
4856         * gcse.c (hash_scan_set): Likewise.
4857         * jump.c (delete_noop_moves): Likewise.
4858         * recog.c (split_all_insns): Likewise.
4859
4860 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
4861
4862         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
4863         stack pointer via a LO_SUM.  Ditto for setting a temp register
4864         used to save to the stack.  Set cfa_temp when setting fp, and
4865         allow matches to cfa_temp in addition to cfa_store when saving
4866         regs.  Handle POST_INC and LO_SUM register stores.  Document the
4867         changes and errors in rule 12 doco.
4868
4869         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
4870         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
4871         (load_reg): Move closer to epilogue code.
4872         (DO_FRAME_NOTES): Define to control the following..
4873         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
4874         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
4875         notes as necessary.
4876         (hppa_expand_epilogue): Likewise.
4877
4878 2001-04-03  Richard Henderson  <rth@redhat.com>
4879
4880         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
4881         * configure: Rebuild.
4882
4883 2001-04-03  Richard Henderson  <rth@redhat.com>
4884
4885         * rtl.h (LCT_THROW): New.
4886         * calls.c (emit_library_call_value_1): Handle it.
4887         * except.c (connect_post_landing_pads): Use it.
4888
4889 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
4890
4891         * gansidecl.h: Delete file.
4892         * configure.in: Change all refs to gansidecl.h to use
4893         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
4894         lives.
4895         * configure: Regenerate.
4896
4897         * Makefile.in (intl.o): Don't depend on gansidecl.h.
4898         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
4899         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
4900         Don't include gansidecl.h.
4901         * intl.c, main.c, version.c, fixinc/fixlib.h,
4902         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
4903         gansidecl.h.
4904
4905 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
4906
4907         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
4908         Update for 64bit.
4909
4910 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
4911
4912         * config/i386/xm-beos.h, config/i386/xm-isc.h,
4913         config/i386/xm-next.h, config/i386/xm-sco.h,
4914         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
4915         config/m88k/xm-m88k.h: Delete.
4916
4917         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
4918         * config/romp/xm-romp.h: Don't define bcopy.
4919         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
4920         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
4921
4922         * config.gcc: Remove references to deleted files.
4923
4924         14 xm-host.h remain, 1 xm-cpu.h.
4925
4926 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
4927             David S. Miller  <davem@pierdol.cobaltmicro.com>
4928             Andrew MacLeod  <amacleod@redhat.com>
4929
4930         Use byte offsets in SUBREGs instead of words.
4931
4932         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
4933         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
4934         to pass new argument.
4935         (add_stored_regs): Use subreg_regno_offset function.
4936         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
4937         into account.
4938         (precompute_arguments): Use gen_lowpart_SUBREG.
4939         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
4940         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
4941         (simplify_set): Rework to use SUBREG_BYTE.
4942         (expand_field_assignment): Use SUBREG_BYTE.
4943         (make_extraction): Use SUBREG_BYTE.
4944         (if_then_else_cond): Use SUBREG_BYTE.
4945         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
4946         (gen_lowpart_for_combine): Compute full byte offset.
4947         * cse.c (mention_regs): Use SUBREG_BYTE.
4948         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
4949         (canon_hash): Use SUBREG_BYTE.
4950         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
4951         (gen_lowpart_if_possible): Formatting.
4952         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
4953         correctly.
4954         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4955         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4956         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4957         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4958         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4959         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4960         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
4961         certain invariants about SUBREGs the compiler creates.
4962         (gen_lowpart_SUBREG): New function.
4963         (subreg_hard_regno): New function to get the final register number.
4964         (gen_lowpart_common): Use SUBREG_BYTE.
4965         (gen_imagpart): Spacing nits.
4966         (subreg_realpart_p): Use SUBREG_BYTE.
4967         (gen_highpart): Use SUBREG_BYTE.
4968         (subreg_lowpart_p): Always compute endian corrected goal offset,
4969         even at the byte level, then compare against that.
4970         (constant_subword): New function, pulled out all constant cases
4971         from operand_subword and changed second argument name to offset.
4972         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
4973         and call constant_subword to do the work.  Return const0_rtx if
4974         looking for a word outside of OP.
4975         (operand_subword_force): Change second arg name to offset.
4976         * expmed.c (store_bit_field): Use SUBREG_BYTE.
4977         (store_split_bit_field): Use SUBREG_BYTE.
4978         (extract_bit_field): Use SUBREG_BYTE.
4979         (extract_split_bit_field): Use SUBREG_BYTE.
4980         (expand_shift): Use SUBREG_BYTE.
4981         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
4982         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
4983         * flow.c (set_noop_p): Use SUBREG_BYTE.
4984         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
4985         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
4986         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
4987         correction code.
4988         (optimize_bit_field): Use SUBREG_BYTE.
4989         (purge_addressof_1): Use SUBREG_BYTE.
4990         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
4991         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
4992         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
4993         * gengenrtl.c (special_rtx): Add SUBREG.
4994         * global.c (mark_reg_store): Use SUBREG_BYTE.
4995         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
4996         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
4997         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
4998         final byte offset is congruent to subreg's mode size.
4999         (subst_constants): Use SUBREG_BYTE.
5000         (mark_stores): Use subreg_regno_offset function.
5001         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
5002         function and SUBREG_BYTE.
5003         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
5004         (reg_is_born): Use subreg_hard_regno.
5005         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
5006         endian correction code.  Don't combine subregs unless resulting
5007         offset aligns with type.  Fix subreg constant extraction for DImode.
5008         Simplify SUBREG of VOIDmode CONST_DOUBLE.
5009         (general_operand): Remove dead mode_altering_drug code.
5010         (indirect_operand): Use SUBREG_BYTE.
5011         (constrain_operands): Use subreg_regno_offset function.
5012         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
5013         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
5014         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
5015         * regs.h (REG_SIZE): Allow target to override.
5016         (REGMODE_NATURAL_SIZE): New macro which target can override.
5017         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
5018         on the entire subreg rtx.
5019         (push_reload): Use SUBREG_BYTE in comments and code.
5020         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
5021         for hard registers inside subregs.
5022         (operands_match_p): Use subreg_regno_offset.
5023         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
5024         containing hard regs.
5025         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
5026         corrections when fixing up MEM subregs.
5027         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
5028         subreg_regno_offset where appropriate.
5029         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
5030         byte endian corrections when fixing up MEM subregs.
5031         (subst_reloads): When combining two subregs, make sure final
5032         offset is congruent to subreg's mode size.
5033         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
5034         (refers_to_regno_for_reload_p): Use subreg_regno.
5035         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
5036         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
5037         correction code for memory subreg fixups.
5038         (forget_old_reload_1): Use subreg_regno_offset.
5039         (choose_reload_regs): Use subreg_regno.
5040         (emit_input_reload_insns): Use SUBREG_BYTE.
5041         (reload_combine_note_store): Use subreg_regno_offset.
5042         (move2add_note_store): Use subreg_regno_offset.
5043         * resource.c (update_live_status, mark_referenced_resources): Use
5044         subreg_regno function.
5045         (mark_set_resources): Use subreg_regno function.
5046         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
5047         (subreg_regno_offset, subreg_regno): Define prototypes.
5048         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
5049         (gen_lowpart_SUBREG): Add prototype.
5050         * rtl.texi (subreg): Update to reflect new byte offset representation.
5051         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
5052         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
5053         (reg_overlap_mentioned_p): Use subreg_regno.
5054         (replace_regs); Make sure final offset of combined subreg is
5055         congruent to size of subreg's mode.
5056         (subreg_regno_offset): New function.
5057         (subreg_regno): New function.
5058         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
5059         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
5060         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
5061         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
5062         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
5063         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
5064         (a29k_get_reloaded_address): Use SUBREG_BYTE.
5065         (print_operand): Use SUBREG_BYTE.
5066         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
5067         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
5068         (arm_reload_out_hi): Use SUBREG_BYTE.
5069         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
5070         instead of SUBREG_WORD.
5071         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
5072         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
5073         SUBREG creation to use byte offset.
5074         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
5075         inverted load insns): Fix explicit rtl subregs to use byte
5076         offsets.
5077         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
5078         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
5079         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
5080         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
5081         to use byte offsets.
5082         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
5083         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
5084         offsets, also make sure it is congruent to SUBREG's mode size.
5085         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
5086         unnamed ldob insn): Generate SUBREGs with byte offset.
5087         (zero_extendqihi2): SUBREG's are byte offsets.
5088         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
5089         (m68hc11_gen_highpart): Use SUBREG_BYTE.
5090         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
5091         zero-extendqisi2): Generate SUBREGs with byte offset.
5092         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
5093         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
5094         subregs in rtl to use byte offsets.
5095         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
5096         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
5097         (mips_move_2words): Use subreg_regno_offset.
5098         (mips_secondary_reload_class): Use subreg_regno_offset.
5099         * config/mips/mips.md (DImode plus, minus, move, and logical op
5100         splits): Fixup explicit subregs in rtl to use byte offsets.
5101         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
5102         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
5103         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
5104         rtl to use byte offsets.
5105         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
5106         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
5107         subregs to use byte offsets.
5108         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
5109         Fixup explicit subregs in rtl to use byte offsets.
5110         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
5111         and remove byte endian correction code.
5112         * config/sh/sh.c (output_movedouble): Use subreg_regno.
5113         (gen_ashift_hi): Use SUBREG_BYTE.
5114         (regs_used): Use subreg_regno_offset.
5115         (machine_dependent_reorg): Use subreg_regno_offset.
5116         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
5117         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
5118         (movdf_i4): Subregs are byte offsets now.
5119         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
5120         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
5121         (REGMODE_NATURAL_SIZE): Override.
5122         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
5123         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
5124         with byte offsets.
5125         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
5126         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
5127         extendqidi2): Generate SUBREGs with byte offsets, also make sure
5128         it is congruent to SUBREG's mode size.
5129         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
5130         offsets.
5131         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
5132         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
5133         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
5134         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
5135         * config/v850/v850.c (print_operand, output_move_double): Use
5136         subreg_regno function.
5137
5138 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
5139
5140         * configure.in (target_subdir): Use target_alias, not target.
5141         * configure: Rebuilt.
5142
5143         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
5144         other way round.
5145         * config/sh/crti.asm: Fix typos in comments.
5146
5147 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5148
5149         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
5150         TARGET_FAST_INDIRECT_CALLS.
5151         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
5152         -fPIC.  Don't warn.
5153         (return_addr_rtx): Short circuit export stub matching when
5154         TARGET_NO_SPACE_REGS.
5155         (output_millicode_call): For out of range calls, make -fPIC
5156         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
5157         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
5158         * pa.md: Modify length attr calculation of all millicode insns to
5159         match above.
5160
5161 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
5162
5163         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
5164         Require at least 2.11 in the version test.  Specifically check
5165         for and reject GAS version 2.10.90.
5166         * configure: regenerate.
5167
5168 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5169
5170         * pa.c (override_options): Remove PIC profiling warning.
5171         (hp_profile_labelno): Delete.
5172         (hp_profile_label_rtx): Delete.
5173         (hp_profile_label_name): Delete.
5174         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
5175         (output_function_prologue): Remove profiling code and all tests on
5176         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
5177         merge_sp_adjust_with_store can work for PIC and profiling.
5178         (hppa_expand_epilogue): Remove profile_flag test.
5179         (hppa_can_use_return_insn_p): Likewise.
5180         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
5181         cater for PROFILE_HOOK.
5182         (hppa_profile_hook): New function.
5183         * pa.h (FUNCTION_PROFILER): Now does nothing.
5184         (PROFILE_HOOK): Define.
5185         (hppa_profile_hook): Declare.
5186         (PROFILE_BEFORE_PROLOGUE): Delete.
5187         (ASM_OUTPUT_REG_PUSH): Delete.
5188         (ASM_OUTPUT_REG_POP): Delete.
5189         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
5190         r24.  Accept function name operand, and use this and a locally
5191         generated label to calculate pc-rel offset to func start.
5192
5193 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5194
5195         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
5196         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
5197         $(SYSTEM_H).
5198
5199 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5200
5201         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
5202         LO_SUM cases to where they belong.
5203
5204 2001-04-02  Richard Henderson  <rth@redhat.com>
5205
5206         * except.h (lang_eh_type_covers): Mark extern.
5207         (lang_eh_runtime_type): Likewise.
5208
5209 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
5210
5211         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
5212         gengenrtl.c:  Wrap generated header in multiple-include guard.
5213         Improve error checking.
5214
5215 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5216
5217         * configure.in: Don't check for putenv.
5218         * configure: Regenerate.
5219         * gcc.c (putenv): Don't define.
5220         * vax/xm-vms.h: Handle putenv.
5221
5222 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5223
5224         * ifcvt.c (noce_emit_move_insn): New.
5225         (noce_try_store_flag, noce_try_store_flag_constants,
5226         noce_try_store_flag_inc, noce_try_store_flag_mask,
5227         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
5228         noce_try_abs): Use it.
5229         (noce_process_if_block): Likewise.
5230         For STRICT_LOW_PART, take mode from its SUBREG.
5231
5232 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5233
5234         * fold-const.c (fold): Before optimizing unsigned comparison with
5235         0x7fffffffU, make sure arg0 is integral type.
5236
5237 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5238
5239         * c-tree.texi: Document representation of wide strings.
5240
5241 2001-04-01  Richard Henderson  <rth@redhat.com>
5242
5243         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
5244
5245 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
5246
5247         * i386.md: remove obsoleted comments.
5248         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
5249         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
5250         fix output template.
5251
5252 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
5253
5254         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
5255
5256 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
5257
5258         * loop.c (load_mems): When generating a load from a pseudo, update
5259         REGNO_LAST_UID.
5260
5261 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
5262
5263         * i386.c (ix86_split_long_move): Use change address to compensate
5264         stack pointer change in push instruction.
5265
5266 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
5267
5268         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
5269         instead of rtx_equal_p; fix the output template.
5270
5271 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
5272
5273         * i386.c (ix86_expand_setcc): Support 64bit.
5274         (ix86_expand_int_movcc): Likewise.
5275         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
5276         New patterns.
5277
5278         * i386.md (allocate_stack_worker): Turn to expander.
5279         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
5280
5281         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
5282
5283 2001-03-29  Richard Henderson  <rth@redhat.com>
5284
5285         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
5286
5287 2001-03-28  Matthew Hiller  <hiller@redhat.com>
5288
5289         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
5290         output template.
5291
5292         * MAINTAINERS: Added self.
5293
5294 2001-03-28  Richard Henderson  <rth@redhat.com>
5295
5296         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
5297         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
5298
5299 2001-03-28  Jim Wilson  <wilson@redhat.com>
5300
5301         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
5302         operand_subword.
5303
5304 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5305
5306         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
5307
5308         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
5309         `error'.
5310
5311         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
5312
5313 2001-03-28  DJ Delorie  <dj@redhat.com>
5314
5315         * Makefile.in (stage1_build): Revert CFLAGS patch.
5316
5317 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
5318
5319         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
5320         when multiplier or multiplicand is zero.
5321
5322 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
5323
5324         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
5325
5326         * config/ia64/ia64.c (update_set_flags): New function, broken out of
5327         rtx_needs_barrier.
5328         (set_src_needs_barrier): Likewise.
5329         (rtx_needs_barrier): For SET case, use these two functions.  Rework
5330         PARALLEL case to handle all inputs before all outputs.
5331         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
5332         saw a label and no stop bit since then.
5333         (maybe_rotate, process_epilogue): Add prototypes.
5334
5335 2001-03-28  Richard Henderson  <rth@redhat.com>
5336
5337         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
5338         not TARGET_TOC for special toc restore handling.
5339         * config/rs6000/rs6000.md (eh_return): Likewise.
5340
5341 2001-03-28  Richard Henderson  <rth@redhat.com>
5342
5343         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
5344         current_function_calls_eh_return.
5345         (output_function_epilogue): Handle eh_return.
5346         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
5347         (EH_RETURN_DATA_REGNO): New.
5348         (EH_RETURN_STACKADJ_RTX): New.
5349         (EH_RETURN_HANDLER_RTX): New.
5350         * config/sparc/sparc.md (call/short branch peepholes): Check
5351         can_throw_internal instead of in_same_eh_region.
5352
5353         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
5354         for eh_return data registers.
5355         (rs6000_emit_prologue): Save eh_return data registers.
5356         (rs6000_emit_epilogue): Force inline restores if eh_return.
5357         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
5358         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
5359         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
5360         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
5361         the target uses one.
5362         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
5363         (return_eh_si, return_eh_di): Remove.
5364         (eh_return): New, from corpse of eh_epilogue.
5365         (eh_set_lr_si, eh_set_lr_di): New.
5366
5367         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
5368         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
5369         True for pic register if current_function_calls_eh_return.
5370         (ix86_expand_epilogue): Change "emit_return" argument into "style".
5371         Handle eh_return requirements.
5372         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
5373         (EH_RETURN_STACKADJ_RTX): New.
5374         * config/i386/i386.md (exception_receiver): Remove.
5375         (eh_return, eh_return_1): New.
5376         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5377
5378         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
5379         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
5380         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
5381         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
5382         (EH_RETURN_DATA_REGNO): New.
5383         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
5384         * config/alpha/alpha.md (eh_epilogue): Remove.
5385         (exception_receiver): Use $26 for ldgp input.
5386         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5387
5388 2001-03-28  Richard Henderson  <rth@redhat.com>
5389
5390         * except.c: Rewrite entirely for IA-64 ABI exception handling.
5391         * except.h: Likewise.
5392
5393         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
5394         (LIB2ADDEHDEP): New.
5395         (LIB2FUNCS_EH): Remove.
5396         (LIB2ADD): Remove LIB2ADDEH.
5397         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
5398         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
5399         (crt{begin,end}[S].o): Likewise.
5400         (except.o): Update includes.
5401         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
5402         (libgcc2_c_dep): Use LIB2ADDEHDEP.
5403
5404         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
5405         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
5406         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
5407         * builtins.c (expand_builtin): Implement it.
5408         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
5409         * c-common.c (c_common_nodes_and_builtins): Declare it.
5410         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
5411         * calls.c (libfunc_nothrow): Remove.
5412         (emit_library_call_value_1): Don't call it.
5413         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
5414         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
5415         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
5416         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
5417         (current_funcdef_number): Globalize.
5418         (output_call_frame_info): Emit frame data if an lsda is needed.
5419         Generate augmentation for personality routine.  Don't play with
5420         difference symbols.
5421         (dwarf2out_begin_prologue): Record funcdef_number.
5422         * dwarf2out.h (current_funcdef_number): Declare.
5423         * expr.c (expand_expr): Update for except.h name changes.
5424         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
5425         * expr.h (LTI_throw, LTI_rethrow): Remove.
5426         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
5427         (LTI_eh_rtime_match): Remove.
5428         (LTI_unwind_resume, LTI_eh_personality): Add.
5429         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
5430         * final.c (final): Don't call check_exception_handler_labels,
5431         init_insn_eh_region, or free_insn_eh_region.
5432         (final_scan_insn): Always emit debug labels for
5433         NOTE_INSN_EH_REGION notes.
5434         * flags.h (flag_new_exceptions): Remove.
5435         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
5436         (record_active_eh_regions): Remove.
5437         (count_basic_blocks): Check all instructions for REG_EH_REGION.
5438         Use can_throw_internal.
5439         (find_basic_blocks_1): Likewise.
5440         (move_stray_eh_region_notes): Remove.
5441         (find_label_refs): No eh_return_stub_label.
5442         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
5443         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
5444         changes.
5445         (delete_unreachable_blocks): Don't track deleted handlers.
5446         (flow_delete_block): Use maybe_remove_eh_handler.
5447         (delete_eh_regions): Remove.
5448         (merge_blocks): Don't check for eh region match.
5449         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
5450         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
5451         (init_propagate_block_info): Disable dead frame store optimization
5452         when current_function_calls_eh_return.
5453         (dump_bb): Don't print eh_beg, eh_end.
5454         * function.c (fixup_var_refs): No catch_clauses.
5455         (expand_function_end): Likewise.  Call expand_eh_return before
5456         the return register use.  Call sjlj_emit_function_exit_after.
5457         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
5458         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
5459         * ifcvt.c (dead_or_predicable): Remove eh region check.
5460         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
5461         Don't check for EH vs parameters.
5462         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
5463         (expand_inline_function): Call duplicate_eh_regions.
5464         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
5465         (copy_insn_notes): Remap REG_EH_REGION notes.
5466         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
5467         * integrate.h (struct inline_remap): Add local_return_label.
5468         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
5469         check_exception_handler_labels, nor exception_optimize.
5470         (find_cross_jump): No EH region check.
5471         * optabs.c (init_optabs): Update for changed eh libfuncs.
5472         * rtl.def (RESX): New.
5473         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
5474         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
5475         checks.  Update for except.h name changes.
5476         (expand_cleanups): Likewise.
5477         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
5478         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
5479         (compile_file): Call init_eh before init_optabs.  Don't
5480         output_exception_table here.
5481         (rest_of_compilation): Call convert_from_eh_region_ranges,
5482         convert_to_eh_region_ranges, output_function_exception_table.
5483         Don't emit_eh_context.
5484         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
5485         (EXC_PTR_EXPR): New.
5486
5487         * md.texi (eh_epilogue): Remove.
5488         (eh_return): Document.
5489         * tm.texi (EH_RETURN_DATA_REGNO): Document.
5490         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
5491
5492         * eh-common.h: Remove file.
5493         * frame-dwarf2.c, frame.c, frame.h: Remove files.
5494         * libgcc2.c (L_eh): Remove.
5495
5496         * unwind-dw2-fde.c: New file, largely copied from frame.c.
5497         * unwind-dw2-fde.h: New file.
5498         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
5499         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
5500         * libgcc-std.ver: Update for eh symbols.
5501
5502 2001-03-27  Richard Henderson  <rth@redhat.com>
5503
5504         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
5505         reduce false positives.
5506         (regmove_optimize): Disable if flag_non_call_exceptions.
5507
5508         * stmt.c (expand_return): Remove always true predicate.
5509         (expand_decl_cleanup_no_eh): Remove dead code.
5510
5511         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
5512         barrier code.  Add a scheduling barrier if a non-call insn
5513         can throw internally.
5514
5515         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
5516         Auto-inc addresses trap only if their base register does.
5517
5518         * except.c (can_throw_internal): Rename from can_throw.
5519         * except.h, resource.c: Update references.
5520
5521         * integrate.c (copy_insn_list): Use returnjump_p.
5522         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
5523
5524         * function.h (struct function): Move all boolean valued fields
5525         to single bit fields at the end of the struct.
5526
5527         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
5528         jump.c, toplev.c:
5529         Rename asynchronous_exceptions to flag_non_call_exceptions.
5530
5531         * gthr-single.h (UNUSED): New.  Distinguish between how C
5532         and C++ mark unused function arguments.  Use throughout.
5533
5534         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
5535         value to target configuration header.
5536         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
5537         * config.in, configure: Rebuild.
5538         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
5539         configuration and target defines.
5540         (exceptions_via_longjmp): Remove.
5541         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
5542         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
5543
5544         * except.h (flag_non_call_exceptions): Move ...
5545         * flags.h: ... here.
5546
5547         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
5548         exceptions, put the note on the trapping instruction.
5549
5550         * flags.h (flag_new_exceptions): Remove.
5551         * toplev.c: Don't set it.
5552         * final.c: Don't check it.
5553         * except.c: Provide stub definition.
5554
5555         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
5556         (calculate_global_regs_live): Kill call-clobbered registers
5557         across exception edges.
5558         * reg-stack.c (convert_regs_1): Kill the entire target stack
5559         across non-call exception edges.
5560
5561         * flow.c (cleanup_cfg): Take no argument.
5562         * output.h, sibcall.c, toplev.c: Update all calls.
5563
5564 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5565
5566         * configure.in: Don't check for bcopy.
5567         * configure, config.in: Regenerate.
5568
5569         * system.h: Don't define or prototype bcopy, instead poison it.
5570
5571 2001-03-27  Richard Henderson  <rth@redhat.com>
5572
5573         * function.c (expand_function_start): Set DECL_REGISTER on
5574         a pseudo used for DECL_RESULT.
5575
5576         * rtl.h (LCT_NORETURN): New.
5577         * calls.c (emit_library_call_value_1): Handle it.
5578
5579 2001-03-27  Stan Shebs  <shebs@apple.com>
5580
5581         * objc/objc-act.c (objc_init): Use dump_base_name.
5582         (gen_declaration): Clear the buffer arg.
5583         (gen_declaration_1): New function, body of gen_declaration.
5584         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
5585         (gen_method_decl): Ditto, plus always clear buffer arg.
5586         (error_with_ivar): Simplify.
5587         (warn_with_method): Ditto.
5588         (build_message_expr): Don't clear buffers.
5589         (dump_interface): Ditto.
5590         (objc_debug): Ditto.
5591         (build_keyword_selector): Clear the buffer by only zeroing
5592         the first element.
5593         (objc_implementation_context): Declare.
5594         (start_class): Warn about missing @end.
5595         (finish_objc): Ditto.
5596
5597 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5598
5599         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
5600
5601 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5602
5603         * Makefile.in (SYSTEM_H): Define.
5604         Depend on $(SYSTEM_H), not system.h.
5605
5606         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
5607
5608 2001-03-27  Jim Wilson  <wilson@redhat.com>
5609
5610         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
5611         IA64_UNWIND_EMIT.
5612         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
5613         (process_epilogue): New static function.
5614         (process_set): Call process_epilogue instead of emitting .restore
5615         directly.
5616         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
5617
5618         * flow.c (struct reg_cond_life_info): New fields orig_condition
5619         and stores.
5620         (init_propagate_block_info): Set new fields.
5621         (mark_regno_cond_dead): Set and use new fields.
5622         (flush_reg_cond_reg_1): Likewise.
5623         (and_reg_cond, case AND): Check for redundant AND conditions.
5624         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
5625         Set new fields.
5626
5627 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5628
5629         * cppmacro.c (stringify_arg): Null terminate strings.
5630
5631 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
5632
5633         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
5634         inclusion style.  xm-m68hc11.h no longer exists.
5635         * config/m68hc11/xm-m68hc11.h: Delete file.
5636         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
5637
5638         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
5639         Don't define GCC_VERSION, N_, or PARAMS; don't include
5640         gansidecl.h or stdio.h.  Define inhibit_libc here.
5641         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
5642         Delete code conditioned on #if GCC_VERSION == 2095.
5643
5644         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
5645         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
5646         Delete code conditioned on #if GCC_VERSION == 2095.
5647
5648 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5649
5650         * system.h: Include symcat.h.
5651         (STRINGIFY): Don't define.
5652
5653         * configure.in: Adjust comment.
5654
5655         * builtins.c: Use STRINGX, not STRINGIFY.
5656         * gencheck.c: Likewise.
5657         * gengenrtl.c: Likewise.
5658         * protoize.c: Likewise.
5659
5660         * cpplex.c: Don't include symcat.h.
5661         * cpplib.c: Likewise.
5662
5663         * gansidecl.h (HAVE_STRINGIZE): Don't define.
5664
5665 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
5666
5667         * c-typeck.c (digest_init): Fold init expression.
5668
5669 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5670
5671         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
5672
5673 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
5674
5675         * except.c (eh_regs): Save results of build_pointer_type to a temp
5676         as FUNCTION_VALUE macro may evaluate its args multiple times.
5677
5678 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
5679
5680         * c-common.h (DECL_NUM_STMTS): New macro.
5681         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
5682         DECL_FRAME_SIZE.
5683         (pushdecl): Likewise.
5684         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
5685         * integrate.c (expand_inline_function): Don't check
5686         DECL_FRAME_SIZE.
5687         * print-tree.c (print_node): Don't print it.
5688         * toplev.c (rest_of_compilation): Don't try to inline when
5689         flag_no_inline is on.
5690         * tree.h (DECL_FRAME_SIZE): Remove.
5691         (tree_decl): Adjust accordingly.
5692
5693 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5694
5695         * combine.c (try_combine): Use memcpy, not bcopy.
5696
5697         * genattrtab.c (expand_units): Likewise.
5698
5699 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
5700
5701         * i386.md (push mem DI peep2): New.
5702         (mov 0, mov -1 peep2): Handle 64bit.
5703         (lea to arithmetics peep2): Handle 64bit leas.
5704         (rsp arithmetics to push/pop peep2s): New.
5705
5706         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
5707
5708 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
5709
5710         * i386.c (struct machine_function): Add save_varrargs_registers.
5711         (ix86_save_varrargs_registers): New macro.
5712         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
5713         (ix86_expand_prologue): Likewise.
5714         (ix86_emit_epilogue_esp_adjustement): Likewise.
5715         (ix86_expand_epilogue): Likewise.
5716         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
5717         (pro_epilogue_adjust_stack_1): New insn.
5718         (pro_epilogue_adjust_stack_rex64): Likewise.
5719         * i386.h (MASK_NO_RED_ZONE): New constant.
5720         (TARGET_RED_ZONE): New macro.
5721         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
5722         (RED_ZONE_SIZE): New constant.
5723         (RED_ZONE_RESERVE): New constant.
5724
5725 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5726
5727         * toplev.c (set_float_handler): Use memcpy, not bcopy.
5728
5729 2001-03-25  Kazu Hirata  <kazu@hxi.com>
5730
5731         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
5732         space.
5733         (modqi3): Likewise.
5734         (umodhi3): Likewise.
5735         (modhi3): Likewise.
5736
5737 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5738
5739         * mkconfig.sh (DEFINES): Handle entries with '='.
5740
5741         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
5742         Set xm_defines to MACRO=value instead.
5743
5744         * i370/xm-mvs.h: Delete.
5745
5746         * ns32k/xm-pc532-min.h: Likewise.
5747
5748 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
5749
5750         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
5751         shiftdi_operand;
5752         use ix86_expand_binary_operator
5753         (?sh??i_?): Disable for 64bit.
5754         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
5755         * i386.c (shiftdi_operand): New predicate.
5756
5757         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
5758         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
5759         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
5760         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
5761         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
5762         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
5763         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
5764         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
5765         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
5766         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
5767         (rotldi3, rotrdi3): New expanders.
5768
5769 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
5770
5771         * i386.md (movstrsi): Move offline.
5772         (movstrdi): New.
5773         (strmovdi_rex64): New.
5774         (strmov?i): Accept 64bit.
5775         (strmov?i_rex64): New.
5776         (strmov?i_rex_1): New.
5777         (strmov?i_1): Disable for 64bit.
5778         (rep_mov?i_rex64): New.
5779         (rep_mov?i): Disable for 64bit.
5780         (clrstrsi): Move offline.
5781         (strset?i_rex64): New.
5782         (strset?i: Accept 64bit.
5783         (rep_stos?i): Disable for 64bit.
5784         (rep_stos?i_rex64): New.
5785         (strset?i_rex_1): New.
5786         (strset?i_1): Disable for 64bit.
5787         (cmpstrsi): Accept 64bit.
5788         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
5789         (cmpstrqi_nz_rex_1): New.
5790         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
5791         (strlensi): Move offline.
5792         (strlendi): New.
5793         (strlenqi_1): Disable for 64bit; fix constraints.
5794         (strlenqi_rex_1): New.
5795         * i386.c (ix86_adjust_counter): New static function.
5796         (ix86_zero_extend_to_Pmode): Likewise.
5797         (ix86_expand_aligntest): Likweise.
5798         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
5799         (ix86_expand_movstr): New global function.
5800         (ix86_expand_clrstr): New global function.
5801         (ix86_expand_strlen): New global function.
5802         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
5803         ix86_expand_strlen): Declare.
5804         (ix86_expand_strlensi_unroll_1): Delete.
5805
5806 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
5807
5808         * i386.md (cmpdi): Fix operand predicates.
5809         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
5810          cmpdi_1_insn_rex64): New patterns.
5811         (adddi3): Turn to expander.
5812         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
5813         (addsi3_carry_zext): New pattern.
5814         (adddi_?_rex64): New patterns and splitters.
5815         (addsi_?_zext): New patterns.
5816         (subsi3_carry_zext): New pattern.
5817         (subdi_?_rex64): New patterns and splitters.
5818         (iorsi_?_zext): New patterns.
5819         (iordi_?_rex64): New patterns and splitters.
5820         (iorsi_?_zext): New patterns.
5821         (iorsi_?_zext_imm): New patterns.
5822         (xorsi_?_zext): New patterns.
5823         (xordi_?_rex64): New patterns and splitters.
5824         (xorsi_?_zext): New patterns.
5825         (negdi*): New patterns.
5826         (one_cmpldi*): Likewise.
5827         (one_cmplsi*_zext, negsi*_zext): Likewise.
5828         (testqi_ext_3_rex64): New pattern.
5829
5830 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
5831
5832         * i386-protos.h (ix86_split_long_move): Return void.
5833         * i386.c (ix86_split_to_parts): Handle 64bit target.
5834         (ix86_split_long_move): Likewise.
5835         * i386.md (all calls to ix86_split_long_move): Update.
5836
5837 2001-03-23  Richard Henderson  <rth@redhat.com>
5838
5839         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
5840         to avoid shadowing arguments.
5841
5842 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
5843
5844         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
5845         to variable names where DECL_NAME is different from
5846         DECL_ASSEMBLER_NAME.
5847
5848 2001-03-23  Jim Wilson  <wilson@redhat.com>
5849
5850         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
5851         (assemble_alias): Call make_decl_rtl.
5852
5853 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
5854
5855         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
5856
5857 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
5858
5859         * extend.texi: Document the "java_interface" attribute.
5860
5861 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
5862
5863         * mkconfig.sh: Use a subshell with redirected stdout,
5864         instead of closing stdout and confusing commands that run
5865         afterward.  Throw away output of cmp.
5866
5867 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
5868
5869         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
5870
5871 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
5872
5873         * i386.md (zero_extendsidi2_32): Break out from ...
5874         (zero_extendsidi2): ... here ; turn to expander.
5875         (zero_extendsidi2_rex64): New.
5876         (extendsidi2_32): Break out from ...
5877         (extendsidi2): ... here ; turn to expander.
5878         (extendsidi2_rex64): New.
5879         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
5880         (trunc?f?f splitters): Add 64bit versions.
5881
5882 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
5883
5884         * i386.md (pushsi, pushsi2_prologue): Disable.
5885         (pushsi2_rex64): New.
5886         (movabs?i_1_rex64, movabs?i_2_rex64): New.
5887         (movqi_ext_1): Disable for 64bit.
5888         (movqi_ext_1_rex64): New.
5889         (pushdi2_rex64): New pattern, peep2s and splitter.
5890         (pushdi2_prologue_rex64): New pattern.
5891         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
5892         Likewise.
5893         (movdi splitters): Disable for 64bit.
5894         (movdi_1_rex64): New pattern, peep2s and splitters.
5895         (swapdi): New pattern.
5896         (pushsf): Disable for 64bit.
5897         (pushsf_rex64): New pattern and splitter.
5898         (pushdf_nointeger): Disable for 64bit.
5899         (pushdf_integer): Handle the 64bit case.
5900         (pushtf): Likewise; update splitters.
5901
5902 2001-03-22  Richard Henderson  <rth@redhat.com>
5903
5904         * mkconfig.sh: Include insn-flags.h.
5905         * Makefile.in (CONFIG_H): Include insn-flags.h.
5906         (lots of objects): Remove insn-codes.h and insn-flags.h.
5907
5908         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
5909         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
5910         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
5911         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
5912         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
5913         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
5914         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
5915         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
5916         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
5917         v850/v850.c, vax/vax.c:
5918         Don't include insn-flags.h.
5919
5920         * diagnostic.c, expr.h, reload.c, toplev.c:
5921         Don't include insn-codes.h.
5922
5923         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
5924         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
5925         c4x/c4x.c, i960/i960.c, mips/mips.c:
5926         Don't include insn-codes.h or insn-flags.h.
5927
5928         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
5929         or insn-flags.h in the generated code.
5930         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
5931         (main): Forward declare struct rtx_def.
5932
5933 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
5934
5935         * invoke.texi (-ffast-math): Remove duplicate line about
5936         __FAST_MATH__.
5937
5938         * gcc.texi: Remove more obsolete documentation of bugs and
5939         installation problems.
5940
5941 2001-03-21  Kazu Hirata  <kazu@hxi.com>
5942
5943         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
5944         into two parts.
5945
5946 2001-03-20  Jason Merrill  <jason@redhat.com>
5947
5948         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
5949         not '.' or '$'.
5950         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
5951         * varasm.c (CHKR_PREFIX): Likewise.
5952
5953 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5954
5955         * gcse.c (hash_scan_set): An expression is not anticipatible if it
5956         is part of a multi-SET insn.
5957
5958         * cse.c (find_comparison_args): Remove previous change.
5959         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
5960         REG_EQUAL notes.
5961
5962         * config/i386/i386.md (conditional_trap): Remove warning.
5963
5964         * recog.c (push_operand): Fix error in last change that caused
5965         undefined symbol on many targets.
5966
5967         * sdbout.c: #include ggc.h.
5968         (sdbout_init): Move to end of file.
5969         Call ggc_add_tree_root for anonymous_types.
5970         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
5971         (sdbout_one_type): Use DECL_NAME for field name.
5972         * Makefile.in (sdbout.o): Show includes ggc.h.
5973
5974 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
5975
5976         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
5977         (override_options): Use properlimits for preferred_stack_boundary.
5978         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
5979         on x86_64.
5980         (ext_register_operand): Accept DImode.
5981         (load_pic_register): Abort on 64bit.
5982         (gen_push): Use Pmode instead of SImode.
5983         (ix86_save_reg): Pic reg is never used on 64bit.
5984         (ix86_expand_prologue): Likewise.
5985         (ix86_emit_save_regs): Use Pmode instead of SImode.
5986         (legitimate_address_p): Check displacement for 64bit.
5987         (print_operand): Avoid outputting of (%rip) on 64bit.
5988         (print_operand_address): Output (%rip) where possible.
5989         (split_di): Abort on 64bit registers.
5990         (ix86_expand_branch): DImode comparison is simple for x86_64.
5991         (memory_address_length): Recognize memory addresses formed using
5992         PRE/POST modify.
5993         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
5994         for x86_64.
5995         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
5996
5997 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
5998
5999         * recog.c (push_operand): Recognize new format of push instructions.
6000
6001 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6002
6003         * i386.md (pushqi1): New.
6004         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
6005         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6006         x86_64_immediate_operand, x86_64_immediate_operand,
6007         x86_64_zext_immediate_operand): Declare.
6008         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
6009         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6010         x86_64_immediate_operand, x86_64_immediate_operand,
6011         x86_64_zext_immediate_operand): define.
6012         * i386.h (PREDICATE_CODES): Add new predicates.
6013
6014 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
6015
6016         * i386.md (pophi1, popqi1, pushqi1): Remove.
6017
6018         * expr.c (emit_single_push_insn): New function.
6019         (move_by_pieces): Accept NULL as destination for push instructions.
6020         (gen_push_operand): Kill.
6021         (emit_push_insn): Pass NULL when pushing; avoid updating of
6022         stack_pointer_delta.
6023         * expr.h (gen_push_operand): Kill.
6024
6025 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6026
6027         * rtl.texi (COMPARE): Clarify documentation and reference section
6028         on comparisons.
6029
6030 2001-03-20  Stan Shebs  <shebs@apple.com>
6031
6032         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
6033         (get_object_reference): Ditto.
6034         (error_with_ivar): Use error_with_file_and_line.
6035         (warn_with_method): Use warning_with_file_and_line.
6036
6037 2001-03-20  Tom Tromey  <tromey@redhat.com>
6038
6039         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
6040
6041 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
6042
6043         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
6044         variables that are TREE_PUBLIC, even if not TREE_STATIC.
6045
6046 2001-03-20  DJ Delorie  <dj@redhat.com>
6047
6048         * Makefile.in (install-libgcc): Pass complete list of variables.
6049         (install-multilib): Ditto.
6050
6051 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
6052
6053         * config/i386/cygwin.h: Declare ctor_section, dtor_section
6054         drectve_section, switch_to_section.
6055
6056         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
6057         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
6058         i386_pe_mark_dllimport.
6059
6060 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
6061
6062         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
6063         functions i386_pe_*.
6064
6065         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
6066         i386_pe_* functions with char * arguments.
6067
6068 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
6069
6070         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
6071         and store.
6072         (movsi_ie): Introduce fpul store.
6073
6074 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
6075
6076         * Makefile.in (OBJS): Remove hashtab.o.
6077
6078 2001-03-19  Stan Shebs  <shebs@apple.com>
6079
6080         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
6081         * c-lang.c (maybe_objc_method_name): Ditto.
6082         * c-tree.h (maybe_objc_method_name): Remove decl.
6083
6084 2001-03-19  Tom Tromey  <tromey@redhat.com>
6085
6086         * gcc.c (init_gcc_specs): Fix comment.
6087
6088 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
6089
6090         Compute DECL_ASSEMBLER_NAME lazily.
6091         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
6092         (DECL_ASSEMBLER_NAME_SET_P): New macro.
6093         (SET_DECL_ASSEMBLER_NAME): Likewise.
6094         (COPY_DECL_ASSEMBLER_NAME): Likewise.
6095         (set_decl_assembler_name): Declare.
6096         (lang_set_decl_assembler_name): Likewise.
6097         * tree.c (lang_set_decl_assembler_name): New variab.e
6098         (set_decl_assembler_name): New function.
6099         (init_obstacks): Set lang_set_decl_assembler_name.
6100         (build_decl): Don't set DECL_ASSEMBLER_NAME.
6101         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
6102         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
6103         where it's not necessary.
6104         (builtin_function): Likewise.
6105         (finish_decl): Likewise.
6106         * dbxout.c (dbxout_type_methods): Likewise.
6107         * ggc-common.c (ggc_mark_trees): Likewise.
6108         * profile.c (output_func_start_profiler): Likewise.
6109         * varasm.c (make_decl_rtl): Likewise.
6110
6111         * cse.c (find_comparison_args): Update documentation.  Fix
6112         mishandling of COMPARE operations.
6113
6114         * tree.def (ABS_EXPR): Add documentation.
6115         * fold-const.c (fold): Improve folding of ABS_EXPRs.
6116
6117 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
6118
6119         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
6120
6121 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
6122
6123         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
6124         Remove ia32 linux PIC kludge and move it...
6125         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
6126
6127 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6128
6129         * i386.md (absdf2 expander): Fix 64bit case.
6130
6131 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
6132
6133         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
6134
6135 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
6136
6137         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
6138
6139 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6140
6141         * README.X11: Remove obsolete file.
6142
6143 2001-03-18  Anthony Green  <green@redhat.com>
6144
6145         * config/pj/pj.h: Remove some trailing commas.
6146         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
6147
6148 2001-03-18  Richard Henderson  <rth@redhat.com>
6149
6150         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
6151         * calls.c: ... here.
6152         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
6153         defaults for them here.
6154
6155 2001-03-17  Anthony Green  <green@redhat.com>
6156
6157         * config/pj/lib1funcs.S: Fix broken comment.
6158         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
6159         labels with '.'.
6160
6161 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
6162
6163         * gcc.texi: Remove obsolete information relating to build and
6164         installation problems with enquire or the Pyramid C compiler.
6165
6166 2001-03-17  Richard Henderson  <rth@redhat.com>
6167
6168         * dwarf2out.c (queue_reg_save): New.
6169         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
6170         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
6171         dwarf2out_reg_save.
6172         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
6173         (cfa, cfa_store, cfa_temp): Make static.
6174         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
6175
6176 2001-03-17  Richard Henderson  <rth@redhat.com>
6177
6178         * integrate.h (struct inline_remap): Add local_return_label.
6179         * integrate.c (expand_inline_function): Initialize it and emit
6180         it after copy_insn_notes.
6181         (copy_insn_list): Don't store local_return_label here.
6182         (copy_insn_notes): New function split out from copy_insn_list.
6183
6184 2001-03-17  Richard Henderson  <rth@redhat.com>
6185
6186         * dwarf2out.c (lookup_filename): Emit .file if the assembler
6187         is generating .debug_line.
6188         (dwarf2out_init): Add main_input_filename to the file table first.
6189         * configure.in (as_dwarf2_debug_line): Test with file number 1
6190         instead of file number 0.
6191
6192 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6193
6194         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
6195         (gen_rtx_combine): Deleted; all references changed as appropriate.
6196         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
6197
6198         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
6199
6200 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
6201
6202         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
6203         variable.
6204
6205 2001-03-16  Jim Wilson  <wilson@redhat.com>
6206
6207         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
6208         then set it to LOC_REG (79) instead of aborting.
6209
6210 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
6211
6212         * gccbug.in:  Remove high priority.
6213
6214 2001-03-16  Richard Henerson  <rth@redhat.com>
6215
6216         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
6217         output with a space instead of deleting it.
6218         * configure: Regenerate.
6219
6220 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
6221
6222         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
6223         handles the gory details of converting an object file into
6224         something that's safe to grep.
6225         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
6226         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
6227         newlines at either end of the string we're looking for.
6228         Make 'checking ...' message less stilted.
6229         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
6230         ARM in-memory layout and its hypothetical converse.  Don't
6231         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
6232         HOST_WORDS_BIG_ENDIAN.
6233
6234         * configure.in: Adjust for renamed macro.  Move
6235         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
6236         * configure, config.in: Regenerate.
6237
6238 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6239
6240         * fixinc/Makefile.in: Set SHELL.
6241
6242 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6243
6244         * fixinc/fixincl.c (fix_with_system): Quote file names before
6245         passing them to shell.
6246
6247 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6248
6249         * Makefile.in: Use fix-header$(build_exeext) instead
6250         of fix-header.
6251
6252 2001-03-16  Richard Henderson  <rth@redhat.com>
6253
6254         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
6255         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
6256         (size_of_line_prolog): Remove.
6257         (output_line_info): Compute prologue size via label difference.
6258         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
6259
6260         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
6261         assembler error when redefining file numbers.
6262         * config.in, configure: Rebuild.
6263
6264         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
6265         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
6266         (dw2_asm_output_delta_uleb128): Likewise.
6267         (dw2_asm_output_delta_sleb128): Similarly.
6268         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
6269
6270 2001-03-16  Michael Meissner  <meissner@redhat.com>
6271
6272         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
6273         warnings.
6274         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
6275         warnings.
6276         (BITMASK_LOWER16): Replacement for 0x0000ffff.
6277
6278         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
6279         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
6280         being unsigned in ISO C and signed in traditional.
6281         (expand_prologue): Ditto.
6282         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
6283
6284         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
6285         warnings.
6286         (divsi3,divdi3): Ditto.
6287         (modsi3,moddi3): Ditto.
6288         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
6289         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
6290         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
6291         warnings.
6292
6293 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6294
6295         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
6296         SSE based conditional moves on LTGT/UNEQ conditions;
6297         Canonicalize EQ to NE.
6298         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
6299         (sse_mov?fcc_ne): New.
6300
6301         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
6302
6303 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6304
6305         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
6306         register may be dead.
6307
6308 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
6309
6310         * Makefile.in (hash.o): Depend on CONFIG_H.
6311
6312 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6313
6314         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
6315
6316 2001-03-15  Richard Henderson  <rth@redhat.com>
6317
6318         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
6319         (ASM_OUTPUT_DWARF_PCREL): New.
6320         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
6321
6322 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6323
6324         * cppfiles.c (stack_include_file): Use MAX of sysp.
6325
6326 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
6327
6328         * config.gcc (ia64*-*-hpux*): New case.
6329         * config/ia64/hpux.h: New file for HP-UX support.
6330         * config/ia64/t-hpux: New file for HP-UX support.
6331
6332 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
6333
6334         * fixinc/inclhack.def (irix_stdio_va_list): New.
6335         * fixinc/fixincl.x: Rebuilt.
6336
6337 2001-03-15  Richard Henderson  <rth@redhat.com>
6338
6339         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
6340         if provided by the target.
6341         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
6342         (dw2_asm_output_addr): New.
6343         * dwarf2asm.h (dw2_asm_output_addr): Declare.
6344         * dwarf2out.c (output_cfi): Use it for program addresses.
6345         (output_call_frame_info, output_die): Likewise.
6346         (output_aranges, output_line_info): Likewise.
6347
6348 2001-03-15  Bruce Korb  <bkorb@gnu.org>
6349
6350         * gcc.c(main): make more rigorous
6351         * collect2.c(main): guard against ignoring SIGCHLD
6352         * protoize.c(main): ditto
6353         * gcc/fixinc/fixincl.c(initialize): ditto
6354
6355 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6356
6357         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
6358         (sdbout_parms): Likewise.
6359
6360 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
6361
6362         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
6363         "widen" a destination that is already wider than a word.  Also do
6364         not widen if LOAD_EXTEND_OP is NIL for the given mode.
6365
6366 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6367
6368         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
6369
6370 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
6371
6372         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
6373
6374 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
6375
6376         * i960.h (i960_maxbitalignment,
6377         i960_last_maxbitalignment): Declare.
6378         * i960.c (i960_maxbitalignment,
6379         i960_last_maxbitalignment): Make global.
6380         (process_pragma): Delete.
6381         (i960_pr_align, i960_pr_noalign): Move from here ...
6382         * i960-c.c: ... to this new file.
6383         * t-960bare (i960-c.o): New rule.
6384         * t-vxworks960 (i960-c.o): Likewise.
6385         * config.gcc (i960-*-*): Define c_target_objs and
6386         cxx_target_objs.
6387
6388 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6389
6390         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
6391         without adding in rtx code and mode.
6392
6393         * alias.c (init_alias_analysis): Don't use any rtx whose value
6394         varies as a known value.
6395         Delete a superfluous test.
6396
6397         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
6398         ia64_sched_reorder.
6399         (ia64_sched_reorder): Call maybe_rotate; also rotate after
6400         scheduling a stop bit.
6401         (ia64_emit_nops): Correctly handle ASMs.
6402
6403 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6404
6405         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
6406
6407 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6408
6409         * cpp.texi: Update documentation for -include and -imacros.
6410         * cppfiles.c (struct include_file): Remove "defined" memeber.
6411         (find_or_create_entry): Make a copy of the file name, and
6412         simplify it.
6413         (open_file): Update to ensure we use the simplified filename.
6414         (stack_include_file): Don't set search_from.
6415         (cpp_included): Don't simplify the path name here.
6416         (find_include_file): New prototype.  Call search_from to
6417         get the start of the "" include chain.  Don't simplify the
6418         filenames here.
6419         (_cpp_execute_include): New prototype.  Move diagnostics to
6420         do_include_common.  Update.
6421         (_cpp_pop_file_buffer): Don't set defined.
6422         (search_from): New prototype.  Use the preprocessor's cwd
6423         for files included from the command line.
6424         (read_name_map): Don't simplify the pathname here.
6425         * cpphash.h (enum include_type): New.
6426         (struct buffer): Delete search from.  New search_cached.
6427         (_cpp_execute_include): Update prototype.
6428         * cppinit.c (do_includes): Use _cpp_execute_include.
6429         * cpplib.c (do_include_common): New function.
6430         (do_include, do_include_next, do_import): Use it.
6431
6432 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6433
6434         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
6435         contents of the RTL, to determine the name of the object.
6436
6437 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6438
6439         * tree.h (DECL_RTL): Allocate RTL lazily.
6440         (SET_DECL_RTL): New macro.
6441         (DECL_RTL_SET_P): Likewise.
6442         (COPY_DECL_RTL): Likewise.
6443         (DECL_RTL_IF_SET): Likewise.
6444         * varasm.c (make_decl_rtl): Add assertions about the kind of
6445         declaration we are processing.
6446         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
6447         (start_decl): Likewise.
6448         (finish_decl): Likewise.
6449         * c-semantics.c (emit_local_var): Likewise.
6450         * calls.c (expand_call): Likewise.
6451         * dbxout.c (dbxout_symbol): Likewise.
6452         * emit-rtl.c (unshare_all_rtl): Likewise.
6453         (unshare_all_decls): Likewise.
6454         (reset_used_decls): Likewise.
6455         * expr.c (store_constructor): Likewise.
6456         (safe_from_p): Likewise.
6457         (expand_expr): Likewise.
6458         * function.c (put_var_into_stack): Likewise.
6459         (instantiate_decls_1): Likewise.
6460         (assign_parms): Likewise.
6461         (expand_function_start): Likewise.
6462         (expand_function_end): Likewise.
6463         * ggc-common.c (gcc_mark_trees): Likewise.
6464         * integrate.c (function_cannot_inline_p): Likewise.
6465         (copy_decl_for_inlining): Likewise.
6466         (expand_inline_function): Likewise.
6467         (integrate_parm_decls): Likewise.
6468         (integrate_decl_tree): Likewise.
6469         * print-tree.c (print_node): Likewise.
6470         * reg-stack.c (stack_result): Likewise.
6471         * stmt.c (label_rtx): Likewise.
6472         (expand_return): Likewise.
6473         (expand_decl): Likewise.
6474         (expand_decl_cleanup): Likewise.
6475         (expand_anon_union_decl): Likewise.
6476         * toplev.c (check_global_declarations): Likewise.
6477         (rest_of_decl_compilation): Likewise.
6478         * tree.c (simple_cst_equal): Likewise.
6479         * objc/objc-act.c (generate_static_references): Likewise.
6480
6481 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
6482
6483         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
6484         gcc_AC_C_FLOAT_FORMAT): New macros.
6485         * configure.in: Add AC_PROG_CPP after CC tests;
6486         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
6487         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
6488         * configure, config.in: Regenerate.
6489
6490         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
6491         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
6492         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
6493         config/i370/xm-linux.h, config/i370/xm-oe.h,
6494         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
6495         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
6496         config/pa/xm-linux.h, config/pa/xm-pa.h,
6497         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
6498         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
6499         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
6500         config/we32k/xm-we32k.h: Delete.
6501
6502         * config/i370/xm-mvs.h, config/m88k/m88k.h,
6503         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
6504         config/vax/xm-vms.h: Don't define any of:
6505         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
6506
6507         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
6508
6509         * config.gcc: Remove references to deleted files.
6510         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
6511         FATAL_EXIT_CODE, which is the same between oe and mvs).
6512
6513 2001-03-14  DJ Delorie  <dj@redhat.com>
6514             Vladimir Makarov  <vmakarov@redhat.com>
6515
6516         * config/i960/i960.c (i960_function_prologue): Compute size of
6517         frame according to number of registers actually saved there.
6518
6519 2001-03-14  Richard Henderson  <rth@redhat.com>
6520
6521         * expr.c (emit_move_insn_1): Fix else if around #endif.
6522
6523 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
6524                               Vojtech Pavlik
6525
6526         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
6527         constraints.
6528
6529 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
6530
6531         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
6532         (override_options): Parse cmodel string.
6533         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
6534         * i386.h (TARGET_OPTIONS): Add "cmodel".
6535         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
6536         (enum cmodel): New.
6537         (ix86_cmodel_string, ix86_cmodel): Declare.
6538
6539 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6540
6541         Spot by Matt Kraai:
6542         * i386.h (GENERAL_REG_P): Add missing REG_P.
6543
6544 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
6545
6546         * configure.in: Use $gcc_cv_as instead of $as.
6547         * configure: Regenerated.
6548
6549 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6550
6551         * cppfiles.c (stack_include_file): Only increase the include
6552         count if we actually process the file properly, as opposed
6553         to treating it as length zero.  Only call read_include_file
6554         if not DO_NOT_REREAD.  Handle the -H include file output
6555         here.
6556         (read_include_file): Remove now redundant DO_NOT_REREAD check.
6557         (cpp_included, find_include_file): Simplify pathnames after
6558         remapping them.  If remapping, don't use the remapped file
6559         name's buffer as our scratch buffer.
6560         (cpp_pop_file_buffer): Replace the multiple include macro
6561         only if it isn't yet set.
6562         (read_name_map): Simplify remapped names when reading in.
6563         (remap_filename): Move code to code path that uses it.
6564         (_cpp_simplify_pathname): Return the input pointer.
6565         * cpphash.h (_cpp_simplify_pathname): Update prototype.
6566
6567 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6568
6569         * expr.c (expand_expr): Revove bogus conditional.
6570
6571 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
6572
6573         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
6574
6575 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
6576
6577         * reg-stack.c (stack_result): Unconditionally use
6578         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
6579
6580 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6581
6582         * expr.c (emit_move_insn_1):  Split push of complex value when
6583         no suitable push instruction exist.
6584
6585         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
6586         instead of QI_REG_P.
6587
6588 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6589
6590         * alias.c (handled_component_p, can_address_p): New functions.
6591         (get_alias_set): Use them.
6592
6593 2001-03-13  Jim Wilson  <wilson@redhat.com>
6594
6595         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
6596         from 80 in try_locals code.
6597         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
6598
6599 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
6600
6601         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
6602         gcc_AC_C_LONG_LONG): New.
6603         * configure.in: Use them.  Probe the size of short, int, long,
6604         and long long/__int64 if we have them.  Move all the AC_C_*
6605         checks together, except gcc_AC_C_CHAR_BIT which has to go
6606         after AC_CHECK_HEADERS(limits.h).
6607         Take hwint.h out of host_xm_file and build_xm_file.
6608
6609         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
6610         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
6611         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
6612         Move the HOST_WIDEST_INT setup logic here from system.h.
6613         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
6614         defined.
6615         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
6616         is now handled by hwint.h.
6617
6618         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
6619         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
6620         config/ia64/xm-ia64.h: Don't define any of:
6621         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
6622         HOST_BITS_PER_LONGLONG.
6623
6624         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
6625         config/h8300/xm-h8300.h, config/mips/iris6.h,
6626         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
6627         config/sparc/xm-sp64.h: Delete.
6628         * config.gcc: Remove references to deleted files.
6629
6630         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
6631         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
6632         * config/i370/xm-linux.h: Clarify floating-point situation in
6633         a comment.
6634
6635 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6636
6637         * cppfiles.c (NO_INCLUDE_PATH): New macro.
6638         (find_include_file): Decide here which part of the include
6639         chain to start the search.  Complain about an empty include
6640         chain in all cases apart from an abolsute file name.
6641         (_cpp_execute_include): Don't choose the search chain here.
6642         Don't call handle_missing_include in the case of an empty
6643         include chain.
6644         (_cpp_compare_file_date): Don't choose the search chain here.
6645         * cpplib.c (do_include_next): Move the in-main-file diagnostic
6646         here from _cpp_execute_include.  Behave like #include if
6647         we're in the main file.
6648
6649 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6650
6651         * system.h (malloc, realloc, calloc, strdup): Only poison these
6652         tokens when IN_GCC is defined.
6653
6654 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
6655
6656         * i386.md (abs?f expander): Support SSE case.
6657         (abd?f_if): Add new "USE"; add splitters.
6658
6659 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6660
6661         * cpp.texi (poison): Explain the macro expansion exception.
6662
6663 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
6664
6665         * expr.c (store_expr): Add dont_store_target.  If temp is already in
6666         target before copying to reg, don't store it into target again.
6667
6668 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6669
6670         * cppinternals.texi: Update for file handling.
6671
6672 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
6673
6674         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
6675         2001-02-24 which broke building the Java library.
6676         * function.c (identify_blocks): Likewise.
6677         (all_blocks): Likewise.
6678         * integrate.c (integrate_decl_tree): Likewise.
6679         * print-tree.c (print_node): Likewise.
6680         * tree.h (BLOCK_NUMBER): Likewise.
6681         (struct tree_block): Likewise.
6682
6683 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
6684
6685         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
6686         __WCHAR_TYPE__ definition.
6687         (WCHAR_TYPE_SIZE): #undef before #define.
6688
6689 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6690
6691         * cppfiles.c: Update comments.
6692         (destroy_include_file_node): Rename destroy_node.
6693         (find_or_create_entry): New function.
6694         (open_file, _cpp_fake_include): Use it.
6695         (handle_missing_header): New function, broken out of
6696         _cpp_execute include.  Don't segfault if there is no
6697         system or quoted path.
6698         (_cpp_execute_include): Use handle_missing_header.
6699
6700 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
6701
6702         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
6703         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
6704
6705 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6706
6707         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
6708         unless anti_dependence says they are.
6709         * alias.c (objects_must_conflict): If neither has a type specified,
6710         they must conflict.
6711
6712 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6713             David Billinghurst <David.Billinghurst@riotinto.com>
6714
6715         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
6716
6717 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
6718
6719         * i386.md (trunctfdf2_2): Rename missnamed pattern.
6720         (*_one_bit): Remove type on the match_operand in attributes.
6721
6722 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
6723
6724         * i386.c: Commit forgotten hunk in previous patch.
6725         (regclass_map): Add extended registers.
6726         (dbx_register_map): Add missing frame register.
6727
6728 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
6729
6730         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
6731
6732         * i386.md (x86_sahf_1): Disable for 64bit.
6733         (popsi*, pophi*): Likewise.
6734         (pushqi, pushhi): Likewise.
6735         (movdi, pushdi): Likewise.
6736         (zero extend DImode splitter): Likewise.
6737         (adddi, minusdi splitter): Likewise.
6738         (umulsidi): Likewise.
6739         (umulsi): New.
6740         (mulsidi): Disable for 64bit
6741         (lshift:DI/ashift:DI): Disable for 64bit.
6742         (loop patterns): Likewise.
6743         (call_pop, call_value_pop expanders and patterns): Likewise.
6744         (prologue_get_pc): Likewise.
6745         (leave): Likewise.
6746         (fcmovDI pattern and splitter): Likewise.
6747         (movdfcc_1_rex64): New.
6748
6749 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
6750
6751         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
6752         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
6753         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
6754         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
6755         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
6756         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
6757         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
6758         (PUSH_ROUNDING): x86_64 rounds to 64bits.
6759         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
6760         (REGPARM_MAX): Set to 6 for x86_64.
6761         (SSE_REGPARM_MAX): Set to 16 for x86_64.
6762         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
6763         registers.
6764
6765         * (patterns that does use upper halves): Update constraints
6766         'q' to 'Q' and 'r' to 'R'.
6767         (cmpqi_ext_1): Disable for 64bit.
6768         (cmpqi_ext_3_insn): Likewise.
6769         (movqi_extzv_1): Likewsie.
6770         (addqi_ext_1): Liekwsie
6771         (testqi_ext_1): Liekwsie
6772         (andqi_ext_1): Liekwsie
6773         (xorqi_ext_1): Liekwsie
6774         (cmpqi_ext_1_rex64): New.
6775         (cmpqi_ext_3_insn_rex64): Likewise.
6776         (movqi_extzv_1_rex64): Likewsie.
6777         (addqi_ext_1_rex64): Liekwsie
6778         (testqi_ext_1_rex64): Liekwsie
6779         (andqi_ext_1_rex64): Liekwsie
6780         (xorqi_ext_1_rex64): Liekwsie
6781
6782 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6783
6784         * configure.in: Move check for unsigned enumerated bitfields
6785         to macro in aclocal.m4.  Disable it for now.
6786         * configure, config.in: Regenerate.
6787         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
6788         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
6789         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
6790         kind above its first use.
6791
6792         * config/xm-interix.h, config/alpha/xm-alpha.h,
6793         config/i370/xm-linux.h, config/i386/xm-beos.h,
6794         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
6795         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
6796         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
6797         Don't define ONLY_INT_FIELDS under any circumstances.
6798
6799         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
6800
6801         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
6802         config/sparc/xm-sysv4.h: Delete - now identical with some
6803         other xm header.
6804         * config.gcc (hppa targets): Replace xm-pahpux.h and
6805         xm-papro.h with implicit xm-pa.h.
6806         (sparc targets): Replace xm-sysv4.h with implicit or explicit
6807         xm-sparc.h.
6808
6809 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
6810
6811         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
6812         before reload_cse_noop_set_p.
6813
6814 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6815
6816         * config.gcc: Where xm-host.h used to include another
6817         xm-host.h, list the nested header directly in xm_file.  Remove
6818         references to deleted files.  Can now use sparc/xm-sp64.h for
6819         sparcv9-*-solaris*.
6820
6821         * config/xm-linux.h, config/arm/xm-linux.h,
6822         config/i386/xm-dos.h, config/i386/xm-gnu.h,
6823         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
6824         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
6825         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
6826         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
6827         Delete.
6828
6829         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
6830         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
6831         bother to wrap #undef in #ifdef.
6832         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
6833         Don't include xm-linux.h.
6834         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
6835
6836         * configure.in: Wrap regexps using [] in changequote block.
6837         Use expr : not echo | grep.  Simplify regexps.
6838         * configure: Regenerate.
6839
6840         56 xm-files remain, 22 xm-arch.
6841
6842 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6843
6844         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
6845         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
6846         (local_index, local_rindex): Delete, use strchr/strrchr instead.
6847         (copy_object): Fix format specifier vs argument mismatch.
6848
6849         * mips-tdump.c: Make local functions static.
6850         (rindex): Don't #undef.
6851         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
6852         (fatal, fancy_abort): Delete.
6853         (read_seek): Avoid signed/unsigned compare.
6854
6855 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6856
6857         * combine.c (try_combine): Fix error in change to try original
6858         register.
6859         (gen_rtx_combine): Do same as gen_rtx for now.
6860
6861 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6862
6863         * configure.in: AC_SUBST xm_defines.
6864         * configure: Regenerate.
6865         * Makefile.in: Set DEFINES=$(xm_defines) when building
6866         tconfig.h.
6867
6868 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6869
6870         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
6871         (cpp_included, find_include_file): Update.
6872         (_cpp_compare_file_date): Make else unconditional.
6873
6874 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
6875
6876         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
6877
6878 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6879
6880         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
6881         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
6882
6883 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
6884
6885         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
6886         if it's a record type.
6887
6888 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
6889
6890         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
6891         mingw includes slightly.
6892
6893 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6894
6895         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
6896         #undef token before poisoning it.
6897
6898 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6899
6900         * alpha.c (check_float_value): Use memcpy, not bcopy.
6901
6902         * m32r.c (m32r_sched_reorder): Likewise.
6903
6904         * vax.c (check_float_value): Likewise.
6905
6906 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6907
6908         * toplev.c (file_name_nondirectory): Remove.
6909         * toplev.h: Similarly.
6910         * dwarf2out.c (compute_section_prefix): Use lbasename instead
6911         of file_name_nondirectory.
6912
6913 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6914
6915         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
6916         * mips-tfile.c: Don't #undef rindex; not used.
6917
6918 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
6919
6920         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
6921         (dbx64_register_map): Declare.
6922         (RETURN_ADDR_RTX): Fix for 64bit.
6923         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
6924         (INCOMING_FRAME_SP_OFFSET): Set to 8.
6925         * i386.c (dbx64_register_map): New global array.
6926         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
6927         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
6928         for 64bits.
6929
6930 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6931
6932         * cppfiles.c (search_from): Use lbasename.
6933         * mkdeps.c (deps_add_default_target): Use lbasename.
6934
6935 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6936
6937         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
6938         xcalloc in lieu of malloc, realloc & calloc.
6939
6940         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
6941
6942         * gengenrtl.c (xmalloc): Likewise.
6943
6944         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
6945         really_call_* memory allocation routines.
6946
6947         * stmt.c (check_for_full_enumeration_handling): Use
6948         really_call_calloc, not calloc.
6949
6950         * system.h (really_call_malloc, really_call_calloc,
6951         really_call_realloc): Define.
6952         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
6953
6954 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
6955
6956         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
6957
6958 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
6959
6960         * configure: Rebuilt.
6961         * configure.in: Only use `lang_requires' for languages athat are
6962         actually enabled.
6963
6964 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
6965
6966         * invoke.texi: Fix typo.
6967         * gcc.1: Regenerate.
6968
6969 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
6970
6971         * configure.in: Prune nonexistent files from build_xm_file,
6972         xm_file, and host_xm_file lists.  Warn unless they're
6973         $cpu/xm-$cpu.h.
6974         Don't generate *config.h here.
6975         AC_SUBST all variables needed to generate *config.h.
6976         * configure: Regenerate.
6977         * mkconfig.sh: New helper script, from code removed from
6978         configure.in.
6979         * Makefile.in: Zap all MALLOC variables - no longer used
6980         anywhere, and malloc.c doesn't exist.
6981         Substitute in variables needed to generate *config.h.
6982         Stop lying about the dependencies contained in CONFIG_H and
6983         GCONFIG_H.
6984         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
6985         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
6986         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
6987         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
6988         $(TM_P_H), etc. as appropriate.
6989
6990         * config.gcc: Zap references to deleted files.
6991         * ggc-none.c: Don't include rtl.h or tm_p.h.
6992
6993         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
6994         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
6995         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
6996         config/i386/xm-linux.h, config/i386/xm-linux.h,
6997         config/i386/xm-next.h, config/i386/xm-openbsd.h,
6998         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
6999         Don't include i386/xm-i386.h.
7000
7001         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
7002         config/i386/xm-i386.h, config/i860/xm-i860.h,
7003         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
7004         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7005         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
7006         Delete (empty except comments, #includes of other deleted
7007         files, and macros used nowhere).
7008
7009 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
7010
7011         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
7012         independent on TARGET_FLAGS.
7013
7014 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
7015
7016         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
7017
7018         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
7019         extended ones.
7020         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
7021         TARGET_64BIT.
7022         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
7023         LAST_REX_SSE_REG): define.
7024         (enum reg_class): Add 'LEGACY_REGS'
7025         (REG_CLASS_CONTENTS): Likewise; add extended registers.
7026         (SSE_REGNO_P): Recognize extended registers.
7027         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
7028         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
7029         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
7030         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
7031         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
7032          REG_OK_FOR_STRREG_P): Remove.
7033         (HI_REGISTER_NAMES): Add extended registers.
7034         (ADDITIONAL_REGISTER_NAMES): Likewise.
7035         (QI_REGISTER_NAMES): Add 8bit extended registers.
7036         (DEBUG_REG): Support extended registers.
7037         * i386.c (regclass_map): Add extended registers.
7038         (dbx_register-map): Likewise.
7039         (svr4_dbx_register_map): Likewise.
7040         (print_reg): Support extended registers.
7041         (print_operand): Support 64bit operands.
7042
7043 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
7044
7045         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
7046         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
7047          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
7048          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
7049         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
7050          STACK_BOUNDARY): Set properly for 64bits.
7051         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
7052         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
7053         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
7054         (MOVE_MAX): Set to 16.
7055         (MOVE_MAX_PIECES): 8 for 64bit.
7056         (Pmode): Set to SImode.
7057
7058 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
7059
7060         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
7061
7062 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
7063
7064         * i386.h (mask_64bit): New constant.
7065         (target_64bit): New macro.
7066         (target_options): Add '64'/'32'
7067         (target_default): Define.
7068         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
7069         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
7070         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
7071
7072 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
7073
7074         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
7075
7076 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
7077
7078         * rtlanal.c (rtx_varies_p): Check operand 0 of a
7079         LO_SUM unless for_alias is set.
7080
7081 2001-03-08  Stan Shebs  <shebs@apple.com>
7082
7083         * objc/objc-act.c: Fix old typos in comments, add comments for
7084         various functions.
7085         (hash_init): Fix file name in error message.
7086         (hash_enter): Ditto.
7087         (hash_add_attr): Ditto.
7088         (continue_class): Ditto.
7089
7090 2001-03-08  Bruce Korb  <bkorb@gnu.org>
7091
7092         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
7093         wait4() can receive the signal.
7094
7095 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7096
7097         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
7098         entities.
7099         * fixinc/fixincl.x: Regenerate.
7100
7101 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7102
7103         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
7104         on Tru64 UNIX.
7105         * fixinc/fixincl.x: Regenerate.
7106
7107 2001-03-08  Richard Henderson  <rth@redhat.com>
7108
7109         * configure.in (HAVE_AS_LEB128): New assembler check.
7110         * configure, config.in: Rebuilt.
7111
7112 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
7113
7114         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
7115         TFmode too.
7116
7117 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7118
7119         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
7120         references to the MAXPATHLEN macro.
7121
7122         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
7123         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
7124         the POSIX macro.
7125
7126         * config/i386/xm-gnu.h, config/xm-gnu.h,
7127         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
7128         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
7129         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
7130         and/or unused files.
7131
7132         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
7133         doing so in various xm-*.h files.
7134
7135 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7136
7137         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
7138
7139 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
7140
7141         * configure.in (enable_shared): Support per-package shared-library
7142         enabling.
7143         * configure: Rebuilt.
7144
7145 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
7146
7147         * rs6000.md (cr logic): Add original POWER mnemonic alternative
7148         for crnot.  Set operands[5] in splitter.
7149
7150 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7151
7152         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
7153         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
7154         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
7155         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
7156         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
7157         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
7158         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
7159         to the USG macro.
7160
7161         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
7162         config/i370/xm-i370.h, config/i386/xm-dgux.h,
7163         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
7164         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
7165         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
7166         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
7167         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
7168         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
7169         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
7170         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
7171         Delete unused and/or empty files.
7172
7173         * config.gcc: Define USG in xm_defines as appropriate.  Define
7174         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
7175         macro.  Remove deleted xm-* files from $xm_files variable.
7176
7177 2001-03-07  Tom Tromey  <tromey@redhat.com>
7178
7179         * configure: Rebuilt.
7180         * configure.in: Allow config-lang.in to set `lang_requires' to list
7181         of other required languages.
7182
7183 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
7184
7185         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
7186         after its emitted.
7187         (output_prologue): Use xmalloc not oballoc.
7188         (output_epilog): Free a29k_first_epilogue_insn when finished.
7189         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
7190
7191 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
7192
7193         * builtins.c (expand_builtin_mathfn): Check
7194         flag_unsafe_math_optimizations, not flag_fast_math.
7195         (expand_builtin): Likewise
7196         * combine.c (combine_simplify_rtx): Likewise.
7197         (simplify_if_then_else): Likewise.
7198         * cse.c (fold_rtx): Likewise.
7199         * flags.h: Remove flag_fast_math.  Add
7200         flag_unsafe_math_optimizations and flag_trapping_math.
7201         * fold-const.c (negate_expr): Check
7202         flag_unsafe_math_optimizations, not flag_fast_math.
7203         (invert_truthvalue): Likewise.
7204         (fold): Likewise.  Before associating operands, check that
7205         code == MULT_EXPR, not code != MULT_EXPR.
7206         * ifcvt.c (noce_try_minmax): Check
7207         flag_unsafe_math_optimizations, not flag_fast_math.
7208         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
7209         * invoke.texi: Document -funsafe-math-optimizations and
7210         -fno-trapping-math.  Change documentation for -ffast-math.
7211         * jump.c (reversed_comparison_code_parts): Likewise.
7212         (rtx_equal_for_thread_p): Likewise.
7213         * optabs.c (emit_conditional_move): Likewise.
7214         * simplify-rtx.c (simplify_binary_operation): Likewise.
7215         (simplify_relational_operation): Likewise.
7216         (simplify_ternary_operation): Likewise.
7217         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
7218         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
7219         Add trapping-math and unsafe-math-optimizations entries to f_options.
7220         (set_fast_math_flags): New, sets flags for -ffast-math.
7221         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
7222         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
7223         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
7224
7225         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
7226         (alpha_emit_conditional_move): Initialize local_fast_math to
7227         flag_unsafe_math_optimizations, not flat_fast_math.
7228         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
7229         instead of setting flag_fast_math to 1.
7230         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
7231         not flag_fast_math.
7232         * config/i386/i386.c (override_options): Likewise
7233         * config/i386/i386.md: Likewise.
7234         * config/m68k/m68k.md: Likewise.
7235         * config/mips/mips.md: Likewise.
7236         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
7237         (rs6000_generate_compare): Likewise.
7238
7239 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7240
7241         * Makefile.in: Set RANLIB to @RANLIB@.
7242         Remove RANLIB_TEST.
7243
7244 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7245
7246         * fixinc/inclhack.def (djgpp_wchar_h): New test.
7247         * fixinc/fixincl.x: Regenerated.
7248
7249 2001-03-07  Richard Henderson  <rth@redhat.com>
7250
7251         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
7252
7253 2001-03-07  Richard Henderson  <rth@redhat.com>
7254
7255         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
7256         of block notes and exception handling notes.
7257
7258         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
7259         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
7260         (compile_file): ... here.
7261
7262 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7263
7264         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
7265
7266         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
7267         config.h now.  Include libiberty.h to handle alloca.
7268
7269 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7270
7271         * c-parse.in (yylexname): New function, split out of _yylex.
7272         (objc_rid_sans_at): New table.
7273         (init_reswords): Initialize it.
7274         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
7275         retrieving the next token and checking it for significance as
7276         an ObjC keyword or string constant.
7277
7278         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
7279         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
7280
7281         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
7282         to CPP_OSTRING.
7283
7284 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
7285
7286         * config/m68k/m68k.c (const_uint32_operand): Accept any
7287         const_int on a 32-bit host.
7288
7289 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
7290
7291         * objc/objc-act.c (init_objc): Set save_lang_status,
7292         restore_lang_status, and mark_lang_status.
7293
7294 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
7295
7296         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
7297
7298 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7299
7300         * cppinternals.texi: Update.
7301
7302 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7303
7304         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7305         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
7306         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
7307         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7308         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
7309         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7310         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
7311         config/i386/xm-i386.h, config/i860/xm-i860.h,
7312         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7313         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
7314         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7315         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7316         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7317         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7318         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
7319         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7320         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
7321         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7322         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7323         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
7324         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
7325         match the defaults provided in hwint.h.
7326
7327         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7328         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
7329
7330         * config.gcc (xm_file): Don't set to files which are deleted.
7331
7332         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
7333         guard this file against these macros being undefined.
7334
7335 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7336
7337         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
7338         and DECL_DEFER_OUTPUT on the decl we create, before calling
7339         rest_of_decl_compilation.
7340
7341 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7342
7343         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
7344         AC_FUNC_ALLOCA.
7345         * configure, config.in: Regenerate.
7346         * config.gcc: Remove references to deleted files.
7347
7348         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
7349         genrecog.c, rtl.c: Do not use alloca anywhere.
7350
7351         * Makefile.in, build-make, system.h, config/x-interix,
7352         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
7353         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
7354         config/arc/xm-arc.h, config/arm/xm-arm.h,
7355         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7356         config/h8300/xm-h8300.h, config/i370/x-oe,
7357         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
7358         config/i386/x-ncr3000, config/i386/x-sco5,
7359         config/i386/xm-dgux.h, config/i860/x-sysv4,
7360         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
7361         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
7362         config/m68k/x-hp320g, config/m69k/x-mot3300,
7363         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
7364         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
7365         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
7366         config/m88k/x-sysv4, config/m88k/x-tekXD88,
7367         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7368         config/mips/x-iris, config/mips/x-iris3,
7369         config/mips/x-sni-svr4, config/mips/x-sysv,
7370         config/mips/xm-iris6.h, config/mips/xm-mips.h,
7371         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
7372         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
7373         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7374         config/pa/xm-papro.h, config/romp/xm-romp.h,
7375         config/rs6000/x-aix31, config/rs6000/x-aix41,
7376         config/rs6000/x-beos, config/rs6000/x-lynx,
7377         config/rs6000/x-mach, config/rs6000/x-rs6000,
7378         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
7379         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7380         config/sparc/x-sysv4, config/sparc/xm-linux.h,
7381         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
7382         config/vax/xm-vms.h: Eradicate all references to alloca and
7383         related stuff.
7384
7385         * config/xm-alloca.h, config/clipper/x-clix,
7386         config/i386/xm-sysv4.h, config/i860/x-fx2800,
7387         config/i860/x-sysv3, config/m88k/x-sysv3,
7388         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
7389         (contained only alloca related hacks).
7390
7391         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
7392         USE_C_ALLOCA.
7393
7394 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
7395
7396         * invoke.texi: Document __FAST_MATH__.
7397
7398 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7399
7400         * crtstuff.c: Restore include of auto-host.h.
7401
7402 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
7403
7404         Put main() in a separate file, so that the language
7405         front-end can use a different main().
7406
7407         * main.c: New.
7408         * toplev.c: (main): Rename as toplev_main.
7409         * toplev.h: Declare toplev_main.
7410         * Makefile.in (OBJS): add toplev.o.
7411           (BACKEND): remove toplev.o, add main.o.
7412
7413 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7414
7415         * cppfiles.c (search_from): Special case the empty string.
7416
7417 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7418
7419         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
7420         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
7421         strlen or strcpy; we already know the length.
7422         (_cpp_compare_file_date): Similarly.
7423         * cpphash.h (struct cpp_reader): Delete done_initialising.
7424         (CPP_PREV_BUFFER): Delete.
7425         * cppinit.c (cpp_start_read): Don't set done_initialising.
7426         * cpplex.c (parse_string): Guarantee null-termination.
7427         (_cpp_equiv_toklists): Remove.
7428         * cpplib.c (glue_header_name): Null-terminate.
7429         (do_line): Don't leak memory.
7430         * cpplib.h (BT_WEAK): Delete.
7431         * cppmain.c (cb_ident): Strings are now null-terminated.
7432
7433 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
7434
7435         * gcc.c (convert_filename): Append executable suffix
7436         if NO_AUTO_EXE_SUFFIX is not defined.
7437         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
7438         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
7439
7440 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
7441
7442         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
7443         * c-parse.gperf, c-gperf.h: Delete.
7444         (c-gperf.h was accidently re-added to the CVS repo in the rev
7445         1.16 commit by tromey)
7446
7447 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7448
7449         * cpplex.c (_cpp_lex_token): Don't warn about directives in
7450         macro arguments when looking for the '('.
7451         * cppmacro.c (funlike_invocation_p): Set parsing_args to
7452         2 when really parsing arguments; 1 when looking for '('.
7453         Always restore the lexer position.
7454
7455 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7456
7457         * longlong.h (umul_ppmm): Don't use a multiline string.
7458
7459 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7460
7461         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
7462         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
7463         t_bool in declaration because pcc can't combine volatile with typedef
7464         types.
7465
7466 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7467
7468         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
7469         until when it is really needed.
7470         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
7471         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
7472         * i386.md (float?i?f splitter): Don't force source operand to memory
7473         for SSE.
7474         (sse_movdfcc): Fix constraint.
7475         (sse_movdfcc splitter): Handle properly the second alternative.
7476
7477 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7478
7479         * cpplex.c (parse_string): Unconditionally pedwarn.
7480
7481 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7482
7483         * cpp.texi: Update.
7484         * cppexp.c (parse_number): Update.
7485         * cpplex.c (parse_string): Pedwarn if multiline string does not
7486         result from a system header's macro.
7487         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
7488         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
7489         for function-like macros too.
7490         * c-lex.c (lex_number): Update.
7491
7492 2001-03-03  Richard Henderson  <rth@redhat.com>
7493
7494         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
7495
7496 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
7497
7498         * combine.c (try_combine): If split with mode-changed scratch
7499         register didn't work, try the original mode.
7500
7501 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
7502
7503         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
7504         * config/c4x/c4x.h: Likewise.
7505         * stor-layout.c (compute_record_mode): Likewise.
7506         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
7507
7508 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
7509
7510         * configure.in: Kill tm.h.  Include the files in the $tm_file
7511         list in all three of config.h, hconfig.h, tconfig.h, after the
7512         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
7513         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
7514         * configure: Regenerate.
7515         * Makefile.in (clean): Don't delete tm.h.
7516
7517         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
7518         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
7519         those are not defined, set SEC and FEC to 0 and 1.
7520         * gcc.texi: Update to match.
7521
7522         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
7523         * config/fp-bit.c, config/m68k/aux-crt2.asm,
7524         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
7525         Include tconfig.h, not tm.h.
7526
7527         * config/xm-lynx.h, config/xm-std32.h,
7528         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7529         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
7530         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
7531         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7532         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7533         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7534         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
7535         config/i386/xm-i386.h, config/i860/xm-i860.h,
7536         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7537         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
7538         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7539         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7540         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7541         config/pa/xm-linux.h, config/pa/xm-pa.h,
7542         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7543         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
7544         config/pj/xm-pj.h, config/romp/xm-romp.h,
7545         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7546         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7547         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7548         config/v850/xm-v850.h, config/vax/xm-vax.h,
7549         config/we32k/xm-we32k.h:
7550         Don't include tm.h.
7551         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
7552
7553         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
7554         config/i370/xm-oe.h: Don't include tm.h.  Don't define
7555         SUCCESS_EXIT_CODE.
7556         * config/vax/xm-vms.h: Don't include tm.h.
7557
7558         * config/xm-lynx.h, config/avr/xm-avr.h,
7559         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
7560         Delete; made empty by above changes.
7561         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7562         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
7563         Don't include config/xm-lynx.h or tm.h.
7564
7565         * config/xm-gnu.h: Don't include fcntl.h.
7566         * config/sparc/xm-lynx.h: Don't include sys/types.h and
7567         sys/wait.h.
7568         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
7569
7570 2001-03-02  Richard Henderson  <rth@redhat.com>
7571
7572         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
7573         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
7574
7575 2001-03-02  Richard Henderson  <rth@redhat.com>
7576
7577         * Makefile.in (OBJS): Add dwarf2asm.o.
7578         * dwarf2asm.c, dwarf2asm.h: New files.
7579         * dwarf2out.c (*): Use them.
7580         (size_of_uleb128, size_of_sleb128): Remove.
7581         (output_uleb128, output_sleb128): Remove.
7582         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
7583         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
7584         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
7585         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
7586         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
7587         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
7588         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
7589         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
7590         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
7591         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7592         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
7593         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
7594         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
7595         (dwarf2out_frame_debug): Remove unused variables.
7596         (output_loc_operands): Don't abort on 8 byte constants if
7597         host integers are wide enough.
7598         (output_symbolic_ref): Remove.
7599         (size_of_die): Don't assume 4 byte host integers.
7600         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
7601         and end labels.
7602         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
7603         something stupid with HOST_WIDE_INT to long truncation.
7604         [CONST_DOUBLE]: Likewise.
7605
7606         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
7607         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7608         * config/arm/unknown-elf.h: Likewise.
7609         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
7610         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
7611         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
7612         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
7613         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
7614         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
7615         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
7616         (ASM_OUTPUT_DWARF_OFFSET): Remove.
7617         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
7618         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7619         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
7620         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
7621
7622 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7623
7624         * cselib.c (hash_rtx): Cast enums to unsigned int.
7625
7626 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7627
7628         * print-rtl.c (print_rtx): Cast enums to int for comparison.
7629         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
7630         shifts.
7631         * c-format.c (C_STD_VER): Cast to int for comparisons.
7632         (check_function_format): Cast various enums to int for &.
7633         (maybe_read_dollar_number): Likewise.
7634         (check_format_info): Likewise.
7635         (check_format_info_main): Likewise.
7636         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
7637         (safe_from_p): Likewise.
7638         * varasm.c (const_hash): Cast enum to int for %.
7639         * emit-rtl.c (init_emit_once): Use int loop variable to work around
7640         pcc enum problems with < and ++ operators.
7641         * regclass.c (init_reg_sets_1): Cast enums for comparison.
7642         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
7643         (regclass_init): Change enum class to int to iterate over reg_classes.
7644         * genrecog.c (merge_trees): Cast enums for comparison.
7645         * rtl.h (GET_CODE): Cast to enum rtx_code.
7646         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
7647         (GET_MODE): Cast to enum machine_mode.
7648         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
7649         (GET_NOTE_INSN_NAME): Cast enum to int.
7650         * tree.h (TREE_CODE): Cast to enum tree_code.
7651         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
7652         * timevar.c (timevar_print): Change loop variable id from enum to
7653         unsigned int.
7654         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
7655         * config/i386/i386.md: Use PUT_MODE for mode assignment.
7656         * toplev.c (compile_file): Cast enum DFI to int.
7657         (decode_d_option): Likewise.
7658
7659 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
7660
7661         * cppinit.c (append_include_chain): Mark "after" include file name list
7662         as a system directory.
7663         * cpp.texi: Document new behavior.
7664
7665 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
7666
7667         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
7668
7669 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7670
7671         * cppfiles.c (struct include_file): Update.
7672         (stack_include_file): Use search_from.
7673         (cpp_included, find_include_file): Update.
7674         (cpp_execute_include): Update.  ptr->name may not be
7675         null terminated.  Use the new search_from member variable
7676         of cpp_buffer.
7677         (_cpp_compare_file_date): Similarly.
7678         (search_from): New function, similiar to actual_directory.
7679         (actual_directory): Delete.
7680         (remap_filename): Update.  loc->name may not be null terminated.
7681         (struct file_name_list): Rename search_path.  Update.
7682         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
7683         search_from and dir.
7684         (struct cpp_reader): Remove actual_dirs.
7685         * cppinit.c (struct cpp_pending): Update for renamed objects.
7686         (append_include_chain, remove_dup_dir, remove_dup_dirs,
7687         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
7688         * cpplib.h (struct cpp_options): Similarly.
7689
7690 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7691
7692         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
7693         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
7694         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
7695         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7696         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7697         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7698         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7699         config/i370/xm-linux.h, config/i370/xm-mvs.h,
7700         config/i370/xm-oe.h, config/i386/xm-aix.h,
7701         config/i386/xm-i386.h, config/i386/xm-osf.h,
7702         config/i860/xm-i860.h, config/i960/xm-i960.h,
7703         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
7704         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
7705         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
7706         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
7707         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
7708         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7709         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
7710         config/pj/xm-pj.h, config/romp/xm-romp.h,
7711         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7712         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7713         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7714         config/v850/xm-v850.h, config/vax/xm-vax.h,
7715         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
7716         Do not define TRUE or FALSE.
7717
7718         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
7719         empty by above change.
7720         * config.gcc: Remove references to these files.
7721
7722         * configure.in: Detect stdbool.h.
7723         * configure, config.in: Regenerate.
7724         * system.h: Include stddef.h here if available.
7725         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
7726         Then set up a sensible boolean type at the very end.
7727
7728         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
7729         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
7730
7731         * hash.h: Delete 'boolean' typedef and related #undefs.
7732
7733         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
7734         all uses of 'boolean' with 'bool'.
7735
7736 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7737
7738         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
7739         * cppexp.c (lex): Cast enums for comparison.
7740         * cppinit.c (parse_option): Cast enum for comparison.
7741         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
7742         (cpp_output_token): Likewise.
7743         (cpp_can_paste): Cast enums for comparsion and plus/minus.
7744         (cpp_avoid_paste): Cast enums for minus and comparison.
7745
7746 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7747
7748         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
7749         field to all array elements.
7750
7751 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7752
7753         * cpphash.h (struct cpp_reader): Add print_version field.
7754         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
7755         just set print_version and other flags as appropriate.
7756         (cpp_post_options): Print version here if print_version is set.
7757
7758         * toplev.c (exit_after_options): New flag.
7759         (independent_decode_option): Don't exit here; just set
7760         exit_after_options.
7761         (main): Exit after calling lang_hooks.post_options if
7762         exit_after_options is true.
7763
7764         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
7765         (merge_include_chains): Adjust comment to match code.
7766
7767 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7768
7769         * stringpool.c (set_identifier): New function.
7770         * tree.h: Prototype it.
7771
7772         * c-parse.in: Kill D_YES. If compiled for objc, call
7773         save_and_forget_protocol_qualifiers from init_reswords.
7774         * objc/objc-act.c (remember_protocol_qualifiers,
7775         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
7776         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
7777         vice versa.
7778         (save_and_forget_protocol_qualifiers): New function.
7779         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
7780
7781 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
7782
7783         * c-semantics.c (prune_unused_decls): Return error_mark_node
7784         instead of (tree) 1 to stop traversing the tree chain.
7785
7786 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
7787
7788         Fix a problem introduced by Kenner's Feb 18 change.
7789         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
7790         flag_cse_skip_blocks only temporarily, not for ever.
7791
7792 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
7793
7794         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
7795         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
7796
7797         * pa.c (emit_move_sequence): Verify operand0 is a hard register
7798         before determining its register class.
7799
7800 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
7801
7802         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
7803         from reg 4 if current_function_calls_setjmp.
7804         (gen_nop_type): New function.
7805         (ia64_emit_nops): New function.
7806         (ia64_reorg): Call it.
7807         (ia64_sched_reorder): Move code that rotates bundles up a bit.
7808
7809         * reload1.c (eliminate_regs_in_insn): Restrict the special case
7810         code not to try to optimize adds with anything but a REG destination.
7811
7812         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
7813         (INSN_PRIORITY_KNOWN): New accessor macro.
7814         * haifa-sched.c (priority): Use it instead of testing priority against
7815         zero.
7816
7817 2001-02-28  DJ Delorie  <dj@redhat.com>
7818
7819         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
7820         since that doesn't work the way gcc wants on a generic m68k.
7821
7822 2001-02-28  Richard Henderson  <rth@redhat.com>
7823
7824         * caller-save.c (save_call_clobbered_regs): Fix typo in
7825         comparison last change.
7826
7827 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
7828
7829         * i386.c (pentium4_cost): New.
7830         (m_PENT4): New macro.
7831         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
7832         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
7833         x86_integer_DFmode_moves, x86_partial_reg_dependency,
7834         x86_memory_mismatch_stall): Add Pentium4
7835         (x86_use_q_reg, x86_use_any_reg): Kill.
7836         (override_options): Add pentium4.
7837         (incdec_operand): Return 0 for pentium4.
7838         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
7839         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
7840         (TARGET_PENTIUM4): Define.
7841         (enum processor_type): Add PROCESSOR_PENTIUM4.
7842         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
7843         * i386.md (attribute "cpu"): Add pentium4.
7844         * invoke.texi (march): Add pentium4.
7845
7846 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7847
7848         * i386.md (sse_mov?fcc*): New patterns and splitters.
7849         * i386.c (ix86_expand_movcc): Work post-reload; recognize
7850         the SSE based conditional moves.
7851
7852 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
7853
7854         * i386.md (attribute mode): Add "TI".
7855         (movsf_1): Add pxor support; remove constant propagation splitter.
7856         (movdf_integer): Likewise.
7857         (movdf_nointeger): Likewise.
7858         (movxf constant prop splitter): Handle all modes; update for SSE.
7859         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
7860         * i386.c (standard_80387_constant_p): Rewrite.
7861         (standard_sse_constant_p): New.
7862         * i386-protos.h (standard_sse_constant_p): New.
7863
7864 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
7865
7866         * i386.md (sse_setccsf, sse_setccdf): New.
7867         (sse_cmp* patterns): Use '%D' instead of outputtting condition
7868         flag directly.
7869         * i386.c (sse_comparison_operator): Accept the supported unordered
7870         comparses; be ready for fast_math.
7871         (print_operand): Support 'D'.
7872
7873 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
7874
7875         * jump.c (reversed_comparison_code): Kill.
7876
7877 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
7878
7879         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
7880         for STACK_REGS
7881
7882 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
7883
7884         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
7885         add missing '%' in constraints.
7886
7887 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
7888
7889         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
7890         for HOST_BITS_PER_WIDE_INT == 32 too.
7891
7892 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
7893
7894         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
7895         NREGS.
7896         (insert_save, insert_restore): New parameter save_mode.
7897         (init_caller_save): Update initialization of reg_save_code
7898         and reg_restore_code.
7899         (save_call_clobbered_regs):  Compute save_modes and update calls to
7900         reg_save_code and reg_restore_code.
7901         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
7902         of spill; update use of reg_restore_code.
7903         (insert_save):  Likewise.
7904         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
7905         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
7906         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
7907
7908 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
7909
7910         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
7911         noce_try_store_flag_inc, noce_try_store_flag_mask,
7912         noce_try_cmove_arith):
7913         Use reversed_comparison_code instead of reverse_comparison and
7914         can_reverse_comparison_p.
7915
7916 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
7917
7918         * jump.c (reversed_comparison_code_parts): Allow reversal of
7919         unordered compares in -ffast-math mode; reverse ordered compares
7920         for FP even w/o -ffast-math.
7921
7922 2001-02-27  Richard Henderson  <rth@redhat.com>
7923
7924         * print-rtl.c (print_rtx) [i]: Don't print field five on
7925         NOTEs other than NOTE_INSN_DELETED_LABEL.
7926
7927 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
7928
7929         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
7930         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
7931
7932 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
7933
7934         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
7935         even if walk_subtrees is 0.
7936         * c-semantics.c (prune_unused_decls): Return a non-null value to
7937         stop traversing the tree chain.
7938
7939 2001-02-27  DJ Delorie  <dj@redhat.com>
7940
7941         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
7942         register, *then* define it as the new CFA.
7943
7944 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
7945
7946         * pa.c (override_options): Promote -fpic to -fPIC.
7947         (legitimize_pic_address): Simplify due to removal of
7948         small PIC as a code generation option.
7949         (secondary_reload_class): Similarly.
7950         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
7951         (PRINT_OPERAND_ADDRESS): Similarly.
7952         * pa.md (various patterns): Similarly.
7953         (small pic lo_sum pattern): Remove.
7954
7955 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7956                               Fergus Henderson
7957
7958         * md.texi (min, max): Document
7959
7960 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
7961
7962         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
7963         TARGET_PARTIAL_REG_DEPENDENCY.
7964         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
7965
7966 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
7967
7968         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
7969
7970 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
7971
7972         * mips.c (mips_make_temp_file): Fix thinko in last change.
7973
7974 2001-02-26  Jason Eckhardt  <jle@redhat.com>
7975
7976         * combine.c (known_cond): Do not reverse the condition when
7977         SMAX/UMAX is being considered and the condition is for equality
7978         or inequality.
7979
7980         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
7981
7982 2001-02-26  Philip Blundell  <philb@gnu.org>
7983
7984         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
7985         "armv2-*-linux".
7986         * config/arm/linux-elf.h: Remove historical relics related to
7987         above configurations.
7988         * config/arm/linux-oldld.h: Delete.
7989         * config/arm/linux-elf26.h: Delete.
7990
7991 2001-02-26  Jason Merrill  <jason@redhat.com>
7992
7993         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
7994         definitions.
7995         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
7996         recognize a tentative definition.  Lose obsolete code.
7997
7998         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
7999         variables unless necessary, either.
8000
8001 2001-02-25  Richard Henderson  <rth@redhat.com>
8002
8003         * ifcvt.c (struct noce_if_info): Add test_bb.
8004         (noce_get_alt_condition): New.
8005         (noce_try_minmax, noce_try_abs): New.
8006         (noce_operand_ok): New.
8007         (noce_process_if_block): Use them.
8008         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
8009
8010 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
8011
8012         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
8013         include.
8014
8015 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
8016
8017         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
8018         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
8019         properly.
8020         (mips_asm_file_end): Free temp_filename here.
8021
8022 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8023
8024         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
8025         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
8026
8027         * config/i386/i386.md (movstrsi): Handle FAIL case.
8028
8029 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8030
8031         * cppinit.c (builtin_array): Update.
8032         (init_builtins): Flag builtins to warn if redefined or
8033         undefined.  Define __GXX_WEAK as a normal macro.
8034         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
8035         * cpplib.h (NODE_WARN): New flag.
8036         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
8037         Handle __STDC__ as a builtin only on Solaris.
8038         (warn_of_redefinition): Renamed from check_macro_definition.
8039         Reverse sense of test.  Always warn if NODE_WARN.
8040         (_cpp_create_definition): Use warn_of_redefinition.  Flag
8041         any macro beginning with "__STDC_" to require a mandatory
8042         warning if redefined or undefined.
8043
8044 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8045
8046         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
8047         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
8048         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
8049         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
8050         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
8051         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
8052         Don't define any of:
8053         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
8054         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
8055         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
8056         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
8057         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
8058
8059         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
8060         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
8061         definitions.
8062
8063         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
8064         Delete now-empty file.
8065
8066         * alpha/vms.h: Define NEED_ATEXIT here...
8067         * alpha/xm-vms.h: ...not here.
8068
8069         * i386/cygwin.h: Don't define PARAMS.
8070         * mips/mips.c: Don't prototype mktemp.  Don't define
8071         P_tmpdir.  Use make_temp_file to create temporary files.
8072         Don't be clever and delete temporary files early.
8073         * config.gcc: Drop references to deleted files.  Don't define
8074         FULL_PROTOTYPES.
8075         * gcc.texi: Don't mention USE_PROTOTYPES.
8076
8077 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8078
8079         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
8080         (ix86_set_move_mem_attrs_1): Likewise.
8081         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
8082         * config/i386/i386.md (movstrsi): Call it.
8083
8084 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8085
8086         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
8087         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
8088         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
8089         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
8090
8091         (i750a-*-*): Error here if hosting on i750a.
8092         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
8093
8094         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
8095         Remove (empty modulo comments).
8096
8097         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
8098         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
8099         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
8100         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
8101         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
8102         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
8103
8104         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
8105         Remove reference to winnt.h in comment.
8106         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
8107
8108 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8109
8110         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
8111         used to set another biv.
8112
8113 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8114
8115         * tree.h (BLOCK_DEAD): New macro.
8116         (struct tree_block): New flag, dead_flag.
8117         * print-tree.c (print_node, case 'b'): Print missing fields.
8118         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
8119         * function.c (identify_blocks): Enable test for misplaced notes.
8120         (all_blocks): Skip BLOCK_DEAD blocks.
8121         * integrate.c (integrate_decl_tree): Likewise.
8122
8123         * errors.c (internal_error, trim_filename): New functions.
8124         (fancy_abort): Call internal_error.
8125         * errors.h (internal_error, trim_filename): New declarations.
8126
8127 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
8128
8129         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
8130         2000-08-26's patch.
8131         (EXTRA_CONSTRAINT): Formatting changes.
8132
8133 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8134
8135         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
8136
8137 2001-02-23  Per Bothner  <per@bothner.com>
8138
8139         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
8140         so they can be called from java/jvspec.c.
8141         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
8142
8143 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
8144
8145         * i386.c (ix86_frame): New structure.
8146         (ix86_compute_frame_size): Kill.
8147         (ix86_compute_frame_layout): New.
8148         (ix86_save_reg): New.
8149         (ix86_can_use_return_insn_p): Use frame layout stuff.
8150         (ix86_expand_prologue): Likewise.
8151         (ix86_expand_epilogue): Likewise.
8152         (ix86_initial_elimination_offset): Likewise.
8153         (ix86_nsaved_regs): Use ix86_save_reg.
8154         (ix86_emit_save_regs): Likewise.
8155
8156 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8157
8158         * flow.c (find_sub_basic_blocks): New function.
8159         (split_block): Be ready for basic block introduced by CODE_LABEL.
8160         (commit_one_edge_insertion): Call find_sub_basic_block.
8161
8162         * flow.c (make_edges): Add edge from entry for blocks starting with
8163         label having ALTERNATE_NAME
8164
8165 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8166
8167         * function.c (epilogue_done): Be ready for first basic block not
8168         containing PROLOGUE_END note.
8169         (reposition_prologue_and_epilogue_notes): Avoid placing
8170         PROLOGUE_END note between BASIC_BLOCK.
8171
8172 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
8173
8174         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
8175
8176 2001-02-21  DJ Delorie  <dj@redhat.com>
8177
8178         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
8179         check for current_function_has_nonlocal_goto from 1999-11-12.
8180
8181 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8182
8183         * diagnostic.c (trim_filename): No longer static.
8184         * toplev.h (trim_filename): Declare.
8185         * rtl.c (rtl_check_failed_bounds): Call internal_error.
8186         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
8187         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
8188         (rtvec_check_failed_bounds): Likewise.
8189         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
8190
8191         * convert.c (convert_to_integer): Don't do unsigned unless result or
8192         both inputs are unsigned.
8193
8194         * fold-const.c (fold_convert): Don't call size_int_type_wide if
8195         input overflows.
8196
8197         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
8198
8199         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
8200
8201 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
8202
8203         * Makefile.in (resource.o): Add params.h dependence.
8204         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
8205         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
8206         * resource.c: Add dependence on params.h.
8207         (current_live_regs): Fix explanatory comment.
8208         (find_basic_block): Add new parameter to permit limiting search
8209         for a BARRIER.
8210         (mark_target_live_regs): Add new argument to find_basic_block call.
8211         (incr_ticks_for_insn): Likewise.
8212
8213 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
8214
8215         * diagnostic.c (output_to_stream): Rename to
8216         output_buffer_to_stream. Loses the stream parameter.
8217         (init_output_buffer): Set diagnosic_buffer's stream.
8218         (flush_diagnostic_buffer): Adjust.
8219         (default_print_error_function): Likewise.
8220         (finish_diagnostic): Likewise.
8221         (verbatim): Likewise.
8222
8223         * diagnostic.h (struct output_buffer): Add `stream' field.
8224         (output_buffer_attached_stream): New macro.
8225
8226 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
8227
8228         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
8229         check if either operand is divisible by C.
8230         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
8231         If type is signed, consider negative numbers as well.
8232
8233 2001-02-22  Richard Henderson  <rth@redhat.com>
8234
8235         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
8236         reach .text instead of gp-relative relocs.
8237         * config/ia64/crtend.asm (.init): Likewise.
8238
8239 2001-02-22  Andreas Jaeger  <aj@suse.de>
8240
8241         * extend.texi (C++ Attributes): Fix typo.
8242
8243 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
8244
8245         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
8246         functions, drop current_function_args_info.words test.
8247         (ia64_compute_frame_size): Mark syscall_linkage functions as
8248         using eight input registers.
8249
8250 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
8251         Bruce Korb  <bkorb@gnu.org>
8252
8253         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
8254         * fixinc/README: Document how to convert sed substitutions
8255         to format style c_fix-es.
8256         * fixinc/fixincl.x: regen
8257
8258 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
8259
8260         * gcc.c: Add comment explaining how to add a command-line option.
8261         Add title to specs language comment.
8262
8263 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8264
8265         * gcc.c (cc1_options): Add "-param".
8266         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
8267         (option_map): Likewise.
8268         * toplev.c (display_help): Add entry for "--param".
8269         (independent_decode_option): Fix typographical error.
8270
8271 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
8272                               Bernd Schmidt  <bernds@redhat.com>
8273                               Jan Hubicka  <jh@suse.cz>
8274
8275         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
8276         (function_arg): Likewise.
8277
8278 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
8279
8280         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
8281
8282 2001-02-21  Kazu Hirata  <kazu@hxi.com>
8283
8284         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
8285         character.
8286         (xorsi3): Likewise.
8287
8288 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8289
8290         * flow.c (init_propagate_block_info): Canon address and use single_set
8291         for killing dead memory stores.
8292
8293 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8294
8295         * Makefile.in (reorg.o): Add params.h dependence.
8296         * params.def: Fix typographical error in comment.
8297         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8298         * params.h: Modify introductory comment.
8299         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8300         * reorg.c: Add dependence on params.h.
8301         (redundant_insn): Add parameterized throttle for search.
8302         (fill_simple_delay_slots): Add a comment explaining a variable.
8303         Move conditional out of loop, simplifying code.
8304         (fill_eager_delay_slots): Fix typographical error in comment.
8305
8306 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
8307
8308         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
8309
8310         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
8311         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
8312
8313 2001-02-21  Jason Merrill  <jason@redhat.com>
8314
8315         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
8316         (struct tree_decl): Add uninlinable bitfield.
8317         * c-decl.c (duplicate_decls): Set it.
8318         * integrate.c (function_cannot_inline_p): Check it.
8319
8320         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
8321         DW_AT_MIPS_linkage_name to abstract methods.
8322         (dwarf2out_abstract_function): Emit class context before calling
8323         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
8324         (gen_subprogram_die): Remove obsolete code.
8325         (gen_member_die): Don't include clones in the member list.
8326         (gen_decl_die): Emit abstract info for clone origin.
8327         * dwarfout.c (output_type): Don't include clones in the member list.
8328         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
8329         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
8330         DECL_ABSTRACT on a function that already has it set.
8331
8332         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
8333         (get_subprogram_die): Pass it in.
8334
8335 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
8336
8337         * flow.c (mark_set_1): Make not_dead unsigned long.  For
8338         non-pseudos, use it as a bitmask of the hard regs that
8339         don't die.
8340
8341 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8342
8343         * cppfiles.c: Update comments.
8344         (_cpp_read_file): Don't check for NULL filenames any more.
8345         * cppinit.c (cpp_start_read): Don't do canonicalization of
8346         in_fname and out_fname.  Use the passed file name exclusively.
8347         (_cpp_handle_options): Don't treat "-" as a command line option,
8348         but as a normal filename.
8349         (_cpp_post_options): Canonicalize in_fname and out_fname.
8350         * cppmain.c (printer_init): Don't check out_fname for NULL.
8351         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
8352         (init_c_lex): Update, and use "" to represent stdin to CPP.
8353         (yyparse): Update.
8354
8355 2001-02-20  Will Cohen  <wcohen@redhat.com>
8356
8357         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
8358         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
8359         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
8360         fixunstfsi_libfunc.
8361
8362 2001-02-20  Stan Shebs  <shebs@apple.com>
8363
8364         * config/rs6000/rs6000.c (output_cbranch): Output branches
8365         on separate lines instead of using ';' to separate.
8366
8367 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8368
8369         * cppinit.c (set_lang):  Move builtin handling to...
8370         (init_builtins): ...here.
8371         (_cpp_create_reader): Move call to set_lang.
8372
8373 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
8374
8375         * stmt.c (expand_return): If an attempt is made to return the
8376         error_mar_node, treat the return like a return without a value.
8377
8378 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
8379
8380         * sibcall.c (skip_copy_to_return_value): Call
8381         identify_call_return_value here, and return orig_insn if it
8382         returns zero.  Hardret and softret arguments now unnecessary.
8383         (call_ends_block_p): Don't call identify_call_return_value here.
8384
8385         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
8386         's' slots in RTXen.
8387         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
8388         * ggc.h (ggc_mark_if_gcable): Delete prototype.
8389
8390 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
8391
8392         * pa.c (move_operand): Accept code to load the address of a
8393         symbol out of the DLT as a valid move operand.
8394         (print_operand, case 'A'): New to handle generating a DLT
8395         reference for a LO_SUM expression.
8396         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
8397         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
8398
8399 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
8400
8401         * README, cpp.texi, gcc.texi, version.c: Update version number to
8402         3.1.
8403         * cpp.1, gcov.1, gcc.1: Regenerate.
8404
8405 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8406
8407         * cppfiles.c (stack_include_file): Generate dependencies
8408         here, and manage include_count here too.
8409         (PRINT_THIS_DEP): Delete.
8410         (_cpp_execute_include): Do not generate dependencies here,
8411         apart from the case of a missing header.  Do not manage
8412         include_count.
8413         (_cpp_read_file): Leave dependency generation to
8414         stack_include_file.
8415
8416 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
8417
8418         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
8419         target_cpu_default.  Remove dead assignment to
8420         target_cpu_default.
8421
8422 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
8423
8424         * regclass.c (contains_reg_of_mode): Make global.
8425         (init_reg_sets): Remove contains_reg_of_mode; take into account
8426         CLASS_MAX_NREGS when looking for the proper mode.
8427         (dump_regclass): Dump only classes considered for the pseudo.
8428         (regclass): Use contains_reg_of_mode.
8429
8430 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8431
8432         * gcc.c (do_spec_1): 'n' for printing notices.
8433         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
8434
8435 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
8436
8437         * reg-stack.c (next_flags_user): Use current_block->end
8438         (swap_rtx_condition): Look for next user if flags don't die;
8439         give up on CALL_INSNs; use current_block->end.
8440
8441 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8442
8443         * sibcall.c (call_ends_block_p): New function.
8444         (optimize_sibling_and_tail_recursive_call): Use it.
8445
8446 2001-02-18  Kazu Hirata  <kazu@hxi.com>
8447
8448         * config/h8300/h8300.md: Update copyright.
8449         (andsi3): Do not output an extra newline character.
8450
8451 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8452
8453         * toplev.c (note_deferral_of_defined_inlined_function): Argument
8454         FNDECL may be unused.
8455
8456         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
8457         follow jumps after first run.
8458         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
8459         it doesn't change any jumps.
8460
8461 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
8462
8463         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
8464         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
8465         (mostlyclean): Corresponding changes.
8466         * rtlanal.c (hard-reg-set.h): Include.
8467         (rtx_unstable_p): Do not treat the argument pointer specially
8468         if it is not a fixed register.
8469         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
8470
8471 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8472
8473         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
8474         against last real insn in basic block.
8475         Rework to avoid gotos.
8476
8477         * Makefile.in (gcse.o): Now includes ggc.h.
8478         * gcse.c: Include ggc.h.
8479         (want_to_gcse_p): Verify expression can be in SET as valid insn.
8480         (try_replace_reg): Remove warning of uninitialize variable.
8481         (process_insert_insn): Call invalid_insn_p to validate insn.
8482         * recog.c (insn_invalid_p): Now global.
8483         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
8484         * recog.h (insn_invalid_p): New declaration.
8485
8486         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
8487
8488         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
8489         assignments from FP constants since 'Y' output code can't handle it.
8490         (eligible_for_sibcall_delay): Likewise.
8491
8492         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
8493         Call fancy_abort directly, passing args.
8494         (print_rtl_and_abort): Now a macro, like fancy_abort.
8495
8496         * final.c (output_operand_lossage): Use internal_error, not error.
8497
8498 2001-02-18  Shane Nay  <shane@agendacomputing.com>
8499
8500         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
8501         structure shift insns.
8502
8503 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
8504
8505         * invoke.texi (-fsquangle): Remove documentation.
8506         (-fname-mangling-version): Likewise.
8507
8508 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
8509
8510         * optabs.c (expand_abs): Remove reference to
8511         HAVE_contitional_arithmetic.
8512         * combine.c (simplify_set): Likewise.
8513
8514 2001-02-18  Richard Henderson  <rth@redhat.com>
8515
8516         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
8517         would be disrupted.
8518
8519 2001-02-18  Richard Henderson  <rth@redhat.com>
8520
8521         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
8522
8523         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
8524
8525         * reload1.c (reload_cse_simplify_set): Fix typo.
8526
8527 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8528
8529         * diagnostic.c (_fatal_insn): Decrement errorcount.
8530
8531         * invoke.texi (-I): Add note avoiding use for system header files.
8532
8533         * rtl.h (add_clobbers): Remove duplicate declaration.
8534         * recog.h (added_clobbers_hard_reg_p): New declaration.
8535         * genemit.c (struct clobber_pat): New field has_hard_reg.
8536         (gen_insn): Record if added clobbers clobber hard reg.
8537         (gen_split): Avoid unused warning if number of operands is 0.
8538         (output_added_clobbers_hard_reg_p): New function.
8539         (main): Call it.
8540
8541 2001-02-18  Alan Modra <alan@linuxcare.com.au>
8542
8543         * pa.c (hppa_expand_prologue): Simplify code storing return
8544         pointer.  For large (>=8k) frames with a post_store, adjust stack
8545         pointer by 8k-64 first rather than by 64.  When testing with
8546         VAL_14_BITS_P, always use the actual value rather than the value
8547         negated.  Add blockage to prevent scheduling of spills before
8548         stack frame has been created.
8549         (hppa_expand_epilogue): Simplify code loading return pointer.
8550         Allow a slightly larger range for merge_sp_adjust_with_load case.
8551         When testing with VAL_14_BITS_P, always use the actual value.
8552
8553         * pa.c (pa_adjust_insn_length): Check that block move
8554         pattern is a set before looking at operands.
8555
8556 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8557
8558         * fold-const.c (fold_binary_op_with_conditional_arg): New
8559         function, split out from ...
8560         (fold): ... here.
8561         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
8562         conditional arms that throw exceptions.
8563
8564         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
8565         looking at a BLOCK.
8566
8567 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8568
8569         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
8570         define HAVE_DECL_* to 1 to mask potential backup declarations.
8571         * configure: Regenerated.
8572
8573 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8574
8575         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
8576
8577 2001-02-17  Richard Henderson  <rth@redhat.com>
8578
8579         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
8580         when replacing a memory load with a register.
8581
8582 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8583                           Jan Hubicka  <jh@suse.cz>
8584
8585         * recog.c (validate_replace_src_1): New.
8586         (validate_replace_src_data): Likewise.
8587         (validate_replace_src): Use note_uses.
8588         * rtl.h (note_uses): Declare.
8589         * rtlanal.c (note_uses): New.
8590
8591 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
8592
8593         * reg-stack.c (stack_def): Make field reg unsigned.
8594         (remove_regno_note): Unsignetize parameter.
8595
8596 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
8597
8598         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
8599         shladd_operand() call.
8600
8601 2001-02-16  Bruce Korb  <bkorb@gnu.org>
8602             Rodney Brown  <RodneyBrown@mynd.com>
8603
8604         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
8605         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
8606         machine restrictions
8607         * fixinc/fixincl.x: regen
8608
8609 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8610
8611         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
8612         Don't CSE a nop.
8613         (hash_scan_insn): Clean up calls to hash_scan_set.
8614         (compute_kill_rd): REGNO now unsigned.
8615         (try_replace_reg): Rework to use simplify_replace_rtx.
8616         (cprop_jump, cprop_cc0_jump): Likewise.
8617         (cprop_insn): Call find_reg_equal_equiv_note.
8618         Reflect changes to cprop_jump and cprop_cc0_jump.
8619
8620         * recog.c (validate_replace_src): Replace in operands of
8621         ZERO_EXTRACT in SET_DEST.
8622
8623         * cse.c (new_label_ref): New variable.
8624         (insert): Set it instead of recorded_label_ref.
8625         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
8626         CODE_LABEL for this function, and not already in REG_LABEL note.
8627
8628 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
8629
8630         * resource.c (mark_referenced_resources): Fix typo in introductory
8631         comment.
8632         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
8633         string constant.
8634
8635 2001-02-16  Jason Merrill  <jason@redhat.com>
8636
8637         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
8638         NULL.
8639         (gen_subprogram_die): Don't abort on seeing a second definition if
8640         the previous one was abstract.  Don't replace an abstract instance
8641         in the lookup table.
8642
8643         * dwarf2out.c (dwarf2out_abstract_function): Rename from
8644         gen_abstract_function.
8645         * dwarf2out.h: Declare it.
8646         * toplev.c (note_outlining_of_inline_function): New fn.
8647         * toplev.h: Declare it.
8648         * integrate.c (output_inline_function): Call it.
8649         * c-decl.c (duplicate_decls): Call it when redefining an extern
8650         inline.  Don't inline the new defn.
8651
8652         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
8653
8654 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8655
8656         * .gdbinit: Rename to gdbinit.in.
8657         * gdbinit.in: New file,
8658         * configure.in: Generate .gdbinit from gdbinit.in.
8659         * configure: Regenerated.
8660         * Makefile.in (distclean): Always remove .gdbinit.
8661
8662 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
8663
8664         * objc/objc-act.c (start_class): Register implemented_classes with
8665         GC.
8666
8667 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
8668
8669         * cppfiles.c (_cpp_make_system_header): Generate a file
8670         change callback.
8671
8672 2001-02-15  Jim Meyering  <meyering@lucent.com>
8673
8674         * Makefile.in (install-common): Don't depend on installdirs here.
8675         Instead, make each of the lang.install-common targets (e.g.,
8676         c++.install-common in cp/Make-lang.in) depend on it.
8677         (install-driver): Depend on installdirs.
8678
8679 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8680
8681         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
8682
8683         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
8684         do in memory.
8685
8686 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
8687
8688         * invoke.texi (--param): Document.
8689
8690 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
8691
8692         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
8693
8694 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
8695
8696         * i386.md (extendsfdf2_2): Fix constraints.
8697
8698 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
8699
8700         * i386.md (fop_df_3 splitter): Fix operand number.
8701
8702 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8703
8704         * invoke.texi (-mreg-alloc): Nuke.
8705         * i386.c (ix86_reg_alloc_order, regs_allocated,
8706         order_regs_for_local_alloc): Nuke.
8707         (override_options): Kill reg_alloc code.
8708         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
8709         (REG_ALLOC_ORDER): SSE goes before I387.
8710         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
8711         (ix86_reg_alloc_order): Likewise.
8712         * i386-protos.h (ix86_reg_alloc_order): Kill.
8713
8714 2001-02-14  Richard Henderson  <rth@redhat.com>
8715
8716         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
8717
8718 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
8719
8720         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
8721
8722 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8723
8724         * i386-protos.h (ix86_memory_move_cost): Move offline.
8725         * i386.c (ix86_register_move_cost): Compute properly cost of
8726         SSE, MMX and i387 instructions.
8727         (*_cost): Add costs of SSE/MMX moves.
8728         (ix86_memory_move_cost): Move offline from ....; Likewise.
8729         * i386.h (MEMORY_MOVE_COST): .... here;
8730         (struct processor costs): Add new fields to represent costs
8731         of SSE/MMX moves.
8732
8733 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
8734
8735         * regclass.c (init_reg_sets_1): Reinstall the optimization of
8736         move_cost together with Matt Kraai's fix.
8737
8738 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
8739
8740         * Makefile.in (OBJS): Add params.o.
8741
8742 2001-02-14  Richard Henderson  <rth@redhat.com>
8743             DJ Delorie  <dj@redhat.com>
8744
8745         * jump.c (jump_optimize_1): When we delete a conditional jump
8746         preceeding a non-conditional jump to effectively the same place,
8747         make sure that the combined jump skips any clobber insns between
8748         the two labels.
8749
8750 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
8751
8752         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
8753
8754 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
8755
8756         * Makefile.in (toplev.o): Depend on params.h.
8757         (intergate.o): Likewise.
8758         (params.o): New target.
8759         * flags.h (inline_max_insns): Remove.
8760         * integrate.c: Include params.h.
8761         Use MAX_INLINE_INSNS instead of inline_max_insns.
8762         * params.c: New file.
8763         * params.h: Likewise.
8764         * params.def: Likewise.
8765         * toplev.c: Include params.h.
8766         (lang_independent_params): New variable.
8767         (decode_f_option): Use the param machinery instead of setting
8768         max_inline_insns.
8769         (independent_decode_option): Handle "--param name=value".
8770         (main): Register language-independent parameters.
8771
8772 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
8773
8774         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
8775
8776 2001-02-14  Richard Henderson  <rth@redhat.com>
8777
8778         * regclass.c (init_reg_sets_1): Revert last two changes.
8779
8780 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
8781
8782         * stor-layout.c (is_pending_size, put_pending_size): New functions.
8783         (variable_size): Call put_pending_size.
8784         * tree.h (is_pending_size, put_pending_size): Add prototypes.
8785         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
8786         sizes list, put newly created SAVE_EXPR there as well.
8787
8788 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
8789
8790         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
8791         (errata_find_address_regs): load_group has only 2 entries.
8792         (errata_emit_nops): Likewise.  shladd is not problematic.
8793         Clear last_group if nop was emitted.
8794         (fixup_errata): load_group has only 2 entries.
8795         Optimize.
8796
8797 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8798
8799         * c-lex.c (lex_number): Only warn traditionally for U suffix
8800         outside system macros.
8801         * cppexp.c (parse_number): Similarly.
8802         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
8803         * cppmacro.c (struct cpp_macro): New member node.
8804         (parse_args): Only warn about missing rest args if not
8805         a system macro.
8806         (funlike_invocation_p): Similarly for uninvoked funlike macros.
8807         (cpp_sys_objmacro_p): New.
8808         (_cpp_create_definition): Store the node with the macro defn.
8809         Remember if the macro is defined in a system header.
8810
8811 2001-02-13  DJ Delorie  <dj@redhat.com>
8812
8813         * configure.in (check_languages): determine languages to check
8814         * Makefile.in (check-c++): alias for check-g++
8815         (check-f77): alias for check-g77
8816         (CHECK_TARGETS): depend on configured languages
8817
8818 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
8819
8820         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
8821         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
8822         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
8823         (sqrtextendsfdf2): Disable for SSE2.
8824
8825 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
8826
8827         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
8828         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
8829         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
8830         (sqrtextendsfdf2): Disable for SSE2.
8831
8832 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
8833
8834         * i386.md (movsfcc_1): Support integer cmove instruction.
8835         (movdfcc_1): Likewise; new splitter.
8836
8837 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
8838
8839         * i386.c (output_fp_compare): Support SSE.
8840         (prepare_fp_compare_args): SSE comparisons always support memory.
8841         * i386.h (TARGET_CMOVE): SSE imply cmove.
8842         * i386.md (cmp?f2): Enable for SSE too.
8843         (cmpfp_i*): Support SSE.
8844         (cmpfp_i_sse): New.
8845         (cmpfp_i_sse_only): New.
8846         (s*, b* fp expanters): Enable for SSE too.
8847         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
8848         New patterns.
8849
8850 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8851
8852         * regclass.c (init_reg_sets_1): Silence warning.
8853
8854 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
8855
8856         * i386.md (sqrt?f2): Change to expander.
8857         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
8858
8859 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8860
8861         * rtlanal.c (find_reg_equal_equiv_note): New function.
8862         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
8863         (simplify_gen_relational, simplify_replace_rtx): Likewise.
8864         * rtl.h: Add declarations for above functions.
8865
8866 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
8867
8868         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
8869         conditionals.
8870         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
8871         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
8872         * flow.c (mark_regs_live_at_end): Likewise.
8873         (calculate_global_regs_live): Likewise.
8874         * gcse.c (compute_hash_table): Likewise.
8875         (compute_kill_rd): Likewise.
8876         * resource.c (mark_target_live_regs): Likewise.
8877         * rtl.h (INVALID_REGNUM): New macro.
8878
8879 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
8880
8881         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
8882
8883 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
8884
8885         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
8886         for SSE.
8887
8888 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
8889
8890         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
8891         too.
8892         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
8893         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
8894         (fop_sf_1_sse, fop_df_1_sse): New patterns
8895         (fop_*): Disable float_extend and float patterns for SSE compilation.
8896         * i386.c (output_387_binary_op): Support SSE.
8897
8898 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
8899
8900         * i386.md (dummy_extendsfdf2): Support SSE2
8901         (extendsfdf2): Enable if 80387 or SSE2.
8902         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
8903         and no MIX_I387_SSE2
8904         (extendsfdf2_1_sse_only): New pattern.
8905         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
8906         of SSE.
8907         (truncdfsf2_1): Support SSE.
8908         (truncdfsf2_2): Support SSE.
8909         (truncdfsf2_2_1_sse): New pattern.
8910         (fixtruncsfsi2): Always use SSE if available.
8911         (fix_truncsfsi_sse): New pattern.
8912         (fix_truncdfsi_sse): New pattern.
8913         (floatsis?f2): Support SSE.
8914         (floatsidf2_i387): New pattern.
8915         (floatsidf2_sse): Likewise.
8916
8917 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8918
8919         * configure.in: Use "have_gnat" variable, not "gnat".
8920         * configure: Regenerated.
8921
8922         * config/sparc/sparc.c (function_value): Treat all non-record
8923         aggregate types like used to treat UNION_TYPE.
8924
8925 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
8926
8927         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
8928         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
8929         (MASK_SSE2): New.
8930         (MASK_MIX_SSE_I387): New.
8931         (TARGET_SSE): SSE2 imply SSE.
8932         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
8933         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
8934         (enum reg_class): Add new classes.
8935         (REG_CLASS_NAMES): Likewise.
8936         (REG_CLASS_CONTENTS): Likewise.
8937         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
8938         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
8939         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
8940         (CLASS_MAX_NREGS): Use new macros.
8941         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
8942         * i386.md (pushsf, movsf): Support SSE.
8943         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
8944         splitters to use ANY_FP_REGNO_P.
8945         (movdf_nointeger, movdf_integer): Likewise.
8946
8947 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
8948
8949         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
8950         (try_combine): Use it.
8951
8952 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
8953
8954         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
8955         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
8956         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
8957         (REGISTER_MOVE_COST): Likewise.
8958         * i386-protos.h (ix86_secondary_memory_needed,
8959         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
8960         * i386.c (ix86_secondary_memory_needed,
8961         ix86_preferred_reload_class, ix86_register_move_cost): New function.
8962
8963 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
8964
8965         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
8966         (HARD_REGNO_MODE_OK): Move offline to ....
8967         * i386.c (ix86_hard_regno_mode_ok) ... here;
8968         refuse all incorrect modes.
8969         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
8970
8971 2001-02-13  Richard Henderson  <rth@redhat.com>
8972
8973         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
8974         entire operator; replicate that and match_dup the operands.
8975         (cmp_ccx_arith_op_set): Likewise.
8976         (cmp_cc_arith_op_not_set): Likewise.
8977         (cmp_ccx_arith_op_not_set): Likewise.
8978
8979 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
8980
8981         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
8982
8983 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
8984
8985         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
8986         (TARGET_NO_BITFIELD_WORD): New macro.
8987         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
8988         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
8989
8990 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8991
8992         * cselib.c: New file, from simplify-rtx.c.
8993         * simplify-rtx.c: Remove cselib parts.
8994         * Makefile.in: Add cselib.o.
8995
8996 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
8997
8998         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
8999         (setup_incoming_varargs): Remove warning.
9000
9001         * config/rs6000/rs6000.c (validate_condition_mode): When
9002         flag_fast_math, allow floating-point conditionals to be reversed.
9003         (rs6000_generate_compare): When flag_fast_math, don't generate
9004         cror operations for FP conditionals.
9005
9006         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
9007         -mcall-i960.
9008         (ASM_SPEC): Likewise.
9009         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
9010         (CC1_SPEC): Likewise.
9011         (LINK_TARGET_SPEC): Likewise.
9012         (CPP_ENDIAN_SPEC): Likewise.
9013         * Makefile.in (check-consistency): New target.
9014
9015 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9016
9017         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
9018         "return type defaults" warning for functions with return type
9019         defaulting to int.
9020         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
9021         function declarations by default rather than only when pedantic.
9022
9023 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
9024
9025         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
9026         arrays.
9027
9028 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9029
9030         * extend.texi (Deprecated): Deprecate new initializer lists.
9031
9032 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9033
9034         * mkdeps.c (deps_add_default_target): Robustify. Add
9035         basename component only.
9036         * cpp.texi (-M): Describe how default target is generated.
9037         * invoke.texi (-M): Likewise.
9038
9039 2001-02-12  Kazu Hirata  <kazu@hxi.com>
9040
9041         * toplev.c (push_float_handler): Remove.
9042         (pop_float_handler): Remove.
9043         * toplev.h: Remove prototypes for the above functions.
9044
9045 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
9046
9047         * c-common.c (constant_fits_type_p): New function.
9048         (convert_and_check): Use it.
9049
9050 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9051
9052         * Makefile.in (GXX_ABI_FLAG): Don't define.
9053         * configure.in (--enable-new-gxx-abi): Remove option.
9054         * config.in: Regenerated.
9055         * configure: Likewise.
9056
9057 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
9058
9059         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
9060         basic block.
9061         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
9062         regular basic block, and arrange for all edges into it to switch
9063         to normal mode.
9064
9065 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9066
9067         * Makefile.in (distclean): Do not remove .gdbinit.
9068
9069 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9070
9071         * Makefile.in (gcc.o): Fix typos.
9072         (protize.o): Likewise.
9073         (unprotoize.o): Likewise.
9074
9075 2001-02-11  Richard Henderson  <rth@redhat.com>
9076
9077         * tree.c (build1): Check for null operand in last change.
9078
9079 2001-02-11  Richard Henderson  <rth@redhat.com>
9080
9081         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
9082         (fold): Don't assume a constant isn't foldable.
9083         * tree.c (build): Set TREE_CONSTANT for an expression with no
9084         side-effects and constant operands.
9085         (build1): Likewise.
9086
9087 2001-02-10  Richard Henderson  <rth@redhat.com>
9088
9089         * jump.c (squeeze_notes): Revert 2000-05-12 change.
9090
9091 2001-02-10  Anthony Green  <green@redhat.com>
9092
9093         * cpp.texi (Standard Predefined): Add documentation for
9094         __OPTIMIZE_SIZE__.
9095
9096         * c-common.c (combine_strings): Improve warning message.
9097
9098 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
9099
9100         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
9101         --oformat.
9102         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
9103
9104 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
9105
9106         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
9107         CYGWIN_CROSS_DIR.
9108
9109 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
9110
9111         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
9112         fp_mode attribute.
9113
9114 2001-02-09  Nick Clifton  <nickc@redhat.com>
9115
9116         * config/arm/arm.md: Change output contraint on post inc
9117         load/store multiple patterns to be a read/write contraint.
9118
9119 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9120
9121         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
9122         .o files when using the -M options.
9123
9124 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9125             David Edelsohn  <edelsohn@gnu.org>
9126
9127         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
9128         handle DImode constants.  Use one TOC entry for SImode and smaller
9129         constants, aligned properly.
9130
9131 2001-02-08  Jason Merrill  <jason@redhat.com>
9132
9133         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
9134         about the SP adjustment for saving the static chain pointer.
9135         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
9136         offset when setting a temporary CFA register.
9137
9138 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
9139
9140         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
9141         powerpc-*-chorusos* .
9142         * config/rs6000/chorus.h : New file.
9143         * config/i386/chorus.h : New file.
9144         * config/sparc/chorus.h : New file.
9145         * config/sparc/t-chorus-elf : New file.
9146
9147 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
9148
9149         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
9150         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
9151         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
9152         (__WCHAR_TYPE__): Correct macro name.
9153
9154 2001-02-08  Richard Henderson  <rth@redhat.com>
9155
9156         * config/i386/i386.c (ix86_frame_pointer_required): New.
9157         (ix86_setup_frame_addresses): New.
9158         (struct machine_funciton): Add accesses_prev_frame.
9159         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
9160         ix86_frame_pointer_required.
9161         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
9162         (SETUP_FRAME_ADDRESSES): New.
9163         * config/i386/i386-protos.h: Update.
9164         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
9165         from FRAME_POINTER_REQUIRED.
9166         * config/i386/svr3gas.h: Likewise.
9167         * config/i386/sysv3.h: Likewise.
9168         * config/i386/v3gas.h: Likewise.
9169
9170 2001-02-08  Richard Henderson  <rth@redhat.com>
9171
9172         * config/sparc/sparc.c (function_arg_record_value_3): Fix
9173         calculation of the number of integer registers required.
9174         (function_arg_record_value): Likewise.
9175
9176 2001-02-08  Jason Merrill  <jason@redhat.com>
9177
9178         * diagnostic.c (internal_error): Say "confused" after 1 error, not
9179         two.  Print file and line with "confused" message.
9180
9181         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
9182
9183 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9184
9185         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
9186
9187 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
9188
9189         * final.c (cleanup_subreg_operands): The address of a MEM can
9190         contain SUBREGs.
9191
9192         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
9193         for asms, too.
9194
9195 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
9196
9197         * gcc.texi (Incompatibilities): Update documentation of
9198         preprocessing numbers.
9199
9200 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
9201
9202         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
9203
9204 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
9205
9206         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
9207
9208         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
9209         * gcc.c (struct compiler): Add cpp_spec field.
9210         (input_file_compiler): New variable.
9211         (do_spec_1): Allow a particular compiler to handle `%C'
9212         specially.
9213         (main): Store the current compiler in input_file_compiler.
9214         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
9215
9216 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
9217
9218         * cpphash.h (struct spec_nodes): Add n_true and n_false.
9219         * cppinit.c (cpp_create_reader): Initialize them.
9220         (append_include_chain): cxx_aware arg might be unused.
9221         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
9222         keywords and give them their phase 7 meaning.  Pedwarn about
9223         this unless '__bool_true_false_are_defined' is defined.
9224
9225 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9226
9227         * lcm.c (optimize_mode_switching): Emit mode_set before the
9228         JUMP_INSN of an abnormal edge.
9229
9230 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
9231
9232         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
9233         a scheduling barrier at the end.
9234
9235         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
9236
9237 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9238
9239         * config/sh/sh.md (reload_outsf): Removed.
9240         (movsf_ie): Introduce constraints for FPUL loads and stores.
9241         (reload_insf): Broaden the output constraint.
9242
9243         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
9244         defined.
9245         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
9246         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
9247
9248 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
9249
9250         * final.c: Revert my previous changes.
9251         * output.h: Make profile_label_no extern.
9252         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
9253         for generating label.
9254
9255 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
9256
9257         * config/i386/djgpp.h: Add comments about standard paths.
9258         (MD_EXEC_PREFIX): Undefine before defining.
9259         (MD_STARTFILE_PREFIX): New.
9260
9261 2001-01-30  Bruce Korb  <bkorb@gnu.org>
9262
9263         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
9264         (load_file): do not rely on load_file_data() to close file pointer
9265         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
9266         fixinc/inclhack.def(irix_limits_const): add test_text
9267
9268 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9269
9270         * cppexp.c (parse_defined): Improve diagnostics for invalid
9271         syntax.
9272
9273 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9274
9275         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
9276
9277 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
9278
9279         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
9280         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
9281         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
9282         (rs6000_output_symbol_ref): New function.
9283         (output_toc): Use VTABLE_NAME_P.
9284
9285 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9286
9287         * print-tree.c (print_node, case PARM_DECL):
9288         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
9289
9290         * stor-layout.c (reference_types_internal): New variable.
9291         (internal_reference_types): New function.
9292         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
9293         * tree.h (internal_reference_types): New declaration.
9294
9295         * cse.c (find_best_addr): Fix typo in computing cost.
9296
9297 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9298
9299         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
9300         and this is the sum of a pointer and a constant, we know the result
9301         did not overflow.
9302         (num_sign_bit_copies, case PLUS): Likewise.
9303         * explow.c (convert_memory_address): Remove opposite SUBREG.
9304         * function.c (instantiate_new_reg): New function (from common code).
9305         (instantiate_virtual_regs_1): Call it.
9306         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
9307         if pointers sign- or zero-extend.
9308         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
9309         If pointers extend unsigned, use inside of SUBREG.
9310         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
9311
9312 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
9313
9314         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
9315         subdir of gcc_gxx_include_dir.
9316         (gcc_gxx_target_include_dir): Remove.
9317
9318 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
9319
9320         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
9321         (dwarf2out_frame_debug_expr): Revise introductory comments to add
9322         a high-level description.
9323
9324 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
9325
9326         * final.c: Move the declaration of profile_label_no to ...
9327         * output.h: ... here.
9328         * function.c (expand_function_start): Call PROFILE_HOOK.
9329         * config/rs6000/aix.h: Define PROFILE_HOOK.
9330         * config/rs6000/rs6000-protos.h: output_profile_hook new.
9331         * config/rs6000/rs6000.c (output_profile_hook): Define.
9332         (output_prolog): Do nothing for ABI_AIX as it is taken care by
9333         output_profile_hook.
9334         tm.texi : Explain new macro PROFILE_HOOK.
9335
9336 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
9337
9338         * extend.texi (Extended Asm): Do not say that semicolon is always
9339         a valid line-breaking character for GNU assemblers.  Use
9340         newline-tab as the most commonly supported syntax.  Use
9341         newline-tab rather than semicolon in multi-insn examples.
9342
9343 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9344
9345         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
9346
9347 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9348             David Edelsohn  <edelsohn@gnu.org>
9349
9350         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9351         code for AIX, even without flag_pic.
9352
9353 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
9354
9355         * c-typeck.c (common_type): push and pop binding level around
9356         calling common_type on function parameters.
9357
9358 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
9359
9360         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
9361
9362 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9363
9364         * config/mips/mips.c (override_options): Fix typo in last change.
9365         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
9366         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
9367
9368 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
9369
9370         * invoke.texi (-fdump-class-layout): Document.
9371         (-fdump-translation-unit): Use `=' as filename separator.
9372
9373 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
9374
9375         * Makefile.in (s-mlib): Don't build multilibs if
9376         --disable-multilib.
9377         (DRIVER_DEFINES): Adjust accordingly.
9378         (gcc.o): Likewise.
9379         (protoize.o): Likewise.
9380         (unprotoize.o): Likewise.
9381         * configure.in: Recognize --enable-multilib.
9382
9383 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9384
9385         * Makefile.in (DRIVER_DEFINES): Fix quoting.
9386
9387         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
9388         * configure.in: Remove --enable-libstdcxx_v3 support.
9389         * configure: Regenerated.
9390
9391 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9392
9393         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
9394         Call abort instead of fatal.
9395         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
9396         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
9397         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
9398         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
9399         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9400         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
9401
9402         * diagnostic.h (set_internal_error_function): Renamed.
9403         * toplev.h (internal_error): Renamed from fatal.
9404         (pfatal_with_name): Deleted.
9405         (fatal_io_error): Now has printf-style arguments.
9406         * diagnostic.c (pfatal_with_name): Deleted.
9407         (fatal_io_error): Rework to have args in printf-style.
9408         (set_internal_error_function): Renamed from set_fatal_function.
9409         (internal_error): Renamed from fatal.
9410         (error_recursion, fancy_abort): Call internal_error instead of fatal.
9411         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
9412         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
9413         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
9414         * flow.c (verify_flow_info): Likewise.
9415         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
9416         * config/mips/mips.c (save_restore_insns): Likewise.
9417
9418         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
9419         * flow.c (verify_flow_info): Likewise.
9420         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
9421         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
9422         (avr_normalize_condition): Likewise.
9423         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
9424         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
9425         (limit_reload_class, double_reg_to_memory): Likewise.
9426         (print_operand_address, emit_1600_code_shift): Likewise.
9427         (gen_tst_reg, gen_compare_reg): Likewise.
9428         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
9429         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
9430         Deleted.
9431         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
9432
9433         * c-parse.in (methoddef): Call fatal_error instead of fatal.
9434         * objc/objc-act.c (build_ivar_chain): Likewise.
9435         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
9436         pfatal_with_name.
9437         * graph.c (clean_graph_dump_file): Likewise.
9438         * profile.c (init_branch_prob): Likewise.
9439         * objc/objc-act.c (objc_init): Likewise.
9440
9441         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
9442         * config/avr/avr.c (avr_override_options): Likewise.
9443         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
9444         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
9445         * config/h8300/h8300.c (h8300_init_once): Likewise.
9446         * config/mips/mips.c (override_options): Likewise.
9447         * config/i386/i386.c (override_options): Likewise, rework.
9448         * config/m68k/m68k.c (override_options): Likewise.
9449
9450         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
9451         instead of fatal.
9452         * config/mips/mips.c (print_operand): Likewise.
9453         * hash.c (hash_allocate): Don't check for failure returns from
9454         obstack functions that can't fail.
9455         (hash_table_init_n, hash_table_init): Likewise; also now return void.
9456         * hash.h (hash_table_init_n, hash_table_init): Now return void.
9457         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
9458         (get_object_reference): Likewise.
9459
9460 2001-02-04  Nick Clifton  <nickc@redhat.com>
9461
9462         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
9463         StrongARM1110, 10TDMI, and 1020T.
9464
9465 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9466
9467         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
9468
9469 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
9470
9471         * config/sh/sh.md (movdf load split): Pass register number to
9472         FP_OR_XD_REGISTER_P.
9473
9474 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9475
9476         * cppinit.c (BC): New macro.
9477         (builtin_array): Add __GXX_WEAK__.
9478         * cpplib.h (builtin_type): Add BT_WEAK.
9479         * cppmacro.c (builtin_macro): Handle BT_WEAK.
9480         * defaults.h (SUPPORTS_ONE_ONLY): Define.
9481         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
9482
9483 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
9484
9485         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
9486
9487 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9488
9489         * cpphash.h: Rename _ALIGN POOL_ALIGN.
9490         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9491
9492 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9493
9494         * cpphash.h: Rename ALIGN _ALIGN.
9495         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9496
9497 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
9498
9499         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
9500         compilation environment.
9501         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
9502         control over location of cygwin includes and libs.
9503
9504 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9505
9506         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
9507
9508 2001-02-02  lars brinkhoff  <lars@nocrew.org>
9509
9510         * md.texi (Standard Names): remove reference to spur.md.
9511
9512 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9513
9514         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
9515         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
9516         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
9517         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
9518         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
9519
9520 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9521
9522         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
9523         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
9524         number before reload.
9525         (c4x_adjust_cost): Return zero before reload.
9526         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
9527         split before reload.
9528
9529 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9530
9531         * c4x.c (c4x_hard_regno_rename_ok): New.
9532         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
9533         * c4x.h (HARD_REGNO_RENAME_OK): Define.
9534
9535 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9536
9537         * diagnostic.h: Add missing "extern" in all declarations.
9538
9539 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
9540
9541         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
9542         as for gcc_gxx_include_dir.
9543
9544 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9545
9546         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
9547
9548 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9549
9550         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
9551         label before alignment to be used as the braf base address.
9552         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
9553         branches.
9554         (casesi_jump_2): Require at least TARGET_SH2.
9555
9556         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
9557         truncation to 32-bit doubles on -m3e and -m4-single-only.
9558
9559 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
9560
9561         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
9562         the default when building a shared object.
9563         (init_spec): Use it.
9564         * testsuite/lib/g++.exp: Include the directory where libgcc
9565         is located to the LD_LIBRARY_PATH list.
9566         * invoke.texi (-shared-libgcc): Document the cases in which
9567         GCC defaults to using the shared libgcc.
9568
9569 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9570
9571         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
9572         unsigned is wide enough.
9573         (BITS_PER_SI): New.
9574         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
9575         (si_to_float): Likewise.
9576         (float_to_si, float_to_usi): Use BITS_PER_SI.
9577
9578 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9579
9580         * dwarf2out.c: Added explanation of abbreviations.
9581         (def_cfa_1): Added comments listing DWARF2 instructions.
9582         (cfa_temp_reg): Removed in favor of cfa_temp.
9583         (cfa_temp_value): Removed in favor of cfa_temp.
9584         (cfa_temp): New global variable.
9585         (dwarf2out_frame_debug_expr): Added extensive introductory
9586         comments explaining the function's transformations.  Revised to
9587         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
9588         (dwarf2out_frame_debug): Revised to use cfa_temp.
9589         (output_aranges): Cast as "unsigned" to avoid warning.
9590         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
9591         explain which instructions must be marked.
9592
9593 2001-02-01  Richard Henderson  <rth@redhat.com>
9594
9595         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
9596         new instruction.
9597
9598 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
9599
9600         * config/sh/crt1.asm (main_k): Modified so that start calls
9601         ___setup_argv_and_call_main.
9602
9603 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
9604
9605         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
9606         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
9607         and AVOID_LPASTE is cleared on meeting an unescaped newline.
9608         * cppmacro.c (builtin_macro): Set builtin flags here.
9609         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
9610         (replace_args): Clarify intent.
9611         (cpp_get_token): Macro expansion tokens get the saved flags.
9612         Update.
9613         * cppmain.c (scan_buffer): Remove now-redundant print.printed
9614         check.
9615
9616 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9617
9618         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
9619         2001-Jan-29.
9620
9621 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9622
9623         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
9624         returns Pmode pseudo, but we need ptr_mode.
9625         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
9626         Remove bogus conversions; use HOST_WIDE_INT for size.
9627         Don't use TARGET if wrong mode.
9628
9629         * config/i386/i386.c (ix86_compute_frame_size): Allow
9630         stack_alignment_needed to be non-default even if size is zero.
9631
9632 2001-01-31  Alan Modra <alan@linuxcare.com.au>
9633
9634         * pa.c (hppa_init_pic_save): New function.
9635         * pa.h (hppa_init_pic_save): Declare.
9636         * pa.md (call, call_value, sibcall, sibcall_value): Use
9637         the above instead of duplicated code.
9638
9639         * pa.c (hppa_encode_label): Correct size of alloca buffer
9640         so we don't overrun it.  Correct leading `*' case.
9641         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
9642         need to handle `*@'.
9643         (FUNCTION_NAME_P): Likewise.
9644
9645 2001-01-31  Richard Henderson  <rth@redhat.com>
9646
9647         * config.gcc (alpha-osf5): Use float-i128.h.
9648
9649         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
9650         * config/float-i32.h: Likewise.
9651         * config/float-i64.h: Likewise.
9652         * config/float-sh.h: Likewise.
9653         * config/float-sparc.h: Likewise.
9654
9655 2001-01-31  DJ Delorie  <dj@redhat.com>
9656
9657         * expmed.c (extract_bit_field): allow non-integral modes if we
9658         want to extract a whole register from itself.
9659
9660 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
9661
9662         * c-typeck.c (set_init_index): If first is equal to last, assume as
9663         if it was not a range at all.
9664
9665 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9666
9667         * config/fp-bit.c: Include tm.h.
9668         (float_to_si): Don't assume SImode is 32-bits wide.
9669         (float_to_usi): Likewise.
9670
9671 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
9672
9673         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
9674         incomplete type.
9675         (typename): Call pending_xref_error after parsing typed_typespecs.
9676         * c-decl.c (lookup_tag): Give error immediately rather than
9677         leaving it pending if the tag of the wrong type is in the same
9678         binding level.
9679         (xref_tag): Don't pedwarn for forward declarations of enum types
9680         here.
9681         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
9682         and enum tags.
9683
9684 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9685
9686         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
9687
9688 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9689
9690         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
9691         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
9692
9693 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9694
9695         * cpphash.h (struct cpp_reader): New saved_flags.
9696         * cppmacro.c (cpp_get_token): Use saved_flags to remember
9697         to avoid a paste after a pasted token.
9698
9699 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9700
9701         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
9702         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
9703         Wtype_MIN instead of LONG_MIN.
9704
9705 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
9706
9707         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
9708         README file.
9709         * fixinc/fixincl.x: Regenerated.
9710         * fixinc/inclhack.def (irix_limits_const): New definition to
9711         convert "const" to "__const" in limits.h.
9712
9713 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
9714
9715         * fixinc/genfixes (AG): Fix "autogen4" thinko.
9716
9717 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9718
9719         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
9720         when register dies in the insn.
9721
9722 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9723
9724         * diagnostic.c (fatal): Fix word wrap.
9725
9726 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
9727
9728         * combine.c (try_combine): Fix SUBREG setting for
9729         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
9730
9731 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9732
9733         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
9734         comparison codes.
9735
9736 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9737
9738         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
9739         is not NULL.
9740         * toplev.c (decode_W_option): Update warn_larger_than
9741         unconditionally for each processed switch.
9742
9743 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9744
9745         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
9746         to NULL_RTX.
9747         (hppa_expand_prologue): Delete code to save pic offset table register
9748         in the function prologue.
9749         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
9750         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
9751         table register at the beginning of the function after the prologue.
9752
9753 2001-01-29  lars brinkhoff  <lars@nocrew.org>
9754
9755         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
9756
9757 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9758             Jeff Law <law@redhat.com>
9759
9760         * pa.md (return): Revise comment for trivial return.
9761         (return_internal): Non-trivial return pattern for non-PIC code.
9762         (return_internal_pic): Non-trivial return pattern for PIC code.
9763         It uses the PIC register to ensure it is restored after
9764         function calls.
9765         (epilogue): Generate appropriate return for PIC and non-PIC code.
9766
9767 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
9768
9769         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
9770
9771 2001-01-29  DJ Delorie  <dj@redhat.com>
9772
9773         * combine.c (if_then_else_cond): Pass the correct mode to
9774         operand_subword() for constants.
9775
9776 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
9777
9778         * config/i386/cygwin.h: Add w32api to include search.  Search different
9779         directories in a cross-build environment.
9780
9781 2001-11-29  Tim Josling  <tej@melbpc.org.au>
9782
9783         * tree.h (TYPE_STUB_DECL): Add documentation.
9784
9785 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
9786
9787         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
9788         (sdbout_field_types): Likwise.  Fix use of host_integerp.
9789
9790 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
9791
9792         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
9793         cygwin.h.
9794
9795 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
9796
9797         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
9798         to use flag_gnu_linker.
9799
9800 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
9801
9802         * cpplib.c (T_BAD_DIRECTIVE): Remove.
9803         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
9804
9805 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
9806
9807         * tree.c, tree.h (build_parse_node): Remove; was identical to
9808         build_nt.
9809         * c-lang.c (start_cdtor), objc/objc-act.c
9810         (build_module_descriptor): Use build_nt instead of
9811         build_parse_node.
9812
9813 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
9814
9815         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
9816         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
9817         not have any upper bits set.
9818
9819 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
9820
9821         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
9822
9823 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9824
9825         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
9826
9827         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
9828
9829         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
9830         (integer_minus_one_node): Define.
9831
9832 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
9833
9834         * Makefile.in (bootstrap2-lean): Fix typo.
9835
9836 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9837
9838         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
9839         : Don't set fe_value.
9840         * cpplib.h (AVOID_LPASTE): New flag.
9841         (struct cpp_hashnode): Remove fe_value.
9842         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
9843         * cppmacro.c (builtin_macro): Don't set flags here.
9844         (replace_args): Set AVOID_LPASTE flag on first token of an
9845         argument, and the token following it.
9846         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
9847         macro expansion, and on the token following it.  Do it for
9848         builtins too.
9849         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
9850
9851 2001-01-27  Richard Henderson  <rth@redhat.com>
9852
9853         * config/alpha/t-ieee: Remove multilibbing.
9854         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
9855
9856 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9857
9858         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
9859
9860         * Makefile.in: Remove all dependencies on defaults.h.
9861         * builtins.c: Don't include defaults.h.
9862         * c-common.c: Likewise.
9863         * c-decl.c: Likewise.
9864         * c-pragma.c: Likewise.
9865         * c-typeck.c: Likewise.
9866         * combine.c: Likewise.
9867         * i386.c: Likewise.
9868         * frame-ia64.c: Likewise.
9869         * cppexp.c: Likewise.
9870         * crtstuff.c: Likewise.
9871         * dbxout.c: Likewise.
9872         * dwarf2out.c: Likewise.
9873         * dwarfout.c: Likewise.
9874         * emit-rtl.c: Likewise.
9875         * except.c: Likewise.
9876         * expr.c: Likewise.
9877         * final.c: Likewise.
9878         * frame-dwarf2.c: Likewise.
9879         * libgcc2.c: Likewise.
9880         * optabs.c: Likewise.
9881         * profile.c: Likewise.
9882         * sdbout.c: Likewise.
9883         * toplev.c: Likewise.
9884         * tradcif.y: Likewise.
9885         * tree.c: Likewise.
9886         * varasm.c: Likewise.
9887
9888 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9889
9890         * builtins.c (expand_builtin_fputs): Use size_one_node when
9891         transforming into fwrite.
9892
9893 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
9894
9895         * extend.texi (Attribute Syntax): New section.
9896
9897 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
9898
9899         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
9900         they didn't need fixing.
9901
9902 2001-01-27  Janis Johnson <janis@us.ibm.com>
9903
9904         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
9905         if appropriate.
9906         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
9907         to remove macro definitions that are duplicated from elfos.h.
9908
9909 2001-01-27  Richard Henderson  <rth@redhat.com>
9910
9911         * config/i386/sco5gas.h: Move ...
9912         * config/usegas.h: ... here.
9913         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
9914
9915 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
9916
9917         * c-typeck.c (struct constructor_stack): Add range_stack member.
9918         (really_start_incremental_init): Clear it.
9919         (push_init_level): Save constructor_range_stack and clear it if
9920         pushing explicit braces.
9921         (pop_init_level): abort if constructor_range_stack is non-zero at
9922         explicit closing brace.  Restore saved constructor_range_stack if
9923         not implicit.
9924
9925 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
9926
9927         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
9928         into register was forced into memory.
9929
9930 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
9931
9932         * Makefile.in: Remove uses of + before $(MAKE).
9933
9934 2001-01-26  Richard Henderson  <rth@redhat.com>
9935
9936         * stmt.c (cost_table): Remove.
9937         (COST_TABLE, cost_table_initialized): New.
9938         (estimate_case_costs): Use the later instead of the former.
9939         (balance_case_nodes): Likewise.
9940
9941 2001-01-26  Richard Henderson  <rth@redhat.com>
9942
9943         * alias.c (objects_must_conflict_p): Read-only slots may not
9944         conflict despite having the same type.
9945
9946 2001-01-27  Michael Hayes  <mhayes@redhat.com>
9947
9948         * loop.c (loop_giv_reduce_benefit): Copy mode size into
9949         int variable.
9950         (check_ext_dependant_givs): Initialise u_start_val and
9951         u_end_val.
9952         (load_mems): Make last_max_reg unsigned.
9953         (try_swap_copy_prop): Use INSN_P and initialise set.
9954
9955 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
9956
9957         * README.AVR : Removed.
9958
9959 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
9960
9961         * pa-64.h (text_section): Remove declaration.
9962
9963         * pa.md (return_internal): Remove mode on PIC register use.
9964
9965 2001-01-25  lars brinkhoff  <lars@nocrew.org>
9966
9967         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
9968         ASM_CLOSE_PAREN): fix typos.
9969
9970 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
9971
9972         * acconfig.h: Define `const' to the empty string if neither
9973         __STDC__ nor __cplusplus is defined.
9974         * config.in: Regenerated.
9975
9976 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
9977
9978         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
9979         * collect2.c (main): Delete importf.  Add ".obj" file extension.
9980         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
9981         (aix_std_libs): Add additional AIX libraries to skip.
9982         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
9983         * config/rs6000/aix51.h: New file.
9984
9985 2001-01-25  Michael Hayes  <mhayes@redhat.com>
9986
9987         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
9988         (loop_insn_emit_before): No longer static.
9989         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
9990         (loop_givs_rescan, load_mems): Likewise.
9991         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
9992         (maybe_eliminate_biv_1):
9993         (move_movables): Replace emit_call_insn_before with
9994         loop_call_insn_hoist.
9995         * loop.h (loop_insn_emit_before): Add.
9996         * unroll.c (copy_loop_body): Replace emit_insn_before with
9997         loop_insn_emit_before.
9998
9999 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10000
10001         * diagnostic.c (fatal): Request preprocessed source.
10002
10003 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
10004
10005         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
10006         olddecl has argument types and newdecl has none, use the argument
10007         types from olddecl.
10008
10009 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
10010
10011         * dwarf2out.c (prefix_of): New function.  Determine longest common
10012         prefix of the two arguments.  The units are whole path components.
10013         (output_file_names): When adding a new directory find the one entry
10014         with the longest common prefix already in the list.  Artificially
10015         generate entry if there is none for this prefix.
10016         Fix test to check whether the zeroth directory entry is used.
10017
10018 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
10019
10020         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
10021         Changed all callers.  Take it into account when deciding if a
10022         previously loaded value matches.
10023
10024 2001-01-24  Richard Henderson  <rth@redhat.com>
10025
10026         * reload.c (find_reloads_subreg_address): Fail the substitution
10027         if the resulting address is insufficiently aligned.
10028
10029 2001-01-24  DJ Delorie  <dj@redhat.com>
10030
10031         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
10032         check the original operand's mode also.
10033         * simplify-rtx.c (simplify_ternary_operation): Ditto.
10034
10035 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10036
10037         * c-parse.in (cast_expr): Move compound literals from here ...
10038         (primary): ... to here.  Use standard terminology "compound
10039         literal" instead of "constructor expression".
10040
10041 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10042
10043         * gcc.1, cpp.1: Regenerate.
10044
10045 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
10046
10047         * calls.c (emit_library_call_value_1): Memory slot for
10048         pass-by-reference argument should have the mode of the argument,
10049         not of the pointer to it.
10050
10051 2001-01-24  Tom Tromey  <tromey@redhat.com>
10052
10053         * gcc.texi (G++ and GCC): Mention gcj manual.
10054         (Standards): Link to section of manual mentioning gcj/Java
10055         compatibility.
10056
10057 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
10058
10059         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
10060         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
10061         * tradcpp.c (main): Add -imacros or -include'd dependencies
10062         for -M*.
10063         * cpp.texi (-M, -MM): Document -M -include behaviour.
10064
10065 2001-01-24  Roger Collins <roger@ProProject.com>
10066
10067         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
10068
10069 2001-01-24  Will Cohen  <wcohen@redhat.com>
10070
10071         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
10072         whether registers are 32 bits or 64 bits in size.
10073
10074 2001-01-24  Ben Elliston  <bje@redhat.com>
10075
10076         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
10077
10078 2001-01-24  Richard Henderson  <rth@redhat.com>
10079
10080         * config/alpha/alpha.md (builtin_longjmp_internal): New.
10081         (builtin_longjmp): Use it instead of emit_indirect_jump.
10082
10083 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10084
10085         * bb-reorder.c (make_reorder_chain_1): Handle case where
10086         jump edge goes to the same block as the fallthru edge.
10087
10088 2001-01-23  Jim Wilson  <wilson@redhat.com>
10089
10090         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
10091         * frame.h (__ia64_personality_v1): Add prototype.
10092         * libgcc2.c (ia64_throw_helper): Change personality declaration to
10093         prototype form.  Add void * cast to first argument to personality
10094         call.
10095         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
10096         (asctoe113): Likewise.
10097         * config/ia64/frame-ia64.c: Include eh-common.h.
10098         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
10099         prototypes.
10100         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
10101         to dump parameter.
10102         (itanium_split_issue): Add prototype.
10103         (gen_nop_type): Ifdef out.
10104         (find_best_packet): Initialize best_packet.
10105         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
10106         result.
10107         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
10108         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
10109         (flushrs): Add explicit stop bit at end.
10110         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
10111         trailing \ to >.
10112
10113 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
10114
10115         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
10116         of EH symbols.
10117         * libgcc2.c (__terminate_func): Make variable static.
10118         (__terminate_set_func): New function to set __terminate_func.
10119         * libgcc2.h (__terminate_func_ptr): New typedef.
10120         (__terminate_set_func): New function.
10121
10122 2001-01-23  Richard Henderson  <rth@redhat.com>
10123
10124         * flow.c (init_propagate_block_info): Don't consider unchanging
10125         memories for dead frame store elimination.
10126
10127 2001-01-23  Richard Henderson  <rth@redhat.com>
10128
10129         * varasm.c (UNIQUE_SECTION): Move default implementation ...
10130         * defaults.h: ... here.
10131
10132 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10133
10134         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
10135
10136 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
10137
10138         * c-lex.c (lex_charconst): Fix typo: s/p/str.
10139
10140 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10141
10142         * rs6000.h (rs6000_return_addr): Move prototype from here...
10143         * rs6000-protos.h (rs6000_return_addr): ...to here.
10144         (rs6000_init_expanders): Delete prototype.
10145
10146 2001-01-23  Nick Clifton  <nickc@redhat.com>
10147
10148         * invoke.texi: Replace , with \, inside @gccoptlist macros.
10149         (Spec Files): Document %B and %j and %. and %v3 and %M and
10150         %{S*&T} spec switches.
10151
10152 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10153
10154         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
10155
10156 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
10157             Neil Booth  <neil@daikokuya.demon.co.uk>
10158
10159         * cpperror.c: Merge handlers of PEDWARN and WARNING.
10160         Have -Werror make pedantic warnings errors, like the
10161         rest of GCC.
10162
10163 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
10164
10165         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
10166
10167 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
10168
10169         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
10170         * integrate.c (expand_inline_function): Initialize them.
10171         (subst_constants): If changing COMPARE so that both its arguments
10172         will be VOIDmode and the comparison mode will be lost, note
10173         compare_mode.  Use the recorded compare_mode to optimize
10174         IF_THEN_ELSE.
10175
10176 2001-01-23  Jason Merrill  <jason@redhat.com>
10177
10178         * dwarf2out.c (new_die): Use xcalloc.
10179         (output_die): Abort rather than emit a local reference to offset 0.
10180
10181 2001-01-17  Andrew Haley  <aph@redhat.com>
10182
10183         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
10184         of a saved register; return NULL instead.
10185         (copy_reg): Take a pointer to a source register rather than a
10186         frame_state.
10187         (next_stack_level): Remember the address in the stack frame of all
10188         saved registers.
10189         Use the saved register pointer array as the source of the CFA.
10190         (throw_helper): Rewrite.  Unwind once rather than twice and keep
10191         track of saved registers as we go.
10192
10193 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10194
10195         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
10196         * c4x.c (c4x_legitimize_reload_address): Remove.
10197         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
10198         reload address for ldp(k) insn.
10199
10200 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
10201
10202         * pa.md (return_internal): Add a USE of the PIC register to ensure
10203         it is restored after each call.
10204         (return expander): Corresponding changes.
10205
10206 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10207
10208         * rs6000.h (INIT_EXPANDERS): Delete.
10209         (RETURN_ADDR_RTX): Call rs6000_return_addr().
10210         * rs6000.c (rs6000_override_options): Call *_machine_status from
10211         here...
10212         (rs6000_init_expanders): ...instead of here. Delete.
10213         (rs6000_mark_machine_status): New function.
10214         (rs6000_init_machine_status): Use xcalloc.
10215         (rs6000_return_addr): Generate RTX for the return address.
10216         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
10217         (rs6000_stack_info): Use it.
10218
10219 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
10220
10221         * gthr-win32.h: Include errno.h to get a declaration for
10222         EINVAL and _mingw.h if the target is mingw32.
10223
10224 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
10225
10226         * cpp.texi: Correct typos.
10227
10228 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10229
10230         * explow.c (probe_stack_range): Ensure value passed to
10231         stack_check_libfunc is ptr_mode, not Pmode.
10232
10233 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
10234
10235         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
10236         case, don't use operand_subword to calculate a SUBREG that is
10237         wider than a word.
10238
10239         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
10240
10241 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10242
10243         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
10244         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
10245         valid.  If not replace it by equivalent insns.
10246
10247 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10248
10249         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
10250         contains SYMBOL_REF, LABEL_REF and CONST_INT.
10251         (c4x_U_constraint, symbolic_address_operand): Likewise.
10252         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
10253         memory.
10254         (c4x_r11_set_p, c4x_check_laj_p): New functions.
10255         * c4x-protos.h (c4x_check_laj_p): Add prototype.
10256         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
10257         anulling slot because of silicon bug.
10258         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
10259
10260 2001-01-22  Alan Modra <alan@linuxcare.com.au>
10261
10262         * cppexp.c (parse_charconst):  Change `mask' type to agree
10263         with parse_escape.
10264
10265 2001-01-21  Richard Henderson  <rth@redhat.com>
10266
10267         * config/i386/i386.c (ix86_asm_file_end): Disable putting
10268         pic_label_name in a linkonce section.
10269
10270 2001-01-17  Philipp Thomas  <pthomas@suse.de>
10271
10272         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
10273         found in libintl.
10274         * configure: Regenerate.
10275
10276 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
10277
10278         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
10279         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
10280
10281 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
10282
10283         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
10284         If REVERSE nonzero then condition code in X must be reversed.
10285         (encode_section_info): Optimise if/else.
10286         (avr_function_value): Fix formatting.
10287
10288         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
10289         (difficult_branch): Likewise.
10290         (rvbranch): Likewise.
10291         (difficult_rvbranch): Likewise.
10292
10293         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
10294
10295         * config/avr/libgcc.S: Fix comment.
10296
10297 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10298
10299         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
10300
10301 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10302
10303         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
10304
10305 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10306
10307         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
10308         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
10309         * configure, config.in: Regenerate.
10310         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
10311         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
10312         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
10313         (doprint.o): New rule.
10314
10315 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
10316
10317         * c-typeck.c (digest_init): Handle boolean types as scalars.
10318
10319 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10320
10321         * stmt.c (expand_return): Don't return anything if size is zero.
10322         Delete redundant assignment to BYTES.
10323         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
10324
10325 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
10326
10327         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
10328         the same as the default library function names.
10329         * config/avr/avr.md: Document special characters after '%'.
10330         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
10331         knowing which of the call-used registers are really clobbered.
10332         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
10333         New.  Both quotient and remainder from one libgcc.S call.
10334         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
10335         clobber as few registers as possible.
10336         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
10337
10338 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10339
10340         * cppmacro.c (funlike_invocation_p): Don't move back up to the
10341         context of the top of the stack.
10342
10343 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
10344
10345         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
10346         (fixup_var_refs_insns): ...here.
10347
10348 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
10349
10350         * function.c (fixup_var_refs_insns): Break up into
10351         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
10352         [loop over entire insn list], and fixup_var_refs_insns_with_hash
10353         [loop over hash table entries].
10354         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
10355         fixup_var_refs_insns_with_hash, to match above changes.
10356
10357 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10358
10359         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
10360         (libgcc.a): Likewise.
10361         (stmp-multilib): Likewise.
10362         (STAGE2_FLAGS_TO_PASS): Likewise.
10363
10364 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
10365
10366         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
10367         temporary if no_new_pseudos.
10368
10369 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10370
10371         * cppinternals.texi: Update.
10372
10373 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
10374
10375         * arm.c (arm_init_builtins): Re-enable builtins.
10376
10377 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10378
10379         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
10380         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
10381         element to be null, and always expect an EXPR_LIST.
10382         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
10383         * sched-deps.c (sched_analyze_1): Likewise.
10384         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10385
10386         * regclass.c (max_set_parallel): New variable.
10387         (reg_scan): Take it into account in computation of max_parallel.
10388         (reg_scan_mark_refs, case SET): Compute it.
10389
10390         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
10391         args are REG.
10392         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
10393         * function.c (assign_parms): Use INTVAL for a CONST_INT.
10394
10395 2001-01-19  Jason Merrill  <jason@redhat.com>
10396
10397         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
10398         for the abstract instance of an inline function.
10399
10400 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
10401                           J"orn Rennecke <amylaar@redhat.com>
10402
10403         * reload1.c (move2add_note_store): Treat all registers directly or
10404         indirectly derived from a base register as members of the same set
10405         of values.
10406         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
10407         of base register into account.
10408
10409 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
10410
10411         * alias.c (find_base_value): Recognize TRUNCATE.
10412         (record_set): In PLUS case, invalidate if other summand is also a
10413         base value.
10414
10415 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10416
10417         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
10418         entry to be EXPR_LIST.
10419         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
10420         be an EXPR_LIST (but not null, which other code doesn't allow).
10421         (note_stores): Properly handle PARALLEL in SET.
10422         Recursively call for top-level PARALLEL.
10423         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
10424         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10425
10426         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
10427
10428 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10429
10430         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
10431         not pfile->skipping (== 0).
10432
10433 2001-01-17  Nick Clifton  <nickc@redhat.com>
10434
10435         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
10436         machine_status.
10437
10438 2001-01-17  Jim Wilson  <wilson@redhat.com>
10439
10440         * invoke.texi (IA-64 options): Improve.
10441
10442 2001-01-17  Tom Tromey  <tromey@redhat.com>
10443
10444         * invoke.texi (Optimize Options): Use `{}' to around @samp
10445         argument.
10446
10447 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
10448
10449         * invoke.texi (-fno-guess-branch-probability): New option.
10450
10451 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10452
10453         * combine.c (try_combine): Don't set i3_subst_into_i2 for
10454         case of making new double-word constant.
10455         Revert last change: instead just test i3_subst_into_i2.
10456
10457 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
10458
10459         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
10460         Use q constraints instead of r.
10461
10462 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
10463
10464         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
10465         (machine_function): Define.
10466         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
10467         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
10468         pa_free_machine_status): New functions.
10469         (override_options): Set {init,mark,free}_machine_status to above.
10470         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10471         PIC_OFFSET_TABLE_REGNUM_SAVED.
10472         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10473         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
10474         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
10475         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
10476         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10477
10478 2001-01-15  DJ Delorie  <dj@redhat.com>
10479
10480         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
10481         (cpp.1): Ditto.
10482         (gcc.1): Ditto.
10483
10484 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10485
10486         * flow.c (propagate_one_insn): Make trying to delete a prologue
10487         or epilogue insn an ICE, not a warning.  Allow doing this if
10488         the current function returns with stack pointer depressed.
10489
10490         * combine.c (try_combine): If i3_subst_into_i2, properly check for
10491         I3 having more than one SET.
10492
10493 2001-01-16  Jim Wilson  <wilson@redhat.com>
10494
10495         * invoke.texi: Document IA-64 options.
10496
10497         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
10498         (fixup_errata): Delete TARGET_A_STEP use.
10499         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
10500         (TARGET_SWITCHES): Delete -ma-step option.
10501         * config/ia64/ia64.md (all FP patterns): Delete %B0.
10502         (movqicc_astep, movqi_internal_astep, movhicc_astep,
10503         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
10504         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
10505         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
10506         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
10507         Delete.
10508         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
10509         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
10510         cmovsi_internal): Delete ! TARGET_A_STEP check.
10511
10512 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10513
10514         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
10515         possibility to report bugs via postal mail. Change a URL and
10516         merge in a nearly duplicate statement...
10517         (Bug Reporting): ...from here.
10518         (Service): Refer to the Bug Reporting section instead of
10519         duplicating an URL.
10520         (Contributing): Remove trivial explanations concerning snapshots.
10521
10522 2001-01-16  Alan Modra <alan@linuxcare.com.au>
10523
10524         * cppmain.c (general_init): Don't use ANSI prototype.
10525
10526 2001-01-16  Tom Tromey  <tromey@redhat.com>
10527
10528         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
10529
10530 2001-01-16  Richard Henderson  <rth@redhat.com>
10531
10532         * config/i386/i386.h: Fix comment typo.
10533         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
10534         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
10535
10536 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10537
10538         * gcc.c:  Revert previous -fsyntax-only-related change; move
10539         to cp/g++spec.c.
10540
10541 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
10542
10543         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
10544         inmode after checking GET_CODE (op).
10545
10546 2001-01-16  Richard Henderson  <rth@redhat.com>
10547
10548         * flow.c (struct propagate_block_info): Add mem_set_list_len.
10549         (MAX_MEM_SET_LIST_LEN): New.
10550         (propagate_one_insn): Update mem_set_list_len.
10551         (invalidate_mems_from_autoinc): Likewise.
10552         (invalidate_mems_from_set): Likewise.
10553         (mark_used_regs): Likewise.
10554         (init_propagate_block_info): Likewise.  Stop collecting memories
10555         when we reach MAX_MEM_SET_LIST_LEN.
10556         (mark_set_1): Likewise.
10557
10558 2001-01-16  Richard Henderson  <rth@redhat.com>
10559
10560         * unroll.c (precondition_loop_p): Fail if no iteration
10561         variable found.
10562
10563 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10564
10565         * gcc.c:  When -fsyntax-only is given, do not complain about
10566         unused libraries.
10567
10568 2001-01-15  Richard Henderson  <rth@redhat.com>
10569
10570         * config/i386/i386.c (asm_output_function_prefix): Remove.
10571         (ix86_asm_file_end): New.
10572         (load_pic_register): Generate pic_label_name into a
10573         staticly allocated buffer.
10574         * config/i386/i386-protos.h: Update.
10575         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
10576         (ASM_FILE_END): New.
10577         * config/i386/i386afe.h: New file.
10578         * config.gcc (i?86-*-elf) [tm_file]: Use it.
10579         (i?86-*-{freebsd,linux*,moss*}): Likewise.
10580         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
10581         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
10582         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
10583         * config/i386/sco5.h (ASM_FILE_END): Likewise.
10584         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
10585
10586 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
10587
10588         * Makefile.in (install-man): Remove explicit dependency on
10589         $(srcdir)/gcc.1.
10590
10591         * configure.in, configure: Revert previous patch requiring perl
10592         5.6.0.
10593
10594 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
10595
10596         * toplev.c (flag_guess_branch_prob): New.
10597         (f_options): Add guess-branch-probability option.
10598         (rest_of_decl_compilation): Only estimate branch probability if
10599         flag set.
10600         (main): set flag_guess_branch_prob.
10601
10602         * flags.h (flag_guess_branch_prob): New.
10603
10604 2001-01-15  DJ Delorie  <dj@redhat.com>
10605
10606         * gcc.texi (Makefile): Add documentation for Makefile targets.
10607
10608 2001-01-15  Philip Blundell  <philb@gnu.org>
10609
10610         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
10611         (is_pic): Delete.
10612         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
10613         (is_pic): Delete declaration.
10614         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
10615         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
10616         * config/arm/arm.md (builtin_setjmp_receiver): New.
10617
10618 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10619
10620         * arm.c (use_return_insn): Don't try to determine the function type
10621         until after reload has completed.
10622         (arm_output_epilogue): Don't adjust the sp value recovered from the
10623         stack.
10624         (emit_multi_reg_push): Don't record dwarf information for the pc.
10625         * arm.md (eh_epilogue): The function type may have changed, so it
10626         needs to be recalculated.
10627         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
10628         unwind tables on arm/netbsd.
10629
10630 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10631
10632         * arm.md (cbranchsi4): Correct calculation of branch ranges.
10633         (negated_cbranchsi4): Likewise.
10634
10635 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10636
10637         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
10638         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
10639         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
10640         pass -mapcs-* options to assembler.
10641         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
10642         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
10643         (ASM_SPEC): Call subtarget_extra_asm_spec.
10644
10645 2001-01-15  Andreas Jaeger  <aj@suse.de>
10646
10647         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
10648         warnings.
10649         (ix86_expand_builtin): Likewise.
10650
10651         * gencodes.c (output_predicate_decls): Make i size_t to avoid
10652         warning about comparison between signed and unsigned.
10653
10654 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
10655
10656         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
10657
10658 2001-01-14  Ralf Baechle <ralf@gnu.org>
10659
10660         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
10661         SUBTARGET_CPP_SPEC apropriatly.
10662
10663 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
10664
10665         * varasm.c (make_decl_rtl): Fix typo in last change.
10666
10667 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
10668
10669         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
10670         linker supports the init_priority C++ attribute.
10671         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
10672         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
10673         linker does not support init_priority C++ attribute.
10674
10675 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
10676
10677         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
10678
10679 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10680
10681         * c-parse.in (finish_parse): Add comment about cpp_destroy.
10682         * cp/lex.c (finish_parse): Similarly.
10683         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
10684         Return the number of errors encountered.
10685         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
10686         * cppmain.c (main): Don't call cpp_destroy.
10687
10688 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
10689
10690         * configure.in: Require at least perl 5.6.0 to regenerate
10691         manpages.
10692         * configure: Regenerate.
10693
10694 2001-01-14  Richard Henderson  <rth@redhat.com>
10695
10696         * genrecog.c (DT_veclen_ge): New.
10697         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
10698         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
10699         (nodes_identical_1): Handle DT_veclen_ge.
10700         (write_cond, debug_decision_2): Likewise.
10701
10702 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
10703
10704         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
10705         with ...
10706         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
10707
10708 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10709
10710         * cppmain.c (do_preprocessing): New function; most of the old
10711         main.
10712         (main): Call it to do most of the work.
10713         (cb): Move from global scope to set_callbacks ().
10714         (setup_callbacks): Get the callback pointer.
10715         (general_init, printer_init): Clean up code and comments.
10716
10717 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
10718
10719         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
10720         compiling PIC.
10721
10722 2001-01-14  Kazu Hirata  <kazu@hxi.com>
10723
10724         * config/h8300/h8300.c (get_shift_alg): Update comments.
10725
10726 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10727
10728         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
10729         (alloc_page, ggc_alloc): Add casts to remove warnings.
10730
10731 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
10732
10733         * combine.c (simplify_comparison): Don't change `code' when
10734         can't reverse comparison.
10735
10736 2001-01-14  Richard Henderson  <rth@redhat.com>
10737
10738         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
10739         update all call sites.  Return true for all non-label constants.
10740
10741 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
10742
10743         * i386.c (ix86_expand_compare): Add bypass_test and second_test
10744         parameters.
10745         (ix86_expand_branch): Update.
10746         (ix86_expand_setcc): Update to handle multiple test conditions.
10747         (expand_int_movcc): Likewise.
10748         (expand_fp_movcc): Likewise.
10749         * i386-protos.h (ix86_expand_compare): New.
10750         * i386.md (andqi_?_slp, orqi_?_slp): New.
10751         (conditional trap expander): Update call to ix86_expand_compare.
10752
10753 2001-01-14  Richard Henderson  <rth@redhat.com>
10754
10755         * config/vax/vax.md: Use nonimmediate_operand instead of
10756         general_operand in destinations.
10757
10758         * config/vax/vax.md (indirect_jump): Use register_operand.
10759
10760         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
10761         * config/vax/vax.md (call_pop): Turn into an expander.
10762         (call_value_pop): Likewise.
10763         (call, call_value): New.
10764
10765 2001-01-14  Andreas Jaeger  <aj@suse.de>
10766
10767         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
10768         variables.
10769         (ix86_fp_compare_mode): Add unused attribute.
10770         (ix86_expand_fp_movcc): Remove unused variable.
10771         (ix86_expand_builtin): Make fcode unsigned.
10772
10773         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
10774         (expand_expr): Add cast to avoid signed warning.
10775         (store_field): Likewise.
10776         (store_constructor_field): Likewise.
10777         (store_constructor): Likewise.
10778         (store_expr): Likewise.
10779         (clear_storage): Likewise.
10780         (emit_group_store): Likewise.
10781         (emit_group_load): Likewise.
10782
10783 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10784
10785         * c-common.c: Move format checking code to ...
10786         * c-format.c: ... here.  New file.  Reorder some functions and
10787         declarations.
10788         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
10789         New functions.
10790         * c-common.h (decl_handle_format_attribute,
10791         decl_handle_format_arg_attribute): Declare.
10792         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
10793         (c-common.o): Adjust dependencies.
10794         (c-format.o): New list of dependencies.
10795
10796 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
10797
10798         * unroll.c (loop_iterations): If we cannot prove iteration variable
10799         is set once in each iteration, punt.
10800
10801 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
10802
10803         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
10804         (*strlenhi): Remove clobber (which was buggy) of output address.
10805
10806 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10807
10808         * Makefile.in (generated-manpages): Add gcc.1
10809         ($(srcdir)/gcc.1): New target.
10810         (maintainer-clean): Delete $(srcdir)/gcc.1.
10811         * gcc.texi: Add macros @gccoptlist and @gol.
10812         * invoke.texi: Include option summary in manpage.  Mark up option
10813         summary with @gccoptlist and @gol.  Use @r in one place where
10814         appropriate.
10815         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
10816         * gcc.1: Generate from invoke.texi.
10817
10818 2001-01-13  Richard Henderson  <rth@redhat.com>
10819
10820         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
10821         (struct page_entry): Add group member.
10822         (struct page_group): New.
10823         (struct globals): Add page_groups member.
10824         (alloc_anon): Only define for using mmap; remove valloc call.
10825         (page_group_index): New.
10826         (set_page_group_in_use): New.
10827         (clear_page_group_in_use): New.
10828         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
10829         (free_page, release_pages): Likewise.
10830         * configure.in (with-gc): Default to ggc-page always.
10831
10832 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
10833
10834         * reload1.c (replace_pseudos_in_call_usage): Use
10835         reg_equiv_constant and reg_equiv_address, and don't try
10836         regno_reg_rtx first.
10837
10838 2001-01-13  Richard Henderson  <rth@redhat.com>
10839
10840         * ggc-page.c (alloc_page): Round up allocation size to one page.
10841         Set e->order on extra pages.
10842
10843 2001-01-13  Richard Henderson  <rth@redhat.com>
10844
10845         * genrecog.c (nodes_identical): Expand commentary.
10846         (write_switch): Watch out for identical nodes.
10847
10848 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10849
10850         * cppfiles.c (_cpp_fake_include): New function.
10851         * cpphash.h (_cpp_fake_include): New.
10852         * cpplib.c (do_line): Call _cpp_fake_include when entering
10853         header files in preprocessed input.
10854         * cppmain.c (cb_pragma_implementation): Remove handling.
10855         (setup_callbacks): Don't register pragmas.
10856
10857 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10858
10859         * extend.texi: Udate for CPP.
10860
10861 2001-01-13  Andreas Jaeger  <aj@suse.de>
10862
10863         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
10864
10865         * regmove.c: Add prototype for replace_in_call_usage.
10866
10867 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10868
10869         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
10870         struct cpp_chunk, struct htab, struct toklist,
10871         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
10872         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
10873         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
10874         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
10875         (struct macro_args): Delete.
10876         * cpphash.h: See above.
10877
10878 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10879
10880         * cppmain.c (struct printer): Remove no_line_dirs.
10881         (options, cb): New.
10882         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
10883         : Use options rather than CPP_OPTION.
10884         (setup_callbacks): Use cb rather than pfile->cb.
10885         (main): No need to check for a buffer.  Use cpp_errors.
10886         (printer_init): Don't set no_line_dirs.
10887         (maybe_print_line): Use options not no_line_dirs.
10888         (cb_file_change): Don't call print_line if -P.
10889
10890 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10891
10892         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
10893         callbacks.
10894         * c-parse.in (finish_parse): Use cpp_errors.
10895         (__yylex): Use return value of cpp_pop_buffer.
10896         * cp/lex.c (finish_parse): Use cpp_errors.
10897         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
10898
10899 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
10900
10901         * README.AVR: URLs corrected.
10902
10903 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10904
10905         * c-decl.c (start_function): Don't warn if old prototype is builtin
10906         that's not in C's namespace.
10907         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
10908         (_bb): Add prototype for ctime.
10909         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
10910
10911 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
10912
10913         * i386.c (ix86_fp_comparison_arithmetics_cost,
10914         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
10915         ix86_fp_comparison_cost): New functions.
10916         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
10917         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
10918         two-branch sequences; make static.
10919         (ix86_use_fcomi_compare): Do decision according to the costs.
10920         (split_fp_branch): New.
10921         * i386.md (compare-and-branch patterns): Use split_fp_branch.
10922         * i386-protos.h (ix86_expand_fp_compare): Remove
10923         (ix86_split_fp_branch): Declare.
10924
10925         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
10926         and ix86_comparison_operator.
10927
10928         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
10929         to make it cheaper.
10930
10931         * i386.c (put_condition_code): Output properly the unordered/ordered
10932         compares in fp case.
10933         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
10934
10935         * tm.texi (REVERSE_CONDITION): Document.
10936         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
10937         in -ffast-math mode.
10938         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
10939
10940 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
10941
10942         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
10943
10944         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
10945         optimized away.
10946
10947         * config/sh/sh.c (mova_p): Fix test for mova_const.
10948
10949 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10950
10951         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
10952         cpp_get_options rather than dereferencing pfile and using
10953         CPP_OPTION.
10954         * scan-decls.c (scan_decls): Use return value of
10955         cpp_pop_buffer rather than CPP_BUFFER.
10956
10957 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10958
10959         * cppinit.c (cpp_handle_option): help_only is now part of the
10960         cpp_options structure.
10961         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
10962         cpp_set_callbacks): New functions.
10963         * cpplib.h (cpp_callbacks): Break out as a named structure.
10964         (cpp_options): Move help_only here from cpp_reader.
10965         (CPP_FATAL_ERRORS): Update to use cpp_errors.
10966         (cpp_errors, cpp_get_options, cpp_get_callbacks,
10967         cpp_set_callbacks): New prototypes.
10968         * cppmain.c (main): Update for help_only.
10969
10970 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10971
10972         * Makefile.in (info, maintainer-clean, install-info, uninstall):
10973         Also build and remove and install and uninstall c-tree.info and
10974         cppinternals.info.
10975         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
10976         ($(srcdir)/cppinternals.info): New target.
10977         * c-tree.texi: Change file name used when makeinfo used without -o
10978         from ir.info to c-tree.info.  Add info directory entry.
10979         * cppinternals.texi: Add info directory entry.
10980         * .cvsignore: Update.
10981
10982 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
10983
10984         * c-typeck.c (store_init_value): Don't require constant initializer
10985         elements with -pedantic -std=c99.
10986         (digest_init): Change error about non-constant initializer elements
10987         into pedwarn.
10988         (constructor_range_end): Remove.
10989         (constructor_incremental, designator_depth,
10990         designator_errorneous): New variables.
10991         (struct constructor_stack): Remove range_end, add incremental.
10992         (struct constructor_range_stack, constructor_range_stack): New.
10993         (struct initializer_stack): Add constructor_range_stack.
10994         (finish_init): Set it.
10995         (start_init): Likewise.  require_constant_elements for non-static
10996         trees only if not flag_isoc99.
10997         (really_start_incremental_init): Remove constructor_range_end, add
10998         constructor_incremental.
10999         (pop_init_level): Likewise.
11000         (push_init_level): Likewise.  If implicit and the subobject had some
11001         value set already, preinitialize the level with it.
11002         Warn about missing braces only if not pushing due to designators.
11003         (set_designator, push_range_stack): New functions.
11004         (set_init_label): Use them.
11005         (set_init_index): Likewise.  Remove constructor_range_end.
11006         Error if designator index is outside of array bounds.
11007         (add_pending_init): Compare values of purpose index trees, not the
11008         trees themselves.  Allow overwriting of already initialized element.
11009         Issue a warning if it had side-effects.
11010         (set_nonincremental_init, set_nonincremental_init_from_string): New
11011         functions.
11012         (pending_init_member): Rename to...
11013         (find_init_member): ...this function.  Call set_nonincremental_init
11014         if necessary.  Compare values of purpose index trees, not the trees
11015         themselves.  Return the actual value, not just non-zero if something
11016         is found.
11017         (output_init_element): Remove checks for duplicates.
11018         If field has zero size, only check the initializer for correctness.
11019         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
11020         if constructor_incremental is zero.  Change error about initializers
11021         not computable at load time into pedwarn.
11022         (output_pending_init_elements): Compare bit positions, not
11023         FIELD_DECLs to take into account zero-sized fields.
11024         (process_init_element): Use constructor_range_stack to fill all
11025         ranges in the designator lists from current level up.
11026         * extend.texi: Update documentation for labeled elements.
11027
11028 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
11029
11030         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
11031         to function usage for arguments passed by reference.  Optimize
11032         callee-copied arguments.
11033         * regmove.c (replace_in_call_usage): New function.
11034         (fixup_match_1): Call it.
11035         * cse.c (cse_insn): Canonicalize registers in function usage.
11036         * reload1.c (replace_pseudos_in_call_usage): New function.
11037         (reload): Call it.
11038
11039         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
11040         right version.
11041
11042 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11043
11044         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
11045         not XEXP (tmp, 0).
11046
11047 2001-01-12  DJ Delorie  <dj@redhat.com>
11048
11049         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
11050         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
11051         targets.
11052
11053 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11054
11055         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
11056         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
11057         -std options alongside references to -ansi.  Update some
11058         documentation for C99.
11059         * cpp.1: Regenerate.
11060
11061 2001-01-12  Andreas Jaeger  <aj@suse.de>
11062
11063         * haifa-sched.c (restore_line_notes): Remove argument block B
11064         since it's unused.
11065         * sched-ebb.c (schedule_ebb): Change caller.
11066         * sched-rgn.c (schedule_region): Likewise.
11067         * sched-int.h (restore_line_notes): Adjust prototype.
11068
11069         * loop.h: Remove wrong declaration of doloop_condition_get.
11070
11071 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11072
11073         * extend.texi:  Move C++-extension-related node from the C section
11074         into the C++ section.
11075
11076 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11077
11078         * extend.texi: Refer to an array of pointers to functions instead
11079         of one of functions.
11080
11081 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
11082                               Jan Hubicka  <jh@suse.cz>
11083
11084         * combine.c (reversed_comparison): Fix typo in last patch.
11085         Check X for NULL.
11086         (combine_reversed_comparison_code): Make static to follow
11087         prototype declaration.
11088
11089 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11090
11091         * install.texi:  Remove misplaced duplicate entry.
11092
11093 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
11094
11095         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
11096
11097 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
11098
11099         * final.c: (leaf_function_p): Fix typo.
11100
11101 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
11102
11103         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
11104         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
11105         which you have.
11106         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
11107         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
11108         mmap_anon, and valloc is available.
11109         * ggc-page.c: Restructure ifdef logic to match new autoconf
11110         spec.  Don't throw away the test page in init_ggc.
11111
11112         * configure, config.in: Regenerate.
11113
11114 2001-01-12  Michael Hayes  <mhayes@redhat.com>
11115
11116         * loop.h (total_biv_increment): Constify iv_class pointer.
11117         (struct induction): Replace `mem_mode' with `mem' rtx.
11118         * unroll.c (total_biv_increment): Constify iv_class pointer.
11119         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
11120         (find_mem_givs, combine_givs_p): Likewise.
11121         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
11122
11123 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
11124
11125         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
11126         LastError.
11127         (__gthread_getspecific): Ditto.
11128
11129 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
11130
11131         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
11132         put_condition_code): Convert fp comparison codes to integer
11133         before handling.
11134         (ix86_expand_fp_compare): Postnote the fp comparison code converison
11135         to final.
11136
11137         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
11138         * i386-protos.h (no_comparison_operator): Kill.
11139
11140         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
11141
11142         * combine.c (REVERSIBLE_CC_MODE): Remove.
11143         (reversible_comparison_p): Remove.
11144         (combine_reversed_comparison_code): New.
11145         (reversed_comparison): New.
11146         (combine_simplify_rtx): Use
11147         combine_reversed_comparison_code/reversed_comparison instead
11148         of reversible_comparison_p.
11149         (simplify_if_then_else): Likewise.
11150         (simplify_set): Likewise.
11151         (simplify_logical): Likewise.
11152         (if_then_else_cond): Likewise.
11153         (known_cond): Likewise.
11154         (simplify_comparison): Likewise.
11155
11156 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
11157
11158         * builtins.c (std_expand_builtin_va_start): Handle varargs when
11159         sizeof (int) is larger than sizeof(__word__).
11160
11161 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11162
11163         * cppinit.c (do_includes): Fix typo.
11164
11165 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11166
11167         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
11168         in S_REGS does not occur because not all sources are possible
11169         when a S_REGS is a destination (sometimes needs a clobber).
11170         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
11171         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
11172         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
11173         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
11174         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
11175         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
11176         (lshrdi_const1, lshrsi3_const16): Likewise.
11177         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
11178         (*movhi_68hc12, *movqi_68hc12): Likewise.
11179         (movstrictqi): Make sure reloading in D_REGS as a destination
11180         does not happen.
11181
11182 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11183
11184         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
11185
11186 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11187
11188         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
11189         -D, -U and -A, and don't initialize the builtins.
11190         (do_includes): Error if -include or -imacros with -fpreprocessed.
11191         * cppmain.c (cb_define, cb_undef): Unconditionally process
11192         the callback.
11193         * tradcpp.c (main): Fix typo.
11194
11195 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
11196
11197         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
11198         (read_name_map): Use IS_ABSOLUTE_PATH.
11199         * tradcpp.c (get_filename): Likewise.
11200
11201 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11202
11203         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
11204         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
11205         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
11206         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
11207         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
11208         (cmphi_z_used): Don't use '@' for the output.
11209         (tstqi_z_used): Likewise.
11210         (cmpqi_z_used): Likewise.
11211         (one_cmplsi2): Likewise.
11212
11213 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11214
11215         * config/sh/sh.c (barrier_align): Recognize branch around far
11216         branch and redundant insn.
11217
11218 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11219
11220         * invoke.texi: Restore documentation of the drivers' switches -MD
11221         and -MMD.
11222
11223 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11224
11225         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
11226
11227         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
11228         check-objc//%): Support parallel testing of multilibs.
11229         (TESTSUITEDIR): Set to testsuite by default, but override for
11230         parallel testing.
11231         (check-gcc, check-g++, check-g77, check-objc): Enter
11232         $(TESTSUITEDIR).
11233
11234 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
11235
11236         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
11237         * sched-deps.c (deps_may_trap_p): Likewise.
11238         * basic-block.h: Remove a comment.
11239         * flow.c (PROP_POSTRELOAD): Remove.
11240         (update_life_info): Don't add it to prop_flags.
11241         (mark_set_1): Lose the code that was enabled by it.
11242
11243 2001-01-11  Michael Hayes  <mhayes@redhat.com>
11244
11245         * flow.c (flow_call_edges_add): New.
11246         * basic_block.h (flow_call_edges_add): New.
11247
11248 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
11249
11250         * reload1.c (move2add_note_store): Update reg_set_luid even if
11251         base reg remains the same.
11252
11253 2001-01-10  Nick Clifton  <nickc@redhat.com>
11254
11255         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
11256         machine_function structure to zero.
11257         Add prototypes for machine_status functions.
11258
11259 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11260
11261         * c-common.h (CTI_VOID_LIST): Remove.
11262         (void_list_node): Likewise.
11263         * tree.h (TI_VOID_LIST_NODE): New enumeral.
11264         (void_list_node): New macro.
11265         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
11266         * config/i386/i386.c (ix86_init_builtins): Likewise.
11267         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
11268
11269 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11270
11271         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
11272         * cppinit.c (cpp_start_read): Update comment, remove unneeded
11273         if statement.
11274         * tradcpp.c: Include mkdeps.h.
11275         (deps, print_deps_phony_targets, deps_append, output_deps,
11276         init_dependency_output, output_deps): New.
11277         (deps_buffer, deps_allocated_size, deps_size, deps_column,
11278         deps_output): Delete.
11279         (print_deps_missing_files): Rename deps_missing_files.
11280         (inhibit_output): Make global.
11281         (main): Delete inhibit_output, deps_stream, deps_target.
11282         Use mkdeps functionality in the same way as cpplib.  Remove
11283         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
11284         -M and -MM.  Remove old handling of deps via deps_out, and
11285         old reading of environment variables.
11286         (get_filename): Update to use deps_add_dep.
11287
11288 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11289
11290         * output.h (make_function_rtl): Remove prototype.
11291         (make_decl_rtl): Likewise.
11292         * varasm.c (make_function_rtl): Remove.
11293         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
11294         than from a third parameter.
11295         * tree.h (make_decl_rtl): Remove last parameter.
11296         * c-decl.c (builtin_function): Remove last argument in call to
11297         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
11298         (start_function): Likewise.
11299         * except.c (call_get_eh_context): Likewise.
11300         * expr.c (emit_block_move): Likewise.
11301         (clear_storage): Likewise.
11302         * profile.c (output_func_start_profiler): Likewise.
11303         * toplev.c (rest_of_decl_compilation): Likewise.
11304         * objc/objc-act.c (create_builtin_decl): Likewise.
11305         (synth_module_prologue): Likewise.
11306         (generate_static_reference): Likewise.
11307         (build_selector_reference_decl): Likewise.
11308         (build_class_reference_decl): Likewise.
11309         (build_objc_string_decl): Likewise.
11310         (build_protocol_reference): Likewise.
11311
11312 2001-01-10  Richard Henderson  <rth@redhat.com>
11313
11314         * hwint.h: Revert yesterday's change.
11315
11316 2001-01-10  Nick Clifton  <nickc@redhat.com>
11317
11318         * function.h (save_machine_status): Delete.
11319         (restore_machine_status): Delete.
11320         Amend comment describing {init|mark|free}_machine_status.
11321
11322         * function.c (save_machine_status): Delete.
11323         (restore_machine_status): Delete.
11324         Amend comment describing {init|mark|free}_machine_status.
11325         (push_function_context_to): Remove invocation of
11326         save_machine_status.
11327         (pop_function_context_from): Remove invocation of
11328         restore_machine_status.
11329
11330         * emit-rtl.c (init_emit_once): Amend comment describing
11331         {init|mark|free}_machine_status.
11332
11333         * tm.texi (Per-Function Data): New node.  Describe the
11334         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
11335         function pointers.
11336
11337 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11338
11339         * cppinit.c (OPT_g): Remove.
11340         (cpp_handle_option): Update for removed -g3.
11341         (print_help): Update.
11342         * cpplib.h (struct cpp_options): Remove debug_output.
11343         * cppmain.c (setup_callbacks, cb_define): Update.
11344         * gcc.c (cpp_options): Translate -g3 to -dD.
11345
11346 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
11347
11348         * config/i960/i960.md: Change modifier to + on the zero_extract
11349         pattern after the (rotate -2 reg) canonicalization pattern.
11350
11351 2001-01-10  Richard Henderson  <rth@redhat.com>
11352
11353         * config/alpha/alpha.c (alpha_free_machine_status): New.
11354         (override_options): Install it.
11355         (alpha_mark_machine_status): Verify machine non-null.
11356         * config/i386/i386.c (ix86_free_machine_status): New.
11357         (override_options): Install it.
11358         (ix86_init_machine_status): Use xcalloc.
11359         (ix86_mark_machine_status): Verify machine non-null.
11360         * config/ia64/ia64.c (ia64_free_machine_status): New.
11361         (ia64_override_options): Install it.
11362         (ia64_mark_machine_status): Verify machine non-null.
11363
11364 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
11365
11366         * function.c (instantiate_virtual_regs): Instantiate virtual
11367         registers found in CALL_INSN_FUNCTION_USAGE.
11368
11369 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11370
11371         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
11372         equivalent to -ansi in disabling -Di386.
11373
11374 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
11375
11376         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
11377         new functions.
11378         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
11379
11380 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
11381
11382         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
11383
11384 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11385
11386         * invoke.texi: Document that -fcond-mismatch isn't supported for
11387         C++.
11388
11389 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11390
11391         * gcc.texi: Define macro gcctabopt.
11392         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
11393         @command, @env and @option in some places where appropriate.  Use
11394         @gcctabopt where appropriate.  Put URLs and email addresses inside
11395         @w.
11396
11397 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
11398
11399         * gcc.c (cpp_options): Set MD file name from output
11400         filename, if specified.
11401         (suffix_subst): New static variable.
11402         (do_spec): Clear it.
11403         (do_spec_1, case '.'): Handle new `%.suffix' spec.
11404         Clear it.
11405         (give_switch): Handle suffix_subst.
11406
11407 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11408
11409         * invoke.texi:  Fix another typo.
11410
11411 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11412
11413         * invoke.texi:  Fix typo.
11414
11415 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11416
11417         * c-lang.c (lang_hooks): Update.
11418         (lang_decode_option): Remove.
11419         (lang_init_options): Rename c_init_options.
11420         * toplev.c (main): Use lang_hooks for lang_init_options
11421         and lang_decode_option.
11422         * toplev.h (lang_hooks): Add 2 new hooks.
11423         * tree.h: Remove lang_init_options and lang_decode_option.
11424         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
11425         * cp/decl2.c: Similarly.
11426         * cp/lex.c (lang_init_options): Rename cxx_init_options.
11427         (lang_hooks): Update.
11428         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
11429         for consistency.
11430         (lang_init_options): Rename ffe_init_options.
11431         (lang_hooks): Update.
11432         (lang_decode_option): Remove.
11433         * java/lang.c (lang_init_options): Rename java_init_options.
11434         (lang_decode_option): Rename java_decode_option.
11435         (lang_hooks): Update.
11436         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
11437         (lang_decode_option): Rename objc_decode_option.
11438         (lang_hooks): Update.
11439
11440 2001-01-09  Nick Clifton  <nickc@redhat.com>
11441
11442         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
11443         (d30v_return_addr_rtx): Delete.
11444         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
11445         cfun->machine structure.
11446         (struct machine_function): Move to d30v.h
11447         (d30v_save_machine_status): Delete.
11448         (d30v_restore_machine_status): Delete.
11449         (d30v_init_machine_status): New Function.
11450         (d30v_mark_machine_status): New Function.
11451         (d30v_free_machine_status): New Function.
11452         (d30v_init_expanders): Use new functions.
11453         (d30v_return_addr): Use ra_rtx field in cfun->machine.
11454         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
11455         d30v_return_addr_rtx.
11456
11457         * config/d30v/d30v.h (struct_machine): Move here.
11458         Add eh_epilogue_sp_ofs field.
11459
11460         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
11461         field in cfun->machine structure.
11462
11463 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11464
11465         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
11466         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
11467         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11468
11469 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
11470
11471         * objc/lang-options.h: Remove bogus reference to
11472         Java trademark.
11473
11474 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11475
11476         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
11477         return the result.
11478
11479 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
11480
11481         * reload.c (find_reloads_address): Check for eliminable registers
11482         when substituting a constant expression for a pseudo.
11483
11484 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
11485
11486         * c-common.c (enum format_type): Add format_type_error.
11487         (decode_format_type): New function.
11488         (decl_attributes): Use it.
11489         (format_kind_info): Adjust comment.
11490
11491 2001-01-09  David O'Brien  <obrien@BSDi.com>
11492
11493         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
11494         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
11495         files in tm_file.
11496         * config/i386/gnu.h: Don't include required platform specific .h files,
11497         tm.h will do it instead.
11498         * config/i386/i386elf.h: Likewise.
11499         * config/i386/linux.h: Likewise.
11500         * config/i386/moss.h: Likewise.
11501         * config/mips/gnu.h: Likewise.
11502
11503 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11504
11505         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
11506         (rs6000-ibm-aix3.[01]*): Likewise.
11507         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
11508         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
11509         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
11510         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
11511         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
11512         (powerpc-*-eabiaix*): Likewise.
11513         (powerpc-*-eabisim*): Likewise.
11514         (powerpc-*-elf*): Likewise.
11515         (powerpc-*-eabi*): Likewise.
11516         (powerpc-*-rtems*): Likewise.
11517         (powerpc-*-linux*libc1): Likewise.
11518         (powerpc-*-linux*): Likewise.
11519         (powerpc-wrs-vxworks*): Likewise.
11520         (powerpcle-wrs-vxworks*): Likewise.
11521         (powerpcle-*-sysv*): Likewise.
11522         (powerpcle-*-elf*): Likewise.
11523         (powerpcle-*-eabisim*): Likewise.
11524         (powerpcle-*-eabi*): Likewise.
11525         (powerpcle-*-solaris2*): Likewise.
11526         * config/rs6000/aix31.h: Delete includes.
11527         * config/rs6000/aix3newas.h: Likewise.
11528         * config/rs6000/aix41.h: Likewise.
11529         * config/rs6000/aix43.h: Likewise.
11530         * config/rs6000/beos.h: Likewise.
11531         * config/rs6000/rtems.h: Likewise.
11532         * config/rs6000/sysv4.h: Likewise.
11533
11534 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11535
11536         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
11537         Change an argument mode of machine_mode to shift_mode of
11538         shift_mode.  Remove an extra error check.
11539         (emit_a_shift): Adopt to the new calling prototype of
11540         get_shift_alg.
11541         (function_prologue): Fix code for a monitor
11542         function.  Support H8/S.
11543         (function_epilogue): Do not output pop for a monitor function.
11544
11545 2001-01-09  Nick Clifton  <nickc@redhat.com>
11546
11547         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
11548         (setup_incoming_varargs): Use sysv_varargs_p field of the
11549         cfun->machine structure.
11550         (struct machine_function): Move to rs6000.h
11551         (rs6000_save_machine_status): Delete.
11552         (rs6000_restore_machine_status): Delete.
11553         (rs6000_init_machine_status): New Function.
11554         (rs6000_free_machine_status): New Function.
11555         (rs6000_init_expanders): Use new functions.
11556
11557         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
11558         export.
11559         (struct machine_function): Move here.
11560
11561         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
11562         sysv_varargs_p field of the cfun->machine structure.
11563
11564         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
11565         Remove prototype.
11566         (rs6000_restore_machine_status): Remove prototype.
11567
11568 2001-01-09  Richard Henderson  <rth@redhat.com>
11569
11570         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
11571         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
11572         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
11573         (sched_analyze_2, sched_analyze_insn): Likewise.
11574         (sched_analyze, init_deps): Likewise.
11575         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
11576         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
11577         (compute_block_backward_dependences): Update propagate_deps call.
11578
11579 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
11580
11581         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
11582
11583 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11584
11585         * cppinit.c (OPT_MD, OPT_MMD): Restore.
11586         (cpp_handle_option): Handle them.
11587         (cpp_post_options): Ensure one of -M or -MM is specified with
11588         any other -M? option.
11589         (init_dependency_output): Suppress output with -MG.
11590
11591 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11592
11593         * cpp.texi: Update.
11594         * invoke.texi: Update.
11595
11596 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
11597
11598         * sh.md (reload_outsf): Generate recognizable patterns for
11599         TARGET_SH3E.
11600
11601 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11602
11603         * c-lang.c (lang_hooks): Update.
11604         (lang_init): Rename c_init.
11605         (lang_finish): Remove.
11606         * toplev.c (compile_file): Use lang_hooks for lang_init ()
11607         and lang_finish ().
11608         * toplev.h (lang_hooks): Add init () and finish ().
11609         * tree.h (lang_init, lang_finish): Remove.
11610         * cp/tree.h (lang_init, lang_finish): Remove.
11611         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
11612         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
11613         lang_hooks): New.
11614         (lang_init, lang_finish): Remove.
11615         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
11616         (lang_hooks): Update.
11617         * java/lang.c (lang_init): Rename java_init.
11618         (lang_finish): Remove.
11619         (lang_hooks): Update.
11620         * objc/objc-act.c (lang_init): Rename objc_init.
11621         (lang_finish): Remove.
11622         (lang_hoooks): Update.
11623
11624 20001-01-09  Graham Stott  <grahams@redhat.com>
11625
11626         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
11627         after `ptr` is initialised.
11628
11629 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
11630
11631         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
11632         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
11633         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
11634         stack adjusts, instead of r3.
11635
11636 2001-01-09  Michael Hayes  <mhayes@redhat.com>
11637
11638         * flow.c (flow_loop_scan): Break out of ...
11639         (flow_loops_find) ... here.
11640         * basic-block.h (flow_loop_scan): New.
11641         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
11642         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
11643
11644 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
11645
11646         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
11647         macro_buffer_len.
11648         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
11649         realloc()ing macro_buffer.
11650
11651         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
11652         if it's wider than long and the target's long is wider than the
11653         host's.
11654
11655 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
11656
11657         Remove support for using UWIN as a host machine.
11658         * configure.in: Issue an error message.
11659         * configure: Regenerated.
11660         * config.gcc: Remove xm_* UWIN configury.
11661         * config/i386/xm-uwin.h: Remove.
11662
11663 2001-01-08  Nick Clifton  <nickc@redhat.com>
11664
11665         * config/v850/v850.c (ra_rtx): Delete.
11666         (v850_save_machine_status): Delete.
11667         (v850_restore_machine_status): Delete.
11668         (v850_init_machine_status): New function.
11669         (v850_mark_machine_status): New function.
11670         (v850_free_machine_status): New function.
11671         (v850_return_addr): Use ra_rtx field in machine structure.
11672         (v850_init_expanders): Use new functions.
11673
11674         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
11675         * config/v850/v850.c: Change arguments to v850_output+* functions
11676         to take a const char *, to avoid compile time warning.
11677         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
11678         (USER_LABEL_PREFIX): Redefine.
11679
11680 2000-01-08  Jim Wilson  <wilson@redhat.com>
11681
11682         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
11683         1 to unsigned HOST_WIDE_INT before left shift.
11684
11685 2001-01-08  Nick Clifton  <nickc@redhat.com>
11686
11687         * config/arm/arm.c (arm_mark_machine_status): Check to see if
11688         the machine structure has been allocated.
11689         (arm_free_machine_status): New function: Free the machine
11690         specific function structure.
11691
11692 2001-01-08  Richard Henderson  <rth@redhat.com>
11693
11694         * jump.c (simplejump_p): Revert last change.
11695
11696 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
11697
11698         * cppinit.c (init): Rename init_library.
11699         (cpp_create_reader): Update.
11700         * gcc.c (cpp_options): If -o given, use it as the target of
11701         any -M options.
11702
11703 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
11704
11705         * arm.c (arm_arch5e): New variable.
11706         (all_cores): XScale is a 5TE device.
11707         (arm_override_options): Set arm_arch5e.
11708         (arm_init_builtins): __builtin_prefetch is in arch5e.
11709         * arm.h (arm_arch5e): Declare it.
11710
11711         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
11712
11713         * arm.md (define_constants): Add defines for UNSPEC and
11714         UNSPEC_VOLATILE insns.  Update all users.
11715         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
11716         * arm.c (multi_register_push, note_invalid_constants)
11717         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
11718         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
11719         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
11720
11721 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
11722
11723         * jump.c (jump_optimize_1): Use reversed_comparison_code
11724         instead of can_reverse_comparison_p.
11725         (jump_back_p): Likewise.
11726         (invert_exp_1): Likewise.
11727         (thread_jumps): Likewise.
11728         * simplify-rtx.c (simplify_unary_operation): Likewise.
11729         (simplify_ternary_operation): Likewise.
11730         * cse.c (find_comparison_args): Convert to use
11731         can_reverse_comparison_p.
11732         (record_jump_equiv): Likewise.
11733
11734 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
11735
11736         * arm.h (HARD_REGNO_RENAME_OK): Delete.
11737         (EPILOGUE_USES): Define.
11738         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
11739         automatically stack the LR if it isn't live.
11740
11741 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
11742
11743         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
11744         properly.
11745
11746 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
11747
11748         * ggc-page.c (max_alignment): New structure.
11749         (MAX_ALIGNMENT): New macro.
11750         (init_ggc): Use it to round up the sizes in the
11751         extra_order_size_table.
11752
11753 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11754
11755         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
11756         after reload.
11757
11758 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11759
11760         * builtins.def (BUILT_IN_FPRINTF): New entry.
11761
11762         * c-common.c (c_expand_builtin_fprintf): New function.
11763         (init_function_format_info): Handle __builtin_fprintf.
11764         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
11765         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
11766
11767         * c-decl.c (duplicate_decls): Adjust comment.
11768
11769         * extend.texi (fprintf): Document new builtin.
11770
11771 2001-01-07  Richard Henderson  <rth@redhat.com>
11772
11773         * jump.c (simplejump_p): Recognize any single_set jump
11774         of the proper form.
11775
11776 2001-01-07  Richard Henderson  <rth@redhat.com>
11777
11778         * configure.in (slibdir): Accept an --with-slibdir option.
11779         Use "test" not "[" in configure.  Default to $(libdir).
11780
11781         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
11782         fix typo in rm -f.
11783         * config/t-aix43 (SHLIB_INSTALL): Likewise.
11784         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
11785         (SHLIB_LINK): Create links for the soname.
11786         * config/mips/t-iris6: Likewise.
11787         * config/sparc/t-slibgcc: Likewise.
11788         * config/sparc/t-slibgcc-sld: Likewise.
11789
11790 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
11791
11792         * config/i386/i386.c (constant_call_address_operand): Accept
11793         (const (plus (symbol_ref) (const_int))).
11794         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
11795         constant_call_address_operand.
11796
11797 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11798
11799         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
11800         and LONG_LONG_TYPE_SIZE > 32.
11801
11802 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11803
11804         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
11805         the previous change.
11806
11807 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
11808
11809         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
11810         New.
11811         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
11812         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
11813         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
11814         Declare.
11815
11816 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11817
11818         * fix-header.c (read_scan_file): s/pfile/scan_in/.
11819
11820 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11821
11822         * c-lang.c (c_post_options): Call cpp_post_options.
11823         * objc/objc-act.c (objc_post_options): Similarly.
11824         * cppmain.c (main): Similarly.
11825         * fix-header.c (read_scan_file): Similarly.
11826         * cppinit.c (cpp_start_read): Move option consistency checks
11827         to cpp_post_options.  Don't call init_dependency_output.
11828         If needed, add default target and main file dependency.
11829         (OPT_MD, OPT_MMD): Remove.
11830         (OPT_MF): New.
11831         (cpp_handle_option): Update for OPT_* changes.
11832         (cpp_post_options): New.
11833         (init_dependency_output): Command line -MF overrides environment
11834         variables.  Don't set default target etc.  Suppress output
11835         if dependencies are going to stdout.
11836         (print_help): Update.
11837         * cpplib.h (cpp_post_options): New.
11838         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
11839
11840 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
11841
11842         * jump.c (comparison_dominates_p): Support unordered compares.
11843
11844 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
11845
11846         * simplify-rtx.c (simplify_relational_operation): Always simplify
11847         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
11848         and UNGE.
11849
11850 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
11851
11852         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
11853         (nonzero_bits): Likewise.
11854         (simplify_comparison): Likewise.
11855         (num_sign_bit_copies): Likewise; return more sane value depending
11856         on STORE_FLAG_VALUE.
11857         (known_cond): Do not assume EQ to be always true for equivalent
11858         operands.
11859
11860 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
11861
11862         * cse.c (fold_rtx): Handle unordered comparisons.
11863
11864 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
11865
11866         * rtlanal.c (set_of_1): New static function.
11867         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
11868          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
11869          reg_set_last_last_regno): Remove.
11870         (set_of): New global function.
11871         (set_of_data): New structure.
11872         (reg_set_p, reg_set_last): Revamp for set_of.
11873         * rtl.h (set_of): New.
11874
11875 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
11876
11877         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
11878         * extend.texi: Document _Exit builtin.
11879
11880 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11881
11882         * (initialize, initialize_builtins,
11883         initialize_dependency_output, initialize_standard_includes):
11884         Rename s/initialize/init. Update.
11885         (init_dependency_output): Move to after
11886         cpp_handle_options, the correct location temporally at least.
11887         (opt_comp): Move next to init (), its caller.  Fix prototype.
11888         (init): Make "initialized" local scope.
11889         (cpp_create_reader): Always call init ().
11890         (cpp_start_read): Update.
11891         (output_deps): New function, broken out of cpp_finish.
11892         (cpp_finish): Break out output_deps.
11893
11894 2001-01-07  Richard Henderson  <rth@redhat.com>
11895
11896         * collect2.c (COFF specific stuff): Revert 12-06 patch
11897         to prototype system functions.
11898
11899 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11900
11901         * hard-reg-set.h: Add multiple include guard.
11902         * basic-block.h (struct loop): Add `sink' field.
11903         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
11904         (emit_iv_add_mult): Delete.
11905         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
11906         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
11907         (unroll_loop): Remove end_insert_before argument.
11908         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
11909         (maybe_eliminate_biv_1): Likewise.
11910         (emit_iv_add_mult): Delete.
11911         (gen_add_mult, loop_regs_update): New.
11912         (loop_insn_emit_after, loop_insn_emit_before): New.
11913         (loop_insn_sink, loop_insn_sink_or_swim): New.
11914         (emit_iv_add_mult): Delete.
11915         (scan_loop): Set loop->sink.
11916         (loop_givs_reduce): Use loop_insn_sink and its ilk.
11917         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
11918         (maybe_eliminate_biv_1): Likewise.
11919         (maybe_eliminate_biv_1): Add basic block argument.
11920         * unroll.c (unroll_loop): Remove end_insert_before argument.
11921         (find_splittable_regs): Likewise.
11922         (find_splittable_regs): Use loop_insn_sink and its ilk.
11923         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
11924
11925 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11926
11927         * loop.h (loop_insn_hoist): New prototype.
11928         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
11929         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
11930         (check_dbra_loop, load_mems): Likewise.
11931         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
11932         (find_splittable_givs): Likewise.
11933
11934 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11935
11936         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
11937
11938 2001-01-07  Richard Henderson  <rth@redhat.com>
11939
11940         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
11941
11942 2001-01-07  Richard Henderson  <rth@redhat.com>
11943
11944         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
11945         NO_SHARED_LIBGCC_MULTILIB as required for the target.
11946         * gcc.c (init_spec): Massage the existing libgcc_spec into a
11947         variant that handles a shared libgcc.
11948         (process_command): Always validate -{static,shared}-libgcc.
11949         (do_spec_1): New 'M' case.
11950         * invoke.text (Link Options): Document -{static,shared}-libgcc.
11951
11952 2001-01-07  Richard Henderson  <rth@redhat.com>
11953
11954         * Makefile.in (slibdir): New variable.
11955         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
11956         (installdirs): Create slibdir.
11957         (install-libgcc, install-multilib): Defer to libgcc.mk.
11958         * configure.in (slibdir): Substitute.
11959         * mklibgcc.in (install): New target.
11960
11961         * config/t-linux (SHLIB_LINK): Create links for the soname.
11962         (SHLIB_INSTALL): New.
11963         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
11964         * config/mips/t-iris6 (SHLIB_INSTALL): New.
11965         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
11966         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
11967         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
11968
11969 2001-01-07  Richard Henderson  <rth@redhat.com>
11970
11971         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
11972         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
11973         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
11974
11975 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11976
11977         * loop.c (count_loop_regs_set): Delete.
11978         (load_mems_and_recount_loop_regs_set): Delete.
11979         (loop_regs_scan): Merge common code from count_loop_regs_set,
11980         scan_loop, and load_mems_and_recount_loop_regs_set.
11981         (scan_loop): Call load_mems directly and loop_regs_scan
11982         again if new registers created.
11983
11984 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11985
11986         * toplev.c (main): Call the front-end specific post_options
11987         hook if one is given.
11988         * toplev.h (struct_lang_hooks, lang_hooks): New.
11989         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
11990         for the C front end.
11991         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
11992         lang_hooks for the C++ front end.
11993         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
11994         lang_hooks for the ObjC front end.
11995         * f/com.c (lang_hooks): Hooks for the Fortran front end.
11996         * java/lang.c (lang_hooks): Hooks for the Java front end.
11997
11998 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11999
12000         * c-lex.c (init_c_lex): Request #define / #undef callbacks
12001         for verbose DWARF[2] debugging.
12002         (cb_define, cb_undef): The new callbacks.
12003         * toplev.h (debug_define, debug_undef): Make const correct.
12004         * toplev.c (debug_define, debug_undef): Similarly.  Do not
12005         perform the verbosity tests here anymore.
12006
12007 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
12008
12009         * reload.c (subst_reloads): Take INSN argument.  When
12010         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
12011         * reload.h (subst_reloads): Adjust prototype.
12012         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
12013         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
12014         present in JUMP_INSNs and copy them to JUMP_LABEL.
12015         * flow.c (find_label_refs, find_basic_blocks_1): Skip
12016         JUMP_INSNs and insns with REG_LABELs that are followed by
12017         JUMP_INSNs with the same REG_LABEL.
12018         * sched-rgn.c (is_cfg_nonregular): Likewise.
12019         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
12020         note is available.
12021         * unroll.c (unroll_loop): Look for REG_LABEL notes in
12022         JUMP_INSNs too.
12023         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
12024
12025 2001-01-06  Richard Henderson  <rth@redhat.com>
12026
12027         * loop.c (scan_loop): Use xcalloc for the regs array.
12028         (load_mems_and_recount_loop_regs_set): Zero the new memory
12029         received from xrealloc.
12030
12031 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12032
12033         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
12034
12035 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
12036
12037         * integrate.c (copy_rtx_and_substitute): When copying
12038         an ignored return value, strip REG_FUNCTION_VALUE_P.
12039
12040 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12041
12042         * loop.c (debug_biv, debug_giv): New.
12043         (loop_biv_dump): Break out from ...
12044         (record_biv): ... here.
12045         (loop_giv_dump): Break out from ...
12046         (record_giv): ... here.
12047         (loop_bivs_check): Use print_simple_rtl.
12048         * unroll.c (loop_iterations): Use print_simple_rtl.
12049
12050 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12051
12052         * pa.md (return, return_internal): Modify patterns to prevent regrename
12053         mucking with the return pointer.
12054
12055 2001-01-05  Richard Henderson  <rth@redhat.com>
12056
12057         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
12058
12059 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
12060
12061         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
12062         version supplied by Matteo Frigo.
12063
12064 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12065
12066         * cpp.texi: Update for -MQ.
12067         * cppinit.c (cpp_create_reader): Always create pfile->deps.
12068         (cpp_cleanup): Always free pfile->deps.
12069         (initialize_dependency_output): Don't create pfile->deps.
12070         (cpp_handle_option): Similarly.
12071         (OPT_MQ): New.
12072         * gcc.c (cpp_options): Handle -MQ.
12073         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
12074         * mkdeps.c (base_name): Remove.
12075         (deps_init): Don't allocate vector space until it's needed.
12076         (deps_free): Only free vectors if allocated.
12077         (deps_add_target, deps_add_dep): Update for initial allocation.
12078         (deps_add_default_target): Don't strip to the base_name.
12079
12080 2001-01-05  DJ Delorie <dj@redhat.com>
12081
12082         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
12083         (INIT_EXPANDERS): Define.
12084
12085         * config/v850/v850.c (struct machine_function): Define.
12086         (v850_save_machine_status): New function.
12087         (v850_restore_machine_status): New function.
12088         (v850_return_addr): New function.
12089         (v850_init_expanders): New function.
12090
12091         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
12092         and v850_init_expanders.
12093
12094 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12095
12096         * cpplib.h (struct cpp_reader): Add help_only field.
12097         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
12098         (cpp_handle_option): Set pfile->help_only if we see -h,
12099         --help, -target-help, or --version.  Print version string but
12100         do not set help_only if we see -v or -version.  Make text
12101         printed by -v match that printed by (-)-version.
12102
12103         * cppmain.c (main): Exit after option parsing if
12104         pfile->help_only is true.
12105
12106         * toplev.c (independent_decode_option): Call print_version,
12107         then exit, if we see --version (but not -version).
12108         (print_version): Split lengthy message into two lines.
12109
12110 2001-01-05  Nick Clifton  <nickc@redhat.com>
12111
12112         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
12113         temporary string for initialisation before calling ggc_alloc_string.
12114
12115 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12116
12117         * rtl.h (print_simple_rtl): New.
12118         * print-rtl.c (print_simple_rtl): New.
12119         (flag_simple): New.
12120         (print_rtx): Disable printing of flags and modes, etc.,
12121         if `flag_simple` nonzero.
12122
12123 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12124
12125         * function.c (fixup_var_refs): Use push_to_full_sequence where
12126         possible.
12127
12128 2001-01-05  Michael Meissner  <meissner@redhat.com>
12129
12130         * flags.h (flag_reorder_blocks): Add declaration.
12131         (flag_rename_block): Ditto.
12132
12133 2001-01-05  DJ Delorie  <dj@redhat.com>
12134
12135         * function.c (reorder_blocks): Make sure the flags are all reset
12136         before using them to mark blocks, else a second invocation will
12137         corrupt the block chain.
12138         (reorder_blocks_0): New, resets the flags.
12139
12140 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
12141
12142         * cse.c (find_comparison_args): Stop if the argument is known to
12143         be constant.
12144
12145 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12146
12147         * config/sh/sh.md (movdf): When splitting load into pair of
12148         registers, don't clobber the register used in the address too
12149         early.
12150
12151 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
12152
12153         * varasm.c (mark_constant_pool): Improve initial comments.
12154         (mark_constants): Move marking of constants to mark_constant.
12155         (mark_constant): New function to recursively mark all constants
12156         referred to by a constant.
12157
12158 2001-01-05  Catherine Moore  <clm@redhat.com>
12159
12160         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
12161
12162 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
12163
12164         * cp/lang-options.h:  Bring comment in line with reality.
12165         * f/lang-options.h:  Likewise.
12166         * java/lang-options.h:  Likewise.
12167         * objc/lang-options.h:  Likewise.
12168         * ch/lang-options.h:  Likewise.
12169         * f/g77.texi:  And update the manual.
12170
12171 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
12172             Denis Chertykov  <denisc@overta.ru>
12173
12174         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
12175         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
12176         * config/avr/avr.md (all peepholes that request a scratch register):
12177         Call it, FAIL the peephole if not safe (in interrupt functions).
12178
12179 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
12180
12181         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
12182
12183 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
12184
12185         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
12186         Define.
12187         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
12188         BUILT_IN_CREAL and BUILT_IN_CIMAG.
12189         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
12190         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
12191         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
12192         BUILT_IN_CIMAG.
12193         * extend.texi: Document these builtins.
12194
12195 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
12196
12197         * c-common.c (lang_get_alias_set): Say we know nothing of
12198         VECTOR_TYPE aliasing.
12199
12200         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
12201
12202 2001-01-05  Bruce Korb  <bkorb@gnu.org>
12203
12204         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
12205         their x* equivalent versions for atexit-less systems
12206         * fixinc/fixincl.c(main): do not return from main() on atexit-less
12207         systems (or any other system any more).
12208
12209 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
12210
12211         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
12212         output operands.  Use arm_hard_register_operand for operand 4.
12213         (stmsi_postinc): Similarly.
12214         (ldmsi): Use arm_hard_register_operand for opernand 2.
12215         (stmsi): Similarly.
12216         * arm.c (arm_hard_register_operand): New function.
12217         * arm-protos.h (arm_hard_register_operand): Prototype it.
12218
12219         * arm.h (HARD_REGNO_RENAME_OK): Define.
12220
12221 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
12222
12223         * simplify-rtx.c (cfc_args): add "unordered" field.
12224         (check_fold_consts): Set unordered field.
12225         (simplify_relational_operation): Simplify the unordered
12226         comparisons.
12227
12228         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
12229         is valid.
12230
12231         * emit-rtl.c (try_split): Fix code to mark labels.
12232         * jump.c (mark_jump_label): Make global.
12233         * rtl.h (mark_jump_label): Declare.
12234
12235         * predict.c (estimate_probability): Handle unordred comparisons.
12236
12237 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12238
12239         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
12240         * cppinit.c (initialize_dependency_output):  Update.
12241         (cpp_finish): Output dummy targets for -MP.
12242         (OPT_MP): New.
12243         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
12244         * cpplib.h (struct cpp_options): Add deps_phony_targets.
12245         * gcc.c (cpp_options): Update to handle -MP.
12246         * mkdeps.c (deps_add_target, deps_add_default_target): Update
12247         to quote only the default target.
12248         (deps_phony_targets): Insert a preceding newline.  Rename from
12249         deps_dummy_targets for consistency.
12250         * mkdeps.h: Update
12251
12252 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12253
12254         * calls.c (emit_library_call_value_1): Support
12255         INIT_CUMULATIVE_LIBCALL_ARGS.
12256         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
12257
12258 2001-01-04  Richard Henderson  <rth@redhat.com>
12259
12260         * c-decl.c (finish_struct): Detect flexible array members
12261         used in an inappropriate context.
12262         * c-typeck.c (really_start_incremental_init): Special case
12263         constructor_max_index for zero length arrays.
12264         (pop_init_level): Allow initialization of flexible array
12265         members.  Deprecate initialization of zero length arrays.
12266         Don't issue missing initializer warning for flexible array
12267         members or zero length arrays.
12268         (process_init_element): Don't dereference null DECL_SIZE.
12269         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
12270         Don't abort for empty constructors.  Use size_binop
12271         (output_constructor): Add commentary regarding zero length
12272         array futures.  Abort if we try to initialize an array of
12273         unspecified length with a non-empty constructor in the middle
12274         of a structure.
12275
12276         * extend.texi (Zero Length): Update and clarify documentation
12277         on static initialization.
12278
12279 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12280
12281         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
12282         with more than 32767 words of local storage.
12283
12284 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12285
12286         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
12287         for 'abs', 'labs', and 'fabs'.
12288         (c4x_expand_builtin): Likewise.
12289         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
12290
12291 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12292
12293         * config/sh/sh.md (prget, prset): New insn types.
12294         (return delay slot): Dont' allow prset.
12295         (call, sfunc delay slot): Don't allow prget.
12296         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
12297         for prset and prget.
12298
12299 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12300
12301         * loop.h (struct loop_reg): New.
12302         (struct loop_regs): Change to use array of `struct loop_reg'.
12303         * loop.c: Replace assortment of varrays with single regs array.
12304         (count_one_set): Delete may_not_move array argument
12305         and use regs array instead.  All caller's changed.
12306         (count_loop_regs_set): Delete may_not_move and single_usage
12307         arguments and use regs array instead.  All caller's changed.
12308         (find_single_use_in_loop): Replace usage array argument with pointer
12309         to regs structure.  All caller's changed.
12310         (loop_optimize): Delete `moved_once' array.
12311
12312 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12313
12314         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
12315         Use it instead of loop_info->has_call for scanning loop mems.
12316         (check_dbra_loop): Replace loop_info->has_call test with
12317         loop_info->has_nonconst_call.
12318
12319 2000-01-04  Matthew Hiller  <hiller@redhat.com>
12320
12321         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
12322         for TARGET_SH3E.
12323
12324 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12325
12326         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
12327         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
12328
12329 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12330
12331         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
12332         (flag_short_double, flag_short_wchar): Define.
12333         (c_common_nodes_and_builtins): Create many tree nodes shared
12334         between C and C++ here instead of in cp/decl.c and ...
12335         * c-decl.c (init_decl_processing): ... here.
12336         (SIZE_TYPE, WCHAR_TYPE): Don't define.
12337         (flag_short_double, flag_short_wchar): Don't define.
12338         (record_builtin_type): New function.
12339         (build_void_list_node): New function.
12340         * c-common.h (flag_short_double, flag_short_wchar,
12341         record_builtin_type, build_void_list_node): Declare.
12342
12343 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
12344
12345         * integrate.c (expand_inline_function): Don't put a virtual
12346         register into the reg map.
12347
12348         * function.c (fixup_var_refs_1): If force_operand didn't put
12349         the address into the target, move it there.
12350
12351 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12352
12353         Special-case tree_decl/tree_list allocations.
12354         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
12355         (OBJECT_SIZE): New macro.
12356         (NUM_EXTRA_ORDER): Likewise.
12357         (extra_order_size_table): New variable.
12358         (NUM_ORDERS): New macro.
12359         (objects_per_page_table): New variable.
12360         (object_size_table): New variable.
12361         (G.pages): Use NUM_ORDERS to bound the array.
12362         (G.page_tails): Likewise.
12363         (DIV_ROUND_UP): Remove.
12364         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
12365         (alloc_page): Use OBJECT_SIZE.
12366         (size_lookup): Don't make it const.
12367         (ggc_alloc): Use OBJECT_SIZE.
12368         (ggc_set_mark): Likewise.
12369         (ggc_get_size): Likewise.
12370         (init_ggc): Set up the object_size_table, objects_per_page_table,
12371         and adjust size_lookup.
12372         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
12373         (ggc_pop_context): Use NUM_ORDERS.
12374         (clear_marks): Likewise.
12375         (sweep_pages): Likewise.
12376         (poison_pages): Likewise.
12377         (ggc_print_statistics): Use OBJECT_SIZE.
12378
12379 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12380
12381         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
12382         Only call array_size_for_constructor if last field and array type
12383         with no upper bound.
12384
12385 2001-01-04  Philip Blundell  <philb@gnu.org>
12386
12387         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
12388         from bit 31 downwards, if this requires no more insns.
12389         (count_insns_for_constant): New helper function for above.
12390
12391 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
12392
12393         * gencodes.c (output_predicate_decls): Remove empty initializer.
12394
12395 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12396
12397         * tree.c (copy_node): Remove documentation about obstacks.
12398         (buidl1): Check that nobody tries to build 2-argument nodes this
12399         way.
12400
12401 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12402
12403         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
12404         fp_high_losum_p.
12405
12406         * gencodes.c (output_predicate_decls): Fill empty initializer
12407         braces.
12408
12409 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
12410
12411         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
12412         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
12413         or -MM.
12414         (do_include): Handle missing headers like cpp0.
12415         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
12416         paths with first include pathname.  Don't strcat to uninitialized
12417         string.
12418
12419 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
12420
12421         * regrename.c (regrename_optimize): Don't rename from frame pointer
12422         if frame_pointer_needed.
12423         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
12424         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
12425         (ia64_reorg): Use it instead of scheduling if ! optimize.
12426         (errata_emit_nops): Properly call asm_noperands.
12427         (ia64_sched_reorder): Finish cycle if we see an asm.
12428         (ia64_variable_issue): Clear scheduling state after asms.
12429
12430 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12431
12432         * cpp.texi: Update for -MT.
12433         * cppinit.c (initialize_dependency_output): Add a default
12434         target if none has been given already.
12435         (no_tgt, OPT_MT): New.
12436         (cpp_handle_option): Handle -MT.  Update -M etc.
12437         * cpplib.h (struct cpp_options): Remove deps_target.
12438         * gcc.c (cpp_options): Handle -MT.
12439         * mkdeps.c (struct deps): Move from mkdeps.h.
12440         (deps_calc_target): Rename deps_add_default_target.  Add a
12441         default target if none has been specified already.
12442         * mkdeps.h (struct deps): Move to mkdeps.c.
12443         (deps_calc_target): Rename deps_add_default_target.
12444
12445 2000-01-03  Richard Henderson  <rth@redhat.com>
12446
12447         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
12448         Remove dead code.
12449         * c-typeck.c (push_init_level): Move checks for flexible array
12450         members and zero length arrays ...
12451         (pop_init_level): ... here.  Silently discard empty initializations.
12452         Remove dead code.
12453         * varasm.c (output_constructor): Update for sizeof change to
12454         zero-length arrays.
12455
12456         * extend.texi (Zero Length): Clarify semantics.
12457
12458 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12459
12460         * configure.in (tm.h): Include isns-codes.h last.
12461         * configure: Rebuilt.
12462
12463 2001-01-03  Richard Henderson  <rth@redhat.com>
12464
12465         * config/alpha/alpha.md (addvsi3, addvdi3): New.
12466         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
12467
12468 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12469
12470         * tradcpp.c (main): Make sure finclude() is called with a valid
12471         indepth value while handling -include.
12472
12473 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12474
12475         * gencodes.c (output_predicate_decls): New function.
12476         (main): Call it.
12477         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
12478         even if it is not the first time machmode.h is #included.
12479         * config/sh/sh.c (fpul_operand): Declare MODE argument.
12480         * tm.texi (PREDICATE_CODES): Document predicate declarations.
12481         * gcc.texi (Copyright): Added 2001.
12482
12483 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12484
12485         * c-common.c (c_common_lang_init): New function.  Warn if format
12486         warning options which only have effects when used with -Wformat
12487         are used without -Wformat.
12488         * c-common.h (c_common_lang_init): Declare.
12489         * c-lang.c (lang_init): Call c_common_lang_init.
12490         * objc/objc-act.c (lang_init): Call c_common_lang_init.
12491
12492 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12493
12494         * configure.in: Check for the mktemp command.
12495         * configure: Regenerate.
12496         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
12497         $TEMP.  Create temporary files with mktemp, if available at
12498         configure time; otherwise use set -C.  Remove temporary files
12499         before exit.
12500
12501 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12502
12503         * configure.in: Require at least texinfo 4.0.  Check for whether
12504         Pod::Man is sufficiently recent to regenerate GCC manpages.
12505         * configure:  Regenerate.
12506         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
12507         on #!.
12508         (GENERATED_MANPAGES): Define.
12509         (generated-manpages): New target.  Depend on cpp.1 as well as
12510         gcov.1.
12511         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
12512         configure to generated-manpages or empty) rather than on the
12513         manpages directly.  Remove execute permission from installed
12514         gcov.1 as well as cpp.1.
12515         * cpp.1, gcov.1: Regenerate.
12516
12517 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12518
12519         * builtins.c (expand_builtin_strncmp): Use host_integerp and
12520         tree_low_cst.  Allow using cmpstrsi in more cases.
12521
12522 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12523
12524         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
12525         sized types.
12526
12527 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
12528
12529         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
12530         * Makefile.in (HOST_CFLAGS): Mention build-make.
12531
12532 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12533
12534         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
12535         as JUMP_INSN.
12536
12537 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12538
12539         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
12540         a REG rtx.
12541
12542         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
12543         callers changed.
12544
12545         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
12546         reg_base_value and reg_known_value arrays.
12547         (init_alias_analysis): Add more cases to detect known values.
12548         * sched-deps.c (deps_may_trap_p): New function.
12549         (sched_analyze_2): Use it.
12550
12551 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12552
12553         * combine.c (simplify_shift_const): Even if we're sign-extracting,
12554         don't discard an ASHIFTRT if we're shifting in a wider mode.
12555
12556 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12557
12558         * toplev.c (rest_of_compilation): Don't print basic block information
12559         when CFG isn't up to date.
12560
12561 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
12562
12563         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
12564         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
12565         (UNALIGNED_SHORT_ASM_OP): Define.
12566         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
12567
12568 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12569
12570         * fold-const.c (fold_convert): Fix typo.
12571
12572 2001-01-02  Richard Henderson  <rth@redhat.com>
12573
12574         * c-common.h (ASM_INPUT_P): New.
12575         * c-parse.in (asm): Set it when needed.
12576         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
12577         existance of an operand.
12578
12579 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12580
12581         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
12582         (dwarf2out_frame_debug_expr): Likewise.
12583         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
12584
12585 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
12586
12587         * i386.c (ix86_split_to_parts): Return number of part required;
12588         handle TFmodes.
12589         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
12590         TFmodes.
12591         (ix86_split_long_move): Use number of part returned
12592         by ix86_split_to_parts
12593         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
12594         New macros.
12595         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
12596         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
12597         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
12598         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
12599         (ALIGN_MODE_128): Add TFmode.
12600         (IS_STACK_MODE): Likewise.
12601         (HARD_REGNO_NREGS): TFmode needs 3 registers.
12602         (HARD_REGNO_OK): Support TFmodes.
12603         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
12604         * i386.md (scheduler definitions): Use memory operand to determine
12605         fst/fld instructions; use mode attribute to determine real mode of
12606         the instruction.
12607         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
12608         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
12609
12610 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12611
12612         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
12613
12614 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12615
12616         * expr.c (store_constructor_field): Update ALIGN before calling
12617         store_constructor.
12618
12619 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12620
12621         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
12622         host_integerp.
12623
12624 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12625
12626         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
12627         incomplete type.
12628
12629 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12630
12631         * c-decl.c (start_function): Don't warn on third parameter to main.
12632
12633 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12634
12635         * tsystem.h: Define HAVE_DECL_GETOPT.
12636
12637 2001-01-02  Philip Blundell  <pb@futuretv.com>
12638
12639         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
12640         of input operand.
12641
12642 2001-01-02  Richard Henderson  <rth@redhat.com>
12643
12644         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
12645
12646 2001-01-02  Andreas Jaeger  <aj@suse.de>
12647
12648         * c-decl.c (c_decode_option): Remove support of
12649         -Wmissing-noreturn.
12650
12651         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
12652         (W_options): Add -Wmissing-noreturn here.
12653
12654         * flow.c: Define lang_missing_noreturn_ok_p.
12655         (check_function_return_warnings): Use it.
12656
12657         * c-common.h: Declare lang_missing_noreturn_ok_p.
12658
12659         * c-lang.c (c_missing_noreturn_ok_p): New function.
12660         (lang_init): Set lang_missing_noreturn_ok_p.
12661
12662         * invoke.texi (Warning Options): Document this.
12663
12664 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
12665
12666         * extend.texi (C++ Extensions):  New node for C++ attributes;
12667         describe init_priority and com_interface.
12668         * invoke.texi:  Remove -finit-priority as it now has zero effect.
12669         * install.texi:  Fix xref syntax.
12670         * md.texi:  Likewise.
12671
12672 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12673
12674         * config.gcc (sparc64-wrs-vxworks*): New case.
12675         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
12676
12677         * config/sparc/sparc.c (sparc_override_options): Do support different
12678         pointer and architecture size.
12679         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
12680         (POINTERS_EXTEND_UNSIGNED): Define.
12681         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
12682         (FUNCTION_MODE): Define to be Pmode.
12683         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
12684
12685         * function.c (expand_function_end): Properly handle DECL_RESULT
12686         and copy when ptr_mode != Pmode.
12687         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
12688
12689 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12690
12691         * c-common.c (c_common_nodes_and_builtins): Set prototype
12692         parameters for __builtin_fputs, __builtin_fputc and
12693         __builtin_fwrite.  Don't declare plain fputc as a builtin.
12694
12695 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12696
12697         * loop.c (add_label_notes): Increment the label usage count when
12698         a note is added to an insn which refers to a CODE_LABEL.
12699         * gcse.c (add_label_notes): Likewise.
12700
12701 2001-01-01  Andreas Jaeger  <aj@suse.de>
12702
12703         * loop.c (scan_loop): Use xmalloc to allocate movables.
12704
12705 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
12706
12707         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
12708         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
12709         * reload1.c (REGISTER_MOVE_COST): Likewise.
12710         * regclass.c (REGISTER_MOVE_COST): Likewise.
12711         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
12712         dimension.  Adjust all users.
12713         (init_reg_sets_1): Iterate on all modes.
12714         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
12715         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
12716         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
12717         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
12718         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
12719         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
12720         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
12721         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
12722         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
12723         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
12724         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
12725         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
12726         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
12727         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
12728         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
12729         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
12730         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
12731         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
12732         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
12733         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
12734         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
12735         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
12736         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
12737         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
12738         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
12739         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
12740         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
12741
12742 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12743
12744         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
12745         arg VARIES_P.  Call it with extra arg.
12746         (true_dependence): Likewise.
12747         * rtl.h (rtx_addr_can_trap_p): Declare.
12748         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
12749         prototypes.
12750         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
12751         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
12752         pic offset table register if it's zero.  All callers changed.
12753         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
12754
12755 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12756
12757         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
12758         STRING_POOL_ADDRESS_P.
12759
12760         * config/sparc/sparc.c (input_operand): Properly test for short op.
12761
12762         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
12763         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
12764         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
12765         * config/sparc/elf.h: No longer include sol2.h.
12766         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
12767         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
12768
12769         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
12770
12771 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12772
12773         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
12774         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
12775         (record_initial): Likewise.
12776         * unroll.c (copy_loop_body, loop_iterations): Likewise.
12777         (remap_split_bivs): Likewise.
12778
12779 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12780
12781         * loop.c (loop_ivs_free): New function.
12782         (strength_reduce): Break out from...
12783
12784 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12785
12786         * loop.h (struct iv): New.
12787         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
12788         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
12789         'reg_biv_class' fields with 'regs' and 'n_regs'.
12790         (struct ivs): Rename 'loop_iv_list' field to 'list'.
12791         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
12792         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
12793
12794 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
12795
12796         * resource.c (mark_referenced_resources): Abort() before
12797         attempting to mark a pseudo register.
12798         (mark_set_resources): Likewise.
12799
12800 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12801
12802         * loop.h (REG_IV_CLASS): New accessor macro.
12803         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
12804         * unroll.c (REG_IV_CLASS): Likewise.
12805
12806 See ChangeLog.4 for earlier changes.