OSDN Git Service

* config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2
3         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline): 
4         Move definition in the RTX_CODE section.
5
6 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7
8         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return 
9         address as relative to the argument pointer.
10
11 Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
12
13         * predict.def (PRED_OPCODE): Place before call and error_return.
14
15 Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
16
17         * predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
18         * predict.c (estimate_probability): Calculate dominance
19         information; improve detection of NORETURN heuristics;
20         add call/error_return heuiristics; tweak comparison heuristics
21         to recognize -1.
22
23 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
24
25         * doc/invoke.texi (C Dialect Options): Document -aux-info.
26         (Debugging Options): Document -print-multi-directory and
27         -print-multi-lib.
28         * doc/gcc.1: Rebuilt.
29
30 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
31
32         * toplev.c (independent_decode_option): Require `=' between
33         `-aux-info' and filename in the same argument.
34         * gcc.c: Don't pass -aux-info=filename twice.
35
36 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
37
38         * expr.c (expand_expr, case ARRAY_REF): Do not replace
39         an array element with the known initializing value if it has
40         side-effects.
41
42         * toplev.c (rest_of_compilation): Remove dead code before
43         purge_addressof.
44         
45 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
46
47         * cppinit.c (print_help): Document -fpreprocessed.
48         * invoke.texi: Similarly.
49
50 Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
51
52         * predict.def: New file.
53         * predict.h: New file.
54         * predict.c: Include predict.h.
55         (predictor_info): New structure and array.
56         (predict_edge, predict_insn): Rewrite; make global.
57         (predict_edge_def, predict_insn_def): New global functions.
58         (dump_prediction, combine_predictions_for_insns): New
59         static functions.
60         (estimate_probability): Change calls to predict_edge
61         to predict_edge_def and calls to predict_insn to predict_insn_def;
62         combine probabilities.
63         (expected_value_to_br_prob): Behave as predictor.
64         * rtl.h (REG_BR_PRED): Update coment.
65         (invert_br_probabilities): New.
66         * jump.c: Include predict.h
67         (duplicate_loop_exit_test): Drop branch prediction notes.
68         (invert_jump): Use invert_br_probabilities.
69         * Makefile.in: Add dependancy on predict.h for jump and predict pass.
70         * ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
71         * combine.c (distribute_notes): Handle BR_PRED.
72
73 Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
74
75         * predict.c (predict_insn, predict_edge): New static functions.
76         (estimate_probability): Revamp to use new functions;
77         fix loop header heruistics; add loop exist heruistics
78
79 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
80
81         * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
82
83 2001-06-09  Peter Jakubek <pjak@snafu.de>
84
85         * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
86
87 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
88
89         * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
90         for integer operations that don't update C bit.
91
92 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
93
94         * gthr-posix.h (__gthread_objc_init_thread_system): If
95         pthread_key_create fails, it's not clear what the return value is.
96         This obvious fix makes sure it always returns -1 if a problem
97         occurs.
98
99 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
100
101         * doc/gcc.texi: Use @defcodeindex for the index of options.  Add
102         more index entries.  Use more logical markup where appropriate.
103         Use TeX quotes and dashes.
104
105 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
106
107         * unwind-pe.h: Conditionally qualify references to abort with
108         std::.
109
110 2001-06-09  Julian Foad <julian_foad@hotmail.com>
111
112         * doc/invoke.texi: Remove superfluous text.
113
114 2001-06-08  Richard Henderson  <rth@redhat.com>
115
116         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
117         (LIB_SPEC): Mirror config/linux.h version.
118
119 2001-06-08  Richard Henderson  <rth@redhat.com>
120
121         * except.c (get_exception_pointer, get_exception_filter): Take a
122         struct function.  Update all callers.
123         * except.h (get_exception_pointer): Update declaration.
124         * expr.c (expand_expr): Update get_exception_pointer call.
125         * integrate.c (expand_inline_function): Remap the exception pointer
126         from callee to caller.
127
128 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
129
130         * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
131         accurately reflect its cv-qualification.
132         * c-typeck.c (type_lists_compatible_p): Ignore the top-levl
133         cv-qualifiers on function types.
134
135 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
136
137         * basic-block.h: Improve comments.
138         * except.c (expand_eh_region_end_allowed): Remove redundant call
139         to do_pending_stack_adjust.
140         * flow.c (life_analysis): Fix typo in comment.
141         (calculate_global_regs_live): Add documentation.
142         (mark_set_1): Likewise.
143         (debug_regset): Likewise.
144         * doc/rtl.texi (cond_exec): Document it.
145
146 Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
147
148         * i386.h (CONST_COSTS): set cost of constants representable in
149         immediate fields to 0.
150
151 Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
152
153         * function.c (diddle_return_value): Kill code to determine
154         return value before expand_function_end.
155         (expand_function_end): Delay call to clobber_return_register
156         after fucntion return value is computed.
157
158         Re-install temporary reverted patch:
159         * toplev.c (rest_of_compilation): Call split_all_insns
160         before reg-stack and shorten-branches. Do shorten-branches
161         after reg-stack.
162         * final.c (shorten_branches): Remove insn splitting code.
163
164 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
165
166         * doc/gcc.texi, doc/invoke.texi: Add index of command line
167         options.  Use @opindex to index them rather than other indexing
168         commands.  Use @var{...} instead of <...>.  Avoid spaces in names
169         inside @var.  Don't use @kindex to index escape sequences in
170         source code.
171
172 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
173
174         * stmt.c (current_nesting_level): New fn.
175         * tree.h: Declare it.
176         * c-semantics.c (genrtl_compound_stmt): Use it.
177
178         * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
179
180 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
181
182         * jump.c (mark_modified_reg): Allow jump threading if condition
183         codes are represented by a hard register.
184
185 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
186
187         * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
188         for complex floats passed to unprototyped functions.
189
190 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
191
192         * except.c (expand_eh_region_end_allowed): Call
193         do_pending_stack_adjust as necessary.
194
195 Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
196
197         * function.c (clobber_return_register): Clobber the pseudo return
198         register too.
199
200         * sibcall.c (skip_unreturned_value): New function.
201         (call_ends_block_p): Use it.
202
203         * recog.c (split_insn): Break out from ...
204         (split_all_insns): ... here; do not use basic block information
205         when it is broken.
206
207 Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
208
209         * simplify-rtx.c (simplify_subreg):  Fix verification of
210         combined subreg.
211
212 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
213
214         * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
215         Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
216         Move definition of _LANGUAGE_C_PLUS_PLUS ...
217         (CPLUSPLUS_CPP_SPEC): ... here.
218         Fixes PRs c++/3047, target/441.
219
220 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
221
222         * doc/install.texi2html (MAKEINFO): Keep value if set already.
223
224 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
225
226         * doc/gcc.texi: Add trailing slash to URL.
227
228 2001-06-07  Stan Shebs  <shebs@apple.com>
229
230         * config/darwin.h (ENCODE_SECTION_INFO): Define.
231         (REDO_SECTION_INFO_P): Ditto.
232         (STRIP_NAME_ENCODING): Ditto.
233         (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
234         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
235         (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
236         (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
237         * config/darwin.c: No longer include c-tree.h.
238         (machopic_classify_ident): Rewrite to use symbol encoding.
239         (lookup_name_darwin): Remove.
240         (machopic_non_lazy_ptr_name): Handle encoded symbols.
241         (machopic_stub_name): Use STRIP_NAME_ENCODING.
242         (machopic_validate_stub_or_non_lazy_ptr): Ditto.
243         (machopic_finish): Ditto, remove test of decl.
244         (update_non_lazy_ptrs): New function.
245         (darwin_encode_section_info): New function.
246         * config/darwin-protos.h: Declare it.
247         * config/rs6000/rs6000.c (machopic_output_stub): Use
248         STRIP_NAME_ENCODING.
249         
250 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
251
252         * tree.h (DECL_SOURCE_FILE): Improve documentation.
253         (DECL_SOURCE_LINE): Likewise.
254
255 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
256
257         * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
258         from config/elfos.h.
259
260 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
261
262         * linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
263         * pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
264
265 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
266
267         * doc/contrib.texi: Add copyright notice.
268
269 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
270
271         * doc/md.texi: Use four digit years in copyright notice.
272
273 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
274
275         * config.gcc: For $target_alias of athlon-*, set
276         target_cpu_default2=5.
277
278 Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
279
280         * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
281         end of last block if last real insn is a JUMP_INSN.
282
283 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
284
285         * NEWS: Regenerate.
286
287 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
288
289         * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
290         pthread_t to objc_thread_t.
291         (__gthread_objc_thread_id): Likewise.
292
293 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
294
295         * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
296         (ASM_OLDAS_SPEC): Likewise.
297
298         * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
299         (CPP_SUBTARGET_SPEC): Use it.
300         (ASM_OLDAS_SPEC): Define.
301         (ASM_SPEC): Use it.
302         (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
303
304 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
305
306         * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
307         passed by reference.
308
309 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
310
311         * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
312         Document use of N_(...), and show it in examples.  Note that
313         documentation should be added to invoke.texi.  Avoid an overfull
314         hbox.
315
316 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
317
318         * toplev.c (rest_of_compilation): Revert previous patch.
319         * final.c (shorten_branches): Likewise.
320
321 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
322
323         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
324         Remove.
325
326 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
327
328         * doc/install-old.texi: Remove more obsolete documentation.
329
330 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
331
332         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
333
334 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
335
336         * toplev.c (rest_of_compilation): Call split_all_insns
337         before reg-stack and shorten-branches. Do shorten-branches
338         after reg-stack.
339         * final.c (shorten_branches): Remove insn splitting code.
340
341 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
342
343         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
344         * configure: Rebuilt.
345
346 2001-06-07  Andreas Jaeger  <aj@suse.de>
347
348         * emit-rtl.c (operand_subword): Remove unused variable.
349
350 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
351
352         * i386.md (floatdi?f): Avoid usinf of SSE instructions
353         if TARGET_64BIT is false.
354         (floatdi?f_i386_only): New insn.
355         (floatdi?f_i386): Disable for !TARGET_64BIT.
356
357         * (min?f, max?f splitters): Handle case where
358         operands are cross-matched.
359
360         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
361         (MMX_REGISTER_NAMES): Kill.
362         (PRINT_OPERAND): Fix comment.
363         (PRINT_REG): Likewise.
364         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
365         (print_operand): Update comment; kill 'm'.
366
367         * i386.c (x86_branch_hints): New global variable
368         (print_operand): Support outputting of branch prediction hints.
369         * i386.md (conditional jump patterns): Add branch prediction hints
370         to the template.
371         * i386.h (x86_branch_hints): Declare
372         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
373         (PRINT_OPERAND_FUNCT_VALID_P): New.
374         * final.c (final_forward_branch_p): New function.
375
376 2001-06-06  Richard Henderson  <rth@redhat.com>
377
378         * flow.c (mark_used_reg): Clean up looping over multiple hard
379         registers.  Do conditional life bits across multiple hard regs.
380
381 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
382
383         * reload1.c (reload): Revert Schmidt's change so all USEs are not
384         deleted during reload.
385
386 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
387
388         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
389         functions here, instead of ...
390         * c-decl.c (c_expand_body): ... here.
391
392 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
393
394         * config.gcc, config/sparc/bsd.h:  Do not directly include
395         sparc/sparc.h.  Instead do it via tm_file.
396
397 2001-06-05  Richard Henderson  <rth@redhat.com>
398
399         * dwarf2.h (DW_EH_PE_aligned): New.
400         * dwarf2asm.c (eh_data_format_name): Name it.
401         (dw2_asm_output_encoded_addr_rtx): Align for it.
402         * dwarf2out.c (output_call_frame_info): Handle it for personality
403         routine and LSDA pointers.
404
405         * unwind-pe.h (DW_EH_PE_aligned): New.
406         (base_of_encoded_value): Handle it.
407         (read_encoded_value_with_base): Likewise.
408         * unwind-dw2-fde.c (base_from_object): Likewise.
409         (get_cie_encoding): Likewise.
410
411         * config/alpha/elf.h: Remove ecoff commentary.
412         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
413
414 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
415
416         * config.gcc, config/i386/bsd386.h:  Do not directly include
417         i386/386bsd.h.  Instead do it via tm_file.
418
419 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
420
421         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
422         way svr4.h does.
423
424 2001-06-05  Pascal Obry  <obry@act-europe.fr>
425
426         * configure.in: Quote $enable_win32_registry in case the value has
427         spaces in it.
428         * configure: Ditto.
429
430 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
431
432         * print-rtl.c (xspaces): Remove.
433         (print_rtx): Use printf field-width, rather than xpsaces, to
434         indent.
435         * toplev.c (main): Disable sibling-call optimization if we are
436         handling exceptions.
437         
438 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
439
440         * reload1.c (reload): Delete all USEs generated during reload.
441
442 2001-06-05  scott snyder  <snyder@fnal.gov>
443
444         * gccbug.in:  Fix typo.
445
446 2001-06-05  Andreas Jaeger  <aj@suse.de>
447
448         * builtins.def: Fix definition of __builtin_cosf, it uses float as
449         parameter and return value.
450
451 2001-06-04  Anthony Green  <green@redhat.com>
452
453         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
454         machine.  This is now done in sparc.h.
455
456 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
457
458         Correct CVS resurrection of invoke.texi.
459         * doc/invoke.texi: Document new tree dump flags.
460
461 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
462
463         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
464         for casting an aggregate to its own type.  Fixes PR c/2735.
465
466 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
467
468         * doc/texinfo.tex: Update to version 2001-05-24.08.
469
470 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
471
472         * c-common.h (flag_dump_translation_unit): Remove.
473         (enum tree_dump_index): Define.
474         (TDF_ADDRESS, TDF_SLIM): New #defines.
475         (dump_node_to_file): Remove.
476         (dump_node): Make extern. Add flags.
477         (dump_flag, dump_enabled_p, dump_begin, dump_end,
478         dump_switch_p): Prototype.
479         * c-common.c (flag_dump_translation_unit): Remove.
480         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
481         logic. Use dump_switch_p.
482         * c-dump.h (struct dump_info): Add node and user fields.
483         (dump_pointer): Declare.
484         * c-dump.c (dump_node): Make extern. Add flags.
485         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
486         (dump_new_line, dump_maybe_newline): Use them.
487         (dump_pointer): New function.
488         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
489         chain or function's body. Dump address, if TDF_ADDRESS set.
490         (dump_flag): Define.
491         (dump_node_to_file): Remove.
492         (struct dump_file_info): New struct.
493         (dump_files): New array.
494         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
495         * c-lang.c (finish_file): Adjust dumping.
496         * toplev.h (dump_base_name): Make extern.
497         * invoke.texi: Document new flags.
498
499 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
500
501         * c-tree.h (lang_decl): Add pending_sizes fields.
502         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
503         functions.
504         (c_expand_body): Expand them.
505         (lang_mark_tree): Mark lang_decl:pending_sizes.
506         * function.c (expand_pending_sizes): New function, broken out
507         from ...
508         (expand_function_start): ... here.
509         * tree.h (expand_pending_sizes): Declare it.
510
511 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
512
513         * doc/install.texi: Update FreeBSD information.  Generalize
514         and update information for alpha-based platforms using ELF.
515
516 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
517
518         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
519         (store_parm_decls): Likewise.
520         * c-typeck.c (convert_arguments): Likewise.
521
522 2001-06-04  Richard Henderson  <rth@redhat.com>
523
524         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
525         optimization if current_function_calls_setjmp.
526
527 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
528
529         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
530         wide strings.
531
532 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
533
534         * simplify-rtx.c (simplify_subreg): Fix combining of
535         paradoxical subregs.
536
537 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
538
539         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
540         (no_labels_between_p): Short circuit case beg==end.
541
542 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
543
544         * rtlanal.c (operand_preference): Fix preference for objects.
545
546 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
547
548         * gcse.c (handle_avail_expr): Be prepared to handle single_set
549         parallels.
550
551 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
552
553         * combine.c (if_then_else_cond): Use simplify_subreg instead
554         of operand_subword.
555         * integreate.c (sub_constants): Likewise.
556
557 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
558
559         * emit-rtl.c (constant_subword): Deprecate; remove most of code
560         and use simplify_gen_subreg.
561
562 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
563
564         * sibcall.c (skip_copy_to_return_value): recognize the situation
565         when the called function's return value is copied into an
566         intermediate pseudo, and then into the calling functions return
567         value register.
568
569 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
570
571         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
572         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
573         in case register wasn't OK previously, accept it now; allow
574         subregs of frame pointer if reload completed and frame pointer
575         is not needed.
576
577         * combine.c (sombine_simplify_rtx): Fix comment;
578         use subreg_lowpart_offset instead of subreg_lowpart_p
579         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
580         * rtl.h (subreg_lowpart_parts_p): Kill.
581         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
582         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
583         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
584         (gen_lowpart_common): Likewise.
585         (subreg_lowpart_p): Likewise.
586         (subreg_lowpart_parts_p): Kill.
587         (subreg_lowpart_offset, subreg_highpart_offset): New function.
588
589         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
590         to simplify SUBREG and REG.
591         (gen_highpart): Use simplify_gen_subreg for all simplifications.
592
593         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
594         CONCAT specially.
595
596         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
597
598 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
599
600         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
601         (ARRAY_RANGE_REF): Added description.
602
603         * tree.def (ARRAY_RANGE_REF): New code.
604         * alias.c (handled_component_p, can_address_p): Handle it.
605         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
606         * explow.c (set_mem_attributes): Likewise.
607         * expr.c (expand_assignment, get_inner_reference): Likewise.
608         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
609         * fold-const.c (operand_equal_p): Likewise.
610         * tree.c (staticp, stabilize_reference): Likewise.
611         * varasm.c (decode_addr_const): Likewise.
612
613 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
614
615         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
616         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
617
618 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
619
620         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
621         mark_constant_pool_use before output_addr_const.
622         (struct pool_node): New field wend.
623         (add_constant): Note a sequence of constants that are referenced
624         by a given label.
625         (pool_window_label, pool_window_last): New variables.
626         (dump_table): Emit a unspec_volatile representing the end of a
627         sequence of constants.
628         (mark_constant_pool_use): New function.
629         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
630         (consttable_2): Add the second operand which flags whether
631         this consttable entry was used or not.
632         (consttable_4, consttable_8, consttable_sf, consttable_df):
633         Likewise.
634         (consttable_window_end): New insn.
635
636 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
637
638         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
639         Reformat according to coding standards.
640
641         Warning removal.
642         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
643         (shl_and_kind): Cast wide constant.
644         (gen_far_branch): Define as static, as in declaration.
645         (barrier_align): Compute cache-line length as unsigned.  Add
646         parentheses in initial credit computation.
647         (rounded_frame_size): Add parentheses.
648         (permanent_obstack): Remove declaration.  Include ggc.h for
649         declaration of ggc_add_root_rtx().
650         (get_free_reg): Removed declaration of unused variable reg.
651         (legitimize_pic_address): Mark mode argument as unused.
652
653 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
654
655         * config/sh/sh.c (output_branch): Support for insn with lenght
656         attr 12 & 16 which represents cond branches outside +-4096 range.
657
658 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
659
660         * config/sh/lib1funcs.asm (ic_invalidate): Align the
661         cache-mirroring sequence.  Add nops.
662
663 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
664
665         * doc/install-old.texi: Remove more old installation
666         documentation.
667         * doc/install.texi: Add relevant parts here.
668
669 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
670
671         * doc/install.texi2html: New script.
672
673 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
674
675         * doc/install.texi: Update AIX information again.
676
677 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
678
679         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
680         installation documentation.
681         * doc/install.texi: Move it to here.
682
683 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
684
685         * doc/install.texi: Clean up Texinfo markup.
686
687 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
688
689         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
690         to just after title page.
691
692 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
693
694         * doc/install-old.texi: Remove documentation of some configuration
695         options.
696         * doc/install.texi: Add relevant parts of this documentation here.
697
698 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
699
700         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
701         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
702
703 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
704
705         * i386.md (all uses of ext_register_operand): Make sure they are
706         VOIDmode; replace all uses outside zero_extend.
707         (and?i splitters): Use ext_register_operands.
708         (test?i peep2): Remove ignored constraints.
709         * i386.c (ext_register_operand): Check that operand is
710         eighter pseudo or hard or 'Q' register.
711
712 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
713
714         * tree.h (struct record_layout_info_s): New field unpadded_align.
715         (set_lang_adjust_rli): New declaration.
716         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
717         it would have if not packed, do not downgrade DECL_ALIGN.
718         (lang_adjust_rli, set_lang_adjust_rli): New.
719         (start_record_layout): Initialize new field unpadded_align.
720         (debug_rli): Display it.
721         (place_union_field, place_field): Set it.
722         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
723
724         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
725         mean that; use proper names instead.
726         Print DECL_NO_STATIC_CHAIN.
727
728         * except.c (expand_builtin_frob_return_addr): Add missing call
729         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
730         (expand_builtin_eh_return): Likewise.
731         (expand_eh_return): Clean up ptr_mode != Pmode cases.
732
733 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
734
735         * doc/invoke.texi: Remove references to papers about sequence points
736         to readings.html, refer to that page.
737
738 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
739
740         * README: Update references to installation instructions.
741
742 2001-06-01  Laurent Guerby  <guerby@acm.org>
743             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
744
745         * doc/install.texi: Define srcdir when sources come from CVS.
746         Significantly improve markup.  Wrap overly long lines
747
748 2001-06-01  DJ Delorie  <dj@redhat.com>
749
750         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
751         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
752         objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
753         gcov.1: Move to doc subdirectory.
754         * install.texi: Move to doc/install-old.texi.
755         * gcc.texi: Move to doc, refer to install-old.texi.
756         * Makefile.in: Reflect move of docs to doc/.
757         * f/Make-lang.in: Ditto.
758         * java/Make-lang.in: Ditto.
759         * doc/.cvsignore: New.
760
761 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
762
763         * invoke.texi: use two spaces between command options, eliminate
764         some 'overfull hboxes'
765
766 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
767
768         * Makefile.in (s-mlib): Make backtick-commands always succeed.
769         (DRIVER_DEFINES): Ditto.
770
771 2001-05-31  Richard Henderson  <rth@redhat.com>
772
773         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
774         also link against libgcc.a.
775
776 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
777
778         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
779         * config/mips/mips.c (mips_output_ascii): New function.
780         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
781
782         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
783
784 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
785
786         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
787         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
788
789 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
790
791         * install.texi (Configuration): Add html links for --with-gnu-as &
792         --with-gnu-ld and refer to them from hppa & SCO triplets.
793         (Specific): Link back to with-gnu-ld for all ELF platfoms.
794         (Specific): Reword AVR binutils recommendation.
795
796 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
797
798         * ggc-page.c (size_lookup): Increase minimum allocation size
799         to eight bytes.
800         (ggc_print_statistics): Report size of each bin in bytes, not
801         as its order; there is no longer a direct relationship.
802
803 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
804
805         * extend.texi: Fix formating of examples, eliminate some
806         'overfull hboxes'.
807         * gcc.texi: Eliminate some 'overfull hboxes'.
808         * invoke.texi: Use two spaces between command options, eliminate
809         some 'overfull hboxes'.
810
811 2001-05-30  Richard Henderson  <rth@redhat.com>
812
813         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
814
815 2001-05-30  Tom Tromey  <tromey@redhat.com>
816
817         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
818         use it in the new association.
819
820 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
821             John David Anglin  <dave@hiauly1.hia.nrc.ca>
822
823         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
824         to target type to allow ISO C++ compiler to accept it.
825         * gthr-dce.h (__gthread_active_ptr): Likewise.
826         * gthr-solaris.h (__gthread_active_ptr): Likewise.
827
828 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
829
830         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
831         so that we do accept comments in preprocessed input.
832
833 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
834
835         * cpphash.c (alloc_node): Cast allocated pointer.
836
837 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
838
839         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
840
841 2001-05-29  Stan Shebs  <shebs@apple.com>
842
843         * gcc.texi: Add links for information about Objective-C.
844
845 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
846
847         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
848         /bin/sed fails on [^\"]).
849         (configargs.h): Likewise.
850
851 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
852
853         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
854
855 2001-05-28  Stan Shebs  <shebs@apple.com>
856
857         * objc/objc.gperf: Remove, no longer used.
858
859 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
860
861         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
862         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
863         Remove trailing whitespace.
864
865 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
866
867         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
868         became http://freeware.sgi.com/.
869
870 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
871
872         * local-alloc.c (update_equiv_regs): Don't eliminate constant
873         expressions at -O0.
874
875 2001-05-27  Stan Shebs  <shebs@apple.com>
876
877         * objc/objc-act.c: Add/fix various comments.
878         (init_selector): Remove, no longer used.
879         (build_msg_pool_reference): Ditto.
880         (objc_debug): Ditto.
881
882 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
883
884         * c-decl.c (init_decl_processing):
885          Don't call start_identifier_warnings.
886         * flags.h (warn_id_clash, id_clash_len): Remove.
887         * stringpool.c: Don't include flags.h.
888         (scan_for_clashes, do_identifier_warnings,
889         start_identifier_warnings): Remove.
890         * toplev.c (warn_id_clash, id_clash_len): Remove.
891         (display_help): Don't document -Wid-clash.
892         (decode_W_option): Print warning on -Wid-clash.
893         * tree.h (start_identifier_warnings): Remove.
894         * invoke.texi: Remove documentation of -Wid-clash.
895
896 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
897
898         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
899
900 2001-05-27  Bruce Korb  <bkorb@gnu.org>
901
902         * fixinc/check.tpl(HACK) add and use a Scheme variable
903         (has no test text): error out if no "test_text" is defined
904         * fixinc/fixincl.tpl: likewise
905         (FIXIDX): make it an enumeration so we minimize diffs
906         * fixinc/inclhack.def: re-alphabetize and add sort instructions
907         * fixinc/fixincl.x: regenerate
908         * fixinc/tests/base/stdio.h: test output got moved due to
909         the alphabetizing
910         * README-fixinc: rewrite (mostly)
911
912 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
913
914         * cpplib.c (run_directive): Set pfile->directive.
915
916 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
917
918         * c-tree.texi: Reformat the manual as a single chapter now
919         included by gcc.texi.
920         * gcc.texi: Include c-tree.texi. Merge all indexes.
921         * Makefile.in (dvi): Add generation for the cppinternals
922         documentation. Added dependencies on fdl.texi and c-tree.texi
923         where appropriate.  Use TEXI2DVI instead of custom tex calls.
924         (info): Added dependencies on fdl.texi and c-tree.texi where
925         appropriate.  Remove the target c-tree.info.
926
927 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
928
929         * combine.c (try_combine): Fix typo in comment.
930         * expr.c (expand_expr): Likewise.
931         * config/i370/i370.md (untyped_call): Likewise.
932
933 2001-05-26  Bruce Korb  <bkorb@gnu.org>
934
935         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
936         when fixincl is operating in test mode
937         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
938         (AAB_ultrix_limits): remove redundant text
939         (AAB_ultrix_memory): ditto
940         (AAB_ultrix_string): ditto
941         (djgpp_wchar_h): fix the test text
942         (irix_stdio_va_list): add test text
943         (irix_limits_const): add a testing output file (limits.h is overwritten)
944         (strict_ansi_not_ctd): put limits.h second in list for same reason
945         (solaris27_mutex_init): test text needed selection text, too
946
947         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
948         when fixincl is operating in test mode
949
950 2001-05-26  Philip Blundell  <philb@gnu.org>
951
952         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
953         * config/i960/i960-protos.h: Likewise.
954         * config/i370/i370-protos.h: Likewise.
955         * config/h8300/h8300-protos.h: Likewise,
956         * config/sh/sh-protos.h: Likewise.
957         * config/v850/v850-protos.h: Likewise.
958
959 2001-05-26  Philip Blundell  <philb@gnu.org>
960
961         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
962
963 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
964
965         * toplev.c (debug_args, f_options, W_options): Mark
966         descriptions for translation.
967         (display_help): Translate descriptions on output.
968
969         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
970         objc/lang-options.h: Mark descriptions for translation.
971
972         * aclocal.m4: Quote final argument of patsubst.  Use
973         3-argument form of AC_DEFINE.  Restore quotes to [] while
974         using AC_FD_CC.
975         * configure.in: Remove unnecessary changequote calls.
976         * configure, config.in: Regenerate.
977
978 2001-05-25  Sam TH  <sam@uchicago.edu>
979
980         * basic-block.h: Fix header include guards.
981         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
982         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
983         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
984         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
985         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
986         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
987         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
988         varray.h version.h: Likewise.
989         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
990         config/arm/arm.h config/c4x/c4x-protos.h
991         config/h8300/h8300-protos.h config/h8300/h8300.h
992         config/i370/i370-protos.h config/i370/i370.h
993         config/i960/i960-protos.h config/mcore/mcore.h
994         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
995         config/v850/v850-protos.h config/v850/v850.h: Likewise.
996         * fixinc/fixlib.h fixinc/server.h: Likewise.
997
998 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
999
1000         * config/arc/initfini.c (.init): Fix typo.
1001
1002 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
1003
1004         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
1005
1006 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1007
1008         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
1009
1010 2001-05-25  Richard Henderson  <rth@redhat.com>
1011
1012         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
1013
1014 2001-05-25  Richard Henderson  <rth@redhat.com>
1015
1016         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
1017         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
1018         (sparc*-*-solaris2): Likewise.
1019         * config/t-linux: Remove shared libgcc macros.
1020         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
1021         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
1022
1023 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
1024
1025         * config.gcc (*-*-freebsd*): Report bad configuration.
1026
1027 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
1028
1029         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
1030
1031         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
1032         any prefix.
1033         (ASM_OUTPUT_LABELREF): Delete.
1034
1035 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1036
1037         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
1038         strict_ansi_only): Don't run if stdc_0_in_system_headers.
1039         * fixinc/fixincl.x: Regenerate.
1040         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
1041         (FIX_TEST_TABLE): Declare it.
1042         * fixinc/fixlib.h: Include config.h.
1043
1044 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1045
1046         * fixinc/inclhack.def (alpha___assert): Change char * args to
1047         const char * on Tru64 UNIX to avoid excessive warnings from
1048         assert.h.
1049         * fixinc/fixincl.x: Regenerate.
1050
1051 2001-05-25  Geoff Keating  <geoffk@redhat.com>
1052
1053         * dbxout.c (dbxout_symbol): Invert previous patch, which was
1054         outputting a tag only for variable-size records.
1055
1056 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
1057
1058         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
1059         instead of rtx_equal_p for early clobber test.
1060
1061 2001-05-26  Mark Mitchell <mark@codesourcery.com>
1062
1063         * builtins.def: Encode additional information, such as names and
1064         types, here.
1065         * builtin-types.def: New file.
1066         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
1067         (built_in_decls): Likewise.  Don't explicitly initialize global
1068         data to NULL.
1069         (expand_builtin_mathfn): Handle float and long double variants of
1070         math builtins.
1071         (expand_builtin): Likewise.
1072         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
1073         (expand_tree_builtin): Handle long, long long, float, and long
1074         double variants of math functions.
1075         * c-common.h (c_tree_index): Remove some unused nodes.
1076         (void_ftype): Remove.
1077         (void_type_ptr): Likewise.
1078         (int_ftype_int): Likewise.
1079         (ptr_ftype_sizetype): Likewise.
1080         * c-decl.c (init_decl_processing): Remove creation of DWARF
1081         builtins.
1082         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
1083         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
1084         * Makefile.in (c-common.o): Depend on builtin-types.def.
1085
1086 2001-05-25  Dale Johannesen  <dalej@apple.com>
1087
1088         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
1089
1090 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1091
1092         * c-parse.in (notype_initdcl): Remove redundant line.
1093
1094 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1095
1096         * aclocal.m4: Fixed typo.
1097         (gcc_AC_HEADER_STDBOOL): Define.
1098         (gcc_AC_C__BOOL): Define.
1099         * configure.in: Use them.
1100         (AC_CHECK_HEADERS): Remove stdbool.h
1101         * configure, config.in: Regenerate.
1102
1103 2001-05-25  Richard Henderson  <rth@redhat.com>
1104
1105         * function.c (expand_function_start): Don't abort on PARALLEL
1106         returns from hard_function_value.
1107
1108 2001-05-25  Richard Henderson  <rth@redhat.com>
1109
1110         * config/i386/i386.md: Revert previous change.  Do not apply
1111         the peephole if the components do not die after the sequence.
1112
1113 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1114
1115         * c-parse.in (array_declarator): New.  Handle C99 constructs.
1116         Don't restrict [*] declarators to C only.
1117         (after_type_declarator, parm_declarator_starttypename,
1118         parm_declarator_nostarttypename, notype_declarator,
1119         direct_absdcl1): Use it.
1120         * c-decl.c (build_array_declarator, set_array_declarator_type):
1121         New functions.  Warn that [*] isn't properly implemented; pedwarn
1122         for [*] outside C99 mode if pedantic rather than giving a hard
1123         error.
1124         (grokdeclarator): Handle static and type qualifiers in parameter
1125         array declarators.
1126         * c-tree.h (build_array_declarator, set_array_declarator_type):
1127         Declare.
1128         * extend.texi (Attribute Syntax): Document attributes in parameter
1129         array declarators.
1130
1131 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
1132
1133         * config/i386/i386.md: Make sure cmpstr peepholes do not
1134         affect liveness information.
1135
1136 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1137
1138         * c-typeck.c (digest_init): Issue error messages about
1139         invalid constants, not warnings.
1140
1141 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
1142
1143         * invoke.texi (-fno-builtin): Document that this is always on
1144         in C++.
1145
1146 2001-05-24  Philip Blundell  <philb@gnu.org>
1147
1148         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
1149         required.
1150
1151 2001-05-24  Philip Blundell  <philb@gnu.org>
1152
1153         * config/arm/arm.c (output_return_instruction): Correctly handle
1154         interworking and interrupt functions.
1155
1156 2001-05-24  Philip Blundell  <philb@gnu.org>
1157
1158         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
1159         -m{no-}sched-prolog.  Fix typos and improve formatting.
1160
1161 2001-05-24  Philip Blundell  <philb@gnu.org>
1162
1163         * invoke.texi (ARM Options): Improve wording slightly.  Add
1164         documentation for more options, including those for Thumb mode.
1165         Don't mention options that don't exist or are unimplemented.
1166         (Thumb Options): Delete; merged into above section.
1167
1168 2001-05-24  Geoff Keating  <geoffk@redhat.com>
1169
1170         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
1171         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
1172
1173 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
1174
1175         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
1176         fix hard register simplification.
1177
1178 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1179
1180         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
1181         of just copying CPP_CPU_SPEC.
1182
1183 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
1184
1185         * i386.c (incdec_operand): Accept only 1 and -1.
1186
1187 2001-05-23  Kelley Cook  <kelley.cook@home.com>
1188
1189         * Makefile.in: Move many of the *_H definitions eariler in the
1190         file, so that rules in t-* files that use them for
1191         dependencies will work in a parallel build.
1192         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
1193
1194 2001-05-23  Richard Henderson <rth@redhat.com>
1195
1196         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
1197
1198 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1199
1200         * cpp.texi: Update for handling of charconsts.
1201         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
1202         diagnostics.  Skip to the end if the UCS is too short.
1203         (cpp_interpret_charconst): Long charconsts issue a warning
1204         not an error.
1205
1206 2001-05-23  Richard Henderson  <rth@redhat.com>
1207
1208         * doc/install.texi (alpha-linux): Require binutils 2.11.
1209
1210 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1211
1212         * c-lex.c (read_escape, read_ucs): Delete.
1213         (lex_string): Use cpp_parse_escape.
1214         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
1215         if not C++ or not C99.  Warn if traditional.
1216         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
1217         unsigned.  Warn for out-of-range escape sequences here.
1218         Update to use maybe_read_ucs.
1219         (cpp_interpret_charconst):  Don't warn here.
1220         * cpplib.h (cpp_parse_escape): New exported function.
1221
1222 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
1223
1224         * extend.texi (Attribute Syntax): Clarify application of
1225         attributes to parameters declared as functions or arrays.
1226
1227 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
1228
1229         * dbxout.c (dbxout_type_methods): Do still group methods by name.
1230
1231 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
1232
1233         * diagnostic.c (vnotice): Kill.
1234         (fnotice): Call vfprintf directly.
1235         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
1236         verbatim, set_diagnostic_context): Rename string argument to
1237         indicate that it is run through gettext.
1238         (vbuild_message_string, build_message_string, output_do_printf):
1239         Rename string argument to indicate that it is NOT run through
1240         gettext.
1241         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
1242         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
1243         Run msgid argument through gettext.
1244         (default_print_error_function): Run constant strings through
1245         gettext when nothing else will.
1246         (fatal_error, internal_error, error_recursion): Use fnotice.
1247         Present complete sentences to gettext.
1248
1249 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
1250
1251         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
1252
1253 2001-05-23  Richard Henderson  <rth@redhat.com>
1254
1255         * function.c (expand_function_start): Always use a pseudo
1256         for the function result value.
1257
1258 2001-05-22  Richard Henderson  <rth@redhat.com>
1259
1260         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
1261         section pointer alignment.
1262
1263         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
1264
1265         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
1266         of __USER_LABEL_PREFIX__.
1267
1268 2001-05-22  Richard Henderson  <rth@redhat.com>
1269
1270         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
1271         (__deregister_frame_info_bases): New.
1272         * unwind-dw2-fde.h: Declare it.
1273         * libgcc-std.ver: Export it.
1274         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
1275         called __register_frame_info_bases.
1276
1277 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1278
1279         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
1280         instead of #elif (which is OK for this case but not in general).
1281
1282 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
1283
1284         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
1285         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
1286         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
1287         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
1288         "r2" to the assembly file. Only issue allocs with non-zero parameters.
1289
1290 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1291             David O'Brien  <obrien@freebsd.org>
1292
1293         * config/freebsd.h (LIB_SPEC): Key the exact setting to
1294         configure-time options and target version of FreeBSD.  Set-up
1295         to match architectural change in threading support.  Correctly
1296         report when -pthread option is not supported by configure-time
1297         options.
1298         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
1299         and extend to encode target version number in run-time setting
1300         of __FreeBSD__ macro to match the system compiler.
1301         (CPP_PREDEFINES): Likewise.
1302         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
1303
1304         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
1305         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
1306
1307 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1308             David O'Brien  <obrien@freebsd.org>
1309
1310         * config.gcc (the unlabeled system switch statement): Add
1311         generic configuration section to handle *-*-freebsd*.  Also,
1312         to match the system compiler, default to threading support (it
1313         may be disabled with the standard --disable-threads
1314         configuration-time switch).
1315         (i[34567]86-*-freebsd* in machine-specific section): Use it.
1316         (alpha*-*-freebsd* in machine-specific section): Likewise.
1317
1318         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
1319         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
1320         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
1321         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
1322         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
1323
1324 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
1325             David O'Brien  <obrien@freebsd.org>
1326
1327         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
1328         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
1329         -pthread instead setting macro.
1330
1331 2001-05-22  Richard Henderson  <rth@redhat.com>
1332
1333         * crtstuff.c (__register_frame_info_bases): Declare.
1334         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
1335         (__do_global_dtors_aux, __do_global_dtors): Streamline.
1336
1337         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1338         (CRT_GET_RFIB_DATA): New.
1339         * config/i386/sysv4.h: Likewise.
1340         * config/i386/sco5.h: Likewise.
1341         (ASM_PREFERRED_EH_DATA_FORMAT): New.
1342
1343 2001-05-22  Richard Henderson  <rth@redhat.com>
1344
1345         * rtl.c (read_string): Break out from ...
1346         (read_rtx): ... here.
1347
1348 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1349
1350         * doc/install.texi (Specific): Remove a bogus and duplicate part
1351         copied from the end of the document.
1352
1353 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
1354
1355         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
1356
1357 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1358
1359         * install.texi: Remove obsolete information on SunOS as well as
1360         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
1361         (Installing GNU CC on the Sun): Remove section.
1362
1363 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
1364
1365         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
1366         keep errno unchanged on success.
1367
1368 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
1369
1370         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
1371         once for hexadecimal floats, whether or not they contain a decimal
1372         point.  Don't let the setting of pedantic otherwise affect the
1373         parsing of hexadecimal floats.
1374
1375 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1376
1377         * README.ACORN: Remove obsolete file.
1378
1379 2001-05-22  Jan Hubicka  <jh@suse.cz>
1380
1381         * combine.c (gen_binary): Use swap_commutative_operands_p
1382         (simplify_comparison): Likewise.
1383         * expmed.c (emit_store_flag): Likewise.
1384         * expr.c (compare_from_rtx): Likewise.
1385         (do_compare_rtx_and_jump): Likewise.
1386         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
1387         if not emitting a branch and operands want swapping.
1388
1389 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1390
1391         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
1392         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
1393         (maybe_get_identifier): Update.
1394         * tree.h (make_identifier): Delete.
1395
1396 2001-05-21  Richard Henderson  <rth@redhat.com>
1397
1398         * combine.c (subst): Do not substitute for a register as
1399         a destination subreg/strict_low_part/zero_extract.
1400
1401         * combine.c (simplify_comparison): Update op1 after constant
1402         extension.
1403         * recog.c (const_int_operand): Accept only constants valid
1404         for the given mode.
1405         * genrecog.c: Update comments wrt const_int_operand.
1406
1407         * emit-rtl.c (init_emit_once): Zero unused memory in a
1408         CONST_DOUBLE.
1409
1410 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1411
1412         * tree.h (type_num_arguments): Declare it.
1413         * tree.c (type_num_arguments): New function.
1414
1415 2001-05-21  Richard Henderson  <rth@redhat.com>
1416
1417         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
1418         conditional ifdef.
1419
1420 2001-05-21  Geoff Keating  <geoffk@redhat.com>
1421
1422         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
1423         (maxsf3+1): Delete.
1424         (minsf3): Use rs6000_emit_minmax.
1425         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
1426         rs6000_emit_minmax.
1427         (movsfcc): Use rs6000_emit_cmove.
1428         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
1429         Don't generate emit_fselsfsf4.
1430         (fseldfsf4): Likewise.
1431         (maxdf3): Use rs6000_emit_minmax.
1432         (maxdf3+1): Delete.
1433         (mindf3): Use rs6000_emit_minmax.
1434         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
1435         rs6000_emit_minmax.
1436         (movdfcc): Use rs6000_emit_cmove.
1437         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
1438         Don't generate emit_fselsfsf4.
1439         (fselsfdf4): Likewise.
1440         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
1441         (min_max_operator): New predicate.
1442         (rs6000_emit_cmove): New function.
1443         (rs6000_emit_minmax): New function.
1444         * config/rs6000/rs6000-protos.h: Prototype new functions.
1445         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
1446         and min_max_operator.
1447
1448         * config/rs6000/rs6000.c (output_cbranch): Handle all
1449         conditional types in the switch statement.
1450
1451 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
1452
1453         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
1454         non-register variables.
1455         * extend.texi: Document that asm-specifications do not make sense
1456         for non-static local variables.
1457
1458 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
1459
1460         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
1461         (dbxout_type_fields): Lose minimal_debug support.
1462         (dbxout_type_methods, dbxout_type): Likewise.
1463
1464 2001-05-17  Andrew Haley  <aph@redhat.com>
1465
1466         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
1467
1468 2001-05-21  Richard Henderson  <rth@redhat.com>
1469
1470         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
1471         Update all users.
1472
1473 2001-05-20  Richard Henderson  <rth@redhat.com>
1474
1475         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1476         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
1477         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
1478         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1479         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
1480         Likewise.
1481         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
1482         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
1483         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
1484         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1485         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
1486         DEBUG_PUBNAMES_SECTION): Rename as above.
1487         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
1488
1489 2001-05-20  Richard Henderson  <rth@redhat.com>
1490
1491         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
1492         operands unless the operation is commutative.
1493
1494 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1495
1496         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
1497         cases.
1498
1499 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1500
1501         * extend.texi: Clarify documentation of extensions included in ISO
1502         C99.  Prefer C99 terminology and syntax to old GNU terminology and
1503         syntax.  Add more index entries.  Document mixed declarations and
1504         code as an extension in C89 mode.  Warn about future changes to
1505         semantics of inline functions.  Fixes PR other/930.
1506
1507 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1508
1509         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
1510         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1511         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
1512         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
1513
1514         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
1515
1516 2001-05-20  Richard Henderson  <rth@redhat.com>
1517
1518         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
1519         to be output before a branch.
1520
1521 2001-05-20  Richard Henderson  <rth@redhat.com>
1522
1523         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
1524
1525 2001-05-20  Richard Henderson  <rth@redhat.com>
1526
1527         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
1528         (ASM_DOUBLE): Remove.
1529         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
1530         * config/i386/sun386.h: Likewise.
1531
1532         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
1533         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
1534
1535         * config/i386/cygwin.h (INT_ASM_OP): Remove.
1536         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
1537         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
1538         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
1539
1540         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
1541         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
1542         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
1543         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
1544         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
1545         * config/i386/win32.h: Likewise.
1546
1547 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1548
1549         * invoke.texi: Add more options to summary list.
1550
1551 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1552
1553         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
1554         used.  Fixes PR c/2291.
1555         * gcc.1: Regenerate.
1556
1557 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1558
1559         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
1560         the -fpic and -fPIC options, clear flag_pic.
1561
1562 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1563
1564         * hashtable.c (calc_hash): Fix HASHSTEP definition.
1565         * stringpool.c (make_identifier): No statistics here anymore.
1566         * objc-act.c (steup_string_decl): Remove redundant check.
1567
1568 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
1569
1570         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
1571         cpplib.o, cpphash.o, fix-header): Update.
1572         (hashtable.o): New target.
1573         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
1574         struct c_common_identifier here.
1575         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
1576         * c-lex.c (c_lex): Update.
1577         * c-pragma.h: Update.
1578         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
1579         Delete rid_code.
1580         (C_RID_CODE): Delete.
1581         * cpphash.c: Rewrite to use hashtable.c.
1582         * cpphash.h: Update include guards.
1583         (struct cpp_reader): Remove hashtab.
1584         hash_ob and buffer_ob are no longer pointers.  Add hash_table
1585         and our_hashtable.
1586         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
1587         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
1588         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
1589         * cppinit.c (cpp_create_reader): Update.
1590         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
1591         (cpp_interpret_charconst): Eliminate warning.
1592         * cpplib.c (do_pragma, do_endif, push_conditional,
1593         cpp_push_buffer, cpp_pop_buffer): Update.
1594         (_cpp_init_stacks): Rename cpp_init_directives.
1595         (_cpp_cleanup_stacks): Remove.
1596         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
1597         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
1598          cpp_forall_identifiers, cpp_create_reader): Update.
1599         (C_RID_CODE, cpp_make_node): New.
1600         (c_common_identifier): New identifier node for C front ends.
1601         * cppmain.c (main): Update.
1602         * fix-header.c (read_scan_file): Update.
1603         * flags.h (id_clash_len): Make unsigned.
1604         * ggc.h (ggc_mark_nonnull_tree): New.
1605         * hashtable.c: New.
1606         * hashtable.h: New.
1607         * stringpool.c: Update comments and copyright.  Update to use
1608         hashtable.c.
1609         * toplev.c (approx_sqrt): Move to hashtable.c.
1610         (id_clash_len): Make unsigned.
1611         * toplev.h (ident_hash): New.
1612         * tree.c (gcc_obstack_init): Move to hashtable.c.
1613         * tree.h: Include hashtable.h.
1614         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
1615         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
1616         (struct tree_identifier): Update.
1617         (make_identifier): New.
1618 cp:
1619         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
1620         (C_RID_CODE): Remove.
1621         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
1622         (init_parse): Don't do it here.
1623 objc:
1624         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
1625
1626 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
1627
1628         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
1629         as ncessary.
1630         (expand_eh_return): Convert between word_mode and Pmode.
1631         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
1632         are the same size.
1633         (execute_stack_op): Likewise.
1634         (execute_cfa_program): Likewise.
1635         (uw_frame_state_for): Likewise.
1636         (uw_update_context_1): Likewise.
1637         * unwind.inc (_Unwind_Reason_Code): Likewise.
1638         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
1639         (EH_RETURN_STACKADJ_RTX): Likewise.
1640         * config/mips/mips.c (compute_frame_size): Make space for saving
1641         EH return registers.
1642         (mips_expand_epilogue): Handle EH stack adjustments.
1643         * config/mips/mips.md (eh_return): New pattern.
1644         (eh_set_lr_si): Likewise.
1645         (eh_set_lr_di): Likewise.
1646         Add splitter to perform EH return after reload.
1647
1648 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1649
1650         * jump.c (mark_jump_label): Tidy previous change.
1651
1652 2001-05-19  Bruce Korb  <bkorb@gnu.org>
1653
1654         * fixinc/genfixes: no need for two warnings
1655         * fixinc/Makefile.in: open stdin for those building with a closed one.
1656
1657 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1658
1659         * jump.c (jump_optimize_1): Tidy.
1660         (mark_jump_label): When changing the label in a LABEL_REF, change
1661         update any REG_EQUAL notes as well.
1662
1663 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
1664
1665         * c-parse.in (parm_declarator): Split into
1666         parm_declarator_starttypename and parm_declarator_nostarttypename.
1667         (parm_declarator_starttypename, parm_declarator_nostarttypename):
1668         New.  Allow parenthesised sub-declarators which don't begin with a
1669         TYPENAME.  Fixes PR c/166.
1670
1671 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
1672
1673         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
1674         macro.
1675         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
1676         Document it.
1677         * toplev.c (main): If the target does not allow profiling without
1678         a frame pointer, issue an error message.
1679         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
1680         Define it to false.
1681
1682 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1683
1684         * recog.c (general_operand): Modify last change to allow it if reload
1685         has completed.
1686
1687 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
1688
1689         * recog.c (general_operand): Prohibit nonzero subreg bytes on
1690         subregs containing mem.
1691
1692 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
1693
1694         * regrename.c (regrename_optimize): frame pointer register can
1695         use a few hardregs.
1696
1697 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
1698
1699         * README.DWARF: Move into dwarfout.c.
1700
1701 2001-05-18  Dale Johannesen  <dalej@apple.com>
1702
1703         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
1704         specific misuse of r0 as a reload address.
1705
1706 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
1707
1708         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
1709         suceeded.
1710
1711 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1712
1713         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
1714         (add_to_sequence): Make that decision type.
1715         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
1716         (write_switch, write_cond, debug_decision_2): Likewise.
1717
1718         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
1719         for INTEGER_TYPE.
1720         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
1721         variable size.
1722
1723 2001-05-18  Stan Shebs  <shebs@apple.com>
1724
1725         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
1726         * configure: Regenerate.
1727
1728 2001-05-18  Per Bothner  <per@bothner.com>
1729
1730         Changes needed for java/jvspec.c
1731         * gcc.h (n_infiles, outfiles):  Add declarations.
1732         * gcc.c (n_infiles, outfiles):  Mske no longer static.
1733
1734 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
1735
1736         * config/pa/som.h (EXCEPTION_SECTION): Define.
1737
1738 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
1739
1740         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
1741         list.
1742         Add have_location_lists, a variable to determine whether we need a
1743         .debug_loc section or not.
1744         (enum dw_val_class): Add dw_val_class_loc_list.
1745         (dw_val_struct): Add val_loc_list.
1746         (dw_loc_list_struct): New structure, represents location lists.
1747         (new_loc_list): New function, return a new location list, given
1748         the range and location expression.
1749         (add_loc_descr_to_loc_list): New function, add a location
1750         expression to a location list, given the expression and range.
1751         (output_loc_list): New function, output a location list.
1752         (gen_internal_sym): Modified to take symbol prefix, so we can
1753         reuse it for location list symbols.
1754         (add_AT_loc_list): New function, add a location list to a DIE at
1755         the named attribute.
1756         (AT_loc_list): New function, return the location list reference
1757         for a given attribute, if it's a location list.
1758         (print_die): Handle dw_val_class_loc_list.
1759         (size_of_die): Ditto.
1760         (value_format): Ditto.
1761         (output_die): Ditto.
1762         (output_location_lists): New function, output all of the location
1763         lists for a DIE and it's children.
1764         (dwarf2out_finish): Call output_location_lists if we have location
1765         lists.
1766
1767
1768 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
1769
1770         * gcse.c (try_replace_reg): First try global replace, later try to
1771         simplify the expression.
1772
1773         * gcse.c (find_used_regs): Change calling convention; work via
1774         note_uses.
1775         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
1776
1777 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
1778
1779         Revert
1780         2001-02-09  Nick Clifton  <nickc@redhat.com>
1781         * config/arm/arm.md: Change output constraint on post inc
1782         load/store multiple patterns to be a read/write constraint.
1783
1784 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
1785
1786         * basic-block.h (struct basic_block_def): Add documentation about
1787         what a basic block is, and what the various fields are used for.
1788         * flow.c (calculate_globlal_regs_live): Add documentation about
1789         how the algorithm works, and how we know that it will terminate.
1790         Check that the the inductive assumption that guarantees
1791         termination actually holds.
1792         (mark_used_regs): Treat conditionally set registers as used.
1793         (debug_regset): Add comment.
1794         * rtl.texi (cond_exec): Add documentation.
1795
1796         * function.c (expand_function_start): Avoid creating BLKmode
1797         pseudos.
1798
1799 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
1800
1801         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
1802         DIE, even if it has no children.
1803         (dwarf2out_finish): Always output the line-number table, even if
1804         it has no content.
1805
1806 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
1807
1808         * rs6000.md (movsfcc,movdfcc): Remove NE case.
1809
1810 2001-05-17  Bruce Korb <bkorb@gnu.org>
1811
1812         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
1813         * fixinc/genfixes: emit a warning if AutoGen is out of date
1814
1815 2001-05-17  Brendan Conoboy <blc@cygnus.com>
1816             Bruce Korb <bkorb@gnu.org>
1817
1818         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
1819         found in fixinc directory.  Facilitates binary distributions.
1820
1821 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
1822
1823         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
1824         COMPLEX_TYPE.
1825
1826 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
1827
1828         * dwarf2out.c (modified_type_die): Equate qualified type to die.
1829
1830 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1831
1832         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
1833         (simplify_subreg): Handle complex types represented as CONCAT.
1834
1835         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
1836         * rtl.h (swap_commutative_operands_p): Declare.
1837         * rtlanal.c (swap_commutative_operands_p): New.
1838         (operand_preference): New static function.
1839
1840         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
1841         (gen_binary): Likewise.
1842         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
1843         * simplify-rtx.c (simplify_gen_binary,
1844         simplify_gen_relational): Likewise.
1845
1846 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
1847
1848         * cse.c (fold_rtx): Use simplify_subreg.
1849
1850         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
1851         (simplify_gen_subreg): New.
1852         (simplify_rtx): Use simplify_subreg.
1853         * rtl.h (simplify_gen_subreg): Declare.
1854
1855 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
1856
1857         * doc/install.texi: Update Solaris information.
1858
1859         * except.h (protect_cleanup_actions): Remove it.
1860         (lang_protect_cleanup_actions): Declare it.
1861         * except.c (protect_cleanup_actions): Remove it.
1862         (lang_protect_cleanup_actions): New variable.
1863         (init_eh): Don't make protect_cleanup_actions a GC root.
1864         (expand_eh_region_and_cleanup): Call
1865         lang_protect_cleanup_actions.
1866         (output_function_exception_table): Remove unused `align'
1867         variable.
1868         * varasm.c (assemble_external): Abort if we have not yet
1869         opened the assembly output file.
1870
1871 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
1872
1873         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
1874         for eh_personality_libfunc.
1875
1876 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
1877
1878         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
1879         when calling simplify_subreg.  This is needed to allow replacing
1880         of expression of one mode by expression of different mode.
1881
1882 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
1883
1884         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
1885
1886 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
1887
1888         * expr.c (protect_from_queue): Protect against subsequent calls to
1889         emit_queue.
1890         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
1891         too clever.
1892
1893 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
1894
1895         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
1896
1897 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1898
1899         * gccbug.in (CATEGORIES): Add "bootstrap".
1900
1901 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1902
1903         * simplify-rtx.c (simplify_subreg): Break out from ...
1904         * combine.c (combine_splify_rtx) ... here and ...
1905         * recog.c (validate_replace_rtx_1): ... here;
1906         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
1907         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
1908         (subreg_lowpart_p): ... here.
1909
1910 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
1911
1912         * stmt.c (expand_asm_operands): For inout operands, make sure
1913         the substitution of '=' for '+' makes it into the rtl.
1914
1915         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
1916         (reload_as_needed): Call update_eliminable_offsets a bit later.
1917
1918 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1919
1920         * gcc.texi (gccbug): Refer to the web pages for detailed information
1921         on GNATS.
1922
1923 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
1924
1925         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
1926
1927         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
1928         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
1929         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
1930         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
1931         * cross-make: Don't set LIBGCC1.
1932         * mklibgcc.in: Delete all code for building from libgcc1.c.
1933         Always honor LIB1ASMFUNCS if set.
1934
1935         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
1936         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
1937         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
1938         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
1939         config/i386/uwin.asm, config/m68hc11/larith.asm,
1940         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
1941         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
1942         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
1943         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
1944         Delete or update references to libgcc1 in commentary.
1945
1946         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
1947         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
1948         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
1949         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
1950         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
1951         config/arm/t-semi, config/arm/t-strongarm-coff,
1952         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
1953         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
1954         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
1955         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
1956         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
1957         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
1958         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
1959         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
1960         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
1961         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
1962         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
1963         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
1964         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
1965         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
1966         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
1967         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
1968         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
1969         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
1970         config/mips/t-ultrix, config/mn10200/t-mn10200,
1971         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
1972         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
1973         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
1974         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
1975         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
1976         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
1977         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
1978         config/sparc/t-sparclite, config/sparc/t-splet,
1979         config/sparc/t-sunos41, config/sparc/t-vxsparc,
1980         config/sparc/t-vxsparc64, config/v850/t-v850:
1981         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
1982
1983         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
1984         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
1985         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
1986         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
1987         nongcc_SI_type, nongcc_word_type, or perform_*
1988         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
1989
1990         * config/i386/386bsd.h, config/i386/beos-elf.h,
1991         config/i386/linux-aout.h, config/i386/linux-oldld.h,
1992         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
1993         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
1994         Don't include i386/perform.h.
1995
1996         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
1997         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
1998         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
1999         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
2000         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
2001         config/vax/t-openbsd, config/vax/t-vax: Delete.
2002
2003         * config.gcc: Remove references to deleted files.
2004         (arm-semi-aof): Use arm/t-semi for tmake_file.
2005
2006         * gcc.texi, install.texi, invoke.texi, tm.texi:
2007         Delete or rewrite text which is no longer relevant now that
2008         libgcc1 no longer exists.
2009
2010         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
2011         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
2012
2013 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
2014         Bruce Korb <bkorb@gnu.org>
2015
2016         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
2017         initializer
2018
2019 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2020
2021         * i386.md: Add two peepholes to clean up code generated by
2022         cmpstr* expanders.
2023
2024 2001-05-16  Richard Henderson  <rth@redhat.com>
2025
2026         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
2027         variants of non-absolute encodings.
2028
2029         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2030
2031         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
2032         __register_frame_info_table_bases): Export.
2033
2034 2001-05-16  Richard Henderson  <rth@redhat.com>
2035
2036         * except.c (eh_data_format_name): Move to ...
2037         * dwarf2asm.c: ... here.  Use designated initializers if available.
2038         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
2039         * dwarf2asm.h: Update declarations.
2040         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
2041         ASM_PREFERRED_EH_DATA_FORMAT.
2042         (output_call_frame_info): Likewise.  Use 'L' augmentation for
2043         the LSDA encoding.
2044
2045         * unwind-dw2-fde.h (struct fde_vector): New.
2046         (struct old_object): Rename from struct object.
2047         (struct object): New.
2048         (__register_frame_info_bases): Declare.
2049         (__register_frame_info_table_bases): Declare.
2050         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
2051         * unwind-dw2-fde.c (objects): Remove.
2052         (unseen_objects, seen_objects): New.
2053         (__register_frame_info_bases): New.
2054         (__register_frame_info): Use it.
2055         (__register_frame_info_table_bases): New.
2056         (__register_frame_info_table): Use it.
2057         (__deregister_frame_info): Rewrite for changed object struct.
2058         (base_from_object, get_cie_encoding, get_fde_encoding): New.
2059         (fde_unencoded_compare): Rename from fde_compare; uninline.
2060         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
2061         (start_fde_sort): Adjust for new definition of fde_vector.
2062         (fde_insert): Likewise.
2063         (end_fde_sort): Likewise.  Select comparison function based
2064         on properties of the object.
2065         (fde_split): Take object and fde_compare_t arguments.
2066         (frame_heapsort, fde_merge): Likewise.
2067         (classify_object_over_fdes): Rename from count_fdes.  Handle
2068         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
2069         for the object.
2070         (add_fdes): Handle encoded pointers.
2071         (init_object): Rename from frame_init.  Update for new struct object.
2072         (linear_search_fdes): Rename from search_fdes.  Handle encoded
2073         pointers.
2074         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
2075         (binary_search_single_encoding_fdes): New.
2076         (binary_search_mixed_encoding_fdes): New.
2077         (search_object): New.
2078         (_Unwind_Find_FDE): Update for new struct object.  Fill in
2079         the dwarf_eh_bases.
2080         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
2081         iterating over EH data.
2082         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
2083         fde_encoding, lsda_encoding.
2084         (read_uleb128, read_sleb128): Remove.
2085         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
2086         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
2087         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
2088         pointers.
2089         * unwind-pe.h: Add "struct" to _Unwind_Context references.
2090
2091 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2092
2093         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
2094         * cpphash.c (_cpp_lookup_with_hash): Similarly.
2095         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
2096         cpp_spell_token, cpp_output_token): Similarly.
2097         * cpplib.c (lex_macro_node, do_undef, do_pragma,
2098         do_pragma_poison, parse_assertion, do_assert): Similarly.
2099         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
2100         save_parameter, _cpp_create_definition, check_trad_stringification,
2101         cpp_macro_definition): Similarly.
2102         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
2103         * c-lex.c (cb_undef, c_lex): Similarly.
2104         * fix-header.c (recognized_function): Similarly.
2105         * cpplib.h (NODE_LEN, NODE_NAME): New.
2106         (cpp_hashnode): Rename length len.
2107
2108 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
2109
2110         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
2111         GPRs.
2112
2113 2001-05-16  Andreas Jaeger  <aj@suse.de>
2114
2115         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
2116
2117         * toplev.c: Include dwarf2asm.h for prototype of
2118         dw2_output_indirect_constants.
2119
2120 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
2121
2122         * stmt.c (expand_asm_operands): Be able to offload addressof
2123         expression to memory. (PR optimization/185)
2124
2125 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
2126
2127         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
2128         applying distributive law.
2129
2130 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2131
2132         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
2133
2134         * gthr-dce.h (UNUSED): Attribute unused macro.
2135         (__gthread_key_dtor): Make arguments UNUSED.
2136         (__gthread_key_delete): Revise for compatibility with DRAFT4
2137         implementation.
2138
2139 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
2140
2141         * doc/install.texi: Update AIX information.
2142         * README.RS6000: Remove obsolete file.
2143
2144 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
2145             Nathan Sidwell  <nathan@codesourcery.com>
2146
2147         * gcc.c (give_switch): Don't write before start of string.
2148         Always append suffix.
2149
2150 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
2151
2152         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
2153         after stage3.
2154
2155 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2156
2157         * README.ALTOS: Remove obsolete file.
2158
2159 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2160
2161         * c-lex.h (save_and_forget_protocol_qualifiers,
2162         forget_protocol_qualifiers, remember_protocol_qualifiers):
2163         Remove deleted functions' prototypes.
2164
2165 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2166
2167         * c-parse.in (methodtype): New production.
2168         (methoddef, methodproto): Collapse separate '-' and '+'
2169         handlers into 1.
2170
2171 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2172
2173         * c-common.h (RID_FIRST_PQ): New.
2174         * c-parse.in (objc_pq_context): New.
2175         (objc parser): Set objc_pq_context rather than calling
2176         remember_protocol_qualifiers and forget_protocol_qualifiers.
2177         Don't call save_and_forget_protocol_qualifiers.
2178         (yylexname): Handle objc protocol qualifiers here.
2179         * stringpool.c (struct str_header): Replace with sp_hashnode.
2180         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
2181         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
2182         Allocate an IDENTIFIER_NODE for each identifier.
2183         (FORALL_STRINGS, set_identifier): Delete.
2184         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
2185         (ggc_alloc_string): Use an obstack.
2186         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
2187         * tree.h: Update comments.
2188         (set_identifier): Delete.
2189         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
2190         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
2191         remember_protocol_qualifiers): Delete.
2192
2193 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
2194
2195         * flow.c (life_analysis): After life analysis is complete, do
2196         an optional scan over insns looking for REG_LABEL notes that
2197         reference a deleted label.
2198         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
2199         before peeking at LABEL_NUSES.
2200
2201 2001-05-15  Richard Henderson  <rth@redhat.com>
2202
2203         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
2204         (_Unwind_GetTextRelBase): New.
2205
2206 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
2207
2208         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
2209
2210 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
2211
2212         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
2213         so that CHOOSE_SECTION gets used.
2214
2215         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
2216         TARGET_RELOCATABLE like flag_pic for now.
2217
2218 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
2219
2220         * rs6000.md (movdi splitter): Sign extend more efficiently.
2221         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
2222         to "long long" valid on 32-bit and 64-bit hosts.
2223         (logical_operand): Cast trunc_int_for_mode return value.
2224         (rs6000_emit_move): Shift macro to encapsulate variable.
2225         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
2226         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
2227         plus_constant requires signed argument.
2228
2229 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
2230
2231         * gthr-posix.h: Make additional pthread-* functions weak.
2232
2233 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
2234
2235         * recog.c (apply_change_group): Avoid unneeded validating.
2236
2237 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
2238
2239         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
2240         (num_insns_constant): CONST_INT can be 64-bits.
2241
2242 2001-05-14  Stan Shebs  <shebs@apple.com>
2243
2244         * config/darwin.h (LIB_SPEC): Just use -lSystem.
2245         (LIBGCC_SPEC): Don't define.
2246
2247 2001-05-14  Richard Henderson  <rth@redhat.com>
2248
2249         * configure.in (gcc_cv_as_eh_frame): New test.
2250         * config.in, configure: Rebuild.
2251         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
2252
2253 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2254
2255         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
2256         extended precision divide.
2257
2258 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
2259
2260         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
2261         for RETURNS as well.
2262
2263 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2264
2265         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
2266         (CPP_CPU??_SIZE_TYPE): New.
2267         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
2268         (CPP_CPU_SPEC): ... here; support choosing of CPU.
2269         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
2270         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
2271         compiler.
2272         * i386.c (override_options): Add sorry about not suported modes.
2273
2274 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
2275
2276         * config/pa/som.h (NM_FLAGS): Remove.
2277         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
2278         (ASM_OUTPUT_SECTION_NAME): Remove.
2279         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
2280
2281 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
2282
2283         * regrename.c (regrename_optimize): Do not rename registers to
2284         leaf registers.
2285
2286 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
2287
2288         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
2289         contain MEMs.  Remove useless distinction about clobbering
2290         registers.
2291
2292 2001-05-13  Geoff Keating  <geoffk@redhat.com>
2293
2294         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
2295         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
2296         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
2297         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2298         (EXCEPTION_SECTION): Define.
2299
2300 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
2301
2302         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
2303         binary backward compat only.
2304         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
2305         in LIB2FUNCS.  Pass it to mklibgcc.
2306         * mklibgcc.in: Handle LIB2FUNCS_ST.
2307
2308         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
2309
2310 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
2311
2312         * tm.texi (THREAD_MODEL_SPEC): Document it.
2313         * gcc.c (main): Use it.
2314         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
2315         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
2316
2317 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2318
2319         * rtl.h (SYMBOL_REF_WEAK): New macro.
2320         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
2321         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
2322         * rtl.texi (SYMBOL_REF_WEAK): Document it.
2323         * gcc.texi: Remove wrong description.
2324
2325 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
2326
2327         * Makefile.in (STAMP): New macro.
2328         Replace all uses of `touch' with $(STAMP).
2329         * fixinc/Makefile.in: Likewise.
2330
2331 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2332
2333         * configure.in: ldopen is never in -lexc, so don't test for it.
2334         Add test for exc_resume in -lexc for Ada.
2335         * configure: Regenerated.
2336
2337 2001-05-12  Richard Henderson  <rth@redhat.com>
2338
2339         * dwarf2asm.c (size_of_encoded_value): New function.
2340         * dwarf2asm.h: Declare it.
2341         * except.c (output_function_exception_table): Align the TType
2342         array only as wide as the encoding.
2343
2344 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
2345
2346         * extend.texi: Document #pragma GCC java_exceptions.
2347
2348 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2349
2350         * c-parse.in (bison parser, init_reswords): Remove uses of
2351         doing_objc_thang.
2352         * c-tree.h (doing_objc_thang): Remove.
2353
2354 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2355
2356         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
2357         about files not ending in newlines.
2358
2359 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2360
2361         * dwarfout.c (dwarfout_init): Add cast.
2362         * sched-deps.c (sched_analyze_insn): Remove unused vars.
2363         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
2364 cp:
2365         * method.c (build_mangled_C99_name): Remove unused prototype.
2366
2367 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2368
2369         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
2370
2371 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
2372
2373         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
2374         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
2375
2376 2001-05-11  Richard Henderson  <rth@redhat.com>
2377
2378         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2379         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
2380         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
2381         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
2382         (dw2_output_indirect_constants): Prototype.
2383         * dwarf2out.c (dwarf2out_begin_prologue): Generate
2384         current_function_func_begin_label if we'll need it for EH.  Exit
2385         early for IA64_UNWIND_INFO.
2386         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
2387         (eh_data_format_name): Update for indirect references.
2388         (output_function_exception_table): Care for IA64_UNWIND_INFO.
2389         Handle ASM_PREFERRED_EH_DATA_FORMAT.
2390         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
2391         define HAVE_eh_return etc.
2392         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
2393         (final_end_function): Don't call output_function_exception_table.
2394         * toplev.c (compile_file): Call dw2_output_indirect_constants.
2395         (rest_of_compilation): Invoke output_function_exception_table
2396         for ia64 before assemble_end_function.
2397         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
2398         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
2399
2400         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
2401         * unwind.h: Declare them.
2402         * libgcc-std.ver: Export them.
2403         * unwind-pe.h: New file.
2404
2405         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2406
2407         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
2408         instead of "fde".
2409         (find_fde_for_dso): Extract DT_PLTGOT.
2410         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
2411         the segment and gp as well.
2412         * config/ia64/frame-ia64.c: Remove file.
2413         * config/ia64/frame-ia64.h: Remove file.
2414         * config/ia64/unwind-ia64.c: New file.
2415         * config/ia64/unwind-ia64.h: New file.
2416         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
2417         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
2418         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
2419         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2420         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2421         (IA64_UNWIND_INFO): Re-enable.
2422         (HANDLER_SECTION): Remove.
2423         (EH_RETURN_DATA_REGNO): New.
2424         * config/ia64/ia64.md (exception_receiver): Remove.
2425         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
2426         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
2427
2428 2001-05-11  Richard Henderson  <rth@redhat.com>
2429
2430         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
2431         calls and jumps to be bundled together.
2432         (ia64_reorg): Emit a break after a noreturn call that ends
2433         a function.
2434         * config/ia64/ia64.md (break_f): New.
2435
2436 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
2437
2438         * c-lex.c (lex_charconst): Convert into a simple wrapper
2439         around cpp_interpret_charconst, to which most of the code
2440         body is moved.
2441         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
2442         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
2443         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
2444         (lex): Use cpp_interpret_charconst.
2445         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
2446         hex_digit_value): New functions.
2447         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
2448         * cpplib.h (cpp_interpret_charconst): New prototype.
2449         * Makefile.in: Update.
2450
2451 2001-05-12  Dean Wakerley  <dean@wakerley.com>
2452
2453         * doc/install.texi: New file. Converted to texinfo from the HTML
2454         documentation in wwwdocs/htdocs/install.
2455
2456 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
2457
2458         * gcse.c (insert_insn_end_bb): Do not search for assignments to
2459         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2460
2461         * toplev.c (compile_file): Move comment for opening output
2462         file to just before the code that opens the output file.
2463
2464 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
2465
2466         * regmove.c (regmove_optimize): Suppress the optimization for
2467         unchanging destination register.  Add comment above function.
2468
2469 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
2470
2471         * Makefile.in: Exterminate all references to assert.h.
2472         * cross-make: Likewise.
2473         * assert.h: Delete.
2474         * configure.in: Correct commentary.
2475         * configure: Regenerate.
2476
2477         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
2478         Remove __eprintf.
2479
2480         * config/t-freebsd, config/t-linux, config/t-linux-aout,
2481         config/t-netbsd, config/t-rtems, config/x-linux,
2482         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
2483         No need to override INSTALL_ASSERT_H.
2484
2485         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
2486         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
2487         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
2488
2489 2001-05-11  Graham Stott  <grahams@redhat.com>
2490
2491         * combine.c (simplify_comparison): Fix typo.
2492
2493 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2494
2495         * loop.h (struct movables): Remove `num'.
2496         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
2497         Adjust call to strength_reduce.
2498         (num_unmoved_movables): New function.
2499         (move_movables): Don't set movables->num.
2500         (strength_reduce): Compute the number of instructions in the loop
2501         here, rather than in the caller.
2502         (check_dbra_loop): Always clear reversible_mem_store if there
2503         are any memory sets.
2504         (loop_regs_scan): Don't count instructions here.
2505         (count_insn_in_loop): New function.
2506
2507 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
2508
2509         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
2510
2511 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2512
2513         * c-common.c (finish_label_expr): New function, lifted from
2514         from cp/semantics.c.
2515         * c-common.h (finish_label_expr, lookup_label): New prototypes.
2516         * c-parse.in: Move 3 blocks of parser code into new functions.
2517         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
2518         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
2519         (lookup_label): Remove.
2520
2521 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
2522
2523         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
2524         FLOAT_BIT_ORDER_MISMATCH.
2525
2526 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2527
2528         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
2529         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
2530
2531 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
2532
2533         * expr.c (emit_group_load): extract_bit_field requires a REG or
2534         MEM as an argument.
2535
2536 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
2537
2538         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
2539         a computed jump into an unconditional jump.
2540         In second hunk of code for collapsing computed and conditional jumps
2541         into unconditional jumps, reemit the jump in additional cases.
2542
2543         * jump.c (jump_optimize_1): Do not wrap the new jump target
2544         inside a LABEL_REF; gen_jump will do that automatically.
2545
2546 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
2547
2548         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
2549         contents for a SYMBOL_REF in case of floating point constants.
2550
2551 2001-05-10  DJ Delorie  <dj@redhat.com>
2552
2553         * c-common.c (combine_strings): Widen strings in a
2554         host-endian-independent way.
2555
2556 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
2557
2558         * c-parse.in: Remove many shift/reduce conflicts.  Update
2559         %expect values.
2560         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2561         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2562         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2563         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2564         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2565         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2566         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2567         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
2568         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
2569         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
2570         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
2571         typespec_reserved_nonattr, typespec_reserved_attr,
2572         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
2573         structsp_nonattr, components_notype, component_notype_declarator,
2574         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
2575         firstparm, setspecs_fp): New
2576         (typed_declspecs, reserved_declspecs, typed_typespecs,
2577         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
2578         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
2579         declmods_no_prefix_attr, nonempty_type_quals, structsp,
2580         type_quals): Remove.  Users updated.
2581         (initdecls, notype_initdecls, after_type_declarator,
2582         parm_declarator, notype_declarator, absdcl1, components, ivars):
2583         Don't allow attributes at the start of a declarator; include them
2584         in the production containing the declarator instead.  Always
2585         require type specifiers before trying to redeclare a typedef name.
2586         (typename): Allow for attributes but warn that they are ignored.
2587         (parmlist, firstparm, setspecs_fp): Include attributes in
2588         parmlist; suck them off the parser stack in firstparm using
2589         setspecs_fp.
2590
2591 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
2592
2593         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
2594         to determine if a block has an unconditional jump at its end.
2595
2596         * jump.c (jump_optimize_1): When converting a conditional jump
2597         to an unconditional jump, build the jump using gen_jump instead
2598         of just modify operands in-place.
2599
2600 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
2601
2602         * cppinit.c (cpp_post_options): Shut off macro expansion if
2603         -fpreprocessed.
2604         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
2605         IN_I directives only if the # is in column 1 and the directive
2606         name begins in column 2.
2607         * cppmain.c (scan_buffer): Insert a space between # and an
2608         identifier, when that identifier is a directive name.
2609
2610         * tradcpp.c (struct file_buf): Add a pointer to the next entry
2611         in the header search path.
2612         (enum node_type): Add T_INCLUDE_NEXT.
2613         (directive_table): Add entry for include_next.
2614         (do_include_next): New function.
2615         (process_include): New routine, broken out of do_include.
2616         (finclude): Insert 'nhd' argument, to be copied into
2617         next_header_dir of the new buffer.
2618         (main): Adjust to match.
2619         * gsyslimits.h, limity.h: Un-indent #include_next.
2620
2621 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
2622
2623         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
2624         inclusion as a chapter of the GCC manual.
2625         * gcc.texi: Include objc.texi.
2626         * fdl.texi: Use @unnumberedsec for the addendum.
2627         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
2628
2629 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2630
2631         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
2632
2633 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
2634
2635         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
2636         handling of two-address insns.
2637
2638 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
2639
2640         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
2641         ../binutils/nm-new instead of ../binutils/nm.
2642
2643 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2644
2645         * i386.md (movdi splitter): Fix the splitting condition
2646         (float_extenddftf splitter): Fix mode.
2647
2648 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
2649
2650         * genrecog.c (write_switch): Avoid outputting of switch for
2651         types wider than int.
2652
2653 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
2654
2655         * reload1.c (copy_eh_notes): New function.
2656         (emit_input_reload_insns): Call it.
2657         (emit_output_reload_insns): Call it.
2658
2659 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
2660
2661         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
2662         Delete stanzas.
2663         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
2664         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
2665
2666         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
2667
2668 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2669
2670         * pa.md (interspace_jump): Revise comment.
2671         (builtin_longjmp): Block initial setup insns from delay slot of
2672         interspace branch.
2673         (builtin_setjmp_receiver): New expander to save and restore PIC
2674         register.
2675
2676         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
2677
2678 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
2679
2680         * toplev.c (compile_file): Set up the output file before we call
2681         the various initializers for the compiler.
2682
2683         * except.c (sjlj_mark_call_sites): Do not search for assignments to
2684         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
2685
2686         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
2687         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
2688
2689 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
2690
2691         * Makefile.in (tradcpp0): Correct typo in dependency list.
2692
2693 2001-05-06  Geoff Keating  <geoffk@redhat.com>
2694
2695         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
2696         the link register if we're not going to use it.
2697
2698         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
2699         (output_function_profiler): Likewise.
2700
2701 2001-05-07  Alan Modra  <amodra@one.net.au>
2702
2703         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
2704
2705 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
2706
2707         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
2708         zero-extend it.  Make abs_inc unsigned.
2709
2710         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
2711         widest mode in narrowing and widening operations.
2712
2713         * config/mips/mips.md: Sign extend CONST_INTs.
2714
2715 2001-05-06  Andreas Jaeger  <aj@suse.de>
2716
2717         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
2718         (i386 Options): Document -momit-leaf-frame-pointer.
2719
2720 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2721
2722         * c-typeck.c (internal_build_compound_expr): Check for
2723         array to pointer conversion just once.
2724
2725 2001-05-05  Richard Henderson  <rth@redhat.com>
2726
2727         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
2728
2729 2001-05-05  Richard Henderson  <rth@redhat.com>
2730
2731         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
2732         to the parent of the fixup region.
2733
2734 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
2735
2736         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
2737         "inline" keyword.
2738         * cpp.texi (__NO_INLINE): Document it.
2739
2740 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2741
2742         * cppfiles.c (struct include_file): New member err_no.
2743         (find_or_create_entry): Set it.
2744         (open_file): Don't set fds to -2.  Instead, use err_no to
2745         remember previous errors, if any.
2746
2747 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2748
2749         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
2750         between X and Y by using sequences of xgdx and xgdy.
2751
2752 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2753
2754         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
2755         of '!' for the 'D' alternative ('!' is too strong).
2756         ("*logicalsi3_silshl16"): Likewise.
2757         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
2758         ("movstrictsi"): Remove spurious '+'.
2759         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
2760         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
2761         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
2762         a reload to them.
2763
2764 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
2765
2766         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
2767
2768 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
2769
2770         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
2771         into -a.
2772
2773 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2774
2775         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
2776         TARGET_POWERPC64.
2777
2778 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2779
2780         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
2781         soft register, use ror instead of rol.
2782
2783 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2784
2785         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
2786         into account pre/post increment decrement for 68HC12.
2787         Fix other problems in replacement and fix call to reg_mentioned_p.
2788
2789 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2790
2791         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
2792         Put the soft registers in bss for 68HC12.
2793         (L_regs_d3_4): New for _.d3 and _.d4.
2794         (L_regs_d5_6): Likewise.
2795         (L_regs_d1_2): Likewise.
2796         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
2797
2798 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2799
2800         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
2801         to the pre-processor when -fshort-double is specified.
2802         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
2803
2804 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2805
2806         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
2807         (__mulsi3): Rewrite for 68HC12.
2808         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
2809         Mark 'x' constraint with earlyclobber to prevent a
2810         RELOAD_FOR_OTHER_ADDRESS to go in it.
2811         (mulhi3_m68hc12): New pattern.
2812         (mulhi3_m68hc11): Rename of mulhi3.
2813         (mulhi3): New expand for 68HC12 optimisation.
2814         (umulhisi3, mulhisi3): New patterns for 68HC12.
2815
2816 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2817
2818         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
2819         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
2820         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
2821
2822 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2823
2824         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
2825         constants cheap after reload.
2826         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
2827         are cheap.
2828         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
2829         so that gcc prefers a shift by 16.
2830         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
2831
2832 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
2833
2834         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
2835
2836 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2837
2838         * alpha.h: NULL_PTR -> NULL.
2839         * arm.c: Likewise.
2840         * arm.h: Likewise.
2841         * avr.h: Likewise.
2842         * c4x.c: Likewise.
2843         * c4x.h: Likewise.
2844         * i386.c: Likewise.
2845         * i386.md: Likewise.
2846         * i860.c: Likewise.
2847         * ia64.c: Likewise.
2848         * m68hc11.h: Likewise.
2849         * rs6000.h: Likewise.
2850         * sh.c: Likewise.
2851         * sh.h: Likewise.
2852         * sparc.h: Likewise.
2853         * v850.c: Likewise.
2854
2855         * expr.c: Likewise.
2856         * final.c: Likewise.
2857         * gcc.c: Likewise.
2858         * recog.c: Likewise.
2859
2860 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2861
2862         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
2863         `bool' parameter to `int'.
2864
2865         * hash.c (hash_lookup): Likewise.
2866
2867         * hash.h (hash_lookup): Likewise.
2868
2869         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
2870
2871 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
2872
2873         * i386.c (x86_initialize_trampoline): Fix mode of constant.
2874
2875 2001-05-03  Geoff Keating  <geoffk@redhat.com>
2876
2877         * invoke.texi (i386 Options): Delete references to -malign-jumps,
2878         -malign-loops, -malign-functions.
2879         * i386.c (ix86_align_funcs): Delete.
2880         (ix86_align_loops): Delete.
2881         (ix86_align_jumps): Delete.
2882         (override_options): Mark -malign-* as obsolete.  Emulate their
2883         behaviour with the -falign-* options.  Default -falign-* from
2884         the processor table.
2885         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
2886         patch of Wed May 2 13:09:36 2001.
2887         (LOOP_ALIGN): Delete.
2888         (LOOP_ALIGN_MAX_SKIP): Delete.
2889         (LABEL_ALIGN_AFTER_BARRIER): Delete.
2890         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
2891
2892 2001-05-04  Andreas Jaeger  <aj@suse.de>
2893
2894         * except.h: Add prototype declaration for
2895         expand_builtin_init_dwarf_reg_sizes.
2896
2897 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
2898
2899         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
2900
2901 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2902
2903         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
2904         instruction.
2905         ("bitcmpqi2"): New pattern for bit-extract and test.
2906         ("bitcmphi"): New pattern for bitb/bita instructions.
2907
2908 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2909
2910         * gccbug.in: Use a temporary directory when the mktemp command is
2911         not available.
2912
2913 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2914
2915         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
2916         instead of _.d1.
2917         (INITIALIZE_TRAMPOLINE): Call it.
2918         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
2919         (TRAMPOLINE_TEMPLATE): Remove.
2920         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
2921         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
2922         Declare.
2923
2924 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
2925
2926         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
2927         and crtendS.o with PIC.
2928
2929 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2930
2931         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
2932         negative numbers.
2933         (___subdi3, ___adddi3): Use x instead of y as index register.
2934         (__init_bss_section, __map_data_section): Optimize for 68HC12.
2935         (__memset, __memcpy): Likewise.
2936         (regs): Put the soft registers in bss for 68HC12.
2937         (abort): Use trap to abort for 68hc12.
2938         (__mulhi3, __mulhi32): Use emul for 68hc12.
2939         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
2940
2941 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2942
2943         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
2944         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
2945         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
2946         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
2947         Set 68HC12 min offset to -65536.
2948         (print_operand): Put parenthesis arround the operand if it refers
2949         to a symbol having the same name as a register.
2950         (m68hc11_z_replacement): When z register is replaced by its
2951         equivalent soft register, force the insn to be re-recognized.
2952         (m68hc11_check_z_replacement): Fix the test when destination is
2953         the index register and z dies in the insn.
2954         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
2955
2956 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2957
2958         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
2959         costs according to processor variant.
2960         (m68hc11_shift_cost): New function to compute shift costs.
2961         (m68hc11_rtx_costs): Define costs according to processor variant.
2962         (m6811_cost): Costs for 68HC11.
2963         (m6812_cost): Costs for 68HC12.
2964         (COSTS_N_INSNS): Remove.
2965
2966         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
2967         (DEFAULT_RTX_COSTS): Remove.
2968         (CONST_COSTS): Define costs according to OUTER_CODE.
2969         (processor_costs): New struct to define costs.
2970         (m68hc11_cost): Pointer to current costs.
2971
2972 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2973
2974         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
2975         and use m68hc11_notice_keep_cc when using leax/leay.
2976         (addhi3 split): Reject split if the insn is handled by
2977         leax/leay above.
2978         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
2979         push must be handled in a special way if the source operand uses
2980         sp as index register.
2981         (m68hc11_notice_keep_cc): New function.
2982         (m68hc11_gen_movhi): Use it when an insn changes a register but
2983         not the flags.
2984         (m68hc11_gen_movqi): Fix move for 68HC12.
2985         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
2986
2987 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2988
2989         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
2990         and don't pass operands[0] to emit_library_call_value.
2991
2992 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2993
2994         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
2995         (zero_extendsi split): Simplify and use (zero_extendhi).
2996         (*addhi3): Remove 'w' constraint since stack pointer is handled
2997         by (addhi3_sp).
2998         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
2999         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
3000         (*ashrhi3_const): Fix shift by 7.
3001         (*lshrsi3_const16): Fix template.
3002         (call, call_value): Fix constraint and predicate.
3003
3004 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3005
3006         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
3007         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
3008         (CC_REGNUM): Likewise.
3009         (*unnamed splits): Use above constants instead of hard coded numbers.
3010         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
3011         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
3012         (*return_16bit, *unnamed peepholes): Likewise.
3013
3014 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3015
3016         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
3017         rs6000/rs6000.h twice.
3018
3019 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
3020
3021         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
3022         (CPP_SPEC): Conditionally define MSDOS and GO32.
3023         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
3024         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
3025         ignored.
3026         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
3027
3028 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3029
3030         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
3031
3032 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3033
3034         * integrate.h (struct inline_remap): Add leaf_reg_map table.
3035         * integrate.c (expand_inline_function): Use xcalloc to allocate
3036         memory.
3037         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
3038         registers.
3039
3040 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3041
3042         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
3043         if it is not set.
3044
3045 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3046
3047         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
3048         linker if -mrelax is given.
3049         (TARGET_SWITCHES): Document -mrelax.
3050
3051         Re-installed 2001-01-09's patch:
3052         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
3053         if it's wider than long and the target's long is wider than the
3054         host's.
3055
3056 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
3057
3058         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
3059         directly include rs6000/rs6000.h.  Instead do it in tm.h.
3060
3061 2001-05-02  Stan Shebs  <shebs@apple.com>
3062
3063         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
3064         NSConstantString for NeXT-style runtimes.
3065         (STRING_OBJECT_GLOBAL_NAME): New macro.
3066         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
3067         OCTI_STRING_CLASS_DECL.
3068         (constant_string_global_id): New macro.
3069         (string_class_decl): Ditto.
3070         (setup_string_decl): New function.
3071         (build_objc_string_object): Use it to build a NeXT runtime
3072         compatible string initializer.
3073
3074 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
3075
3076         * tradcpp.c (do_define): Make sure we don't walk past limit.
3077
3078 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3079
3080         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
3081         offsets if not REG_OK_STRICT.
3082
3083         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
3084         (INT_REG_OK_FOR_INDEX_P): Likewise.
3085         (INT_REG_OK_FOR_BASE_P): Likewise.
3086         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
3087         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
3088         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
3089         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
3090         REG_OK_FOR_BASE_P. Take an additional parameter.
3091         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
3092         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
3093         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
3094         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
3095         rs6000_legitimate_address() and use it.
3096         * config/rs6000/rs6000.c: Update all callers.
3097         (rs6000_legitimate_address): New function.
3098
3099 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
3100
3101         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
3102         special_constant conditional blocks together.
3103
3104 2001-05-02  Dale Johannesen  <dalej@apple.com>
3105
3106         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
3107         parameter.
3108         (STRICT_ARGUMENT_NAMING): Define.
3109         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
3110         function_arg_partial_nregs, setup_incoming_varargs): Remove
3111         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
3112         is defined.
3113
3114 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3115
3116         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
3117
3118         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
3119         for replacement.
3120
3121         * expr.c (store_field): Do nothing except elaborate side-effects if
3122         zero-bit field.
3123
3124 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3125
3126         * c-lex.c: NULL_PTR -> NULL.
3127         * cse.c: Likewise.
3128         * emit-rtl.c: Likewise.
3129         * gcse.c: Likewise.
3130         * genpeep.c: Likewise.
3131         * jump.c: Likewise.
3132         * mips-tdump.c: Likewise.
3133         * reload1.c: Likewise.
3134         * rtlanal.c: Likewise.
3135         * stmt.c: Likewise.
3136         * stor-layout.c: Likewise.
3137         * toplev.c: Likewise.
3138
3139 2001-05-01  Per Bothner  <per@bothner.com>
3140
3141         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
3142         call do_pending_stack_adjust before emiting label.
3143
3144 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
3145
3146         * extend.texi: Fix typo.
3147
3148 2001-05-01  Stan Shebs  <shebs@apple.com>
3149
3150         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
3151         of UOBJC_MODULES_decl.
3152         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
3153         (generate_descriptor_table): Ditto.
3154         (generate_protocols): Ditto.
3155         (generate_protocol_list): Ditto.
3156         (generate_classref_translation_entry): Ditto.
3157
3158 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
3159
3160         * invoke.texi (Optimize Options): Add documentation for `--param
3161         max-delay-slot-insn-search' and `--param
3162         max-delay-slot-live-search' and reorder --param section.
3163         * params.def: Modify initial comment.
3164         * params.h (param_info): Add `help' member.
3165         * toplev.c (lang_independent_params): Include `help' description.
3166         (display_help): Print --param parameters.
3167
3168 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3169
3170         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
3171         Remove references to deleted files.
3172         (*-*-openbsd): No need to override xmake_file.
3173         (*-*-sysv4): Treat like *-*-sysv.
3174
3175         * configure.in: Probe for ldopen in various places, and set up
3176         collect2 to be linked with them if found.
3177         Don't dink with Windows registry stuff unless $host_os is a
3178         Win32 os name.  Check to see if we need -ladvapi32.
3179         * configure: Regenerate.
3180
3181         * Makefile: Get rid of CLIB and HOST_CLIB.
3182         Substitute in COLLECT2_LIBS and link collect2 against its contents.
3183         * build-make: Get rid of HOST_CLIB.
3184
3185         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
3186         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3187         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3188         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
3189         config/rs6000/x-rs6000: Delete.
3190
3191         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
3192         Don't set CLIB.
3193
3194         24 x-host fragments remain, 0 x-cpu, 3 top level.
3195
3196 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
3197
3198         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
3199         * configure: Regenerate.
3200
3201 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
3202
3203         * Makefile.in (install-headers): Remove redundant dependency.
3204
3205 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
3206
3207         * c-tree.texi (USING_STMT): Document.
3208
3209 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3210
3211         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
3212         * c-common.c: Likewise.
3213         * c-decl.c: Likewise.
3214         * combine.c: Likewise.
3215         * rs6000.c: Likewise.
3216         * except.c: Likewise.
3217         * explow.c: Likewise.
3218         * expr.c: Likewise.
3219         * fold-const.c: Likewise.
3220         * function.c: Likewise.
3221         * gcc.c: Likewise.
3222         * gcse.c: Likewise.
3223         * integrate.c: Likewise.
3224         * loop.c: Likewise.
3225         * objc/objc-act.c: Likewise.
3226         * recog.c: Likewise.
3227         * reg-stack.c: Likewise.
3228         * reload.c: Likewise.
3229         * reload1.c: Likewise.
3230         * simplify-rtx.c: Likewise.
3231         * stmt.c: Likewise.
3232         * varasm.c: Likewise.
3233
3234 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
3235
3236         * diagnostic.def: New file.
3237         * diagnostic.h (diagnostic_t): New enum.
3238         * Makefile.in (diagnostic.o): Depend on diagnostic.def
3239
3240 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3241
3242         * tsystem.h: Test only POSIX for availability of string.h
3243         and time.h.
3244         * config.gcc (all systems): If USG appeared in xm_defines,
3245         change it to POSIX.  If both USG and POSIX appeared, just
3246         delete USG. Remove unnecessary quotes around xm_defines
3247         settings.
3248         (m68k-crds-unos*): Don't #define unos - tested nowhere.
3249         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
3250         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
3251         powerpc-*-linux*): No need to set xm_defines - handled by
3252         global settings for *-*-linux*.
3253
3254 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
3255
3256         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
3257         Always include gstab.h, not system stab.h.  Don't provide
3258         default definitions of N_CATCH or N_OPT.  Always use the
3259         gstab.h variant of STAB_CODE_TYPE.
3260         * final.c: Don't include stab.h/gstab.h at all, or provide
3261         defaults for N_SLINE and N_SOL.
3262
3263         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
3264         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
3265         available.
3266         * sdbout.c: Always include gsyms.h instead of system syms.h.
3267
3268         * configure.in: No need to check for stab.h.
3269         * configure, config.in: Regenerate.
3270         * Makefile.in (final.o): Don't depend on gstab.h.
3271
3272 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3273             Richard Henderson  <rth@redhat.com>
3274
3275         * extend.texi: Improve documentation of volatile asms.
3276
3277 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3278
3279         * c-tree.texi: Fix thinko.
3280         * gcc.texi: Likewise.
3281
3282 2001-04-30  Richard Henderson  <rth@redhat.com>
3283
3284         * c-common.c (c_promoting_integer_type_p): New function, from the
3285         corpse of old macro.  Properly promote too-small enumerations and
3286         booleans.  Adjust all callers.
3287         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
3288         (c_promoting_integer_type_p): Declare.
3289         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
3290         * c-typeck.c: Likewise.
3291         (default_conversion): Remove now redundant boolean check.
3292
3293 2001-04-30  Jan Hubicka  <jh@suse.cz>
3294             Richard Henderson  <rth@redhat.com>
3295
3296         * regmove.c (try_apply_stack_adjustment): Remove now redundant
3297         sanity checks.
3298         (combine_stack_adjustments_for_block): Don't combine stack
3299         allocation followed by deallocations.  Handle grow-up stacks.
3300
3301 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3302
3303         * fdl.texi: New file.
3304         * c-tree.texi: Use the GFDL.
3305         * gcc.texi: Likewise.
3306
3307 2001-04-30  Stan Shebs  <shebs@apple.com>
3308
3309         * invoke.texi: Add a section documenting Objective-C options.
3310
3311 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
3312
3313         * emit-rtl.c (try_split):  Copy EH notes to sequence.
3314
3315 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
3316
3317         * regmove.c (record_stack_memrefs): Catch all references to the
3318         stack pointer.
3319
3320 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
3321
3322         * Makefile.in (stmp-fixinc): quote shell assignment values
3323
3324 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3325
3326         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
3327
3328         * gcc.c: Likewise.
3329
3330         * prefix.c: Likewise.
3331
3332 2001-04-28  Stan Shebs  <shebs@apple.com>
3333
3334         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
3335         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
3336         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
3337         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
3338
3339         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
3340         (NEXT_OBJC_RUNTIME): Define.
3341
3342 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
3343
3344         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
3345         * simplify-rtx.c (simplify_gen_relational): Likewise.
3346
3347         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
3348
3349         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
3350         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
3351
3352         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
3353         registers in SSE case; fix handling of the immediates.
3354         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
3355         operands to be in regsiters before reload.
3356         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
3357         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
3358         (abstf,absxf,negtf,negxf splitters): Compute
3359         properly the regnum for x86_64.
3360         (avsdf2_if_rex64): New.
3361
3362 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
3363
3364         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
3365         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
3366         into the constant pool.
3367         * jump.c (jump_optimize_1): Remove barrier successors after all
3368         the LABEL_NUSES counds have been computed.
3369         (delete_barrier_successors): When deleting a tablejump insn, also
3370         delete the jump table it uses.
3371         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
3372         label into memory.
3373
3374 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
3375
3376         * pa.c (FRP): Remove erroneous white space in macro definition.
3377
3378 2001-04-28  Andreas Jaeger  <aj@suse.de>
3379
3380         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
3381         appropriate.
3382         * extend.texi: Likewise.
3383         * tm.texi: Likewise.
3384
3385 2001-04-28  Andreas Jaeger  <aj@suse.de>
3386
3387         * md.texi: Use XX-bit instead of XXbit or XX bit where
3388         appropriate.
3389
3390 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
3391
3392         * gcc.c (process_command): Allow -l lib in addition to -llib
3393         for POSIX compliance. This fixes PR c/2347.
3394
3395         * invoke.texi: Update section on Link Options accordingly.
3396
3397 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
3398
3399         * function.c (purge_addressof_1): Remove the duplicate
3400         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
3401         blocks together.
3402
3403 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
3404
3405         * except.c (expand_eh_region_start): Don't start a new block.
3406         (expand_eh_region_end): Don't end a block.
3407         * stmt.c (expand_end_bindings): Don't end EH blocks.
3408         (expand_decl_cleanup): Starting an EH region won't change the block.
3409         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
3410         (is_eh_region): Lose.
3411         * tree.h: Adjust.
3412
3413 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
3414
3415         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
3416
3417         * collect2.c (main): Add `-L' case to remove duplicate entries.
3418         (is_in_args): New function to check for a duplicate argument.
3419         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
3420         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
3421         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
3422         Define to be nonzero.
3423
3424 2001-04-27  Andreas Jaeger  <aj@suse.de>
3425             Richard Henderson  <rth@redhat.com>
3426
3427         * md.texi (Machine Constraints): Document additional i386
3428         constraints and fix description of "A".
3429
3430 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
3431
3432         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
3433
3434 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
3435
3436         * except.c (get_exception_filter): word_mode, not Pmode.
3437
3438 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
3439
3440         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
3441         common to other movsf patterns.  Move up so that in future
3442         people who change the other patterns will change it too.
3443         (movsf_lo_sum): Allow even for soft-float; add appropriate
3444         constraints.
3445         (movsf_high): Likewise.
3446         (movsf_high+1): Allow even for soft-float.
3447
3448         * function.c (expand_function_end): Always clobber the
3449         return registers, even if there is no return label.
3450
3451 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3452
3453         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
3454
3455 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
3456
3457         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
3458         (pushqi2_rex64, pushhi2_rex64): Add.
3459
3460 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
3461
3462         * except.c (expand_eh_region_end_cleanup): Force pending stack
3463         adjust before emitting label that branches around cleanup code.
3464
3465 2001-04-26  H.J. Lu  (hjl@gnu.org)
3466
3467         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
3468
3469         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
3470         define.
3471         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
3472         (ASM_OUTPUT_SECTION_NAME): Likewise.
3473         (ASM_WEAKEN_LABEL): Likewise.
3474         (UNIQUE_SECTION): Likewise.
3475         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3476         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3477         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
3478         (ASM_OUTPUT_SECTION_NAME): Likewise.
3479         (ASM_WEAKEN_LABEL): Likewise.
3480         (UNIQUE_SECTION): Likewise.
3481         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
3482         (ASM_OUTPUT_DESTRUCTOR): Likewise.
3483         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
3484         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
3485         (ASM_FILE_START): Likewise.
3486         (ASM_OUTPUT_SOURCE_LINE): Likewise.
3487         (ASM_DECLARE_OBJECT_NAME): Likewise.
3488         (ASM_FILE_END): Likewise.
3489         (ASM_DECLARE_FUNCTION_NAME): Likewise.
3490         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3491         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3492         (ASM_OUTPUT_CASE_LABEL): Likewise.
3493         (ASM_OUTPUT_SKIP): Likewise.
3494         (ASM_OUTPUT_ASCII): Likewise.
3495         (ASM_OUTPUT_IDENT): Likewise.
3496         (READONLY_DATA_SECTION): Likewise.
3497         (EXTRA_SECTIONS): Likewise.
3498         (EXTRA_SECTION_FUNCTIONS): Likewise.
3499         (SELECT_RTX_SECTION): Likewise.
3500         (SELECT_SECTION): Likewise.
3501
3502         * config/mips/linux.h (INVOKE__main): Undefine.
3503         (CTOR_LIST_BEGIN): Likewise.
3504         (CTOR_LIST_END): Likewise.
3505         (DTOR_LIST_BEGIN): Likewise.
3506         (DTOR_LIST_END): Likewise.
3507         (SET_ASM_OP): Defined it to ".dummy".
3508         (ASM_OUTPUT_DEF): Defined.
3509         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
3510
3511 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
3512
3513         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
3514         assembler supports .p2align.
3515
3516 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
3517
3518         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
3519
3520 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3521
3522         * integrate.c (expand_inline_function): Check for error_mark_node
3523         in actual argument.
3524
3525 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
3526
3527         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
3528         -m386 and -m486.
3529
3530 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
3531
3532         * configure.in (configargs.h): Define thread_model.
3533         * configure: Rebuilt.
3534         * gcc.c (main): Print it with -v.
3535
3536 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3537
3538         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
3539         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
3540         * gcc.1: Regenerate.
3541
3542 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3543
3544         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
3545         is_redundant_typedef): Use static inline instead of inline static.
3546
3547 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
3548
3549         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
3550         this directory is always searched.
3551
3552 2001-04-25  Richard Henderson  <rth@redhat.com>
3553
3554         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
3555         of registers to restore along non eh_return path.
3556
3557 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3558
3559         * c-format.c (check_format_info_recurse): Handle
3560         PLUS_EXPR for format string.
3561
3562 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3563
3564         * config/ia64/ia64.h (CC1_SPEC): Define.
3565         * config/ia64/linux.h (CC1_SPEC): Define.
3566
3567 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
3568
3569         * emit-rtl.c (constant_subword): Also do sign extension in
3570         BITS_PER_WORD == 16 case.
3571
3572 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
3573
3574         * loop.c (try_swap_copy_prop): Go back to checking insn.
3575
3576 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3577
3578         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
3579         if check_mode is non-zero.
3580
3581 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
3582
3583         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
3584         out and comparison sequence has been detected, put result into
3585         proper temporary pseudo.
3586
3587 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3588
3589         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
3590         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
3591         * libgcc2.c: Remove __dummy and __builtin_saveregs.
3592         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
3593         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
3594         for future reference.
3595
3596 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
3597
3598         * except.c (reachable_handlers): Step out one level from a RESX.
3599
3600         * except.c (struct eh_region): Rename 'last' to 'resume'.
3601         (mark_eh_region, duplicate_eh_region_1): Adjust.
3602         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
3603         (build_post_landing_pads): Likewise.
3604         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
3605         (expand_eh_region_end_must_not_throw): Likewise.
3606         (connect_post_landing_pads): Thread (only) regions with non-deleted
3607         resume insns.
3608
3609         * except.c (expand_eh_region_end_cleanup): Save the EH return data
3610         registers around the cleanup.
3611         (get_exception_filter): New fn.
3612         (finish_eh_generation): Use it.
3613
3614 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
3615
3616         * c-semantics.c (add_scope_stmt): Don't call
3617         current_scope_stmt_stack multiple times.
3618
3619 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
3620             Nathan Sidwell <nathan@codesourcery.com>
3621
3622         Lazy __FUNCTION__ generation.
3623         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
3624         RID_C99_FUNCTION_NAME): New _RIDs.
3625         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
3626         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
3627         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
3628         global tree slots.
3629         (function_id_node, pretty_function_id_node, func_id_node): Remove.
3630         (c99_function_name_decl_node, function_name_decl_node,
3631         pretty_function_name_decl_node, saved_function_name_decls):
3632         Declare.
3633         (struct language_function): Remove x_function_name_declared_p.
3634         (make_fname_decl): Remove a parameter.
3635         (declare_function_names): Remove prototype.
3636         (start_fname_decls, finish_fname_decls): Prototype.
3637         (fname_as_string): Likewise.
3638         (fname_string, fname_decl): Likewise.
3639         * c-common.c (make_fname_decl): Adjust.
3640         (struct fname_var_t): New struct.
3641         (fname_vars): New static array.
3642         (declare_function_name): Remove.
3643         (start_fname_decls, finish_fname_decls): New functions.
3644         (fname_as_string): New function from remnants of
3645         declare_function_name.
3646         (fname_string, fname_decl): New functions.
3647
3648         * c-decl.c (c_function_name_declared_p): Remove.
3649         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
3650         don't call declare_function_name. Call start_fname_decls.
3651         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
3652         clobber the line number. Call finish_decl.
3653         (start_function): Call start_fname_decls.
3654         (finish_function): Call finish_fname_decls.
3655         Remove c_function_name_declared_p.
3656         (push_c_function_context): Don't push c_function_name_declared_p.
3657         (pop_c_function_context): Don't pop c_function_name_declared_p.
3658         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
3659         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
3660         (program): Call finish_fname_decls for C.
3661         (primary): Add VAR_FUNC_NAME.
3662         (reswords): Add slots for __FUNCTION__ et al.
3663         (rid_to_yy): Add mappings for __FUNCTION__ et al.
3664         (yylexname): If it's a STRING_FUNC_NAME generate the function name
3665         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
3666         * c-semantics.c (prune_unused_decls): Remove.
3667         (finish_stmt_tree): Don't call prune_unused_decls.
3668         (genrtl_decl_stmt): Don't prune unused decls here.
3669
3670 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
3671
3672         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
3673         constant pool, use the pool's SYMBOL_REF instead.
3674
3675         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
3676         v850e.
3677
3678 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3679
3680         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
3681         passing nested NOP_EXPRs to fold.
3682
3683 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
3684
3685         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
3686
3687 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
3688
3689         * loop.c (loop_delete_insns): Add prototype.
3690
3691 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
3692
3693         * configure.in:  Remove ENABLE_STD_NAMESPACE.
3694         * config.in:  Regenerated.
3695         * configure:  Regenerated.
3696
3697 2001-04-22  Stan Shebs  <shebs@apple.com>
3698
3699         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
3700         into xm_defines.
3701         * config/rs6000/xm-darwin.h: Remove file.
3702
3703 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3704
3705         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
3706         (write_c_file_stat): Likewise.
3707
3708         * dbxout.c (dbxout_init): Likewise.
3709
3710         * profile.c (output_func_start_profiler): Likewise.
3711
3712 2001-04-22  Philipp Thomas  <pthomas@suse.de>
3713
3714         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
3715         require it instead of the CVS version.
3716         * cpperror.c (v_message): Put a blank before the macro
3717         body to not confuse exgettext.
3718
3719 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
3720
3721         * flow.c (proagate_one_insn): Remove useless assignment.
3722         * jump.c (delete_insn): Tidy.
3723         * loop.c (try_copy_prop): When deleting an instruction with a
3724         REG_RETVAL note, delete the entire libcall sequence.
3725         (loop_delete_insns): New function.
3726         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
3727         we're not substituting into them yet.
3728
3729 2001-04-21  Kazu Hirata  <kazu@hxi.com>
3730
3731         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
3732
3733         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
3734         Fix a comment typo.
3735         * config/i960/i960.c (signed_arith_operand): Likewise.
3736
3737         * calls.c (expand_call): Fix a comment typo.
3738
3739 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
3740
3741         * configure.in: Probe for times, clock, struct tms, and clock_t.
3742         * configure, config.in: Regenerate.
3743         * timevar.c: Replace ifdef forest in get_time with (relatively)
3744         straightforward series of checks based on autoconf's probes.
3745
3746 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
3747
3748         * config/pa/som.h (NM_FLAGS): Define.
3749
3750 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
3751
3752         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
3753         function.
3754         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
3755         * ia64.c (nop_cycles_until): New function.
3756         (prev_cycle, prev_first, last_issued): New static variables.
3757         (ia64_sched_reorder): Additional arg for clock.
3758         On final scheduling pass, emit extra NOPs as needed.
3759         Set prev_first and prev_cycle.
3760         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
3761         (ia64_variable_issue): Set last_issued.
3762
3763 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
3764
3765         * config/i386/i386.c (ix86_expand_int_movcc,
3766         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
3767
3768 2001-04-20  Geoff Keating  <geoffk@redhat.com>
3769
3770         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
3771         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
3772         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
3773         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
3774         ctrdi_internal6): In the short-branch case, this insn is only 4
3775         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
3776
3777 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
3778
3779         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
3780         "=u" is used together with "st" resp. "st(1)" clobber.
3781
3782 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
3783
3784         * gcse.c (gcse_main): Fix comment typo.
3785         (delete_null_pointer_check): Likewise.
3786         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
3787         * cse.c (cse_insn): Likewise.
3788         * function.c (fixup_var_refs_insns_with_hash): The sequence is
3789         toplevel.
3790
3791 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
3792
3793         * toplev.c: Excise all code for the undocumented -dm option.
3794         (float_signal): Call signal just once, unconditionally.
3795
3796 2001-04-19  Geoff Keating  <geoffk@redhat.com>
3797
3798         * fold-const.c (fold): Use first_rtl_op rather than
3799         TREE_CODE_LENGTH when looping over parameters of a tree.
3800         Correct strange grouping in test for evaluated SAVE_EXPR.
3801
3802 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
3803
3804         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
3805         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
3806
3807         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
3808         name at 32 total characters.
3809         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
3810         functions in named sections -- data items can still go into unique
3811         sections, but they have normal names (ie $LIT$ and $DATA$).
3812
3813         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
3814         INIT_PRIORITY.
3815
3816 2001-04-19 DJ Delorie  <dj@redhat.com>
3817
3818         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
3819         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
3820         * config/i386/cygwin.h: Likewise.
3821         * config/i386/mingw32.h: Likewise.
3822         * config/vax/vms.h: Likewise.
3823         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
3824
3825         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
3826         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
3827         * config/i386/xm-cygwin.h: Likewise.
3828         * config/i386/xm-djgpp.h: Likewise.
3829         * config/i386/xm-mingw32.h: Likewise.
3830         * config/vax/xm-vms.h: Likewise.
3831
3832         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
3833         instead of OBJECT_SUFFIX.
3834         * collect2.c (find_a_file): Look for files matching the extension
3835         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
3836         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
3837         TARGET_EXECUTABLE_SUFFIX.
3838         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
3839         (make_relative_prefix): Likewise.
3840         (convert_filename): Use TARGET_ suffixes throughout.  Remove
3841         NO_AUTO_EXE_SUFFIX.
3842         (process_command): Likewise.
3843         (do_spec_1): Likewise.
3844         * java/lang.c (init_parse): Likewise.
3845
3846         * gcc.texi : Document four new options matching the pattern
3847         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
3848         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
3849         documentation for NO_AUTO_EXE_SUFFIX.
3850
3851 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
3852
3853         * toplev.h (struct lang_hooks): Allow decode_option to indicate
3854         that language-independent processing should not be done.
3855         * toplev.c (main): Adjust accordingly.
3856
3857         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
3858         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
3859
3860         * mips.md (reload_outputdi): Require that operand0 be a
3861         general_operand.
3862
3863 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
3864
3865         * invoke.texi (-Wshadow): Clarify.
3866
3867 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
3868
3869         * loop.c (load_mems): Examine all the instructions in the loop
3870         before concluding that all jumps branch to the first instruction
3871         after the loop.
3872
3873 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
3874
3875         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
3876
3877 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
3878
3879         * cpp.texi (-Wwhite-space): Remove.
3880         (-Wall): -Wall does not imply -Wwhite-space.
3881
3882 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
3883
3884         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
3885         use it instead of blindly generating a .stabs.
3886         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
3887         in the right place.
3888         * xcoffout.c: Don't bother defining default for N_CATCH.
3889         (UNKNOWN_STAB): Use internal_error.
3890         (stab_to_sclass): Remove now-unnecessary aborts.
3891         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
3892
3893 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
3894
3895         * jump.c (mark_all_labels): Canonicalize the tail recursion
3896         label attached to CALL_PLACEHOLDER insns.
3897
3898 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3899
3900         * output.h (dump_flow_info, free_basic_block_vars,
3901         which_alternative): Delete redundant prototypes.
3902
3903         * rtl.h (bss_section): Likewise.
3904
3905 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
3906
3907         * dbxout.c (N_OPT): Define if not available from <stab.h>
3908
3909 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3910
3911         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
3912         libraries and native K&R compilers.
3913
3914 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3915
3916         * c-typeck.c (convert_arguments): Don't check for width changes
3917         with -Wtraditional.
3918
3919         * invoke.texi (-Wtraditional): Update documentation.
3920
3921 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
3922
3923         * toplev.c (output_lang_identify): Delete.
3924         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
3925         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
3926         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
3927         after calling ASM_FILE_END.
3928
3929         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
3930         Instead, unconditionally emit an N_OPT stab with string equal
3931         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
3932
3933         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
3934
3935         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
3936         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
3937         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
3938         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
3939         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
3940         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
3941         config/i370/i370.h, config/i386/beos-elf.h,
3942         config/i386/osf1elf.h, config/i386/osfrose.h,
3943         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
3944         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
3945         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
3946         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
3947         config/mips/iris6.h, config/mips/osfrose.h,
3948         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
3949         config/sparc/sp64-elf.h:
3950         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
3951         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
3952
3953         * config/elfos.h, config/freebsd.h, config/linux.h,
3954         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
3955         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
3956         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
3957         of ASM_FILE_START which merely emit a .version directive.  Delete
3958         definitions of ASM_FILE_END which merely emit an .ident directive.
3959
3960         * config/avr/avr.h, config/vax/vax.h: Delete definition of
3961         ASM_IDENTIFY_GCC and move part of its logic into
3962         ASM_FILE_START.
3963
3964         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
3965         config/sparc/linux-aout.h: Don't emit .version directive in
3966         ASM_FILE_START.
3967
3968         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
3969         (output_file_start): Correct comment.
3970
3971         * config/i386/osfrose.h: Don't emit trailing .ident directive.
3972         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
3973         to match gdb.
3974         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
3975         * config/rs6000/aix.h: Correct comment.
3976
3977         * config/i386/i386afe.h: Delete.
3978         * config.gcc: Remove references to i386afe.h.
3979
3980         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
3981         other macros deleted by this patch were undocumented.
3982
3983 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
3984
3985         * pa.md (reload_outdi): Operand 0 must be a non hard register.
3986
3987         * pa.c (secondary_reload_class): SAR<->FP copies require a
3988         secondary register.
3989
3990         * install.texi (mips-mips-bsd): Update list of functions
3991         required to include memmove.
3992         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
3993         used functions to include memmove.
3994
3995 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
3996
3997         * i386.md (sqrtdf2): SFmode should be DFmode.
3998
3999 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
4000
4001         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
4002         (find_moveable_store): Likewise.
4003
4004 2001-04-15  Jim Wilson  <wilson@redhat.com>
4005
4006         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
4007
4008 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
4009
4010         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
4011         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
4012
4013 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
4014
4015         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
4016         first alternative.
4017
4018 2001-04-14  Alan Modra  <amodra@one.net.au>
4019
4020         * pa.c (force_mode): New function.
4021         (emit_move_sequence): Use it instead of generating new rtx_REGs.
4022
4023 2001-04-13  Jim Wilson  <wilson@redhat.com>
4024
4025         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
4026         (first_instruction): New static variable.
4027         (rtx_needs_barrier): Return 1 for alloc.
4028         (init_insn_group_barriers): Set first_instruction.
4029         (rws_sum): Delete duplicate definition.
4030         (group_barrier_needed_p): Return 0 when first_instruction true.
4031         (safe_group_barrier_needed_p): Save and restore first_instruction
4032         around group_barrier_needed_p call.
4033
4034 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
4035
4036         * expr.h (enum libfunc_index): Add LTI_memmove.
4037         (memmove_libfunc): Define macro.
4038         * optabs.c (init_optabs): Initialize memmove_libfunc.
4039         * expr.c (expand_assignment): Use memmove_libfunc instead of
4040         memcpy_libfunc.
4041
4042 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
4043
4044         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
4045         fp mode addresses.
4046
4047 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4048
4049         * Makefile.in (reg-stack.o): Depend on reload.h.
4050         (insn-attrtab.o): Depend on flags.h.
4051
4052         * genattrtab (main): Include flags.h in insn-attrtab.c.
4053
4054         * reg-stack.c: Include reload.h.
4055
4056         * sparc.h (flag_pic): Delete redundant declaration.
4057
4058         * output.h (flag_pic): Likewise.
4059
4060         * tree.h (pedantic): Likewise.
4061
4062 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4063
4064         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
4065
4066         * jump.c, regmove.c, toplev.c: Include reload.h.
4067
4068         * reload.h (reload_cse_regs): Declare.
4069
4070         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
4071         reload_cse_regs, init_reload, mark_home_live, reload,
4072         init_caller_save): Delete redundant prototypes.
4073
4074 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4075
4076         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
4077
4078         * regclass.c, ssa.c: Include expr.h.
4079
4080         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
4081         gen_move_insn): Delete redundant declarations.
4082
4083 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4084
4085         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
4086         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
4087         MAKEINFO and MAKEINFOFLAGS too.
4088         (stage4_build): Correctly order -B flags.
4089
4090 2001-04-13  Alan Modra  <amodra@one.net.au>
4091
4092         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
4093         PIC_OFFSET_TABLE_SAVE_RTX.
4094         (zdepi_cint_p): Describe zdepi insn.
4095         Formatting and white space fixes throughout file.
4096
4097         * pa.c (uint32_operand): Don't use long constant >= 2^32.
4098         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
4099         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
4100         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
4101         (output_64bit_and): Use plain `int's for shift counts.
4102         (output_64bit_ior): Likewise.
4103         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
4104         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
4105         `N', and simplify.
4106
4107         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
4108         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
4109         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
4110         NEW_HP_ASSEMBLER into one.  Kill warnings.
4111
4112         * pa-gas.h: Delete file.
4113         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
4114         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
4115         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
4116         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
4117
4118         * config/pa/mill32.S: New file.
4119         * config/pa/mill64.S: New file.
4120         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
4121         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
4122         * config/pa/t-linux64: New file.
4123         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
4124         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
4125         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
4126
4127         * elfos.h (SELECT_SECTION): Undef before defining.
4128         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
4129         (LIB_SPEC): Remove -lmilli.
4130         (DBX_REGISTER_NUMBER): Remove.
4131         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
4132         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
4133         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
4134         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
4135         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
4136         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
4137         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
4138         TARGET_GAS): Define.
4139         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
4140         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
4141         regs if we don't have a prototype.
4142         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
4143         * pa.h (TARGET_ELF32): Default to 0 if undefined.
4144         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
4145         EH_RETURN_HANDLER_RTX): Define.
4146         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
4147         (DWARF_FRAME_REGNUM): Define.
4148         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
4149         * pa32-linux.h: New file.
4150         * pa64-linux.h: New file.
4151
4152         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
4153         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
4154         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
4155         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
4156         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
4157         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
4158         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
4159         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
4160         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
4161         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
4162         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
4163         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
4164         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
4165         * pa64-hpux.h: New file.
4166         (ASM_FILE_START): Correct typo.
4167         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
4168         * config.gcc: Modify for above.
4169
4170 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
4171
4172         * jump.c (jump_optimize_1): Don't delete dead stores here.
4173         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
4174         prior to running jump optimize before cse2.
4175
4176 2001-04-12  Richard Henderson  <rth@redhat.com>
4177
4178         * Makefile.in (regmove.o): Depend on except.h.
4179         * regmove.c: Include it.
4180
4181 2001-04-12  Stan Shebs  <shebs@apple.com>
4182
4183         * objc/objc-act.c: Remove all code ifdefed with the never-used
4184         macro OBJC_INT_SELECTORS.
4185         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
4186         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
4187
4188 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
4189
4190         * config/pa/quadlib.c: Add prototypes.
4191
4192 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4193
4194         * bitmap.h (debug_bitmap): Delete redundant prototype.
4195
4196         * rtl.h (get_frame_size): Likewise.
4197
4198 2001-04-12  Jim Wilson  <wilson@redhat.com>
4199
4200         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
4201         to just emit an fnorm.
4202
4203 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4204
4205         * c-common.h (truthvalue_conversion, type_for_mode,
4206         type_for_size): Delete redundant declarations.
4207
4208         * c-lex.h (is_class_name): Likewise.
4209
4210         * c-tree.h (pedantic, convert, getdecls, gettags,
4211         global_bindings_p, init_decl_processing, insert_block,
4212         maybe_build_cleanup, poplevel, print_lang_decl,
4213         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
4214         set_block, incomplete_type_error, build_function_call,
4215         lvalue_or_else, mark_addressable): Likewise.
4216
4217         * expr.h (expand_tree_builtin): Likewise.
4218
4219 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
4220
4221         * invoke.texi: Document --param max-gcse-memory.
4222
4223 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4224
4225         * configure.in (errno): Check for declaration.
4226         * configure, config.in: Regenerated.
4227
4228         * system.h (errno): Only declare if not already done.
4229
4230 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4231
4232         * recog.c (general_operand, immediate_operand,
4233         nonmemory_operand): Require CONST_INTs to be sign-extended
4234         values for their modes.
4235
4236 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4237
4238         * expmed.c (store_bit_field): Truncate CONST_INTs.
4239         (expand_mult_highpart, expand_divmod): Likewise.
4240         * expr.c (convert_modes, store_field): Likewise.
4241         * integrate.c (expand_inline_function): Use promote_mode() to
4242         determine whether to convert_modes() an argument as signed
4243         or unsigned.
4244         * optabs.c (expand_binop): Get CONST_INT operands
4245         sign-extended for their appropriate modes.
4246         * stmt.c (emit_case_nodes): Convert node values to the
4247         appropriate mode.
4248         (expand_end_case): Convert minval and range to the appropriate
4249         mode.
4250         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
4251         the iteration variable.
4252         * varasm.c (immed_double_const): Don't require words to be
4253         narrower than host wide ints to properly sign-extend
4254         CONST_INTs.
4255
4256 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
4257
4258         * sh.md (builtin_setjmp_receiver): New expander.
4259
4260 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
4261
4262         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
4263         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
4264         for generating CONST_INT and CONST_DOUBLE.
4265
4266 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
4267
4268         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
4269         already sign-extended.
4270         (rs6000_emit_prologue): Make register iterator signed.
4271         (rs6000_emit_epilogue): Likewise.
4272         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
4273         and low.
4274         (movsf split, movdf split): Sign-extend CONST_INTs.
4275         (movdi splits): Likewise.
4276
4277 2001-04-12  Kelley Cook <kelley.cook@home.com>
4278
4279         * config-lang.in (lang_dirs): Add in zlib.
4280
4281 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
4282
4283         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
4284         operands that make it to RTL.
4285
4286 2001-04-11  Stan Shebs  <shebs@apple.com>
4287
4288         Add Darwin (Mac OS X kernel) native support.
4289         * config.gcc (powerpc-*-darwin*): Add native bits.
4290         * config/darwin.c: New file, generic Darwin support functions.
4291         * config/darwin.h: New file, generic Darwin definitions.
4292         * config/darwin-protos.h: New file, generic Darwin prototypes.
4293         * rs6000/darwin.h: New file, Darwin for PowerPC.
4294         * rs6000/t-darwin: New file, Darwin makefile fragment.
4295         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
4296         (TARGET_MACHO): Ditto.
4297         (rs6000_abi): Add ABI_DARWIN.
4298         (RS6000_REG_SAVE): Add ABI_DARWIN case.
4299         (RS6000_SAVE_AREA): Ditto.
4300         (FP_ARG_MAX_REG): Ditto.
4301         (RETURN_ADDRESS_OFFSET): Ditto.
4302         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
4303         cases.
4304         (rs6000_emit_move): Add ABI_DARWIN cases.
4305         (print_operand): Ditto.
4306         (first_reg_to_save): Ditto.
4307         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
4308         (debug_stack_info): Ditto.
4309         (rs6000_emit_prologue): Ditto.
4310         (rs6000_emit_epilogue): Ditto.
4311         (output_profiler_hook): Ditto.
4312         (output_function_profiler): Ditto.
4313         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
4314         (output_mi_thunk): Add TARGET_MACHO case.
4315         (add_compiler_stub): Ditto.
4316         (output_compiler_stub): Ditto.
4317         (no_previous_def): Ditto.
4318         (output_call): Ditto.
4319         (machopic_output_stub): Ditto.
4320         (rs6000_machopic_legitimize_pic_address): Ditto.
4321         (toc_section): Ditto.
4322         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
4323         (macho_high): Ditto.
4324         (macho_low): Ditto.
4325         (movsi_low): Ditto.
4326         (load_macho_picbase): Ditto.
4327         (call): Add TARGET_MACHO case to modify function.
4328         (call_value): Ditto.
4329         (call_nonlocal_sysv): Add ABI_DARWIN case.
4330         (call_value_nonlocal_sysv): Ditto.
4331         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
4332         Add prototype.
4333         (machopic_output_stub): Ditto.
4334         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
4335
4336 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4337
4338         * dwarf2out.c (modified_type_die): Don't create new types here.
4339         * tree.h (get_qualified_type): New function.
4340         (build_qualified_type): Adjust comment.
4341         * tree.c (get_qualified_type): New function.
4342         (build_qualified_type): Use it.
4343
4344 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4345
4346         * cpp.texi (-Wtraditional): Update description.
4347
4348         * invoke.texi (-Wtraditional): Likewise.
4349
4350 2001-04-11  Jim Wilson  <wilson@redhat.com>
4351
4352         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
4353         requires more than 64 bits of alignment.
4354
4355 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4356
4357         * cpplib.c (do_line): Sanity check iff enable checking.
4358
4359 2001-04-11  Richard Henderson  <rth@redhat.com>
4360
4361         * Makefile.in (insn-recog.o): Depend on toplev.h.
4362         (insn-emit.o, doloop.o): Likewise.
4363         * genrecog.c, genemit.c: Include toplev.h in generated file.
4364         * doloop.c: Include toplev.h.
4365
4366 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
4367
4368         * Makefile.in (gcse.o): Depend on params.h.
4369         * gcse.c: Include params.h.
4370         (gcse_main): Don't do GCSE if doing so will take inordinate
4371         amounts of memory.
4372         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
4373         * params.h (MAX_GCSE_MEMORY): New macro.
4374
4375 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4376
4377         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
4378
4379         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
4380
4381 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4382
4383         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
4384
4385         * real.h (ereal_atof, real_value_truncate, target_isnan,
4386         target_isinf, target_negative, assemble_real, debug_real): Delete
4387         redundant prototypes.
4388
4389         * Makefile.in (ifcvt.o): Depend on toplev.h.
4390
4391         * c-semantics.c: Include expr.h.
4392
4393         * ifcvt.c: Include toplev.h.
4394
4395         * expr.h (rtx_equal_p): Delete prototype.
4396
4397         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
4398         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
4399         eliminate_constant_term, expand_complex_abs, find_single_use,
4400         make_tree, init_expr_once, init_optabs, supports_one_only):
4401         Likewise.
4402
4403         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
4404         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
4405         expand_assignment, store_expr, emit_line_note_after,
4406         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
4407
4408         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
4409
4410         * sparc-protos.h: Delete redundant prototypes.
4411
4412 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
4413
4414         * reload.c (push_reload): Add condition missed in SUBREG byte
4415         offset patch.
4416
4417 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4418
4419         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
4420
4421 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
4422
4423         * i386.md (floatsisf_sse): Fix output template
4424         * i386.c (ix86_expand_fp_movcc)
4425
4426         * reg-stack.c (emit_pop_insn): Handle complex modes.
4427         (move_for_stack_reg): Emit proper move mode.
4428         (subst_stack_regs_pat): Handle complex modes.
4429
4430 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
4431
4432         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
4433
4434 2001-04-10  Richard Henderson  <rth@redhat.com>
4435
4436         * libgcc2.h (__terminate_func_ptr): Remove typedef.
4437         (__pure_virtual, __terminate, __terminate_set_func,
4438         __default_terminate, __throw_type_match, __empty,
4439         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
4440         __eh_rtime_match, __unwinding_cleanup, __rethrow,
4441         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
4442         Remove prototypes of deleted functions.
4443
4444 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4445
4446         * c-typeck.c (convert_arguments): -Wtraditional now activates
4447         -Wconversion warnings, except for changes in signed-ness.
4448         Detect complex<->int & int<->complex conversions as well.
4449
4450         * invoke.texi (-Wtraditional): Document it.
4451
4452 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4453
4454         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
4455         * flow.c (set_block_for_new_insns): Remove needless cast and
4456         properly check for unset block number.
4457
4458 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
4459
4460         * function.c (purge_single_hard_subreg_set): Only check REGNO if
4461         the subreg was a hard register. Pseudos are left as subregs.
4462
4463 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4464
4465         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
4466         (LIB2ADD_ST): New macro, pass it to mklibgcc.
4467         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
4468         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
4469         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
4470
4471 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
4472
4473         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
4474
4475 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4476
4477         * output.h (set_block_num): Missed it earlier, remove deprecated
4478         prototype.
4479
4480 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4481
4482         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
4483         (load_killed_in_block_p): Change bb parameter from int to basic_block.
4484         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
4485         (handle_rd_kill_set): Change bb parameter from int to basic_block.
4486         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
4487         (expr_killed_p): Change bb parameter from int to basic_block, pass
4488         basic_blocks instead of ints as parameters.
4489         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
4490         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
4491         from int to basic_block, pass basic_blocks instead of ints as parms.
4492         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
4493         parameter from int to basic_block, pass basic_blocks instead of ints.
4494         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
4495         (insert_insn_end_bb): Change bb parameter from int to basic_block,
4496         pass basic_blocks instead of ints.
4497         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
4498         basic_blocks instead of ints as parameters.
4499         (pre_delete): Pass basic_blocks instead of ints as parameters.
4500         (hoist_expr_reaches_here_p): Change bb parameter from int to
4501         basic_block, pass basic_blocks instead of ints.
4502         (hoist_code): Pass basic_blocks instead of ints as parameters.
4503         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
4504         Change bb parameter from int to basic_block.
4505         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
4506         (insert_insn_start_bb): Change bb parameter from int to basic_block,
4507         pass basic_blocks instead of ints.
4508         (insert_store): Pass basic_blocks instead of ints as parameters.
4509         (replace_store_insn, delete_store): Change bb parameter from int to
4510         basic_block, pass basic_blocks instead of ints.
4511         (store_motion): Pass basic_blocks instead of ints as parameters.
4512
4513 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4514
4515         * basic-block.h (set_new_block_for_insns): New Prototype.
4516         (set_block_num): Delete prototype.
4517         * flow.c (set_block_num): Remove obsolete function.
4518         (set_block_for_new_insns): Set BB for single or multiple insns.
4519         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
4520         (process_insn_end_bb): Use set_block_for_new_insns or
4521         set_block_for_insn instead of set_block_num.
4522         (pre_insert_copy_insn): Use set_block_for_new_insns.
4523         (update_ld_motion_stores): Use set_block_for_new_insns.
4524         (insert_insn_start_bb): Use set_block_for_new_insns.
4525         (replace_store_insn): Use set_block_for_new_insns.
4526
4527 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
4528             Jeff Law  <law@redhat.com>
4529
4530         * alias.c (get_addr): Externalize.
4531         (canon_true_dependence): New function. Behaves like true_dependance
4532         except it already assumes a MEM has been canonicalized.
4533         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
4534         * gcse.c (struct ls_expr): Add load/store expressions structure.
4535         (modify_mem_list, canon_modify_mem_list): New variable.
4536         (gcse_main): Initialize & finalize alias analysis. Use enhanced
4537         load motion and store motion if requested.
4538         (alloc_gcse_mem): Allocate space for modify_mem_list array.
4539         (free_gcse_mem): Free the modify_mem_list array.
4540         (oprs_unchanged_p): Use load_killed_in_block_p.
4541         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
4542         (mems_conflict_for_gcse_p): New function.  Don't kill loads
4543         with stores to themselves if its in the load/store expression list.
4544         (load_killed_in_block_p): New function.
4545         (canon_list_insert): New Function.
4546         (record_last_mem_set_info): Keep a list of all instructions which
4547         can modify memory for each basic block.
4548         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
4549         (oprs_not_set_p): Use load_killed_in_block_p.
4550         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
4551         (expr_killed_p): Use load_killed_in_block_p.
4552         (compute_transp): Do not pessimize memory references.
4553         (pre_edge_insert): Update stores for a load motion expression.
4554         (one_pre_gcse_pass): Check loads/stores for extra load motion.
4555         (ldst_entry): Find or create a ldst_expr structure.
4556         (free_ldst_entry): Free memory for an individual item.
4557         (free_ldst_mems): Free entire load/store expression list.
4558         (print_ldst_list): Print debug info.
4559         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
4560         (enumerate_ldsts): Assign integer values to each entry in list.
4561         (first_ls_expr): First expression in the list.
4562         (next_ls_expr): Next expression in the list.
4563         (simple_mem): Check if expression qualifies for ld/st expression list.
4564         (invalidate_any_buried_refs): Remove from expression list if its
4565         used in some other way we dont understand.
4566         (compute_ld_motion_mems): Find all potential enhanced load motion
4567         expression.
4568         (trim_ld_motion_mems): Remove any expressions which are invalid.
4569         (update_ld_motion_stores): Copy store values to registers for loads
4570         which have been moved.
4571         (regvec, st_antloc, num_store): New global statics.
4572         (reg_set_info): Marks registers as set.
4573         (store_ops_ok): Verfies registers expressions are valid in a block.
4574         (find_moveable_store): Look for moveable stores in a pattern.
4575         (compute_store_table): Find stores in a function worth moving, maybe.
4576         (load_kills_store): Check dependance of a load and store.
4577         (find_loads): Find any loads in a pattern.
4578         (store_killed_in_insn): Check if a store is killed in an insn.
4579         (store_killed_after): Check is store killed after an insn in a block.
4580         (store_killed_before): Check is store killed before an insn in a block.
4581         (build_store_vectors): Generate the antic and avail vectors.
4582         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
4583         (insert_store): Add a store to an edge.
4584         (replace_store_insn): Replace a store with a SET insn.
4585         (delete_store): Delete a store insn.
4586         (free_store_memory): Free memory.
4587         (store_motion): Perform store motion.
4588         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
4589         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
4590         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
4591         (f_options): Add gcse-lm and gcse-sm.
4592
4593 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
4594
4595         * i386.c (expand_fp_movcc): Fix condition reversal code.
4596
4597         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
4598         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
4599         (CLASS_MAX_NREGS): Use it.
4600
4601         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
4602         handle properly complex values.
4603         (CLASS_MAX_NREGS): Likewise; update comment.
4604
4605 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4606
4607         * ia64.c (ia64_flag_schedule_insns2): New variable.
4608         (ia64_override_options): Initialize it.  Clear
4609         flag_schedule_insns_after_reload.
4610         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
4611
4612 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
4613
4614         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
4615         Do not require source to match destination anymore;
4616         Add abort to the nontrivial cases that should be handled by split.
4617         (fix_trunc?fdi): Add SSE case for x86_64.
4618         (floatdi?f): Likewise.
4619         (floatdi?f_sse): New.
4620         (fix_trunc?fdi_sse): New.
4621
4622 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
4623
4624         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
4625         (DEBUG_ARANGES_END_LABEL): Ditto.
4626         (dwarfout_init): Generate length and version fields at the start
4627         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
4628         after the length field.
4629         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
4630         the .debug_aranges info.
4631
4632 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
4633
4634         * i386.c (call, call_value): Make sure that resulting call_insn
4635         does have proper second operand.
4636
4637 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
4638
4639         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
4640         function.  Remove include of sys/cygwin.h.
4641
4642 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
4643
4644         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
4645         (CPP_SPEC): Always search */include/w32api for header files.
4646         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
4647         (LINK_SPEC): Add "cyg" to the library search prefixes.
4648
4649 2001-04-08  Philip Blundell  <philb@gnu.org>
4650
4651         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
4652
4653 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4654
4655         * cpperror.c (print_location): Don't special case <stdin>.
4656         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
4657         WARNING, but we don't check if we're in system headers.
4658         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
4659         * cpplib.c (do_warning): Warn in system headers.
4660
4661 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
4662
4663         * mbchar.c: Include config.h first.
4664
4665 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
4666
4667         * config.gcc: Set default for xmake_file at top, not bottom.
4668         Change places that set xmake_file to "none" to set to the
4669         empty string instead, or remove them entirely if there is no
4670         default xmake_file for this cpu_type.  Remove references to
4671         deleted files.
4672
4673         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
4674         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
4675         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
4676         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
4677         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
4678         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
4679         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
4680         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
4681         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
4682         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
4683         Delete.
4684
4685         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
4686         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
4687         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
4688         config/mips/x-sysv, config/rs6000/x-aix31:
4689         Just set CLIB to -lld or -lmld, as appropriate.
4690
4691         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
4692         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
4693         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
4694         config/mips/x-iris, config/pa/x-pa:
4695         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
4696         OTHER_FIXINCLUDES_DIRS.
4697
4698         * config/i386/x-djgpp: Don't set LN or LN_S.
4699         * config/m88k/x-dolph: Don't define __m88k__.
4700         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
4701         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
4702         * config/i860/fx2800.h: No need to #undef SVR4.
4703
4704         38 x-host fragments remain, 2 x-cpu.
4705
4706 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4707
4708         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
4709
4710 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4711
4712         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
4713
4714 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4715
4716         * configure.in: Add check for lstat.
4717         * configure, config.in: Regenerate.
4718         * cppinit.c (append_include_chain): Make empty path ".".
4719         * cpplib.c (do_line): Don't simplify #line paths.
4720         * cppfiles.c (remove_component_p): New function.
4721         (find_or_create_entry): Acknowledge stat () errors during
4722         path simplification.
4723         (handle_missing_header): Don't simplify paths.
4724         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
4725         the empty path untouched.  Don't leave a trailing '/'.
4726
4727 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
4728
4729         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
4730         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
4731
4732 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4733
4734         * cppfiles.c (open_file): Fail directories silently, but
4735         with an errno of NOENT set.
4736         (read_include_file): Move the common exit code to the sole
4737         caller.  Return an int indicating success or failure.  Let
4738         open_file handle directories.
4739         (stack_include_file): If read_include_file fails,
4740         push a "null" buffer.
4741
4742 2001-04-05  DJ Delorie  <dj@redhat.com>
4743
4744         * function.h (virtuals_instantiated): Declare.
4745         * function.c: (virtuals_instantiated): Make global.
4746         * calls.c (emit_library_call_value_1): Use
4747         virtual_outgoing_args_rtx only if it hasn't been instantiated.
4748         Otherwise, use the stack pointer directly.
4749
4750 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
4751
4752         * i386.c (x86_initialize_trampoline): New global function.
4753         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
4754         (INITIALIZE_TRAMPOLINE): Move offline.
4755         * i386-protos.h (x86_initialize_trampoline): Declare.
4756
4757 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
4758
4759         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
4760         (lea_0): Rename to lea_1.
4761         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
4762         (lea_general_?): Allow SImodes on TARGET_64BIT
4763         (lea_general_?_zext): New patterns.
4764         (call_1, call_1_rex64): Fix.
4765
4766 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
4767
4768         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
4769
4770 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4771
4772         * i386.c (function_arg): Return constm1_rtx for last argument.
4773         (ix86_expand_prologue): Update gen_call calls.
4774         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
4775         * i386.md (call_pop): Likewise.
4776         (call): Second operand is VOIDmode.
4777         (call_0): Likewise; Support 64bits.
4778         (call_exp): New expander.
4779         (call_1): Get to the sync.
4780         (call_1_exp): New pattern.
4781         (call_value): Support 64bit.
4782         (call_value_exp): New pattern.
4783         (untyped_call): Update gen_call call.
4784         (call_value_pop): Disable for 64bit.
4785         (call_value_0_rex64): New pattern.
4786         (call_value_1_rex64): Likewise.
4787
4788 2001-04-05  Bo Thorsen  <bo@suse.de>
4789
4790         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
4791
4792 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
4793
4794         * i386.md (*andsi_1+3): If used after reload, make sure the operand
4795         satisfies ANY_QI_REG_P.
4796
4797 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
4798
4799         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
4800         ASM_OPERAND.
4801
4802         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
4803         change.
4804
4805 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
4806
4807         * config.gcc: Remove default for xm_file.  Clean up local
4808         machine type handling.  Remove settings of xm_file to
4809         something that doesn't exist.  In the big switch, set xm_file,
4810         don't append to it (the value before the big switch is always
4811         null).  Don't force build_xm_file or host_xm_file to have a value.
4812         * configure.in: Remove default for xm_file.  Do not special
4813         case $cpu/xm-$cpu.h not existing.
4814         * configure: Regenerate.
4815
4816 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
4817
4818         * simplify-rtx.c (simplify_binary_operation): Check for overflow
4819         when folding integer division and modulo operations.
4820
4821 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
4822
4823         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
4824         instead of DWARF2_ADDR_SIZE for EH addresses.
4825         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
4826         EH addresses.
4827
4828 2001-04-04  Richard Henderson  <rth@redhat.com>
4829
4830         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
4831         * config/ia64/t-glibc (LIB2ADDEH): Disable.
4832         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
4833
4834 2001-04-04  Richard Henderson  <rth@redhat.com>
4835
4836         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
4837         * configure: Rebuilt.
4838
4839 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
4840
4841         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
4842         push insns to delete to it instead of deleting them.
4843         (delete_null_pointer_checks): Delete insns from delete_list after
4844         all delete_null_pointer_checks_1 passes are done.
4845
4846 2001-04-04  Richard Henderson  <rth@redhat.com>
4847
4848         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
4849         * configure: Rebuilt.
4850
4851 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
4852
4853         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
4854         * config/romp/xm-romp.h: Delete.
4855
4856 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
4857
4858         * sched-deps.c (sched_analyze_insn): Partially revert March 27
4859         change.
4860
4861 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4862
4863         * emit-rtl.c (mark_label_nuses) Increment the label uses for
4864         all labels present in rtx.
4865         (try_split) Call new function for all split insns.
4866
4867 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
4868
4869         * recog.c (validate_replace_rtx_1): Instead of aborting just make
4870         sure the change won't be validated.
4871
4872 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
4873
4874         * rtl.h (set_noop_p): Declare.
4875         * flow.c (set_noop_p): Move from here ...
4876         * rtlanal.c (set_noop_p): ... to here and enhance.
4877         * cse.c (delete_trivially_dead_insns): Use it.
4878         * gcse.c (hash_scan_set): Likewise.
4879         * jump.c (delete_noop_moves): Likewise.
4880         * recog.c (split_all_insns): Likewise.
4881
4882 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
4883
4884         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
4885         stack pointer via a LO_SUM.  Ditto for setting a temp register
4886         used to save to the stack.  Set cfa_temp when setting fp, and
4887         allow matches to cfa_temp in addition to cfa_store when saving
4888         regs.  Handle POST_INC and LO_SUM register stores.  Document the
4889         changes and errors in rule 12 doco.
4890
4891         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
4892         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
4893         (load_reg): Move closer to epilogue code.
4894         (DO_FRAME_NOTES): Define to control the following..
4895         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
4896         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
4897         notes as necessary.
4898         (hppa_expand_epilogue): Likewise.
4899
4900 2001-04-03  Richard Henderson  <rth@redhat.com>
4901
4902         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
4903         * configure: Rebuild.
4904
4905 2001-04-03  Richard Henderson  <rth@redhat.com>
4906
4907         * rtl.h (LCT_THROW): New.
4908         * calls.c (emit_library_call_value_1): Handle it.
4909         * except.c (connect_post_landing_pads): Use it.
4910
4911 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
4912
4913         * gansidecl.h: Delete file.
4914         * configure.in: Change all refs to gansidecl.h to use
4915         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
4916         lives.
4917         * configure: Regenerate.
4918
4919         * Makefile.in (intl.o): Don't depend on gansidecl.h.
4920         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
4921         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
4922         Don't include gansidecl.h.
4923         * intl.c, main.c, version.c, fixinc/fixlib.h,
4924         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
4925         gansidecl.h.
4926
4927 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
4928
4929         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
4930         Update for 64bit.
4931
4932 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
4933
4934         * config/i386/xm-beos.h, config/i386/xm-isc.h,
4935         config/i386/xm-next.h, config/i386/xm-sco.h,
4936         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
4937         config/m88k/xm-m88k.h: Delete.
4938
4939         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
4940         * config/romp/xm-romp.h: Don't define bcopy.
4941         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
4942         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
4943
4944         * config.gcc: Remove references to deleted files.
4945
4946         14 xm-host.h remain, 1 xm-cpu.h.
4947
4948 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
4949             David S. Miller  <davem@pierdol.cobaltmicro.com>
4950             Andrew MacLeod  <amacleod@redhat.com>
4951
4952         Use byte offsets in SUBREGs instead of words.
4953
4954         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
4955         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
4956         to pass new argument.
4957         (add_stored_regs): Use subreg_regno_offset function.
4958         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
4959         into account.
4960         (precompute_arguments): Use gen_lowpart_SUBREG.
4961         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
4962         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
4963         (simplify_set): Rework to use SUBREG_BYTE.
4964         (expand_field_assignment): Use SUBREG_BYTE.
4965         (make_extraction): Use SUBREG_BYTE.
4966         (if_then_else_cond): Use SUBREG_BYTE.
4967         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
4968         (gen_lowpart_for_combine): Compute full byte offset.
4969         * cse.c (mention_regs): Use SUBREG_BYTE.
4970         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
4971         (canon_hash): Use SUBREG_BYTE.
4972         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
4973         (gen_lowpart_if_possible): Formatting.
4974         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
4975         correctly.
4976         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4977         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4978         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4979         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4980         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4981         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4982         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
4983         certain invariants about SUBREGs the compiler creates.
4984         (gen_lowpart_SUBREG): New function.
4985         (subreg_hard_regno): New function to get the final register number.
4986         (gen_lowpart_common): Use SUBREG_BYTE.
4987         (gen_imagpart): Spacing nits.
4988         (subreg_realpart_p): Use SUBREG_BYTE.
4989         (gen_highpart): Use SUBREG_BYTE.
4990         (subreg_lowpart_p): Always compute endian corrected goal offset,
4991         even at the byte level, then compare against that.
4992         (constant_subword): New function, pulled out all constant cases
4993         from operand_subword and changed second argument name to offset.
4994         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
4995         and call constant_subword to do the work.  Return const0_rtx if
4996         looking for a word outside of OP.
4997         (operand_subword_force): Change second arg name to offset.
4998         * expmed.c (store_bit_field): Use SUBREG_BYTE.
4999         (store_split_bit_field): Use SUBREG_BYTE.
5000         (extract_bit_field): Use SUBREG_BYTE.
5001         (extract_split_bit_field): Use SUBREG_BYTE.
5002         (expand_shift): Use SUBREG_BYTE.
5003         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
5004         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
5005         * flow.c (set_noop_p): Use SUBREG_BYTE.
5006         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
5007         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
5008         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
5009         correction code.
5010         (optimize_bit_field): Use SUBREG_BYTE.
5011         (purge_addressof_1): Use SUBREG_BYTE.
5012         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
5013         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
5014         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
5015         * gengenrtl.c (special_rtx): Add SUBREG.
5016         * global.c (mark_reg_store): Use SUBREG_BYTE.
5017         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
5018         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
5019         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
5020         final byte offset is congruent to subreg's mode size.
5021         (subst_constants): Use SUBREG_BYTE.
5022         (mark_stores): Use subreg_regno_offset function.
5023         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
5024         function and SUBREG_BYTE.
5025         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
5026         (reg_is_born): Use subreg_hard_regno.
5027         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
5028         endian correction code.  Don't combine subregs unless resulting
5029         offset aligns with type.  Fix subreg constant extraction for DImode.
5030         Simplify SUBREG of VOIDmode CONST_DOUBLE.
5031         (general_operand): Remove dead mode_altering_drug code.
5032         (indirect_operand): Use SUBREG_BYTE.
5033         (constrain_operands): Use subreg_regno_offset function.
5034         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
5035         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
5036         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
5037         * regs.h (REG_SIZE): Allow target to override.
5038         (REGMODE_NATURAL_SIZE): New macro which target can override.
5039         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
5040         on the entire subreg rtx.
5041         (push_reload): Use SUBREG_BYTE in comments and code.
5042         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
5043         for hard registers inside subregs.
5044         (operands_match_p): Use subreg_regno_offset.
5045         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
5046         containing hard regs.
5047         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
5048         corrections when fixing up MEM subregs.
5049         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
5050         subreg_regno_offset where appropriate.
5051         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
5052         byte endian corrections when fixing up MEM subregs.
5053         (subst_reloads): When combining two subregs, make sure final
5054         offset is congruent to subreg's mode size.
5055         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
5056         (refers_to_regno_for_reload_p): Use subreg_regno.
5057         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
5058         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
5059         correction code for memory subreg fixups.
5060         (forget_old_reload_1): Use subreg_regno_offset.
5061         (choose_reload_regs): Use subreg_regno.
5062         (emit_input_reload_insns): Use SUBREG_BYTE.
5063         (reload_combine_note_store): Use subreg_regno_offset.
5064         (move2add_note_store): Use subreg_regno_offset.
5065         * resource.c (update_live_status, mark_referenced_resources): Use
5066         subreg_regno function.
5067         (mark_set_resources): Use subreg_regno function.
5068         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
5069         (subreg_regno_offset, subreg_regno): Define prototypes.
5070         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
5071         (gen_lowpart_SUBREG): Add prototype.
5072         * rtl.texi (subreg): Update to reflect new byte offset representation.
5073         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
5074         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
5075         (reg_overlap_mentioned_p): Use subreg_regno.
5076         (replace_regs); Make sure final offset of combined subreg is
5077         congruent to size of subreg's mode.
5078         (subreg_regno_offset): New function.
5079         (subreg_regno): New function.
5080         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
5081         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
5082         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
5083         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
5084         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
5085         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
5086         (a29k_get_reloaded_address): Use SUBREG_BYTE.
5087         (print_operand): Use SUBREG_BYTE.
5088         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
5089         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
5090         (arm_reload_out_hi): Use SUBREG_BYTE.
5091         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
5092         instead of SUBREG_WORD.
5093         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
5094         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
5095         SUBREG creation to use byte offset.
5096         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
5097         inverted load insns): Fix explicit rtl subregs to use byte
5098         offsets.
5099         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
5100         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
5101         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
5102         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
5103         to use byte offsets.
5104         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
5105         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
5106         offsets, also make sure it is congruent to SUBREG's mode size.
5107         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
5108         unnamed ldob insn): Generate SUBREGs with byte offset.
5109         (zero_extendqihi2): SUBREG's are byte offsets.
5110         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
5111         (m68hc11_gen_highpart): Use SUBREG_BYTE.
5112         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
5113         zero-extendqisi2): Generate SUBREGs with byte offset.
5114         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
5115         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
5116         subregs in rtl to use byte offsets.
5117         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
5118         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
5119         (mips_move_2words): Use subreg_regno_offset.
5120         (mips_secondary_reload_class): Use subreg_regno_offset.
5121         * config/mips/mips.md (DImode plus, minus, move, and logical op
5122         splits): Fixup explicit subregs in rtl to use byte offsets.
5123         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
5124         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
5125         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
5126         rtl to use byte offsets.
5127         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
5128         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
5129         subregs to use byte offsets.
5130         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
5131         Fixup explicit subregs in rtl to use byte offsets.
5132         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
5133         and remove byte endian correction code.
5134         * config/sh/sh.c (output_movedouble): Use subreg_regno.
5135         (gen_ashift_hi): Use SUBREG_BYTE.
5136         (regs_used): Use subreg_regno_offset.
5137         (machine_dependent_reorg): Use subreg_regno_offset.
5138         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
5139         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
5140         (movdf_i4): Subregs are byte offsets now.
5141         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
5142         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
5143         (REGMODE_NATURAL_SIZE): Override.
5144         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
5145         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
5146         with byte offsets.
5147         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
5148         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
5149         extendqidi2): Generate SUBREGs with byte offsets, also make sure
5150         it is congruent to SUBREG's mode size.
5151         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
5152         offsets.
5153         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
5154         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
5155         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
5156         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
5157         * config/v850/v850.c (print_operand, output_move_double): Use
5158         subreg_regno function.
5159
5160 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
5161
5162         * configure.in (target_subdir): Use target_alias, not target.
5163         * configure: Rebuilt.
5164
5165         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
5166         other way round.
5167         * config/sh/crti.asm: Fix typos in comments.
5168
5169 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5170
5171         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
5172         TARGET_FAST_INDIRECT_CALLS.
5173         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
5174         -fPIC.  Don't warn.
5175         (return_addr_rtx): Short circuit export stub matching when
5176         TARGET_NO_SPACE_REGS.
5177         (output_millicode_call): For out of range calls, make -fPIC
5178         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
5179         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
5180         * pa.md: Modify length attr calculation of all millicode insns to
5181         match above.
5182
5183 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
5184
5185         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
5186         Require at least 2.11 in the version test.  Specifically check
5187         for and reject GAS version 2.10.90.
5188         * configure: regenerate.
5189
5190 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5191
5192         * pa.c (override_options): Remove PIC profiling warning.
5193         (hp_profile_labelno): Delete.
5194         (hp_profile_label_rtx): Delete.
5195         (hp_profile_label_name): Delete.
5196         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
5197         (output_function_prologue): Remove profiling code and all tests on
5198         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
5199         merge_sp_adjust_with_store can work for PIC and profiling.
5200         (hppa_expand_epilogue): Remove profile_flag test.
5201         (hppa_can_use_return_insn_p): Likewise.
5202         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
5203         cater for PROFILE_HOOK.
5204         (hppa_profile_hook): New function.
5205         * pa.h (FUNCTION_PROFILER): Now does nothing.
5206         (PROFILE_HOOK): Define.
5207         (hppa_profile_hook): Declare.
5208         (PROFILE_BEFORE_PROLOGUE): Delete.
5209         (ASM_OUTPUT_REG_PUSH): Delete.
5210         (ASM_OUTPUT_REG_POP): Delete.
5211         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
5212         r24.  Accept function name operand, and use this and a locally
5213         generated label to calculate pc-rel offset to func start.
5214
5215 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5216
5217         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
5218         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
5219         $(SYSTEM_H).
5220
5221 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
5222
5223         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
5224         LO_SUM cases to where they belong.
5225
5226 2001-04-02  Richard Henderson  <rth@redhat.com>
5227
5228         * except.h (lang_eh_type_covers): Mark extern.
5229         (lang_eh_runtime_type): Likewise.
5230
5231 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
5232
5233         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
5234         gengenrtl.c:  Wrap generated header in multiple-include guard.
5235         Improve error checking.
5236
5237 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5238
5239         * configure.in: Don't check for putenv.
5240         * configure: Regenerate.
5241         * gcc.c (putenv): Don't define.
5242         * vax/xm-vms.h: Handle putenv.
5243
5244 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5245
5246         * ifcvt.c (noce_emit_move_insn): New.
5247         (noce_try_store_flag, noce_try_store_flag_constants,
5248         noce_try_store_flag_inc, noce_try_store_flag_mask,
5249         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
5250         noce_try_abs): Use it.
5251         (noce_process_if_block): Likewise.
5252         For STRICT_LOW_PART, take mode from its SUBREG.
5253
5254 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
5255
5256         * fold-const.c (fold): Before optimizing unsigned comparison with
5257         0x7fffffffU, make sure arg0 is integral type.
5258
5259 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
5260
5261         * c-tree.texi: Document representation of wide strings.
5262
5263 2001-04-01  Richard Henderson  <rth@redhat.com>
5264
5265         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
5266
5267 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
5268
5269         * i386.md: remove obsoleted comments.
5270         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
5271         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
5272         fix output template.
5273
5274 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
5275
5276         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
5277
5278 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
5279
5280         * loop.c (load_mems): When generating a load from a pseudo, update
5281         REGNO_LAST_UID.
5282
5283 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
5284
5285         * i386.c (ix86_split_long_move): Use change address to compensate
5286         stack pointer change in push instruction.
5287
5288 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
5289
5290         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
5291         instead of rtx_equal_p; fix the output template.
5292
5293 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
5294
5295         * i386.c (ix86_expand_setcc): Support 64bit.
5296         (ix86_expand_int_movcc): Likewise.
5297         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
5298         New patterns.
5299
5300         * i386.md (allocate_stack_worker): Turn to expander.
5301         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
5302
5303         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
5304
5305 2001-03-29  Richard Henderson  <rth@redhat.com>
5306
5307         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
5308
5309 2001-03-28  Matthew Hiller  <hiller@redhat.com>
5310
5311         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
5312         output template.
5313
5314         * MAINTAINERS: Added self.
5315
5316 2001-03-28  Richard Henderson  <rth@redhat.com>
5317
5318         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
5319         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
5320
5321 2001-03-28  Jim Wilson  <wilson@redhat.com>
5322
5323         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
5324         operand_subword.
5325
5326 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5327
5328         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
5329
5330         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
5331         `error'.
5332
5333         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
5334
5335 2001-03-28  DJ Delorie  <dj@redhat.com>
5336
5337         * Makefile.in (stage1_build): Revert CFLAGS patch.
5338
5339 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
5340
5341         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
5342         when multiplier or multiplicand is zero.
5343
5344 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
5345
5346         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
5347
5348         * config/ia64/ia64.c (update_set_flags): New function, broken out of
5349         rtx_needs_barrier.
5350         (set_src_needs_barrier): Likewise.
5351         (rtx_needs_barrier): For SET case, use these two functions.  Rework
5352         PARALLEL case to handle all inputs before all outputs.
5353         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
5354         saw a label and no stop bit since then.
5355         (maybe_rotate, process_epilogue): Add prototypes.
5356
5357 2001-03-28  Richard Henderson  <rth@redhat.com>
5358
5359         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
5360         not TARGET_TOC for special toc restore handling.
5361         * config/rs6000/rs6000.md (eh_return): Likewise.
5362
5363 2001-03-28  Richard Henderson  <rth@redhat.com>
5364
5365         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
5366         current_function_calls_eh_return.
5367         (output_function_epilogue): Handle eh_return.
5368         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
5369         (EH_RETURN_DATA_REGNO): New.
5370         (EH_RETURN_STACKADJ_RTX): New.
5371         (EH_RETURN_HANDLER_RTX): New.
5372         * config/sparc/sparc.md (call/short branch peepholes): Check
5373         can_throw_internal instead of in_same_eh_region.
5374
5375         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
5376         for eh_return data registers.
5377         (rs6000_emit_prologue): Save eh_return data registers.
5378         (rs6000_emit_epilogue): Force inline restores if eh_return.
5379         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
5380         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
5381         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
5382         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
5383         the target uses one.
5384         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
5385         (return_eh_si, return_eh_di): Remove.
5386         (eh_return): New, from corpse of eh_epilogue.
5387         (eh_set_lr_si, eh_set_lr_di): New.
5388
5389         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
5390         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
5391         True for pic register if current_function_calls_eh_return.
5392         (ix86_expand_epilogue): Change "emit_return" argument into "style".
5393         Handle eh_return requirements.
5394         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
5395         (EH_RETURN_STACKADJ_RTX): New.
5396         * config/i386/i386.md (exception_receiver): Remove.
5397         (eh_return, eh_return_1): New.
5398         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5399
5400         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
5401         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
5402         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
5403         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
5404         (EH_RETURN_DATA_REGNO): New.
5405         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
5406         * config/alpha/alpha.md (eh_epilogue): Remove.
5407         (exception_receiver): Use $26 for ldgp input.
5408         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5409
5410 2001-03-28  Richard Henderson  <rth@redhat.com>
5411
5412         * except.c: Rewrite entirely for IA-64 ABI exception handling.
5413         * except.h: Likewise.
5414
5415         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
5416         (LIB2ADDEHDEP): New.
5417         (LIB2FUNCS_EH): Remove.
5418         (LIB2ADD): Remove LIB2ADDEH.
5419         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
5420         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
5421         (crt{begin,end}[S].o): Likewise.
5422         (except.o): Update includes.
5423         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
5424         (libgcc2_c_dep): Use LIB2ADDEHDEP.
5425
5426         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
5427         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
5428         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
5429         * builtins.c (expand_builtin): Implement it.
5430         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
5431         * c-common.c (c_common_nodes_and_builtins): Declare it.
5432         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
5433         * calls.c (libfunc_nothrow): Remove.
5434         (emit_library_call_value_1): Don't call it.
5435         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
5436         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
5437         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
5438         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
5439         (current_funcdef_number): Globalize.
5440         (output_call_frame_info): Emit frame data if an lsda is needed.
5441         Generate augmentation for personality routine.  Don't play with
5442         difference symbols.
5443         (dwarf2out_begin_prologue): Record funcdef_number.
5444         * dwarf2out.h (current_funcdef_number): Declare.
5445         * expr.c (expand_expr): Update for except.h name changes.
5446         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
5447         * expr.h (LTI_throw, LTI_rethrow): Remove.
5448         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
5449         (LTI_eh_rtime_match): Remove.
5450         (LTI_unwind_resume, LTI_eh_personality): Add.
5451         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
5452         * final.c (final): Don't call check_exception_handler_labels,
5453         init_insn_eh_region, or free_insn_eh_region.
5454         (final_scan_insn): Always emit debug labels for
5455         NOTE_INSN_EH_REGION notes.
5456         * flags.h (flag_new_exceptions): Remove.
5457         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
5458         (record_active_eh_regions): Remove.
5459         (count_basic_blocks): Check all instructions for REG_EH_REGION.
5460         Use can_throw_internal.
5461         (find_basic_blocks_1): Likewise.
5462         (move_stray_eh_region_notes): Remove.
5463         (find_label_refs): No eh_return_stub_label.
5464         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
5465         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
5466         changes.
5467         (delete_unreachable_blocks): Don't track deleted handlers.
5468         (flow_delete_block): Use maybe_remove_eh_handler.
5469         (delete_eh_regions): Remove.
5470         (merge_blocks): Don't check for eh region match.
5471         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
5472         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
5473         (init_propagate_block_info): Disable dead frame store optimization
5474         when current_function_calls_eh_return.
5475         (dump_bb): Don't print eh_beg, eh_end.
5476         * function.c (fixup_var_refs): No catch_clauses.
5477         (expand_function_end): Likewise.  Call expand_eh_return before
5478         the return register use.  Call sjlj_emit_function_exit_after.
5479         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
5480         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
5481         * ifcvt.c (dead_or_predicable): Remove eh region check.
5482         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
5483         Don't check for EH vs parameters.
5484         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
5485         (expand_inline_function): Call duplicate_eh_regions.
5486         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
5487         (copy_insn_notes): Remap REG_EH_REGION notes.
5488         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
5489         * integrate.h (struct inline_remap): Add local_return_label.
5490         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
5491         check_exception_handler_labels, nor exception_optimize.
5492         (find_cross_jump): No EH region check.
5493         * optabs.c (init_optabs): Update for changed eh libfuncs.
5494         * rtl.def (RESX): New.
5495         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
5496         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
5497         checks.  Update for except.h name changes.
5498         (expand_cleanups): Likewise.
5499         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
5500         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
5501         (compile_file): Call init_eh before init_optabs.  Don't
5502         output_exception_table here.
5503         (rest_of_compilation): Call convert_from_eh_region_ranges,
5504         convert_to_eh_region_ranges, output_function_exception_table.
5505         Don't emit_eh_context.
5506         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
5507         (EXC_PTR_EXPR): New.
5508
5509         * md.texi (eh_epilogue): Remove.
5510         (eh_return): Document.
5511         * tm.texi (EH_RETURN_DATA_REGNO): Document.
5512         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
5513
5514         * eh-common.h: Remove file.
5515         * frame-dwarf2.c, frame.c, frame.h: Remove files.
5516         * libgcc2.c (L_eh): Remove.
5517
5518         * unwind-dw2-fde.c: New file, largely copied from frame.c.
5519         * unwind-dw2-fde.h: New file.
5520         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
5521         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
5522         * libgcc-std.ver: Update for eh symbols.
5523
5524 2001-03-27  Richard Henderson  <rth@redhat.com>
5525
5526         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
5527         reduce false positives.
5528         (regmove_optimize): Disable if flag_non_call_exceptions.
5529
5530         * stmt.c (expand_return): Remove always true predicate.
5531         (expand_decl_cleanup_no_eh): Remove dead code.
5532
5533         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
5534         barrier code.  Add a scheduling barrier if a non-call insn
5535         can throw internally.
5536
5537         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
5538         Auto-inc addresses trap only if their base register does.
5539
5540         * except.c (can_throw_internal): Rename from can_throw.
5541         * except.h, resource.c: Update references.
5542
5543         * integrate.c (copy_insn_list): Use returnjump_p.
5544         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
5545
5546         * function.h (struct function): Move all boolean valued fields
5547         to single bit fields at the end of the struct.
5548
5549         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
5550         jump.c, toplev.c:
5551         Rename asynchronous_exceptions to flag_non_call_exceptions.
5552
5553         * gthr-single.h (UNUSED): New.  Distinguish between how C
5554         and C++ mark unused function arguments.  Use throughout.
5555
5556         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
5557         value to target configuration header.
5558         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
5559         * config.in, configure: Rebuild.
5560         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
5561         configuration and target defines.
5562         (exceptions_via_longjmp): Remove.
5563         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
5564         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
5565
5566         * except.h (flag_non_call_exceptions): Move ...
5567         * flags.h: ... here.
5568
5569         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
5570         exceptions, put the note on the trapping instruction.
5571
5572         * flags.h (flag_new_exceptions): Remove.
5573         * toplev.c: Don't set it.
5574         * final.c: Don't check it.
5575         * except.c: Provide stub definition.
5576
5577         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
5578         (calculate_global_regs_live): Kill call-clobbered registers
5579         across exception edges.
5580         * reg-stack.c (convert_regs_1): Kill the entire target stack
5581         across non-call exception edges.
5582
5583         * flow.c (cleanup_cfg): Take no argument.
5584         * output.h, sibcall.c, toplev.c: Update all calls.
5585
5586 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5587
5588         * configure.in: Don't check for bcopy.
5589         * configure, config.in: Regenerate.
5590
5591         * system.h: Don't define or prototype bcopy, instead poison it.
5592
5593 2001-03-27  Richard Henderson  <rth@redhat.com>
5594
5595         * function.c (expand_function_start): Set DECL_REGISTER on
5596         a pseudo used for DECL_RESULT.
5597
5598         * rtl.h (LCT_NORETURN): New.
5599         * calls.c (emit_library_call_value_1): Handle it.
5600
5601 2001-03-27  Stan Shebs  <shebs@apple.com>
5602
5603         * objc/objc-act.c (objc_init): Use dump_base_name.
5604         (gen_declaration): Clear the buffer arg.
5605         (gen_declaration_1): New function, body of gen_declaration.
5606         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
5607         (gen_method_decl): Ditto, plus always clear buffer arg.
5608         (error_with_ivar): Simplify.
5609         (warn_with_method): Ditto.
5610         (build_message_expr): Don't clear buffers.
5611         (dump_interface): Ditto.
5612         (objc_debug): Ditto.
5613         (build_keyword_selector): Clear the buffer by only zeroing
5614         the first element.
5615         (objc_implementation_context): Declare.
5616         (start_class): Warn about missing @end.
5617         (finish_objc): Ditto.
5618
5619 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5620
5621         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
5622
5623 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5624
5625         * Makefile.in (SYSTEM_H): Define.
5626         Depend on $(SYSTEM_H), not system.h.
5627
5628         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
5629
5630 2001-03-27  Jim Wilson  <wilson@redhat.com>
5631
5632         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
5633         IA64_UNWIND_EMIT.
5634         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
5635         (process_epilogue): New static function.
5636         (process_set): Call process_epilogue instead of emitting .restore
5637         directly.
5638         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
5639
5640         * flow.c (struct reg_cond_life_info): New fields orig_condition
5641         and stores.
5642         (init_propagate_block_info): Set new fields.
5643         (mark_regno_cond_dead): Set and use new fields.
5644         (flush_reg_cond_reg_1): Likewise.
5645         (and_reg_cond, case AND): Check for redundant AND conditions.
5646         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
5647         Set new fields.
5648
5649 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
5650
5651         * cppmacro.c (stringify_arg): Null terminate strings.
5652
5653 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
5654
5655         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
5656         inclusion style.  xm-m68hc11.h no longer exists.
5657         * config/m68hc11/xm-m68hc11.h: Delete file.
5658         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
5659
5660         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
5661         Don't define GCC_VERSION, N_, or PARAMS; don't include
5662         gansidecl.h or stdio.h.  Define inhibit_libc here.
5663         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
5664         Delete code conditioned on #if GCC_VERSION == 2095.
5665
5666         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
5667         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
5668         Delete code conditioned on #if GCC_VERSION == 2095.
5669
5670 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5671
5672         * system.h: Include symcat.h.
5673         (STRINGIFY): Don't define.
5674
5675         * configure.in: Adjust comment.
5676
5677         * builtins.c: Use STRINGX, not STRINGIFY.
5678         * gencheck.c: Likewise.
5679         * gengenrtl.c: Likewise.
5680         * protoize.c: Likewise.
5681
5682         * cpplex.c: Don't include symcat.h.
5683         * cpplib.c: Likewise.
5684
5685         * gansidecl.h (HAVE_STRINGIZE): Don't define.
5686
5687 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
5688
5689         * c-typeck.c (digest_init): Fold init expression.
5690
5691 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5692
5693         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
5694
5695 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
5696
5697         * except.c (eh_regs): Save results of build_pointer_type to a temp
5698         as FUNCTION_VALUE macro may evaluate its args multiple times.
5699
5700 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
5701
5702         * c-common.h (DECL_NUM_STMTS): New macro.
5703         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
5704         DECL_FRAME_SIZE.
5705         (pushdecl): Likewise.
5706         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
5707         * integrate.c (expand_inline_function): Don't check
5708         DECL_FRAME_SIZE.
5709         * print-tree.c (print_node): Don't print it.
5710         * toplev.c (rest_of_compilation): Don't try to inline when
5711         flag_no_inline is on.
5712         * tree.h (DECL_FRAME_SIZE): Remove.
5713         (tree_decl): Adjust accordingly.
5714
5715 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5716
5717         * combine.c (try_combine): Use memcpy, not bcopy.
5718
5719         * genattrtab.c (expand_units): Likewise.
5720
5721 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
5722
5723         * i386.md (push mem DI peep2): New.
5724         (mov 0, mov -1 peep2): Handle 64bit.
5725         (lea to arithmetics peep2): Handle 64bit leas.
5726         (rsp arithmetics to push/pop peep2s): New.
5727
5728         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
5729
5730 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
5731
5732         * i386.c (struct machine_function): Add save_varrargs_registers.
5733         (ix86_save_varrargs_registers): New macro.
5734         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
5735         (ix86_expand_prologue): Likewise.
5736         (ix86_emit_epilogue_esp_adjustement): Likewise.
5737         (ix86_expand_epilogue): Likewise.
5738         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
5739         (pro_epilogue_adjust_stack_1): New insn.
5740         (pro_epilogue_adjust_stack_rex64): Likewise.
5741         * i386.h (MASK_NO_RED_ZONE): New constant.
5742         (TARGET_RED_ZONE): New macro.
5743         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
5744         (RED_ZONE_SIZE): New constant.
5745         (RED_ZONE_RESERVE): New constant.
5746
5747 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5748
5749         * toplev.c (set_float_handler): Use memcpy, not bcopy.
5750
5751 2001-03-25  Kazu Hirata  <kazu@hxi.com>
5752
5753         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
5754         space.
5755         (modqi3): Likewise.
5756         (umodhi3): Likewise.
5757         (modhi3): Likewise.
5758
5759 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5760
5761         * mkconfig.sh (DEFINES): Handle entries with '='.
5762
5763         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
5764         Set xm_defines to MACRO=value instead.
5765
5766         * i370/xm-mvs.h: Delete.
5767
5768         * ns32k/xm-pc532-min.h: Likewise.
5769
5770 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
5771
5772         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
5773         shiftdi_operand;
5774         use ix86_expand_binary_operator
5775         (?sh??i_?): Disable for 64bit.
5776         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
5777         * i386.c (shiftdi_operand): New predicate.
5778
5779         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
5780         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
5781         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
5782         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
5783         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
5784         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
5785         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
5786         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
5787         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
5788         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
5789         (rotldi3, rotrdi3): New expanders.
5790
5791 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
5792
5793         * i386.md (movstrsi): Move offline.
5794         (movstrdi): New.
5795         (strmovdi_rex64): New.
5796         (strmov?i): Accept 64bit.
5797         (strmov?i_rex64): New.
5798         (strmov?i_rex_1): New.
5799         (strmov?i_1): Disable for 64bit.
5800         (rep_mov?i_rex64): New.
5801         (rep_mov?i): Disable for 64bit.
5802         (clrstrsi): Move offline.
5803         (strset?i_rex64): New.
5804         (strset?i: Accept 64bit.
5805         (rep_stos?i): Disable for 64bit.
5806         (rep_stos?i_rex64): New.
5807         (strset?i_rex_1): New.
5808         (strset?i_1): Disable for 64bit.
5809         (cmpstrsi): Accept 64bit.
5810         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
5811         (cmpstrqi_nz_rex_1): New.
5812         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
5813         (strlensi): Move offline.
5814         (strlendi): New.
5815         (strlenqi_1): Disable for 64bit; fix constraints.
5816         (strlenqi_rex_1): New.
5817         * i386.c (ix86_adjust_counter): New static function.
5818         (ix86_zero_extend_to_Pmode): Likewise.
5819         (ix86_expand_aligntest): Likweise.
5820         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
5821         (ix86_expand_movstr): New global function.
5822         (ix86_expand_clrstr): New global function.
5823         (ix86_expand_strlen): New global function.
5824         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
5825         ix86_expand_strlen): Declare.
5826         (ix86_expand_strlensi_unroll_1): Delete.
5827
5828 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
5829
5830         * i386.md (cmpdi): Fix operand predicates.
5831         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
5832          cmpdi_1_insn_rex64): New patterns.
5833         (adddi3): Turn to expander.
5834         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
5835         (addsi3_carry_zext): New pattern.
5836         (adddi_?_rex64): New patterns and splitters.
5837         (addsi_?_zext): New patterns.
5838         (subsi3_carry_zext): New pattern.
5839         (subdi_?_rex64): New patterns and splitters.
5840         (iorsi_?_zext): New patterns.
5841         (iordi_?_rex64): New patterns and splitters.
5842         (iorsi_?_zext): New patterns.
5843         (iorsi_?_zext_imm): New patterns.
5844         (xorsi_?_zext): New patterns.
5845         (xordi_?_rex64): New patterns and splitters.
5846         (xorsi_?_zext): New patterns.
5847         (negdi*): New patterns.
5848         (one_cmpldi*): Likewise.
5849         (one_cmplsi*_zext, negsi*_zext): Likewise.
5850         (testqi_ext_3_rex64): New pattern.
5851
5852 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
5853
5854         * i386-protos.h (ix86_split_long_move): Return void.
5855         * i386.c (ix86_split_to_parts): Handle 64bit target.
5856         (ix86_split_long_move): Likewise.
5857         * i386.md (all calls to ix86_split_long_move): Update.
5858
5859 2001-03-23  Richard Henderson  <rth@redhat.com>
5860
5861         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
5862         to avoid shadowing arguments.
5863
5864 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
5865
5866         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
5867         to variable names where DECL_NAME is different from
5868         DECL_ASSEMBLER_NAME.
5869
5870 2001-03-23  Jim Wilson  <wilson@redhat.com>
5871
5872         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
5873         (assemble_alias): Call make_decl_rtl.
5874
5875 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
5876
5877         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
5878
5879 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
5880
5881         * extend.texi: Document the "java_interface" attribute.
5882
5883 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
5884
5885         * mkconfig.sh: Use a subshell with redirected stdout,
5886         instead of closing stdout and confusing commands that run
5887         afterward.  Throw away output of cmp.
5888
5889 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
5890
5891         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
5892
5893 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
5894
5895         * i386.md (zero_extendsidi2_32): Break out from ...
5896         (zero_extendsidi2): ... here ; turn to expander.
5897         (zero_extendsidi2_rex64): New.
5898         (extendsidi2_32): Break out from ...
5899         (extendsidi2): ... here ; turn to expander.
5900         (extendsidi2_rex64): New.
5901         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
5902         (trunc?f?f splitters): Add 64bit versions.
5903
5904 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
5905
5906         * i386.md (pushsi, pushsi2_prologue): Disable.
5907         (pushsi2_rex64): New.
5908         (movabs?i_1_rex64, movabs?i_2_rex64): New.
5909         (movqi_ext_1): Disable for 64bit.
5910         (movqi_ext_1_rex64): New.
5911         (pushdi2_rex64): New pattern, peep2s and splitter.
5912         (pushdi2_prologue_rex64): New pattern.
5913         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
5914         Likewise.
5915         (movdi splitters): Disable for 64bit.
5916         (movdi_1_rex64): New pattern, peep2s and splitters.
5917         (swapdi): New pattern.
5918         (pushsf): Disable for 64bit.
5919         (pushsf_rex64): New pattern and splitter.
5920         (pushdf_nointeger): Disable for 64bit.
5921         (pushdf_integer): Handle the 64bit case.
5922         (pushtf): Likewise; update splitters.
5923
5924 2001-03-22  Richard Henderson  <rth@redhat.com>
5925
5926         * mkconfig.sh: Include insn-flags.h.
5927         * Makefile.in (CONFIG_H): Include insn-flags.h.
5928         (lots of objects): Remove insn-codes.h and insn-flags.h.
5929
5930         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
5931         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
5932         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
5933         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
5934         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
5935         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
5936         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
5937         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
5938         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
5939         v850/v850.c, vax/vax.c:
5940         Don't include insn-flags.h.
5941
5942         * diagnostic.c, expr.h, reload.c, toplev.c:
5943         Don't include insn-codes.h.
5944
5945         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
5946         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
5947         c4x/c4x.c, i960/i960.c, mips/mips.c:
5948         Don't include insn-codes.h or insn-flags.h.
5949
5950         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
5951         or insn-flags.h in the generated code.
5952         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
5953         (main): Forward declare struct rtx_def.
5954
5955 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
5956
5957         * invoke.texi (-ffast-math): Remove duplicate line about
5958         __FAST_MATH__.
5959
5960         * gcc.texi: Remove more obsolete documentation of bugs and
5961         installation problems.
5962
5963 2001-03-21  Kazu Hirata  <kazu@hxi.com>
5964
5965         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
5966         into two parts.
5967
5968 2001-03-20  Jason Merrill  <jason@redhat.com>
5969
5970         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
5971         not '.' or '$'.
5972         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
5973         * varasm.c (CHKR_PREFIX): Likewise.
5974
5975 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5976
5977         * gcse.c (hash_scan_set): An expression is not anticipatible if it
5978         is part of a multi-SET insn.
5979
5980         * cse.c (find_comparison_args): Remove previous change.
5981         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
5982         REG_EQUAL notes.
5983
5984         * config/i386/i386.md (conditional_trap): Remove warning.
5985
5986         * recog.c (push_operand): Fix error in last change that caused
5987         undefined symbol on many targets.
5988
5989         * sdbout.c: #include ggc.h.
5990         (sdbout_init): Move to end of file.
5991         Call ggc_add_tree_root for anonymous_types.
5992         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
5993         (sdbout_one_type): Use DECL_NAME for field name.
5994         * Makefile.in (sdbout.o): Show includes ggc.h.
5995
5996 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
5997
5998         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
5999         (override_options): Use properlimits for preferred_stack_boundary.
6000         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
6001         on x86_64.
6002         (ext_register_operand): Accept DImode.
6003         (load_pic_register): Abort on 64bit.
6004         (gen_push): Use Pmode instead of SImode.
6005         (ix86_save_reg): Pic reg is never used on 64bit.
6006         (ix86_expand_prologue): Likewise.
6007         (ix86_emit_save_regs): Use Pmode instead of SImode.
6008         (legitimate_address_p): Check displacement for 64bit.
6009         (print_operand): Avoid outputting of (%rip) on 64bit.
6010         (print_operand_address): Output (%rip) where possible.
6011         (split_di): Abort on 64bit registers.
6012         (ix86_expand_branch): DImode comparison is simple for x86_64.
6013         (memory_address_length): Recognize memory addresses formed using
6014         PRE/POST modify.
6015         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
6016         for x86_64.
6017         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
6018
6019 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
6020
6021         * recog.c (push_operand): Recognize new format of push instructions.
6022
6023 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6024
6025         * i386.md (pushqi1): New.
6026         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
6027         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6028         x86_64_immediate_operand, x86_64_immediate_operand,
6029         x86_64_zext_immediate_operand): Declare.
6030         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
6031         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6032         x86_64_immediate_operand, x86_64_immediate_operand,
6033         x86_64_zext_immediate_operand): define.
6034         * i386.h (PREDICATE_CODES): Add new predicates.
6035
6036 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
6037
6038         * i386.md (pophi1, popqi1, pushqi1): Remove.
6039
6040         * expr.c (emit_single_push_insn): New function.
6041         (move_by_pieces): Accept NULL as destination for push instructions.
6042         (gen_push_operand): Kill.
6043         (emit_push_insn): Pass NULL when pushing; avoid updating of
6044         stack_pointer_delta.
6045         * expr.h (gen_push_operand): Kill.
6046
6047 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6048
6049         * rtl.texi (COMPARE): Clarify documentation and reference section
6050         on comparisons.
6051
6052 2001-03-20  Stan Shebs  <shebs@apple.com>
6053
6054         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
6055         (get_object_reference): Ditto.
6056         (error_with_ivar): Use error_with_file_and_line.
6057         (warn_with_method): Use warning_with_file_and_line.
6058
6059 2001-03-20  Tom Tromey  <tromey@redhat.com>
6060
6061         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
6062
6063 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
6064
6065         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
6066         variables that are TREE_PUBLIC, even if not TREE_STATIC.
6067
6068 2001-03-20  DJ Delorie  <dj@redhat.com>
6069
6070         * Makefile.in (install-libgcc): Pass complete list of variables.
6071         (install-multilib): Ditto.
6072
6073 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
6074
6075         * config/i386/cygwin.h: Declare ctor_section, dtor_section
6076         drectve_section, switch_to_section.
6077
6078         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
6079         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
6080         i386_pe_mark_dllimport.
6081
6082 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
6083
6084         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
6085         functions i386_pe_*.
6086
6087         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
6088         i386_pe_* functions with char * arguments.
6089
6090 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
6091
6092         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
6093         and store.
6094         (movsi_ie): Introduce fpul store.
6095
6096 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
6097
6098         * Makefile.in (OBJS): Remove hashtab.o.
6099
6100 2001-03-19  Stan Shebs  <shebs@apple.com>
6101
6102         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
6103         * c-lang.c (maybe_objc_method_name): Ditto.
6104         * c-tree.h (maybe_objc_method_name): Remove decl.
6105
6106 2001-03-19  Tom Tromey  <tromey@redhat.com>
6107
6108         * gcc.c (init_gcc_specs): Fix comment.
6109
6110 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
6111
6112         Compute DECL_ASSEMBLER_NAME lazily.
6113         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
6114         (DECL_ASSEMBLER_NAME_SET_P): New macro.
6115         (SET_DECL_ASSEMBLER_NAME): Likewise.
6116         (COPY_DECL_ASSEMBLER_NAME): Likewise.
6117         (set_decl_assembler_name): Declare.
6118         (lang_set_decl_assembler_name): Likewise.
6119         * tree.c (lang_set_decl_assembler_name): New variab.e
6120         (set_decl_assembler_name): New function.
6121         (init_obstacks): Set lang_set_decl_assembler_name.
6122         (build_decl): Don't set DECL_ASSEMBLER_NAME.
6123         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
6124         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
6125         where it's not necessary.
6126         (builtin_function): Likewise.
6127         (finish_decl): Likewise.
6128         * dbxout.c (dbxout_type_methods): Likewise.
6129         * ggc-common.c (ggc_mark_trees): Likewise.
6130         * profile.c (output_func_start_profiler): Likewise.
6131         * varasm.c (make_decl_rtl): Likewise.
6132
6133         * cse.c (find_comparison_args): Update documentation.  Fix
6134         mishandling of COMPARE operations.
6135
6136         * tree.def (ABS_EXPR): Add documentation.
6137         * fold-const.c (fold): Improve folding of ABS_EXPRs.
6138
6139 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
6140
6141         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
6142
6143 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
6144
6145         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
6146         Remove ia32 linux PIC kludge and move it...
6147         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
6148
6149 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6150
6151         * i386.md (absdf2 expander): Fix 64bit case.
6152
6153 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
6154
6155         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
6156
6157 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
6158
6159         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
6160
6161 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6162
6163         * README.X11: Remove obsolete file.
6164
6165 2001-03-18  Anthony Green  <green@redhat.com>
6166
6167         * config/pj/pj.h: Remove some trailing commas.
6168         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
6169
6170 2001-03-18  Richard Henderson  <rth@redhat.com>
6171
6172         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
6173         * calls.c: ... here.
6174         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
6175         defaults for them here.
6176
6177 2001-03-17  Anthony Green  <green@redhat.com>
6178
6179         * config/pj/lib1funcs.S: Fix broken comment.
6180         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
6181         labels with '.'.
6182
6183 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
6184
6185         * gcc.texi: Remove obsolete information relating to build and
6186         installation problems with enquire or the Pyramid C compiler.
6187
6188 2001-03-17  Richard Henderson  <rth@redhat.com>
6189
6190         * dwarf2out.c (queue_reg_save): New.
6191         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
6192         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
6193         dwarf2out_reg_save.
6194         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
6195         (cfa, cfa_store, cfa_temp): Make static.
6196         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
6197
6198 2001-03-17  Richard Henderson  <rth@redhat.com>
6199
6200         * integrate.h (struct inline_remap): Add local_return_label.
6201         * integrate.c (expand_inline_function): Initialize it and emit
6202         it after copy_insn_notes.
6203         (copy_insn_list): Don't store local_return_label here.
6204         (copy_insn_notes): New function split out from copy_insn_list.
6205
6206 2001-03-17  Richard Henderson  <rth@redhat.com>
6207
6208         * dwarf2out.c (lookup_filename): Emit .file if the assembler
6209         is generating .debug_line.
6210         (dwarf2out_init): Add main_input_filename to the file table first.
6211         * configure.in (as_dwarf2_debug_line): Test with file number 1
6212         instead of file number 0.
6213
6214 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6215
6216         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
6217         (gen_rtx_combine): Deleted; all references changed as appropriate.
6218         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
6219
6220         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
6221
6222 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
6223
6224         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
6225         variable.
6226
6227 2001-03-16  Jim Wilson  <wilson@redhat.com>
6228
6229         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
6230         then set it to LOC_REG (79) instead of aborting.
6231
6232 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
6233
6234         * gccbug.in:  Remove high priority.
6235
6236 2001-03-16  Richard Henerson  <rth@redhat.com>
6237
6238         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
6239         output with a space instead of deleting it.
6240         * configure: Regenerate.
6241
6242 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
6243
6244         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
6245         handles the gory details of converting an object file into
6246         something that's safe to grep.
6247         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
6248         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
6249         newlines at either end of the string we're looking for.
6250         Make 'checking ...' message less stilted.
6251         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
6252         ARM in-memory layout and its hypothetical converse.  Don't
6253         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
6254         HOST_WORDS_BIG_ENDIAN.
6255
6256         * configure.in: Adjust for renamed macro.  Move
6257         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
6258         * configure, config.in: Regenerate.
6259
6260 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6261
6262         * fixinc/Makefile.in: Set SHELL.
6263
6264 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6265
6266         * fixinc/fixincl.c (fix_with_system): Quote file names before
6267         passing them to shell.
6268
6269 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
6270
6271         * Makefile.in: Use fix-header$(build_exeext) instead
6272         of fix-header.
6273
6274 2001-03-16  Richard Henderson  <rth@redhat.com>
6275
6276         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
6277         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
6278         (size_of_line_prolog): Remove.
6279         (output_line_info): Compute prologue size via label difference.
6280         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
6281
6282         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
6283         assembler error when redefining file numbers.
6284         * config.in, configure: Rebuild.
6285
6286         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
6287         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
6288         (dw2_asm_output_delta_uleb128): Likewise.
6289         (dw2_asm_output_delta_sleb128): Similarly.
6290         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
6291
6292 2001-03-16  Michael Meissner  <meissner@redhat.com>
6293
6294         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
6295         warnings.
6296         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
6297         warnings.
6298         (BITMASK_LOWER16): Replacement for 0x0000ffff.
6299
6300         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
6301         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
6302         being unsigned in ISO C and signed in traditional.
6303         (expand_prologue): Ditto.
6304         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
6305
6306         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
6307         warnings.
6308         (divsi3,divdi3): Ditto.
6309         (modsi3,moddi3): Ditto.
6310         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
6311         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
6312         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
6313         warnings.
6314
6315 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6316
6317         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
6318         SSE based conditional moves on LTGT/UNEQ conditions;
6319         Canonicalize EQ to NE.
6320         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
6321         (sse_mov?fcc_ne): New.
6322
6323         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
6324
6325 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6326
6327         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
6328         register may be dead.
6329
6330 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
6331
6332         * Makefile.in (hash.o): Depend on CONFIG_H.
6333
6334 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6335
6336         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
6337
6338 2001-03-15  Richard Henderson  <rth@redhat.com>
6339
6340         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
6341         (ASM_OUTPUT_DWARF_PCREL): New.
6342         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
6343
6344 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
6345
6346         * cppfiles.c (stack_include_file): Use MAX of sysp.
6347
6348 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
6349
6350         * config.gcc (ia64*-*-hpux*): New case.
6351         * config/ia64/hpux.h: New file for HP-UX support.
6352         * config/ia64/t-hpux: New file for HP-UX support.
6353
6354 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
6355
6356         * fixinc/inclhack.def (irix_stdio_va_list): New.
6357         * fixinc/fixincl.x: Rebuilt.
6358
6359 2001-03-15  Richard Henderson  <rth@redhat.com>
6360
6361         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
6362         if provided by the target.
6363         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
6364         (dw2_asm_output_addr): New.
6365         * dwarf2asm.h (dw2_asm_output_addr): Declare.
6366         * dwarf2out.c (output_cfi): Use it for program addresses.
6367         (output_call_frame_info, output_die): Likewise.
6368         (output_aranges, output_line_info): Likewise.
6369
6370 2001-03-15  Bruce Korb  <bkorb@gnu.org>
6371
6372         * gcc.c(main): make more rigorous
6373         * collect2.c(main): guard against ignoring SIGCHLD
6374         * protoize.c(main): ditto
6375         * gcc/fixinc/fixincl.c(initialize): ditto
6376
6377 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6378
6379         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
6380         (sdbout_parms): Likewise.
6381
6382 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
6383
6384         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
6385         "widen" a destination that is already wider than a word.  Also do
6386         not widen if LOAD_EXTEND_OP is NIL for the given mode.
6387
6388 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6389
6390         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
6391
6392 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
6393
6394         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
6395
6396 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
6397
6398         * i960.h (i960_maxbitalignment,
6399         i960_last_maxbitalignment): Declare.
6400         * i960.c (i960_maxbitalignment,
6401         i960_last_maxbitalignment): Make global.
6402         (process_pragma): Delete.
6403         (i960_pr_align, i960_pr_noalign): Move from here ...
6404         * i960-c.c: ... to this new file.
6405         * t-960bare (i960-c.o): New rule.
6406         * t-vxworks960 (i960-c.o): Likewise.
6407         * config.gcc (i960-*-*): Define c_target_objs and
6408         cxx_target_objs.
6409
6410 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
6411
6412         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
6413         without adding in rtx code and mode.
6414
6415         * alias.c (init_alias_analysis): Don't use any rtx whose value
6416         varies as a known value.
6417         Delete a superfluous test.
6418
6419         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
6420         ia64_sched_reorder.
6421         (ia64_sched_reorder): Call maybe_rotate; also rotate after
6422         scheduling a stop bit.
6423         (ia64_emit_nops): Correctly handle ASMs.
6424
6425 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
6426
6427         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
6428
6429 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6430
6431         * cpp.texi: Update documentation for -include and -imacros.
6432         * cppfiles.c (struct include_file): Remove "defined" memeber.
6433         (find_or_create_entry): Make a copy of the file name, and
6434         simplify it.
6435         (open_file): Update to ensure we use the simplified filename.
6436         (stack_include_file): Don't set search_from.
6437         (cpp_included): Don't simplify the path name here.
6438         (find_include_file): New prototype.  Call search_from to
6439         get the start of the "" include chain.  Don't simplify the
6440         filenames here.
6441         (_cpp_execute_include): New prototype.  Move diagnostics to
6442         do_include_common.  Update.
6443         (_cpp_pop_file_buffer): Don't set defined.
6444         (search_from): New prototype.  Use the preprocessor's cwd
6445         for files included from the command line.
6446         (read_name_map): Don't simplify the pathname here.
6447         * cpphash.h (enum include_type): New.
6448         (struct buffer): Delete search from.  New search_cached.
6449         (_cpp_execute_include): Update prototype.
6450         * cppinit.c (do_includes): Use _cpp_execute_include.
6451         * cpplib.c (do_include_common): New function.
6452         (do_include, do_include_next, do_import): Use it.
6453
6454 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6455
6456         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
6457         contents of the RTL, to determine the name of the object.
6458
6459 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6460
6461         * tree.h (DECL_RTL): Allocate RTL lazily.
6462         (SET_DECL_RTL): New macro.
6463         (DECL_RTL_SET_P): Likewise.
6464         (COPY_DECL_RTL): Likewise.
6465         (DECL_RTL_IF_SET): Likewise.
6466         * varasm.c (make_decl_rtl): Add assertions about the kind of
6467         declaration we are processing.
6468         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
6469         (start_decl): Likewise.
6470         (finish_decl): Likewise.
6471         * c-semantics.c (emit_local_var): Likewise.
6472         * calls.c (expand_call): Likewise.
6473         * dbxout.c (dbxout_symbol): Likewise.
6474         * emit-rtl.c (unshare_all_rtl): Likewise.
6475         (unshare_all_decls): Likewise.
6476         (reset_used_decls): Likewise.
6477         * expr.c (store_constructor): Likewise.
6478         (safe_from_p): Likewise.
6479         (expand_expr): Likewise.
6480         * function.c (put_var_into_stack): Likewise.
6481         (instantiate_decls_1): Likewise.
6482         (assign_parms): Likewise.
6483         (expand_function_start): Likewise.
6484         (expand_function_end): Likewise.
6485         * ggc-common.c (gcc_mark_trees): Likewise.
6486         * integrate.c (function_cannot_inline_p): Likewise.
6487         (copy_decl_for_inlining): Likewise.
6488         (expand_inline_function): Likewise.
6489         (integrate_parm_decls): Likewise.
6490         (integrate_decl_tree): Likewise.
6491         * print-tree.c (print_node): Likewise.
6492         * reg-stack.c (stack_result): Likewise.
6493         * stmt.c (label_rtx): Likewise.
6494         (expand_return): Likewise.
6495         (expand_decl): Likewise.
6496         (expand_decl_cleanup): Likewise.
6497         (expand_anon_union_decl): Likewise.
6498         * toplev.c (check_global_declarations): Likewise.
6499         (rest_of_decl_compilation): Likewise.
6500         * tree.c (simple_cst_equal): Likewise.
6501         * objc/objc-act.c (generate_static_references): Likewise.
6502
6503 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
6504
6505         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
6506         gcc_AC_C_FLOAT_FORMAT): New macros.
6507         * configure.in: Add AC_PROG_CPP after CC tests;
6508         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
6509         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
6510         * configure, config.in: Regenerate.
6511
6512         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
6513         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
6514         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
6515         config/i370/xm-linux.h, config/i370/xm-oe.h,
6516         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
6517         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
6518         config/pa/xm-linux.h, config/pa/xm-pa.h,
6519         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
6520         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
6521         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
6522         config/we32k/xm-we32k.h: Delete.
6523
6524         * config/i370/xm-mvs.h, config/m88k/m88k.h,
6525         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
6526         config/vax/xm-vms.h: Don't define any of:
6527         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
6528
6529         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
6530
6531         * config.gcc: Remove references to deleted files.
6532         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
6533         FATAL_EXIT_CODE, which is the same between oe and mvs).
6534
6535 2001-03-14  DJ Delorie  <dj@redhat.com>
6536             Vladimir Makarov  <vmakarov@redhat.com>
6537
6538         * config/i960/i960.c (i960_function_prologue): Compute size of
6539         frame according to number of registers actually saved there.
6540
6541 2001-03-14  Richard Henderson  <rth@redhat.com>
6542
6543         * expr.c (emit_move_insn_1): Fix else if around #endif.
6544
6545 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
6546                               Vojtech Pavlik
6547
6548         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
6549         constraints.
6550
6551 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
6552
6553         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
6554         (override_options): Parse cmodel string.
6555         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
6556         * i386.h (TARGET_OPTIONS): Add "cmodel".
6557         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
6558         (enum cmodel): New.
6559         (ix86_cmodel_string, ix86_cmodel): Declare.
6560
6561 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
6562
6563         Spot by Matt Kraai:
6564         * i386.h (GENERAL_REG_P): Add missing REG_P.
6565
6566 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
6567
6568         * configure.in: Use $gcc_cv_as instead of $as.
6569         * configure: Regenerated.
6570
6571 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6572
6573         * cppfiles.c (stack_include_file): Only increase the include
6574         count if we actually process the file properly, as opposed
6575         to treating it as length zero.  Only call read_include_file
6576         if not DO_NOT_REREAD.  Handle the -H include file output
6577         here.
6578         (read_include_file): Remove now redundant DO_NOT_REREAD check.
6579         (cpp_included, find_include_file): Simplify pathnames after
6580         remapping them.  If remapping, don't use the remapped file
6581         name's buffer as our scratch buffer.
6582         (cpp_pop_file_buffer): Replace the multiple include macro
6583         only if it isn't yet set.
6584         (read_name_map): Simplify remapped names when reading in.
6585         (remap_filename): Move code to code path that uses it.
6586         (_cpp_simplify_pathname): Return the input pointer.
6587         * cpphash.h (_cpp_simplify_pathname): Update prototype.
6588
6589 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
6590
6591         * expr.c (expand_expr): Revove bogus conditional.
6592
6593 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
6594
6595         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
6596
6597 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
6598
6599         * reg-stack.c (stack_result): Unconditionally use
6600         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
6601
6602 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
6603
6604         * expr.c (emit_move_insn_1):  Split push of complex value when
6605         no suitable push instruction exist.
6606
6607         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
6608         instead of QI_REG_P.
6609
6610 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6611
6612         * alias.c (handled_component_p, can_address_p): New functions.
6613         (get_alias_set): Use them.
6614
6615 2001-03-13  Jim Wilson  <wilson@redhat.com>
6616
6617         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
6618         from 80 in try_locals code.
6619         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
6620
6621 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
6622
6623         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
6624         gcc_AC_C_LONG_LONG): New.
6625         * configure.in: Use them.  Probe the size of short, int, long,
6626         and long long/__int64 if we have them.  Move all the AC_C_*
6627         checks together, except gcc_AC_C_CHAR_BIT which has to go
6628         after AC_CHECK_HEADERS(limits.h).
6629         Take hwint.h out of host_xm_file and build_xm_file.
6630
6631         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
6632         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
6633         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
6634         Move the HOST_WIDEST_INT setup logic here from system.h.
6635         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
6636         defined.
6637         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
6638         is now handled by hwint.h.
6639
6640         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
6641         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
6642         config/ia64/xm-ia64.h: Don't define any of:
6643         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
6644         HOST_BITS_PER_LONGLONG.
6645
6646         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
6647         config/h8300/xm-h8300.h, config/mips/iris6.h,
6648         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
6649         config/sparc/xm-sp64.h: Delete.
6650         * config.gcc: Remove references to deleted files.
6651
6652         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
6653         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
6654         * config/i370/xm-linux.h: Clarify floating-point situation in
6655         a comment.
6656
6657 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
6658
6659         * cppfiles.c (NO_INCLUDE_PATH): New macro.
6660         (find_include_file): Decide here which part of the include
6661         chain to start the search.  Complain about an empty include
6662         chain in all cases apart from an abolsute file name.
6663         (_cpp_execute_include): Don't choose the search chain here.
6664         Don't call handle_missing_include in the case of an empty
6665         include chain.
6666         (_cpp_compare_file_date): Don't choose the search chain here.
6667         * cpplib.c (do_include_next): Move the in-main-file diagnostic
6668         here from _cpp_execute_include.  Behave like #include if
6669         we're in the main file.
6670
6671 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6672
6673         * system.h (malloc, realloc, calloc, strdup): Only poison these
6674         tokens when IN_GCC is defined.
6675
6676 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
6677
6678         * i386.md (abs?f expander): Support SSE case.
6679         (abd?f_if): Add new "USE"; add splitters.
6680
6681 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6682
6683         * cpp.texi (poison): Explain the macro expansion exception.
6684
6685 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
6686
6687         * expr.c (store_expr): Add dont_store_target.  If temp is already in
6688         target before copying to reg, don't store it into target again.
6689
6690 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6691
6692         * cppinternals.texi: Update for file handling.
6693
6694 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
6695
6696         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
6697         2001-02-24 which broke building the Java library.
6698         * function.c (identify_blocks): Likewise.
6699         (all_blocks): Likewise.
6700         * integrate.c (integrate_decl_tree): Likewise.
6701         * print-tree.c (print_node): Likewise.
6702         * tree.h (BLOCK_NUMBER): Likewise.
6703         (struct tree_block): Likewise.
6704
6705 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
6706
6707         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
6708         __WCHAR_TYPE__ definition.
6709         (WCHAR_TYPE_SIZE): #undef before #define.
6710
6711 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6712
6713         * cppfiles.c: Update comments.
6714         (destroy_include_file_node): Rename destroy_node.
6715         (find_or_create_entry): New function.
6716         (open_file, _cpp_fake_include): Use it.
6717         (handle_missing_header): New function, broken out of
6718         _cpp_execute include.  Don't segfault if there is no
6719         system or quoted path.
6720         (_cpp_execute_include): Use handle_missing_header.
6721
6722 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
6723
6724         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
6725         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
6726
6727 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6728
6729         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
6730         unless anti_dependence says they are.
6731         * alias.c (objects_must_conflict): If neither has a type specified,
6732         they must conflict.
6733
6734 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6735             David Billinghurst <David.Billinghurst@riotinto.com>
6736
6737         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
6738
6739 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
6740
6741         * i386.md (trunctfdf2_2): Rename missnamed pattern.
6742         (*_one_bit): Remove type on the match_operand in attributes.
6743
6744 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
6745
6746         * i386.c: Commit forgotten hunk in previous patch.
6747         (regclass_map): Add extended registers.
6748         (dbx_register_map): Add missing frame register.
6749
6750 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
6751
6752         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
6753
6754         * i386.md (x86_sahf_1): Disable for 64bit.
6755         (popsi*, pophi*): Likewise.
6756         (pushqi, pushhi): Likewise.
6757         (movdi, pushdi): Likewise.
6758         (zero extend DImode splitter): Likewise.
6759         (adddi, minusdi splitter): Likewise.
6760         (umulsidi): Likewise.
6761         (umulsi): New.
6762         (mulsidi): Disable for 64bit
6763         (lshift:DI/ashift:DI): Disable for 64bit.
6764         (loop patterns): Likewise.
6765         (call_pop, call_value_pop expanders and patterns): Likewise.
6766         (prologue_get_pc): Likewise.
6767         (leave): Likewise.
6768         (fcmovDI pattern and splitter): Likewise.
6769         (movdfcc_1_rex64): New.
6770
6771 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
6772
6773         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
6774         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
6775         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
6776         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
6777         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
6778         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
6779         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
6780         (PUSH_ROUNDING): x86_64 rounds to 64bits.
6781         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
6782         (REGPARM_MAX): Set to 6 for x86_64.
6783         (SSE_REGPARM_MAX): Set to 16 for x86_64.
6784         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
6785         registers.
6786
6787         * (patterns that does use upper halves): Update constraints
6788         'q' to 'Q' and 'r' to 'R'.
6789         (cmpqi_ext_1): Disable for 64bit.
6790         (cmpqi_ext_3_insn): Likewise.
6791         (movqi_extzv_1): Likewsie.
6792         (addqi_ext_1): Liekwsie
6793         (testqi_ext_1): Liekwsie
6794         (andqi_ext_1): Liekwsie
6795         (xorqi_ext_1): Liekwsie
6796         (cmpqi_ext_1_rex64): New.
6797         (cmpqi_ext_3_insn_rex64): Likewise.
6798         (movqi_extzv_1_rex64): Likewsie.
6799         (addqi_ext_1_rex64): Liekwsie
6800         (testqi_ext_1_rex64): Liekwsie
6801         (andqi_ext_1_rex64): Liekwsie
6802         (xorqi_ext_1_rex64): Liekwsie
6803
6804 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6805
6806         * configure.in: Move check for unsigned enumerated bitfields
6807         to macro in aclocal.m4.  Disable it for now.
6808         * configure, config.in: Regenerate.
6809         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
6810         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
6811         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
6812         kind above its first use.
6813
6814         * config/xm-interix.h, config/alpha/xm-alpha.h,
6815         config/i370/xm-linux.h, config/i386/xm-beos.h,
6816         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
6817         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
6818         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
6819         Don't define ONLY_INT_FIELDS under any circumstances.
6820
6821         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
6822
6823         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
6824         config/sparc/xm-sysv4.h: Delete - now identical with some
6825         other xm header.
6826         * config.gcc (hppa targets): Replace xm-pahpux.h and
6827         xm-papro.h with implicit xm-pa.h.
6828         (sparc targets): Replace xm-sysv4.h with implicit or explicit
6829         xm-sparc.h.
6830
6831 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
6832
6833         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
6834         before reload_cse_noop_set_p.
6835
6836 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6837
6838         * config.gcc: Where xm-host.h used to include another
6839         xm-host.h, list the nested header directly in xm_file.  Remove
6840         references to deleted files.  Can now use sparc/xm-sp64.h for
6841         sparcv9-*-solaris*.
6842
6843         * config/xm-linux.h, config/arm/xm-linux.h,
6844         config/i386/xm-dos.h, config/i386/xm-gnu.h,
6845         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
6846         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
6847         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
6848         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
6849         Delete.
6850
6851         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
6852         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
6853         bother to wrap #undef in #ifdef.
6854         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
6855         Don't include xm-linux.h.
6856         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
6857
6858         * configure.in: Wrap regexps using [] in changequote block.
6859         Use expr : not echo | grep.  Simplify regexps.
6860         * configure: Regenerate.
6861
6862         56 xm-files remain, 22 xm-arch.
6863
6864 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6865
6866         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
6867         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
6868         (local_index, local_rindex): Delete, use strchr/strrchr instead.
6869         (copy_object): Fix format specifier vs argument mismatch.
6870
6871         * mips-tdump.c: Make local functions static.
6872         (rindex): Don't #undef.
6873         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
6874         (fatal, fancy_abort): Delete.
6875         (read_seek): Avoid signed/unsigned compare.
6876
6877 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6878
6879         * combine.c (try_combine): Fix error in change to try original
6880         register.
6881         (gen_rtx_combine): Do same as gen_rtx for now.
6882
6883 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
6884
6885         * configure.in: AC_SUBST xm_defines.
6886         * configure: Regenerate.
6887         * Makefile.in: Set DEFINES=$(xm_defines) when building
6888         tconfig.h.
6889
6890 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
6891
6892         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
6893         (cpp_included, find_include_file): Update.
6894         (_cpp_compare_file_date): Make else unconditional.
6895
6896 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
6897
6898         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
6899
6900 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6901
6902         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
6903         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
6904
6905 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
6906
6907         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
6908         if it's a record type.
6909
6910 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
6911
6912         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
6913         mingw includes slightly.
6914
6915 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6916
6917         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
6918         #undef token before poisoning it.
6919
6920 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6921
6922         * alpha.c (check_float_value): Use memcpy, not bcopy.
6923
6924         * m32r.c (m32r_sched_reorder): Likewise.
6925
6926         * vax.c (check_float_value): Likewise.
6927
6928 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6929
6930         * toplev.c (file_name_nondirectory): Remove.
6931         * toplev.h: Similarly.
6932         * dwarf2out.c (compute_section_prefix): Use lbasename instead
6933         of file_name_nondirectory.
6934
6935 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6936
6937         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
6938         * mips-tfile.c: Don't #undef rindex; not used.
6939
6940 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
6941
6942         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
6943         (dbx64_register_map): Declare.
6944         (RETURN_ADDR_RTX): Fix for 64bit.
6945         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
6946         (INCOMING_FRAME_SP_OFFSET): Set to 8.
6947         * i386.c (dbx64_register_map): New global array.
6948         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
6949         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
6950         for 64bits.
6951
6952 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
6953
6954         * cppfiles.c (search_from): Use lbasename.
6955         * mkdeps.c (deps_add_default_target): Use lbasename.
6956
6957 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6958
6959         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
6960         xcalloc in lieu of malloc, realloc & calloc.
6961
6962         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
6963
6964         * gengenrtl.c (xmalloc): Likewise.
6965
6966         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
6967         really_call_* memory allocation routines.
6968
6969         * stmt.c (check_for_full_enumeration_handling): Use
6970         really_call_calloc, not calloc.
6971
6972         * system.h (really_call_malloc, really_call_calloc,
6973         really_call_realloc): Define.
6974         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
6975
6976 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
6977
6978         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
6979
6980 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
6981
6982         * configure: Rebuilt.
6983         * configure.in: Only use `lang_requires' for languages athat are
6984         actually enabled.
6985
6986 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
6987
6988         * invoke.texi: Fix typo.
6989         * gcc.1: Regenerate.
6990
6991 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
6992
6993         * configure.in: Prune nonexistent files from build_xm_file,
6994         xm_file, and host_xm_file lists.  Warn unless they're
6995         $cpu/xm-$cpu.h.
6996         Don't generate *config.h here.
6997         AC_SUBST all variables needed to generate *config.h.
6998         * configure: Regenerate.
6999         * mkconfig.sh: New helper script, from code removed from
7000         configure.in.
7001         * Makefile.in: Zap all MALLOC variables - no longer used
7002         anywhere, and malloc.c doesn't exist.
7003         Substitute in variables needed to generate *config.h.
7004         Stop lying about the dependencies contained in CONFIG_H and
7005         GCONFIG_H.
7006         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
7007         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
7008         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
7009         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
7010         $(TM_P_H), etc. as appropriate.
7011
7012         * config.gcc: Zap references to deleted files.
7013         * ggc-none.c: Don't include rtl.h or tm_p.h.
7014
7015         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
7016         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
7017         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
7018         config/i386/xm-linux.h, config/i386/xm-linux.h,
7019         config/i386/xm-next.h, config/i386/xm-openbsd.h,
7020         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
7021         Don't include i386/xm-i386.h.
7022
7023         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
7024         config/i386/xm-i386.h, config/i860/xm-i860.h,
7025         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
7026         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7027         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
7028         Delete (empty except comments, #includes of other deleted
7029         files, and macros used nowhere).
7030
7031 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
7032
7033         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
7034         independent on TARGET_FLAGS.
7035
7036 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
7037
7038         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
7039
7040         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
7041         extended ones.
7042         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
7043         TARGET_64BIT.
7044         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
7045         LAST_REX_SSE_REG): define.
7046         (enum reg_class): Add 'LEGACY_REGS'
7047         (REG_CLASS_CONTENTS): Likewise; add extended registers.
7048         (SSE_REGNO_P): Recognize extended registers.
7049         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
7050         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
7051         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
7052         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
7053         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
7054          REG_OK_FOR_STRREG_P): Remove.
7055         (HI_REGISTER_NAMES): Add extended registers.
7056         (ADDITIONAL_REGISTER_NAMES): Likewise.
7057         (QI_REGISTER_NAMES): Add 8bit extended registers.
7058         (DEBUG_REG): Support extended registers.
7059         * i386.c (regclass_map): Add extended registers.
7060         (dbx_register-map): Likewise.
7061         (svr4_dbx_register_map): Likewise.
7062         (print_reg): Support extended registers.
7063         (print_operand): Support 64bit operands.
7064
7065 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
7066
7067         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
7068         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
7069          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
7070          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
7071         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
7072          STACK_BOUNDARY): Set properly for 64bits.
7073         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
7074         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
7075         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
7076         (MOVE_MAX): Set to 16.
7077         (MOVE_MAX_PIECES): 8 for 64bit.
7078         (Pmode): Set to SImode.
7079
7080 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
7081
7082         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
7083
7084 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
7085
7086         * i386.h (mask_64bit): New constant.
7087         (target_64bit): New macro.
7088         (target_options): Add '64'/'32'
7089         (target_default): Define.
7090         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
7091         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
7092         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
7093
7094 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
7095
7096         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
7097
7098 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
7099
7100         * rtlanal.c (rtx_varies_p): Check operand 0 of a
7101         LO_SUM unless for_alias is set.
7102
7103 2001-03-08  Stan Shebs  <shebs@apple.com>
7104
7105         * objc/objc-act.c: Fix old typos in comments, add comments for
7106         various functions.
7107         (hash_init): Fix file name in error message.
7108         (hash_enter): Ditto.
7109         (hash_add_attr): Ditto.
7110         (continue_class): Ditto.
7111
7112 2001-03-08  Bruce Korb  <bkorb@gnu.org>
7113
7114         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
7115         wait4() can receive the signal.
7116
7117 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7118
7119         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
7120         entities.
7121         * fixinc/fixincl.x: Regenerate.
7122
7123 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7124
7125         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
7126         on Tru64 UNIX.
7127         * fixinc/fixincl.x: Regenerate.
7128
7129 2001-03-08  Richard Henderson  <rth@redhat.com>
7130
7131         * configure.in (HAVE_AS_LEB128): New assembler check.
7132         * configure, config.in: Rebuilt.
7133
7134 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
7135
7136         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
7137         TFmode too.
7138
7139 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7140
7141         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
7142         references to the MAXPATHLEN macro.
7143
7144         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
7145         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
7146         the POSIX macro.
7147
7148         * config/i386/xm-gnu.h, config/xm-gnu.h,
7149         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
7150         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
7151         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
7152         and/or unused files.
7153
7154         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
7155         doing so in various xm-*.h files.
7156
7157 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7158
7159         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
7160
7161 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
7162
7163         * configure.in (enable_shared): Support per-package shared-library
7164         enabling.
7165         * configure: Rebuilt.
7166
7167 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
7168
7169         * rs6000.md (cr logic): Add original POWER mnemonic alternative
7170         for crnot.  Set operands[5] in splitter.
7171
7172 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7173
7174         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
7175         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
7176         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
7177         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
7178         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
7179         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
7180         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
7181         to the USG macro.
7182
7183         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
7184         config/i370/xm-i370.h, config/i386/xm-dgux.h,
7185         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
7186         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
7187         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
7188         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
7189         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
7190         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
7191         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
7192         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
7193         Delete unused and/or empty files.
7194
7195         * config.gcc: Define USG in xm_defines as appropriate.  Define
7196         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
7197         macro.  Remove deleted xm-* files from $xm_files variable.
7198
7199 2001-03-07  Tom Tromey  <tromey@redhat.com>
7200
7201         * configure: Rebuilt.
7202         * configure.in: Allow config-lang.in to set `lang_requires' to list
7203         of other required languages.
7204
7205 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
7206
7207         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
7208         after its emitted.
7209         (output_prologue): Use xmalloc not oballoc.
7210         (output_epilog): Free a29k_first_epilogue_insn when finished.
7211         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
7212
7213 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
7214
7215         * builtins.c (expand_builtin_mathfn): Check
7216         flag_unsafe_math_optimizations, not flag_fast_math.
7217         (expand_builtin): Likewise
7218         * combine.c (combine_simplify_rtx): Likewise.
7219         (simplify_if_then_else): Likewise.
7220         * cse.c (fold_rtx): Likewise.
7221         * flags.h: Remove flag_fast_math.  Add
7222         flag_unsafe_math_optimizations and flag_trapping_math.
7223         * fold-const.c (negate_expr): Check
7224         flag_unsafe_math_optimizations, not flag_fast_math.
7225         (invert_truthvalue): Likewise.
7226         (fold): Likewise.  Before associating operands, check that
7227         code == MULT_EXPR, not code != MULT_EXPR.
7228         * ifcvt.c (noce_try_minmax): Check
7229         flag_unsafe_math_optimizations, not flag_fast_math.
7230         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
7231         * invoke.texi: Document -funsafe-math-optimizations and
7232         -fno-trapping-math.  Change documentation for -ffast-math.
7233         * jump.c (reversed_comparison_code_parts): Likewise.
7234         (rtx_equal_for_thread_p): Likewise.
7235         * optabs.c (emit_conditional_move): Likewise.
7236         * simplify-rtx.c (simplify_binary_operation): Likewise.
7237         (simplify_relational_operation): Likewise.
7238         (simplify_ternary_operation): Likewise.
7239         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
7240         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
7241         Add trapping-math and unsafe-math-optimizations entries to f_options.
7242         (set_fast_math_flags): New, sets flags for -ffast-math.
7243         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
7244         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
7245         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
7246
7247         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
7248         (alpha_emit_conditional_move): Initialize local_fast_math to
7249         flag_unsafe_math_optimizations, not flat_fast_math.
7250         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
7251         instead of setting flag_fast_math to 1.
7252         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
7253         not flag_fast_math.
7254         * config/i386/i386.c (override_options): Likewise
7255         * config/i386/i386.md: Likewise.
7256         * config/m68k/m68k.md: Likewise.
7257         * config/mips/mips.md: Likewise.
7258         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
7259         (rs6000_generate_compare): Likewise.
7260
7261 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7262
7263         * Makefile.in: Set RANLIB to @RANLIB@.
7264         Remove RANLIB_TEST.
7265
7266 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
7267
7268         * fixinc/inclhack.def (djgpp_wchar_h): New test.
7269         * fixinc/fixincl.x: Regenerated.
7270
7271 2001-03-07  Richard Henderson  <rth@redhat.com>
7272
7273         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
7274
7275 2001-03-07  Richard Henderson  <rth@redhat.com>
7276
7277         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
7278         of block notes and exception handling notes.
7279
7280         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
7281         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
7282         (compile_file): ... here.
7283
7284 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7285
7286         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
7287
7288         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
7289         config.h now.  Include libiberty.h to handle alloca.
7290
7291 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7292
7293         * c-parse.in (yylexname): New function, split out of _yylex.
7294         (objc_rid_sans_at): New table.
7295         (init_reswords): Initialize it.
7296         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
7297         retrieving the next token and checking it for significance as
7298         an ObjC keyword or string constant.
7299
7300         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
7301         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
7302
7303         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
7304         to CPP_OSTRING.
7305
7306 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
7307
7308         * config/m68k/m68k.c (const_uint32_operand): Accept any
7309         const_int on a 32-bit host.
7310
7311 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
7312
7313         * objc/objc-act.c (init_objc): Set save_lang_status,
7314         restore_lang_status, and mark_lang_status.
7315
7316 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
7317
7318         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
7319
7320 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7321
7322         * cppinternals.texi: Update.
7323
7324 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7325
7326         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7327         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
7328         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
7329         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7330         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
7331         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7332         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
7333         config/i386/xm-i386.h, config/i860/xm-i860.h,
7334         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7335         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
7336         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7337         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7338         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7339         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7340         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
7341         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7342         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
7343         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7344         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7345         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
7346         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
7347         match the defaults provided in hwint.h.
7348
7349         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7350         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
7351
7352         * config.gcc (xm_file): Don't set to files which are deleted.
7353
7354         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
7355         guard this file against these macros being undefined.
7356
7357 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7358
7359         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
7360         and DECL_DEFER_OUTPUT on the decl we create, before calling
7361         rest_of_decl_compilation.
7362
7363 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
7364
7365         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
7366         AC_FUNC_ALLOCA.
7367         * configure, config.in: Regenerate.
7368         * config.gcc: Remove references to deleted files.
7369
7370         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
7371         genrecog.c, rtl.c: Do not use alloca anywhere.
7372
7373         * Makefile.in, build-make, system.h, config/x-interix,
7374         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
7375         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
7376         config/arc/xm-arc.h, config/arm/xm-arm.h,
7377         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7378         config/h8300/xm-h8300.h, config/i370/x-oe,
7379         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
7380         config/i386/x-ncr3000, config/i386/x-sco5,
7381         config/i386/xm-dgux.h, config/i860/x-sysv4,
7382         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
7383         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
7384         config/m68k/x-hp320g, config/m69k/x-mot3300,
7385         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
7386         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
7387         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
7388         config/m88k/x-sysv4, config/m88k/x-tekXD88,
7389         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7390         config/mips/x-iris, config/mips/x-iris3,
7391         config/mips/x-sni-svr4, config/mips/x-sysv,
7392         config/mips/xm-iris6.h, config/mips/xm-mips.h,
7393         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
7394         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
7395         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7396         config/pa/xm-papro.h, config/romp/xm-romp.h,
7397         config/rs6000/x-aix31, config/rs6000/x-aix41,
7398         config/rs6000/x-beos, config/rs6000/x-lynx,
7399         config/rs6000/x-mach, config/rs6000/x-rs6000,
7400         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
7401         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7402         config/sparc/x-sysv4, config/sparc/xm-linux.h,
7403         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
7404         config/vax/xm-vms.h: Eradicate all references to alloca and
7405         related stuff.
7406
7407         * config/xm-alloca.h, config/clipper/x-clix,
7408         config/i386/xm-sysv4.h, config/i860/x-fx2800,
7409         config/i860/x-sysv3, config/m88k/x-sysv3,
7410         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
7411         (contained only alloca related hacks).
7412
7413         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
7414         USE_C_ALLOCA.
7415
7416 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
7417
7418         * invoke.texi: Document __FAST_MATH__.
7419
7420 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7421
7422         * crtstuff.c: Restore include of auto-host.h.
7423
7424 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
7425
7426         Put main() in a separate file, so that the language
7427         front-end can use a different main().
7428
7429         * main.c: New.
7430         * toplev.c: (main): Rename as toplev_main.
7431         * toplev.h: Declare toplev_main.
7432         * Makefile.in (OBJS): add toplev.o.
7433           (BACKEND): remove toplev.o, add main.o.
7434
7435 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7436
7437         * cppfiles.c (search_from): Special case the empty string.
7438
7439 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7440
7441         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
7442         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
7443         strlen or strcpy; we already know the length.
7444         (_cpp_compare_file_date): Similarly.
7445         * cpphash.h (struct cpp_reader): Delete done_initialising.
7446         (CPP_PREV_BUFFER): Delete.
7447         * cppinit.c (cpp_start_read): Don't set done_initialising.
7448         * cpplex.c (parse_string): Guarantee null-termination.
7449         (_cpp_equiv_toklists): Remove.
7450         * cpplib.c (glue_header_name): Null-terminate.
7451         (do_line): Don't leak memory.
7452         * cpplib.h (BT_WEAK): Delete.
7453         * cppmain.c (cb_ident): Strings are now null-terminated.
7454
7455 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
7456
7457         * gcc.c (convert_filename): Append executable suffix
7458         if NO_AUTO_EXE_SUFFIX is not defined.
7459         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
7460         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
7461
7462 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
7463
7464         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
7465         * c-parse.gperf, c-gperf.h: Delete.
7466         (c-gperf.h was accidently re-added to the CVS repo in the rev
7467         1.16 commit by tromey)
7468
7469 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7470
7471         * cpplex.c (_cpp_lex_token): Don't warn about directives in
7472         macro arguments when looking for the '('.
7473         * cppmacro.c (funlike_invocation_p): Set parsing_args to
7474         2 when really parsing arguments; 1 when looking for '('.
7475         Always restore the lexer position.
7476
7477 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7478
7479         * longlong.h (umul_ppmm): Don't use a multiline string.
7480
7481 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7482
7483         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
7484         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
7485         t_bool in declaration because pcc can't combine volatile with typedef
7486         types.
7487
7488 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7489
7490         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
7491         until when it is really needed.
7492         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
7493         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
7494         * i386.md (float?i?f splitter): Don't force source operand to memory
7495         for SSE.
7496         (sse_movdfcc): Fix constraint.
7497         (sse_movdfcc splitter): Handle properly the second alternative.
7498
7499 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7500
7501         * cpplex.c (parse_string): Unconditionally pedwarn.
7502
7503 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7504
7505         * cpp.texi: Update.
7506         * cppexp.c (parse_number): Update.
7507         * cpplex.c (parse_string): Pedwarn if multiline string does not
7508         result from a system header's macro.
7509         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
7510         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
7511         for function-like macros too.
7512         * c-lex.c (lex_number): Update.
7513
7514 2001-03-03  Richard Henderson  <rth@redhat.com>
7515
7516         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
7517
7518 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
7519
7520         * combine.c (try_combine): If split with mode-changed scratch
7521         register didn't work, try the original mode.
7522
7523 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
7524
7525         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
7526         * config/c4x/c4x.h: Likewise.
7527         * stor-layout.c (compute_record_mode): Likewise.
7528         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
7529
7530 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
7531
7532         * configure.in: Kill tm.h.  Include the files in the $tm_file
7533         list in all three of config.h, hconfig.h, tconfig.h, after the
7534         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
7535         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
7536         * configure: Regenerate.
7537         * Makefile.in (clean): Don't delete tm.h.
7538
7539         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
7540         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
7541         those are not defined, set SEC and FEC to 0 and 1.
7542         * gcc.texi: Update to match.
7543
7544         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
7545         * config/fp-bit.c, config/m68k/aux-crt2.asm,
7546         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
7547         Include tconfig.h, not tm.h.
7548
7549         * config/xm-lynx.h, config/xm-std32.h,
7550         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
7551         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
7552         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
7553         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7554         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7555         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7556         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
7557         config/i386/xm-i386.h, config/i860/xm-i860.h,
7558         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
7559         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
7560         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
7561         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
7562         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7563         config/pa/xm-linux.h, config/pa/xm-pa.h,
7564         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
7565         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
7566         config/pj/xm-pj.h, config/romp/xm-romp.h,
7567         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7568         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7569         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7570         config/v850/xm-v850.h, config/vax/xm-vax.h,
7571         config/we32k/xm-we32k.h:
7572         Don't include tm.h.
7573         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
7574
7575         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
7576         config/i370/xm-oe.h: Don't include tm.h.  Don't define
7577         SUCCESS_EXIT_CODE.
7578         * config/vax/xm-vms.h: Don't include tm.h.
7579
7580         * config/xm-lynx.h, config/avr/xm-avr.h,
7581         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
7582         Delete; made empty by above changes.
7583         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
7584         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
7585         Don't include config/xm-lynx.h or tm.h.
7586
7587         * config/xm-gnu.h: Don't include fcntl.h.
7588         * config/sparc/xm-lynx.h: Don't include sys/types.h and
7589         sys/wait.h.
7590         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
7591
7592 2001-03-02  Richard Henderson  <rth@redhat.com>
7593
7594         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
7595         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
7596
7597 2001-03-02  Richard Henderson  <rth@redhat.com>
7598
7599         * Makefile.in (OBJS): Add dwarf2asm.o.
7600         * dwarf2asm.c, dwarf2asm.h: New files.
7601         * dwarf2out.c (*): Use them.
7602         (size_of_uleb128, size_of_sleb128): Remove.
7603         (output_uleb128, output_sleb128): Remove.
7604         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
7605         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
7606         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
7607         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
7608         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
7609         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
7610         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
7611         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
7612         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
7613         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7614         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
7615         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
7616         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
7617         (dwarf2out_frame_debug): Remove unused variables.
7618         (output_loc_operands): Don't abort on 8 byte constants if
7619         host integers are wide enough.
7620         (output_symbolic_ref): Remove.
7621         (size_of_die): Don't assume 4 byte host integers.
7622         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
7623         and end labels.
7624         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
7625         something stupid with HOST_WIDE_INT to long truncation.
7626         [CONST_DOUBLE]: Likewise.
7627
7628         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
7629         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
7630         * config/arm/unknown-elf.h: Likewise.
7631         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
7632         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
7633         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
7634         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
7635         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
7636         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
7637         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
7638         (ASM_OUTPUT_DWARF_OFFSET): Remove.
7639         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
7640         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7641         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
7642         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
7643
7644 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7645
7646         * cselib.c (hash_rtx): Cast enums to unsigned int.
7647
7648 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7649
7650         * print-rtl.c (print_rtx): Cast enums to int for comparison.
7651         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
7652         shifts.
7653         * c-format.c (C_STD_VER): Cast to int for comparisons.
7654         (check_function_format): Cast various enums to int for &.
7655         (maybe_read_dollar_number): Likewise.
7656         (check_format_info): Likewise.
7657         (check_format_info_main): Likewise.
7658         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
7659         (safe_from_p): Likewise.
7660         * varasm.c (const_hash): Cast enum to int for %.
7661         * emit-rtl.c (init_emit_once): Use int loop variable to work around
7662         pcc enum problems with < and ++ operators.
7663         * regclass.c (init_reg_sets_1): Cast enums for comparison.
7664         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
7665         (regclass_init): Change enum class to int to iterate over reg_classes.
7666         * genrecog.c (merge_trees): Cast enums for comparison.
7667         * rtl.h (GET_CODE): Cast to enum rtx_code.
7668         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
7669         (GET_MODE): Cast to enum machine_mode.
7670         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
7671         (GET_NOTE_INSN_NAME): Cast enum to int.
7672         * tree.h (TREE_CODE): Cast to enum tree_code.
7673         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
7674         * timevar.c (timevar_print): Change loop variable id from enum to
7675         unsigned int.
7676         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
7677         * config/i386/i386.md: Use PUT_MODE for mode assignment.
7678         * toplev.c (compile_file): Cast enum DFI to int.
7679         (decode_d_option): Likewise.
7680
7681 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
7682
7683         * cppinit.c (append_include_chain): Mark "after" include file name list
7684         as a system directory.
7685         * cpp.texi: Document new behavior.
7686
7687 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
7688
7689         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
7690
7691 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7692
7693         * cppfiles.c (struct include_file): Update.
7694         (stack_include_file): Use search_from.
7695         (cpp_included, find_include_file): Update.
7696         (cpp_execute_include): Update.  ptr->name may not be
7697         null terminated.  Use the new search_from member variable
7698         of cpp_buffer.
7699         (_cpp_compare_file_date): Similarly.
7700         (search_from): New function, similiar to actual_directory.
7701         (actual_directory): Delete.
7702         (remap_filename): Update.  loc->name may not be null terminated.
7703         (struct file_name_list): Rename search_path.  Update.
7704         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
7705         search_from and dir.
7706         (struct cpp_reader): Remove actual_dirs.
7707         * cppinit.c (struct cpp_pending): Update for renamed objects.
7708         (append_include_chain, remove_dup_dir, remove_dup_dirs,
7709         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
7710         * cpplib.h (struct cpp_options): Similarly.
7711
7712 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7713
7714         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
7715         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
7716         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
7717         config/clipper/xm-clix.h, config/convex/xm-convex.h,
7718         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
7719         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
7720         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
7721         config/i370/xm-linux.h, config/i370/xm-mvs.h,
7722         config/i370/xm-oe.h, config/i386/xm-aix.h,
7723         config/i386/xm-i386.h, config/i386/xm-osf.h,
7724         config/i860/xm-i860.h, config/i960/xm-i960.h,
7725         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
7726         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
7727         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
7728         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
7729         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
7730         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7731         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
7732         config/pj/xm-pj.h, config/romp/xm-romp.h,
7733         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
7734         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
7735         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
7736         config/v850/xm-v850.h, config/vax/xm-vax.h,
7737         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
7738         Do not define TRUE or FALSE.
7739
7740         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
7741         empty by above change.
7742         * config.gcc: Remove references to these files.
7743
7744         * configure.in: Detect stdbool.h.
7745         * configure, config.in: Regenerate.
7746         * system.h: Include stddef.h here if available.
7747         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
7748         Then set up a sensible boolean type at the very end.
7749
7750         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
7751         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
7752
7753         * hash.h: Delete 'boolean' typedef and related #undefs.
7754
7755         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
7756         all uses of 'boolean' with 'bool'.
7757
7758 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7759
7760         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
7761         * cppexp.c (lex): Cast enums for comparison.
7762         * cppinit.c (parse_option): Cast enum for comparison.
7763         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
7764         (cpp_output_token): Likewise.
7765         (cpp_can_paste): Cast enums for comparsion and plus/minus.
7766         (cpp_avoid_paste): Cast enums for minus and comparison.
7767
7768 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7769
7770         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
7771         field to all array elements.
7772
7773 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7774
7775         * cpphash.h (struct cpp_reader): Add print_version field.
7776         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
7777         just set print_version and other flags as appropriate.
7778         (cpp_post_options): Print version here if print_version is set.
7779
7780         * toplev.c (exit_after_options): New flag.
7781         (independent_decode_option): Don't exit here; just set
7782         exit_after_options.
7783         (main): Exit after calling lang_hooks.post_options if
7784         exit_after_options is true.
7785
7786         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
7787         (merge_include_chains): Adjust comment to match code.
7788
7789 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
7790
7791         * stringpool.c (set_identifier): New function.
7792         * tree.h: Prototype it.
7793
7794         * c-parse.in: Kill D_YES. If compiled for objc, call
7795         save_and_forget_protocol_qualifiers from init_reswords.
7796         * objc/objc-act.c (remember_protocol_qualifiers,
7797         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
7798         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
7799         vice versa.
7800         (save_and_forget_protocol_qualifiers): New function.
7801         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
7802
7803 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
7804
7805         * c-semantics.c (prune_unused_decls): Return error_mark_node
7806         instead of (tree) 1 to stop traversing the tree chain.
7807
7808 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
7809
7810         Fix a problem introduced by Kenner's Feb 18 change.
7811         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
7812         flag_cse_skip_blocks only temporarily, not for ever.
7813
7814 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
7815
7816         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
7817         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
7818
7819         * pa.c (emit_move_sequence): Verify operand0 is a hard register
7820         before determining its register class.
7821
7822 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
7823
7824         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
7825         from reg 4 if current_function_calls_setjmp.
7826         (gen_nop_type): New function.
7827         (ia64_emit_nops): New function.
7828         (ia64_reorg): Call it.
7829         (ia64_sched_reorder): Move code that rotates bundles up a bit.
7830
7831         * reload1.c (eliminate_regs_in_insn): Restrict the special case
7832         code not to try to optimize adds with anything but a REG destination.
7833
7834         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
7835         (INSN_PRIORITY_KNOWN): New accessor macro.
7836         * haifa-sched.c (priority): Use it instead of testing priority against
7837         zero.
7838
7839 2001-02-28  DJ Delorie  <dj@redhat.com>
7840
7841         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
7842         since that doesn't work the way gcc wants on a generic m68k.
7843
7844 2001-02-28  Richard Henderson  <rth@redhat.com>
7845
7846         * caller-save.c (save_call_clobbered_regs): Fix typo in
7847         comparison last change.
7848
7849 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
7850
7851         * i386.c (pentium4_cost): New.
7852         (m_PENT4): New macro.
7853         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
7854         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
7855         x86_integer_DFmode_moves, x86_partial_reg_dependency,
7856         x86_memory_mismatch_stall): Add Pentium4
7857         (x86_use_q_reg, x86_use_any_reg): Kill.
7858         (override_options): Add pentium4.
7859         (incdec_operand): Return 0 for pentium4.
7860         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
7861         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
7862         (TARGET_PENTIUM4): Define.
7863         (enum processor_type): Add PROCESSOR_PENTIUM4.
7864         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
7865         * i386.md (attribute "cpu"): Add pentium4.
7866         * invoke.texi (march): Add pentium4.
7867
7868 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
7869
7870         * i386.md (sse_mov?fcc*): New patterns and splitters.
7871         * i386.c (ix86_expand_movcc): Work post-reload; recognize
7872         the SSE based conditional moves.
7873
7874 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
7875
7876         * i386.md (attribute mode): Add "TI".
7877         (movsf_1): Add pxor support; remove constant propagation splitter.
7878         (movdf_integer): Likewise.
7879         (movdf_nointeger): Likewise.
7880         (movxf constant prop splitter): Handle all modes; update for SSE.
7881         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
7882         * i386.c (standard_80387_constant_p): Rewrite.
7883         (standard_sse_constant_p): New.
7884         * i386-protos.h (standard_sse_constant_p): New.
7885
7886 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
7887
7888         * i386.md (sse_setccsf, sse_setccdf): New.
7889         (sse_cmp* patterns): Use '%D' instead of outputtting condition
7890         flag directly.
7891         * i386.c (sse_comparison_operator): Accept the supported unordered
7892         comparses; be ready for fast_math.
7893         (print_operand): Support 'D'.
7894
7895 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
7896
7897         * jump.c (reversed_comparison_code): Kill.
7898
7899 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
7900
7901         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
7902         for STACK_REGS
7903
7904 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
7905
7906         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
7907         add missing '%' in constraints.
7908
7909 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
7910
7911         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
7912         for HOST_BITS_PER_WIDE_INT == 32 too.
7913
7914 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
7915
7916         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
7917         NREGS.
7918         (insert_save, insert_restore): New parameter save_mode.
7919         (init_caller_save): Update initialization of reg_save_code
7920         and reg_restore_code.
7921         (save_call_clobbered_regs):  Compute save_modes and update calls to
7922         reg_save_code and reg_restore_code.
7923         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
7924         of spill; update use of reg_restore_code.
7925         (insert_save):  Likewise.
7926         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
7927         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
7928         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
7929
7930 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
7931
7932         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
7933         noce_try_store_flag_inc, noce_try_store_flag_mask,
7934         noce_try_cmove_arith):
7935         Use reversed_comparison_code instead of reverse_comparison and
7936         can_reverse_comparison_p.
7937
7938 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
7939
7940         * jump.c (reversed_comparison_code_parts): Allow reversal of
7941         unordered compares in -ffast-math mode; reverse ordered compares
7942         for FP even w/o -ffast-math.
7943
7944 2001-02-27  Richard Henderson  <rth@redhat.com>
7945
7946         * print-rtl.c (print_rtx) [i]: Don't print field five on
7947         NOTEs other than NOTE_INSN_DELETED_LABEL.
7948
7949 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
7950
7951         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
7952         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
7953
7954 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
7955
7956         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
7957         even if walk_subtrees is 0.
7958         * c-semantics.c (prune_unused_decls): Return a non-null value to
7959         stop traversing the tree chain.
7960
7961 2001-02-27  DJ Delorie  <dj@redhat.com>
7962
7963         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
7964         register, *then* define it as the new CFA.
7965
7966 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
7967
7968         * pa.c (override_options): Promote -fpic to -fPIC.
7969         (legitimize_pic_address): Simplify due to removal of
7970         small PIC as a code generation option.
7971         (secondary_reload_class): Similarly.
7972         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
7973         (PRINT_OPERAND_ADDRESS): Similarly.
7974         * pa.md (various patterns): Similarly.
7975         (small pic lo_sum pattern): Remove.
7976
7977 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
7978                               Fergus Henderson
7979
7980         * md.texi (min, max): Document
7981
7982 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
7983
7984         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
7985         TARGET_PARTIAL_REG_DEPENDENCY.
7986         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
7987
7988 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
7989
7990         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
7991
7992 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
7993
7994         * mips.c (mips_make_temp_file): Fix thinko in last change.
7995
7996 2001-02-26  Jason Eckhardt  <jle@redhat.com>
7997
7998         * combine.c (known_cond): Do not reverse the condition when
7999         SMAX/UMAX is being considered and the condition is for equality
8000         or inequality.
8001
8002         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
8003
8004 2001-02-26  Philip Blundell  <philb@gnu.org>
8005
8006         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
8007         "armv2-*-linux".
8008         * config/arm/linux-elf.h: Remove historical relics related to
8009         above configurations.
8010         * config/arm/linux-oldld.h: Delete.
8011         * config/arm/linux-elf26.h: Delete.
8012
8013 2001-02-26  Jason Merrill  <jason@redhat.com>
8014
8015         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
8016         definitions.
8017         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
8018         recognize a tentative definition.  Lose obsolete code.
8019
8020         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
8021         variables unless necessary, either.
8022
8023 2001-02-25  Richard Henderson  <rth@redhat.com>
8024
8025         * ifcvt.c (struct noce_if_info): Add test_bb.
8026         (noce_get_alt_condition): New.
8027         (noce_try_minmax, noce_try_abs): New.
8028         (noce_operand_ok): New.
8029         (noce_process_if_block): Use them.
8030         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
8031
8032 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
8033
8034         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
8035         include.
8036
8037 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
8038
8039         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
8040         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
8041         properly.
8042         (mips_asm_file_end): Free temp_filename here.
8043
8044 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8045
8046         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
8047         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
8048
8049         * config/i386/i386.md (movstrsi): Handle FAIL case.
8050
8051 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8052
8053         * cppinit.c (builtin_array): Update.
8054         (init_builtins): Flag builtins to warn if redefined or
8055         undefined.  Define __GXX_WEAK as a normal macro.
8056         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
8057         * cpplib.h (NODE_WARN): New flag.
8058         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
8059         Handle __STDC__ as a builtin only on Solaris.
8060         (warn_of_redefinition): Renamed from check_macro_definition.
8061         Reverse sense of test.  Always warn if NODE_WARN.
8062         (_cpp_create_definition): Use warn_of_redefinition.  Flag
8063         any macro beginning with "__STDC_" to require a mandatory
8064         warning if redefined or undefined.
8065
8066 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8067
8068         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
8069         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
8070         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
8071         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
8072         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
8073         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
8074         Don't define any of:
8075         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
8076         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
8077         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
8078         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
8079         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
8080
8081         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
8082         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
8083         definitions.
8084
8085         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
8086         Delete now-empty file.
8087
8088         * alpha/vms.h: Define NEED_ATEXIT here...
8089         * alpha/xm-vms.h: ...not here.
8090
8091         * i386/cygwin.h: Don't define PARAMS.
8092         * mips/mips.c: Don't prototype mktemp.  Don't define
8093         P_tmpdir.  Use make_temp_file to create temporary files.
8094         Don't be clever and delete temporary files early.
8095         * config.gcc: Drop references to deleted files.  Don't define
8096         FULL_PROTOTYPES.
8097         * gcc.texi: Don't mention USE_PROTOTYPES.
8098
8099 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8100
8101         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
8102         (ix86_set_move_mem_attrs_1): Likewise.
8103         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
8104         * config/i386/i386.md (movstrsi): Call it.
8105
8106 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8107
8108         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
8109         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
8110         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
8111         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
8112
8113         (i750a-*-*): Error here if hosting on i750a.
8114         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
8115
8116         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
8117         Remove (empty modulo comments).
8118
8119         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
8120         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
8121         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
8122         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
8123         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
8124         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
8125
8126         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
8127         Remove reference to winnt.h in comment.
8128         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
8129
8130 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8131
8132         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
8133         used to set another biv.
8134
8135 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8136
8137         * tree.h (BLOCK_DEAD): New macro.
8138         (struct tree_block): New flag, dead_flag.
8139         * print-tree.c (print_node, case 'b'): Print missing fields.
8140         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
8141         * function.c (identify_blocks): Enable test for misplaced notes.
8142         (all_blocks): Skip BLOCK_DEAD blocks.
8143         * integrate.c (integrate_decl_tree): Likewise.
8144
8145         * errors.c (internal_error, trim_filename): New functions.
8146         (fancy_abort): Call internal_error.
8147         * errors.h (internal_error, trim_filename): New declarations.
8148
8149 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
8150
8151         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
8152         2000-08-26's patch.
8153         (EXTRA_CONSTRAINT): Formatting changes.
8154
8155 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8156
8157         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
8158
8159 2001-02-23  Per Bothner  <per@bothner.com>
8160
8161         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
8162         so they can be called from java/jvspec.c.
8163         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
8164
8165 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
8166
8167         * i386.c (ix86_frame): New structure.
8168         (ix86_compute_frame_size): Kill.
8169         (ix86_compute_frame_layout): New.
8170         (ix86_save_reg): New.
8171         (ix86_can_use_return_insn_p): Use frame layout stuff.
8172         (ix86_expand_prologue): Likewise.
8173         (ix86_expand_epilogue): Likewise.
8174         (ix86_initial_elimination_offset): Likewise.
8175         (ix86_nsaved_regs): Use ix86_save_reg.
8176         (ix86_emit_save_regs): Likewise.
8177
8178 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8179
8180         * flow.c (find_sub_basic_blocks): New function.
8181         (split_block): Be ready for basic block introduced by CODE_LABEL.
8182         (commit_one_edge_insertion): Call find_sub_basic_block.
8183
8184         * flow.c (make_edges): Add edge from entry for blocks starting with
8185         label having ALTERNATE_NAME
8186
8187 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8188
8189         * function.c (epilogue_done): Be ready for first basic block not
8190         containing PROLOGUE_END note.
8191         (reposition_prologue_and_epilogue_notes): Avoid placing
8192         PROLOGUE_END note between BASIC_BLOCK.
8193
8194 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
8195
8196         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
8197
8198 2001-02-21  DJ Delorie  <dj@redhat.com>
8199
8200         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
8201         check for current_function_has_nonlocal_goto from 1999-11-12.
8202
8203 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8204
8205         * diagnostic.c (trim_filename): No longer static.
8206         * toplev.h (trim_filename): Declare.
8207         * rtl.c (rtl_check_failed_bounds): Call internal_error.
8208         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
8209         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
8210         (rtvec_check_failed_bounds): Likewise.
8211         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
8212
8213         * convert.c (convert_to_integer): Don't do unsigned unless result or
8214         both inputs are unsigned.
8215
8216         * fold-const.c (fold_convert): Don't call size_int_type_wide if
8217         input overflows.
8218
8219         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
8220
8221         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
8222
8223 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
8224
8225         * Makefile.in (resource.o): Add params.h dependence.
8226         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
8227         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
8228         * resource.c: Add dependence on params.h.
8229         (current_live_regs): Fix explanatory comment.
8230         (find_basic_block): Add new parameter to permit limiting search
8231         for a BARRIER.
8232         (mark_target_live_regs): Add new argument to find_basic_block call.
8233         (incr_ticks_for_insn): Likewise.
8234
8235 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
8236
8237         * diagnostic.c (output_to_stream): Rename to
8238         output_buffer_to_stream. Loses the stream parameter.
8239         (init_output_buffer): Set diagnosic_buffer's stream.
8240         (flush_diagnostic_buffer): Adjust.
8241         (default_print_error_function): Likewise.
8242         (finish_diagnostic): Likewise.
8243         (verbatim): Likewise.
8244
8245         * diagnostic.h (struct output_buffer): Add `stream' field.
8246         (output_buffer_attached_stream): New macro.
8247
8248 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
8249
8250         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
8251         check if either operand is divisible by C.
8252         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
8253         If type is signed, consider negative numbers as well.
8254
8255 2001-02-22  Richard Henderson  <rth@redhat.com>
8256
8257         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
8258         reach .text instead of gp-relative relocs.
8259         * config/ia64/crtend.asm (.init): Likewise.
8260
8261 2001-02-22  Andreas Jaeger  <aj@suse.de>
8262
8263         * extend.texi (C++ Attributes): Fix typo.
8264
8265 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
8266
8267         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
8268         functions, drop current_function_args_info.words test.
8269         (ia64_compute_frame_size): Mark syscall_linkage functions as
8270         using eight input registers.
8271
8272 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
8273         Bruce Korb  <bkorb@gnu.org>
8274
8275         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
8276         * fixinc/README: Document how to convert sed substitutions
8277         to format style c_fix-es.
8278         * fixinc/fixincl.x: regen
8279
8280 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
8281
8282         * gcc.c: Add comment explaining how to add a command-line option.
8283         Add title to specs language comment.
8284
8285 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8286
8287         * gcc.c (cc1_options): Add "-param".
8288         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
8289         (option_map): Likewise.
8290         * toplev.c (display_help): Add entry for "--param".
8291         (independent_decode_option): Fix typographical error.
8292
8293 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
8294                               Bernd Schmidt  <bernds@redhat.com>
8295                               Jan Hubicka  <jh@suse.cz>
8296
8297         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
8298         (function_arg): Likewise.
8299
8300 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
8301
8302         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
8303
8304 2001-02-21  Kazu Hirata  <kazu@hxi.com>
8305
8306         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
8307         character.
8308         (xorsi3): Likewise.
8309
8310 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8311
8312         * flow.c (init_propagate_block_info): Canon address and use single_set
8313         for killing dead memory stores.
8314
8315 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
8316
8317         * Makefile.in (reorg.o): Add params.h dependence.
8318         * params.def: Fix typographical error in comment.
8319         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8320         * params.h: Modify introductory comment.
8321         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
8322         * reorg.c: Add dependence on params.h.
8323         (redundant_insn): Add parameterized throttle for search.
8324         (fill_simple_delay_slots): Add a comment explaining a variable.
8325         Move conditional out of loop, simplifying code.
8326         (fill_eager_delay_slots): Fix typographical error in comment.
8327
8328 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
8329
8330         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
8331
8332         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
8333         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
8334
8335 2001-02-21  Jason Merrill  <jason@redhat.com>
8336
8337         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
8338         (struct tree_decl): Add uninlinable bitfield.
8339         * c-decl.c (duplicate_decls): Set it.
8340         * integrate.c (function_cannot_inline_p): Check it.
8341
8342         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
8343         DW_AT_MIPS_linkage_name to abstract methods.
8344         (dwarf2out_abstract_function): Emit class context before calling
8345         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
8346         (gen_subprogram_die): Remove obsolete code.
8347         (gen_member_die): Don't include clones in the member list.
8348         (gen_decl_die): Emit abstract info for clone origin.
8349         * dwarfout.c (output_type): Don't include clones in the member list.
8350         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
8351         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
8352         DECL_ABSTRACT on a function that already has it set.
8353
8354         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
8355         (get_subprogram_die): Pass it in.
8356
8357 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
8358
8359         * flow.c (mark_set_1): Make not_dead unsigned long.  For
8360         non-pseudos, use it as a bitmask of the hard regs that
8361         don't die.
8362
8363 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
8364
8365         * cppfiles.c: Update comments.
8366         (_cpp_read_file): Don't check for NULL filenames any more.
8367         * cppinit.c (cpp_start_read): Don't do canonicalization of
8368         in_fname and out_fname.  Use the passed file name exclusively.
8369         (_cpp_handle_options): Don't treat "-" as a command line option,
8370         but as a normal filename.
8371         (_cpp_post_options): Canonicalize in_fname and out_fname.
8372         * cppmain.c (printer_init): Don't check out_fname for NULL.
8373         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
8374         (init_c_lex): Update, and use "" to represent stdin to CPP.
8375         (yyparse): Update.
8376
8377 2001-02-20  Will Cohen  <wcohen@redhat.com>
8378
8379         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
8380         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
8381         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
8382         fixunstfsi_libfunc.
8383
8384 2001-02-20  Stan Shebs  <shebs@apple.com>
8385
8386         * config/rs6000/rs6000.c (output_cbranch): Output branches
8387         on separate lines instead of using ';' to separate.
8388
8389 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
8390
8391         * cppinit.c (set_lang):  Move builtin handling to...
8392         (init_builtins): ...here.
8393         (_cpp_create_reader): Move call to set_lang.
8394
8395 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
8396
8397         * stmt.c (expand_return): If an attempt is made to return the
8398         error_mar_node, treat the return like a return without a value.
8399
8400 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
8401
8402         * sibcall.c (skip_copy_to_return_value): Call
8403         identify_call_return_value here, and return orig_insn if it
8404         returns zero.  Hardret and softret arguments now unnecessary.
8405         (call_ends_block_p): Don't call identify_call_return_value here.
8406
8407         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
8408         's' slots in RTXen.
8409         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
8410         * ggc.h (ggc_mark_if_gcable): Delete prototype.
8411
8412 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
8413
8414         * pa.c (move_operand): Accept code to load the address of a
8415         symbol out of the DLT as a valid move operand.
8416         (print_operand, case 'A'): New to handle generating a DLT
8417         reference for a LO_SUM expression.
8418         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
8419         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
8420
8421 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
8422
8423         * README, cpp.texi, gcc.texi, version.c: Update version number to
8424         3.1.
8425         * cpp.1, gcov.1, gcc.1: Regenerate.
8426
8427 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
8428
8429         * cppfiles.c (stack_include_file): Generate dependencies
8430         here, and manage include_count here too.
8431         (PRINT_THIS_DEP): Delete.
8432         (_cpp_execute_include): Do not generate dependencies here,
8433         apart from the case of a missing header.  Do not manage
8434         include_count.
8435         (_cpp_read_file): Leave dependency generation to
8436         stack_include_file.
8437
8438 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
8439
8440         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
8441         target_cpu_default.  Remove dead assignment to
8442         target_cpu_default.
8443
8444 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
8445
8446         * regclass.c (contains_reg_of_mode): Make global.
8447         (init_reg_sets): Remove contains_reg_of_mode; take into account
8448         CLASS_MAX_NREGS when looking for the proper mode.
8449         (dump_regclass): Dump only classes considered for the pseudo.
8450         (regclass): Use contains_reg_of_mode.
8451
8452 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8453
8454         * gcc.c (do_spec_1): 'n' for printing notices.
8455         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
8456
8457 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
8458
8459         * reg-stack.c (next_flags_user): Use current_block->end
8460         (swap_rtx_condition): Look for next user if flags don't die;
8461         give up on CALL_INSNs; use current_block->end.
8462
8463 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8464
8465         * sibcall.c (call_ends_block_p): New function.
8466         (optimize_sibling_and_tail_recursive_call): Use it.
8467
8468 2001-02-18  Kazu Hirata  <kazu@hxi.com>
8469
8470         * config/h8300/h8300.md: Update copyright.
8471         (andsi3): Do not output an extra newline character.
8472
8473 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8474
8475         * toplev.c (note_deferral_of_defined_inlined_function): Argument
8476         FNDECL may be unused.
8477
8478         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
8479         follow jumps after first run.
8480         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
8481         it doesn't change any jumps.
8482
8483 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
8484
8485         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
8486         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
8487         (mostlyclean): Corresponding changes.
8488         * rtlanal.c (hard-reg-set.h): Include.
8489         (rtx_unstable_p): Do not treat the argument pointer specially
8490         if it is not a fixed register.
8491         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
8492
8493 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8494
8495         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
8496         against last real insn in basic block.
8497         Rework to avoid gotos.
8498
8499         * Makefile.in (gcse.o): Now includes ggc.h.
8500         * gcse.c: Include ggc.h.
8501         (want_to_gcse_p): Verify expression can be in SET as valid insn.
8502         (try_replace_reg): Remove warning of uninitialize variable.
8503         (process_insert_insn): Call invalid_insn_p to validate insn.
8504         * recog.c (insn_invalid_p): Now global.
8505         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
8506         * recog.h (insn_invalid_p): New declaration.
8507
8508         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
8509
8510         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
8511         assignments from FP constants since 'Y' output code can't handle it.
8512         (eligible_for_sibcall_delay): Likewise.
8513
8514         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
8515         Call fancy_abort directly, passing args.
8516         (print_rtl_and_abort): Now a macro, like fancy_abort.
8517
8518         * final.c (output_operand_lossage): Use internal_error, not error.
8519
8520 2001-02-18  Shane Nay  <shane@agendacomputing.com>
8521
8522         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
8523         structure shift insns.
8524
8525 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
8526
8527         * invoke.texi (-fsquangle): Remove documentation.
8528         (-fname-mangling-version): Likewise.
8529
8530 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
8531
8532         * optabs.c (expand_abs): Remove reference to
8533         HAVE_contitional_arithmetic.
8534         * combine.c (simplify_set): Likewise.
8535
8536 2001-02-18  Richard Henderson  <rth@redhat.com>
8537
8538         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
8539         would be disrupted.
8540
8541 2001-02-18  Richard Henderson  <rth@redhat.com>
8542
8543         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
8544
8545         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
8546
8547         * reload1.c (reload_cse_simplify_set): Fix typo.
8548
8549 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8550
8551         * diagnostic.c (_fatal_insn): Decrement errorcount.
8552
8553         * invoke.texi (-I): Add note avoiding use for system header files.
8554
8555         * rtl.h (add_clobbers): Remove duplicate declaration.
8556         * recog.h (added_clobbers_hard_reg_p): New declaration.
8557         * genemit.c (struct clobber_pat): New field has_hard_reg.
8558         (gen_insn): Record if added clobbers clobber hard reg.
8559         (gen_split): Avoid unused warning if number of operands is 0.
8560         (output_added_clobbers_hard_reg_p): New function.
8561         (main): Call it.
8562
8563 2001-02-18  Alan Modra <alan@linuxcare.com.au>
8564
8565         * pa.c (hppa_expand_prologue): Simplify code storing return
8566         pointer.  For large (>=8k) frames with a post_store, adjust stack
8567         pointer by 8k-64 first rather than by 64.  When testing with
8568         VAL_14_BITS_P, always use the actual value rather than the value
8569         negated.  Add blockage to prevent scheduling of spills before
8570         stack frame has been created.
8571         (hppa_expand_epilogue): Simplify code loading return pointer.
8572         Allow a slightly larger range for merge_sp_adjust_with_load case.
8573         When testing with VAL_14_BITS_P, always use the actual value.
8574
8575         * pa.c (pa_adjust_insn_length): Check that block move
8576         pattern is a set before looking at operands.
8577
8578 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8579
8580         * fold-const.c (fold_binary_op_with_conditional_arg): New
8581         function, split out from ...
8582         (fold): ... here.
8583         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
8584         conditional arms that throw exceptions.
8585
8586         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
8587         looking at a BLOCK.
8588
8589 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8590
8591         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
8592         define HAVE_DECL_* to 1 to mask potential backup declarations.
8593         * configure: Regenerated.
8594
8595 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
8596
8597         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
8598
8599 2001-02-17  Richard Henderson  <rth@redhat.com>
8600
8601         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
8602         when replacing a memory load with a register.
8603
8604 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8605                           Jan Hubicka  <jh@suse.cz>
8606
8607         * recog.c (validate_replace_src_1): New.
8608         (validate_replace_src_data): Likewise.
8609         (validate_replace_src): Use note_uses.
8610         * rtl.h (note_uses): Declare.
8611         * rtlanal.c (note_uses): New.
8612
8613 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
8614
8615         * reg-stack.c (stack_def): Make field reg unsigned.
8616         (remove_regno_note): Unsignetize parameter.
8617
8618 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
8619
8620         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
8621         shladd_operand() call.
8622
8623 2001-02-16  Bruce Korb  <bkorb@gnu.org>
8624             Rodney Brown  <RodneyBrown@mynd.com>
8625
8626         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
8627         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
8628         machine restrictions
8629         * fixinc/fixincl.x: regen
8630
8631 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8632
8633         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
8634         Don't CSE a nop.
8635         (hash_scan_insn): Clean up calls to hash_scan_set.
8636         (compute_kill_rd): REGNO now unsigned.
8637         (try_replace_reg): Rework to use simplify_replace_rtx.
8638         (cprop_jump, cprop_cc0_jump): Likewise.
8639         (cprop_insn): Call find_reg_equal_equiv_note.
8640         Reflect changes to cprop_jump and cprop_cc0_jump.
8641
8642         * recog.c (validate_replace_src): Replace in operands of
8643         ZERO_EXTRACT in SET_DEST.
8644
8645         * cse.c (new_label_ref): New variable.
8646         (insert): Set it instead of recorded_label_ref.
8647         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
8648         CODE_LABEL for this function, and not already in REG_LABEL note.
8649
8650 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
8651
8652         * resource.c (mark_referenced_resources): Fix typo in introductory
8653         comment.
8654         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
8655         string constant.
8656
8657 2001-02-16  Jason Merrill  <jason@redhat.com>
8658
8659         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
8660         NULL.
8661         (gen_subprogram_die): Don't abort on seeing a second definition if
8662         the previous one was abstract.  Don't replace an abstract instance
8663         in the lookup table.
8664
8665         * dwarf2out.c (dwarf2out_abstract_function): Rename from
8666         gen_abstract_function.
8667         * dwarf2out.h: Declare it.
8668         * toplev.c (note_outlining_of_inline_function): New fn.
8669         * toplev.h: Declare it.
8670         * integrate.c (output_inline_function): Call it.
8671         * c-decl.c (duplicate_decls): Call it when redefining an extern
8672         inline.  Don't inline the new defn.
8673
8674         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
8675
8676 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8677
8678         * .gdbinit: Rename to gdbinit.in.
8679         * gdbinit.in: New file,
8680         * configure.in: Generate .gdbinit from gdbinit.in.
8681         * configure: Regenerated.
8682         * Makefile.in (distclean): Always remove .gdbinit.
8683
8684 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
8685
8686         * objc/objc-act.c (start_class): Register implemented_classes with
8687         GC.
8688
8689 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
8690
8691         * cppfiles.c (_cpp_make_system_header): Generate a file
8692         change callback.
8693
8694 2001-02-15  Jim Meyering  <meyering@lucent.com>
8695
8696         * Makefile.in (install-common): Don't depend on installdirs here.
8697         Instead, make each of the lang.install-common targets (e.g.,
8698         c++.install-common in cp/Make-lang.in) depend on it.
8699         (install-driver): Depend on installdirs.
8700
8701 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8702
8703         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
8704
8705         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
8706         do in memory.
8707
8708 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
8709
8710         * invoke.texi (--param): Document.
8711
8712 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
8713
8714         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
8715
8716 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
8717
8718         * i386.md (extendsfdf2_2): Fix constraints.
8719
8720 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
8721
8722         * i386.md (fop_df_3 splitter): Fix operand number.
8723
8724 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8725
8726         * invoke.texi (-mreg-alloc): Nuke.
8727         * i386.c (ix86_reg_alloc_order, regs_allocated,
8728         order_regs_for_local_alloc): Nuke.
8729         (override_options): Kill reg_alloc code.
8730         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
8731         (REG_ALLOC_ORDER): SSE goes before I387.
8732         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
8733         (ix86_reg_alloc_order): Likewise.
8734         * i386-protos.h (ix86_reg_alloc_order): Kill.
8735
8736 2001-02-14  Richard Henderson  <rth@redhat.com>
8737
8738         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
8739
8740 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
8741
8742         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
8743
8744 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
8745
8746         * i386-protos.h (ix86_memory_move_cost): Move offline.
8747         * i386.c (ix86_register_move_cost): Compute properly cost of
8748         SSE, MMX and i387 instructions.
8749         (*_cost): Add costs of SSE/MMX moves.
8750         (ix86_memory_move_cost): Move offline from ....; Likewise.
8751         * i386.h (MEMORY_MOVE_COST): .... here;
8752         (struct processor costs): Add new fields to represent costs
8753         of SSE/MMX moves.
8754
8755 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
8756
8757         * regclass.c (init_reg_sets_1): Reinstall the optimization of
8758         move_cost together with Matt Kraai's fix.
8759
8760 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
8761
8762         * Makefile.in (OBJS): Add params.o.
8763
8764 2001-02-14  Richard Henderson  <rth@redhat.com>
8765             DJ Delorie  <dj@redhat.com>
8766
8767         * jump.c (jump_optimize_1): When we delete a conditional jump
8768         preceeding a non-conditional jump to effectively the same place,
8769         make sure that the combined jump skips any clobber insns between
8770         the two labels.
8771
8772 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
8773
8774         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
8775
8776 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
8777
8778         * Makefile.in (toplev.o): Depend on params.h.
8779         (intergate.o): Likewise.
8780         (params.o): New target.
8781         * flags.h (inline_max_insns): Remove.
8782         * integrate.c: Include params.h.
8783         Use MAX_INLINE_INSNS instead of inline_max_insns.
8784         * params.c: New file.
8785         * params.h: Likewise.
8786         * params.def: Likewise.
8787         * toplev.c: Include params.h.
8788         (lang_independent_params): New variable.
8789         (decode_f_option): Use the param machinery instead of setting
8790         max_inline_insns.
8791         (independent_decode_option): Handle "--param name=value".
8792         (main): Register language-independent parameters.
8793
8794 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
8795
8796         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
8797
8798 2001-02-14  Richard Henderson  <rth@redhat.com>
8799
8800         * regclass.c (init_reg_sets_1): Revert last two changes.
8801
8802 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
8803
8804         * stor-layout.c (is_pending_size, put_pending_size): New functions.
8805         (variable_size): Call put_pending_size.
8806         * tree.h (is_pending_size, put_pending_size): Add prototypes.
8807         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
8808         sizes list, put newly created SAVE_EXPR there as well.
8809
8810 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
8811
8812         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
8813         (errata_find_address_regs): load_group has only 2 entries.
8814         (errata_emit_nops): Likewise.  shladd is not problematic.
8815         Clear last_group if nop was emitted.
8816         (fixup_errata): load_group has only 2 entries.
8817         Optimize.
8818
8819 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
8820
8821         * c-lex.c (lex_number): Only warn traditionally for U suffix
8822         outside system macros.
8823         * cppexp.c (parse_number): Similarly.
8824         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
8825         * cppmacro.c (struct cpp_macro): New member node.
8826         (parse_args): Only warn about missing rest args if not
8827         a system macro.
8828         (funlike_invocation_p): Similarly for uninvoked funlike macros.
8829         (cpp_sys_objmacro_p): New.
8830         (_cpp_create_definition): Store the node with the macro defn.
8831         Remember if the macro is defined in a system header.
8832
8833 2001-02-13  DJ Delorie  <dj@redhat.com>
8834
8835         * configure.in (check_languages): determine languages to check
8836         * Makefile.in (check-c++): alias for check-g++
8837         (check-f77): alias for check-g77
8838         (CHECK_TARGETS): depend on configured languages
8839
8840 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
8841
8842         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
8843         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
8844         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
8845         (sqrtextendsfdf2): Disable for SSE2.
8846
8847 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
8848
8849         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
8850         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
8851         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
8852         (sqrtextendsfdf2): Disable for SSE2.
8853
8854 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
8855
8856         * i386.md (movsfcc_1): Support integer cmove instruction.
8857         (movdfcc_1): Likewise; new splitter.
8858
8859 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
8860
8861         * i386.c (output_fp_compare): Support SSE.
8862         (prepare_fp_compare_args): SSE comparisons always support memory.
8863         * i386.h (TARGET_CMOVE): SSE imply cmove.
8864         * i386.md (cmp?f2): Enable for SSE too.
8865         (cmpfp_i*): Support SSE.
8866         (cmpfp_i_sse): New.
8867         (cmpfp_i_sse_only): New.
8868         (s*, b* fp expanters): Enable for SSE too.
8869         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
8870         New patterns.
8871
8872 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8873
8874         * regclass.c (init_reg_sets_1): Silence warning.
8875
8876 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
8877
8878         * i386.md (sqrt?f2): Change to expander.
8879         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
8880
8881 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8882
8883         * rtlanal.c (find_reg_equal_equiv_note): New function.
8884         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
8885         (simplify_gen_relational, simplify_replace_rtx): Likewise.
8886         * rtl.h: Add declarations for above functions.
8887
8888 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
8889
8890         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
8891         conditionals.
8892         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
8893         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
8894         * flow.c (mark_regs_live_at_end): Likewise.
8895         (calculate_global_regs_live): Likewise.
8896         * gcse.c (compute_hash_table): Likewise.
8897         (compute_kill_rd): Likewise.
8898         * resource.c (mark_target_live_regs): Likewise.
8899         * rtl.h (INVALID_REGNUM): New macro.
8900
8901 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
8902
8903         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
8904
8905 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
8906
8907         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
8908         for SSE.
8909
8910 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
8911
8912         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
8913         too.
8914         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
8915         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
8916         (fop_sf_1_sse, fop_df_1_sse): New patterns
8917         (fop_*): Disable float_extend and float patterns for SSE compilation.
8918         * i386.c (output_387_binary_op): Support SSE.
8919
8920 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
8921
8922         * i386.md (dummy_extendsfdf2): Support SSE2
8923         (extendsfdf2): Enable if 80387 or SSE2.
8924         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
8925         and no MIX_I387_SSE2
8926         (extendsfdf2_1_sse_only): New pattern.
8927         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
8928         of SSE.
8929         (truncdfsf2_1): Support SSE.
8930         (truncdfsf2_2): Support SSE.
8931         (truncdfsf2_2_1_sse): New pattern.
8932         (fixtruncsfsi2): Always use SSE if available.
8933         (fix_truncsfsi_sse): New pattern.
8934         (fix_truncdfsi_sse): New pattern.
8935         (floatsis?f2): Support SSE.
8936         (floatsidf2_i387): New pattern.
8937         (floatsidf2_sse): Likewise.
8938
8939 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8940
8941         * configure.in: Use "have_gnat" variable, not "gnat".
8942         * configure: Regenerated.
8943
8944         * config/sparc/sparc.c (function_value): Treat all non-record
8945         aggregate types like used to treat UNION_TYPE.
8946
8947 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
8948
8949         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
8950         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
8951         (MASK_SSE2): New.
8952         (MASK_MIX_SSE_I387): New.
8953         (TARGET_SSE): SSE2 imply SSE.
8954         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
8955         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
8956         (enum reg_class): Add new classes.
8957         (REG_CLASS_NAMES): Likewise.
8958         (REG_CLASS_CONTENTS): Likewise.
8959         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
8960         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
8961         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
8962         (CLASS_MAX_NREGS): Use new macros.
8963         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
8964         * i386.md (pushsf, movsf): Support SSE.
8965         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
8966         splitters to use ANY_FP_REGNO_P.
8967         (movdf_nointeger, movdf_integer): Likewise.
8968
8969 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
8970
8971         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
8972         (try_combine): Use it.
8973
8974 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
8975
8976         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
8977         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
8978         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
8979         (REGISTER_MOVE_COST): Likewise.
8980         * i386-protos.h (ix86_secondary_memory_needed,
8981         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
8982         * i386.c (ix86_secondary_memory_needed,
8983         ix86_preferred_reload_class, ix86_register_move_cost): New function.
8984
8985 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
8986
8987         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
8988         (HARD_REGNO_MODE_OK): Move offline to ....
8989         * i386.c (ix86_hard_regno_mode_ok) ... here;
8990         refuse all incorrect modes.
8991         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
8992
8993 2001-02-13  Richard Henderson  <rth@redhat.com>
8994
8995         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
8996         entire operator; replicate that and match_dup the operands.
8997         (cmp_ccx_arith_op_set): Likewise.
8998         (cmp_cc_arith_op_not_set): Likewise.
8999         (cmp_ccx_arith_op_not_set): Likewise.
9000
9001 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9002
9003         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
9004
9005 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9006
9007         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
9008         (TARGET_NO_BITFIELD_WORD): New macro.
9009         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
9010         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
9011
9012 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9013
9014         * cselib.c: New file, from simplify-rtx.c.
9015         * simplify-rtx.c: Remove cselib parts.
9016         * Makefile.in: Add cselib.o.
9017
9018 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9019
9020         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
9021         (setup_incoming_varargs): Remove warning.
9022
9023         * config/rs6000/rs6000.c (validate_condition_mode): When
9024         flag_fast_math, allow floating-point conditionals to be reversed.
9025         (rs6000_generate_compare): When flag_fast_math, don't generate
9026         cror operations for FP conditionals.
9027
9028         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
9029         -mcall-i960.
9030         (ASM_SPEC): Likewise.
9031         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
9032         (CC1_SPEC): Likewise.
9033         (LINK_TARGET_SPEC): Likewise.
9034         (CPP_ENDIAN_SPEC): Likewise.
9035         * Makefile.in (check-consistency): New target.
9036
9037 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9038
9039         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
9040         "return type defaults" warning for functions with return type
9041         defaulting to int.
9042         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
9043         function declarations by default rather than only when pedantic.
9044
9045 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
9046
9047         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
9048         arrays.
9049
9050 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9051
9052         * extend.texi (Deprecated): Deprecate new initializer lists.
9053
9054 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9055
9056         * mkdeps.c (deps_add_default_target): Robustify. Add
9057         basename component only.
9058         * cpp.texi (-M): Describe how default target is generated.
9059         * invoke.texi (-M): Likewise.
9060
9061 2001-02-12  Kazu Hirata  <kazu@hxi.com>
9062
9063         * toplev.c (push_float_handler): Remove.
9064         (pop_float_handler): Remove.
9065         * toplev.h: Remove prototypes for the above functions.
9066
9067 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
9068
9069         * c-common.c (constant_fits_type_p): New function.
9070         (convert_and_check): Use it.
9071
9072 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9073
9074         * Makefile.in (GXX_ABI_FLAG): Don't define.
9075         * configure.in (--enable-new-gxx-abi): Remove option.
9076         * config.in: Regenerated.
9077         * configure: Likewise.
9078
9079 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
9080
9081         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
9082         basic block.
9083         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
9084         regular basic block, and arrange for all edges into it to switch
9085         to normal mode.
9086
9087 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9088
9089         * Makefile.in (distclean): Do not remove .gdbinit.
9090
9091 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9092
9093         * Makefile.in (gcc.o): Fix typos.
9094         (protize.o): Likewise.
9095         (unprotoize.o): Likewise.
9096
9097 2001-02-11  Richard Henderson  <rth@redhat.com>
9098
9099         * tree.c (build1): Check for null operand in last change.
9100
9101 2001-02-11  Richard Henderson  <rth@redhat.com>
9102
9103         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
9104         (fold): Don't assume a constant isn't foldable.
9105         * tree.c (build): Set TREE_CONSTANT for an expression with no
9106         side-effects and constant operands.
9107         (build1): Likewise.
9108
9109 2001-02-10  Richard Henderson  <rth@redhat.com>
9110
9111         * jump.c (squeeze_notes): Revert 2000-05-12 change.
9112
9113 2001-02-10  Anthony Green  <green@redhat.com>
9114
9115         * cpp.texi (Standard Predefined): Add documentation for
9116         __OPTIMIZE_SIZE__.
9117
9118         * c-common.c (combine_strings): Improve warning message.
9119
9120 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
9121
9122         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
9123         --oformat.
9124         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
9125
9126 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
9127
9128         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
9129         CYGWIN_CROSS_DIR.
9130
9131 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
9132
9133         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
9134         fp_mode attribute.
9135
9136 2001-02-09  Nick Clifton  <nickc@redhat.com>
9137
9138         * config/arm/arm.md: Change output contraint on post inc
9139         load/store multiple patterns to be a read/write contraint.
9140
9141 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
9142
9143         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
9144         .o files when using the -M options.
9145
9146 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9147             David Edelsohn  <edelsohn@gnu.org>
9148
9149         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
9150         handle DImode constants.  Use one TOC entry for SImode and smaller
9151         constants, aligned properly.
9152
9153 2001-02-08  Jason Merrill  <jason@redhat.com>
9154
9155         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
9156         about the SP adjustment for saving the static chain pointer.
9157         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
9158         offset when setting a temporary CFA register.
9159
9160 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
9161
9162         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
9163         powerpc-*-chorusos* .
9164         * config/rs6000/chorus.h : New file.
9165         * config/i386/chorus.h : New file.
9166         * config/sparc/chorus.h : New file.
9167         * config/sparc/t-chorus-elf : New file.
9168
9169 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
9170
9171         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
9172         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
9173         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
9174         (__WCHAR_TYPE__): Correct macro name.
9175
9176 2001-02-08  Richard Henderson  <rth@redhat.com>
9177
9178         * config/i386/i386.c (ix86_frame_pointer_required): New.
9179         (ix86_setup_frame_addresses): New.
9180         (struct machine_funciton): Add accesses_prev_frame.
9181         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
9182         ix86_frame_pointer_required.
9183         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
9184         (SETUP_FRAME_ADDRESSES): New.
9185         * config/i386/i386-protos.h: Update.
9186         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
9187         from FRAME_POINTER_REQUIRED.
9188         * config/i386/svr3gas.h: Likewise.
9189         * config/i386/sysv3.h: Likewise.
9190         * config/i386/v3gas.h: Likewise.
9191
9192 2001-02-08  Richard Henderson  <rth@redhat.com>
9193
9194         * config/sparc/sparc.c (function_arg_record_value_3): Fix
9195         calculation of the number of integer registers required.
9196         (function_arg_record_value): Likewise.
9197
9198 2001-02-08  Jason Merrill  <jason@redhat.com>
9199
9200         * diagnostic.c (internal_error): Say "confused" after 1 error, not
9201         two.  Print file and line with "confused" message.
9202
9203         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
9204
9205 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9206
9207         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
9208
9209 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
9210
9211         * final.c (cleanup_subreg_operands): The address of a MEM can
9212         contain SUBREGs.
9213
9214         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
9215         for asms, too.
9216
9217 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
9218
9219         * gcc.texi (Incompatibilities): Update documentation of
9220         preprocessing numbers.
9221
9222 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
9223
9224         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
9225
9226 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
9227
9228         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
9229
9230         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
9231         * gcc.c (struct compiler): Add cpp_spec field.
9232         (input_file_compiler): New variable.
9233         (do_spec_1): Allow a particular compiler to handle `%C'
9234         specially.
9235         (main): Store the current compiler in input_file_compiler.
9236         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
9237
9238 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
9239
9240         * cpphash.h (struct spec_nodes): Add n_true and n_false.
9241         * cppinit.c (cpp_create_reader): Initialize them.
9242         (append_include_chain): cxx_aware arg might be unused.
9243         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
9244         keywords and give them their phase 7 meaning.  Pedwarn about
9245         this unless '__bool_true_false_are_defined' is defined.
9246
9247 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9248
9249         * lcm.c (optimize_mode_switching): Emit mode_set before the
9250         JUMP_INSN of an abnormal edge.
9251
9252 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
9253
9254         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
9255         a scheduling barrier at the end.
9256
9257         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
9258
9259 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
9260
9261         * config/sh/sh.md (reload_outsf): Removed.
9262         (movsf_ie): Introduce constraints for FPUL loads and stores.
9263         (reload_insf): Broaden the output constraint.
9264
9265         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
9266         defined.
9267         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
9268         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
9269
9270 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
9271
9272         * final.c: Revert my previous changes.
9273         * output.h: Make profile_label_no extern.
9274         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
9275         for generating label.
9276
9277 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
9278
9279         * config/i386/djgpp.h: Add comments about standard paths.
9280         (MD_EXEC_PREFIX): Undefine before defining.
9281         (MD_STARTFILE_PREFIX): New.
9282
9283 2001-01-30  Bruce Korb  <bkorb@gnu.org>
9284
9285         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
9286         (load_file): do not rely on load_file_data() to close file pointer
9287         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
9288         fixinc/inclhack.def(irix_limits_const): add test_text
9289
9290 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9291
9292         * cppexp.c (parse_defined): Improve diagnostics for invalid
9293         syntax.
9294
9295 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
9296
9297         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
9298
9299 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
9300
9301         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
9302         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
9303         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
9304         (rs6000_output_symbol_ref): New function.
9305         (output_toc): Use VTABLE_NAME_P.
9306
9307 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9308
9309         * print-tree.c (print_node, case PARM_DECL):
9310         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
9311
9312         * stor-layout.c (reference_types_internal): New variable.
9313         (internal_reference_types): New function.
9314         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
9315         * tree.h (internal_reference_types): New declaration.
9316
9317         * cse.c (find_best_addr): Fix typo in computing cost.
9318
9319 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9320
9321         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
9322         and this is the sum of a pointer and a constant, we know the result
9323         did not overflow.
9324         (num_sign_bit_copies, case PLUS): Likewise.
9325         * explow.c (convert_memory_address): Remove opposite SUBREG.
9326         * function.c (instantiate_new_reg): New function (from common code).
9327         (instantiate_virtual_regs_1): Call it.
9328         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
9329         if pointers sign- or zero-extend.
9330         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
9331         If pointers extend unsigned, use inside of SUBREG.
9332         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
9333
9334 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
9335
9336         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
9337         subdir of gcc_gxx_include_dir.
9338         (gcc_gxx_target_include_dir): Remove.
9339
9340 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
9341
9342         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
9343         (dwarf2out_frame_debug_expr): Revise introductory comments to add
9344         a high-level description.
9345
9346 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
9347
9348         * final.c: Move the declaration of profile_label_no to ...
9349         * output.h: ... here.
9350         * function.c (expand_function_start): Call PROFILE_HOOK.
9351         * config/rs6000/aix.h: Define PROFILE_HOOK.
9352         * config/rs6000/rs6000-protos.h: output_profile_hook new.
9353         * config/rs6000/rs6000.c (output_profile_hook): Define.
9354         (output_prolog): Do nothing for ABI_AIX as it is taken care by
9355         output_profile_hook.
9356         tm.texi : Explain new macro PROFILE_HOOK.
9357
9358 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
9359
9360         * extend.texi (Extended Asm): Do not say that semicolon is always
9361         a valid line-breaking character for GNU assemblers.  Use
9362         newline-tab as the most commonly supported syntax.  Use
9363         newline-tab rather than semicolon in multi-insn examples.
9364
9365 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9366
9367         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
9368
9369 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9370             David Edelsohn  <edelsohn@gnu.org>
9371
9372         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
9373         code for AIX, even without flag_pic.
9374
9375 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
9376
9377         * c-typeck.c (common_type): push and pop binding level around
9378         calling common_type on function parameters.
9379
9380 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
9381
9382         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
9383
9384 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9385
9386         * config/mips/mips.c (override_options): Fix typo in last change.
9387         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
9388         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
9389
9390 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
9391
9392         * invoke.texi (-fdump-class-layout): Document.
9393         (-fdump-translation-unit): Use `=' as filename separator.
9394
9395 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
9396
9397         * Makefile.in (s-mlib): Don't build multilibs if
9398         --disable-multilib.
9399         (DRIVER_DEFINES): Adjust accordingly.
9400         (gcc.o): Likewise.
9401         (protoize.o): Likewise.
9402         (unprotoize.o): Likewise.
9403         * configure.in: Recognize --enable-multilib.
9404
9405 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9406
9407         * Makefile.in (DRIVER_DEFINES): Fix quoting.
9408
9409         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
9410         * configure.in: Remove --enable-libstdcxx_v3 support.
9411         * configure: Regenerated.
9412
9413 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9414
9415         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
9416         Call abort instead of fatal.
9417         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
9418         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
9419         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
9420         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
9421         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
9422         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
9423
9424         * diagnostic.h (set_internal_error_function): Renamed.
9425         * toplev.h (internal_error): Renamed from fatal.
9426         (pfatal_with_name): Deleted.
9427         (fatal_io_error): Now has printf-style arguments.
9428         * diagnostic.c (pfatal_with_name): Deleted.
9429         (fatal_io_error): Rework to have args in printf-style.
9430         (set_internal_error_function): Renamed from set_fatal_function.
9431         (internal_error): Renamed from fatal.
9432         (error_recursion, fancy_abort): Call internal_error instead of fatal.
9433         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
9434         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
9435         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
9436         * flow.c (verify_flow_info): Likewise.
9437         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
9438         * config/mips/mips.c (save_restore_insns): Likewise.
9439
9440         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
9441         * flow.c (verify_flow_info): Likewise.
9442         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
9443         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
9444         (avr_normalize_condition): Likewise.
9445         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
9446         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
9447         (limit_reload_class, double_reg_to_memory): Likewise.
9448         (print_operand_address, emit_1600_code_shift): Likewise.
9449         (gen_tst_reg, gen_compare_reg): Likewise.
9450         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
9451         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
9452         Deleted.
9453         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
9454
9455         * c-parse.in (methoddef): Call fatal_error instead of fatal.
9456         * objc/objc-act.c (build_ivar_chain): Likewise.
9457         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
9458         pfatal_with_name.
9459         * graph.c (clean_graph_dump_file): Likewise.
9460         * profile.c (init_branch_prob): Likewise.
9461         * objc/objc-act.c (objc_init): Likewise.
9462
9463         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
9464         * config/avr/avr.c (avr_override_options): Likewise.
9465         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
9466         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
9467         * config/h8300/h8300.c (h8300_init_once): Likewise.
9468         * config/mips/mips.c (override_options): Likewise.
9469         * config/i386/i386.c (override_options): Likewise, rework.
9470         * config/m68k/m68k.c (override_options): Likewise.
9471
9472         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
9473         instead of fatal.
9474         * config/mips/mips.c (print_operand): Likewise.
9475         * hash.c (hash_allocate): Don't check for failure returns from
9476         obstack functions that can't fail.
9477         (hash_table_init_n, hash_table_init): Likewise; also now return void.
9478         * hash.h (hash_table_init_n, hash_table_init): Now return void.
9479         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
9480         (get_object_reference): Likewise.
9481
9482 2001-02-04  Nick Clifton  <nickc@redhat.com>
9483
9484         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
9485         StrongARM1110, 10TDMI, and 1020T.
9486
9487 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9488
9489         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
9490
9491 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
9492
9493         * config/sh/sh.md (movdf load split): Pass register number to
9494         FP_OR_XD_REGISTER_P.
9495
9496 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
9497
9498         * cppinit.c (BC): New macro.
9499         (builtin_array): Add __GXX_WEAK__.
9500         * cpplib.h (builtin_type): Add BT_WEAK.
9501         * cppmacro.c (builtin_macro): Handle BT_WEAK.
9502         * defaults.h (SUPPORTS_ONE_ONLY): Define.
9503         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
9504
9505 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
9506
9507         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
9508
9509 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9510
9511         * cpphash.h: Rename _ALIGN POOL_ALIGN.
9512         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9513
9514 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
9515
9516         * cpphash.h: Rename ALIGN _ALIGN.
9517         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
9518
9519 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
9520
9521         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
9522         compilation environment.
9523         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
9524         control over location of cygwin includes and libs.
9525
9526 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9527
9528         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
9529
9530 2001-02-02  lars brinkhoff  <lars@nocrew.org>
9531
9532         * md.texi (Standard Names): remove reference to spur.md.
9533
9534 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
9535
9536         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
9537         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
9538         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
9539         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
9540         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
9541
9542 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9543
9544         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
9545         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
9546         number before reload.
9547         (c4x_adjust_cost): Return zero before reload.
9548         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
9549         split before reload.
9550
9551 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9552
9553         * c4x.c (c4x_hard_regno_rename_ok): New.
9554         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
9555         * c4x.h (HARD_REGNO_RENAME_OK): Define.
9556
9557 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9558
9559         * diagnostic.h: Add missing "extern" in all declarations.
9560
9561 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
9562
9563         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
9564         as for gcc_gxx_include_dir.
9565
9566 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
9567
9568         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
9569
9570 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9571
9572         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
9573         label before alignment to be used as the braf base address.
9574         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
9575         branches.
9576         (casesi_jump_2): Require at least TARGET_SH2.
9577
9578         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
9579         truncation to 32-bit doubles on -m3e and -m4-single-only.
9580
9581 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
9582
9583         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
9584         the default when building a shared object.
9585         (init_spec): Use it.
9586         * testsuite/lib/g++.exp: Include the directory where libgcc
9587         is located to the LD_LIBRARY_PATH list.
9588         * invoke.texi (-shared-libgcc): Document the cases in which
9589         GCC defaults to using the shared libgcc.
9590
9591 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
9592
9593         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
9594         unsigned is wide enough.
9595         (BITS_PER_SI): New.
9596         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
9597         (si_to_float): Likewise.
9598         (float_to_si, float_to_usi): Use BITS_PER_SI.
9599
9600 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9601
9602         * dwarf2out.c: Added explanation of abbreviations.
9603         (def_cfa_1): Added comments listing DWARF2 instructions.
9604         (cfa_temp_reg): Removed in favor of cfa_temp.
9605         (cfa_temp_value): Removed in favor of cfa_temp.
9606         (cfa_temp): New global variable.
9607         (dwarf2out_frame_debug_expr): Added extensive introductory
9608         comments explaining the function's transformations.  Revised to
9609         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
9610         (dwarf2out_frame_debug): Revised to use cfa_temp.
9611         (output_aranges): Cast as "unsigned" to avoid warning.
9612         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
9613         explain which instructions must be marked.
9614
9615 2001-02-01  Richard Henderson  <rth@redhat.com>
9616
9617         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
9618         new instruction.
9619
9620 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
9621
9622         * config/sh/crt1.asm (main_k): Modified so that start calls
9623         ___setup_argv_and_call_main.
9624
9625 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
9626
9627         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
9628         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
9629         and AVOID_LPASTE is cleared on meeting an unescaped newline.
9630         * cppmacro.c (builtin_macro): Set builtin flags here.
9631         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
9632         (replace_args): Clarify intent.
9633         (cpp_get_token): Macro expansion tokens get the saved flags.
9634         Update.
9635         * cppmain.c (scan_buffer): Remove now-redundant print.printed
9636         check.
9637
9638 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
9639
9640         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
9641         2001-Jan-29.
9642
9643 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9644
9645         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
9646         returns Pmode pseudo, but we need ptr_mode.
9647         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
9648         Remove bogus conversions; use HOST_WIDE_INT for size.
9649         Don't use TARGET if wrong mode.
9650
9651         * config/i386/i386.c (ix86_compute_frame_size): Allow
9652         stack_alignment_needed to be non-default even if size is zero.
9653
9654 2001-01-31  Alan Modra <alan@linuxcare.com.au>
9655
9656         * pa.c (hppa_init_pic_save): New function.
9657         * pa.h (hppa_init_pic_save): Declare.
9658         * pa.md (call, call_value, sibcall, sibcall_value): Use
9659         the above instead of duplicated code.
9660
9661         * pa.c (hppa_encode_label): Correct size of alloca buffer
9662         so we don't overrun it.  Correct leading `*' case.
9663         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
9664         need to handle `*@'.
9665         (FUNCTION_NAME_P): Likewise.
9666
9667 2001-01-31  Richard Henderson  <rth@redhat.com>
9668
9669         * config.gcc (alpha-osf5): Use float-i128.h.
9670
9671         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
9672         * config/float-i32.h: Likewise.
9673         * config/float-i64.h: Likewise.
9674         * config/float-sh.h: Likewise.
9675         * config/float-sparc.h: Likewise.
9676
9677 2001-01-31  DJ Delorie  <dj@redhat.com>
9678
9679         * expmed.c (extract_bit_field): allow non-integral modes if we
9680         want to extract a whole register from itself.
9681
9682 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
9683
9684         * c-typeck.c (set_init_index): If first is equal to last, assume as
9685         if it was not a range at all.
9686
9687 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9688
9689         * config/fp-bit.c: Include tm.h.
9690         (float_to_si): Don't assume SImode is 32-bits wide.
9691         (float_to_usi): Likewise.
9692
9693 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
9694
9695         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
9696         incomplete type.
9697         (typename): Call pending_xref_error after parsing typed_typespecs.
9698         * c-decl.c (lookup_tag): Give error immediately rather than
9699         leaving it pending if the tag of the wrong type is in the same
9700         binding level.
9701         (xref_tag): Don't pedwarn for forward declarations of enum types
9702         here.
9703         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
9704         and enum tags.
9705
9706 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9707
9708         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
9709
9710 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9711
9712         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
9713         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
9714
9715 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
9716
9717         * cpphash.h (struct cpp_reader): New saved_flags.
9718         * cppmacro.c (cpp_get_token): Use saved_flags to remember
9719         to avoid a paste after a pasted token.
9720
9721 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
9722
9723         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
9724         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
9725         Wtype_MIN instead of LONG_MIN.
9726
9727 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
9728
9729         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
9730         README file.
9731         * fixinc/fixincl.x: Regenerated.
9732         * fixinc/inclhack.def (irix_limits_const): New definition to
9733         convert "const" to "__const" in limits.h.
9734
9735 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
9736
9737         * fixinc/genfixes (AG): Fix "autogen4" thinko.
9738
9739 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
9740
9741         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
9742         when register dies in the insn.
9743
9744 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9745
9746         * diagnostic.c (fatal): Fix word wrap.
9747
9748 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
9749
9750         * combine.c (try_combine): Fix SUBREG setting for
9751         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
9752
9753 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9754
9755         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
9756         comparison codes.
9757
9758 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9759
9760         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
9761         is not NULL.
9762         * toplev.c (decode_W_option): Update warn_larger_than
9763         unconditionally for each processed switch.
9764
9765 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9766
9767         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
9768         to NULL_RTX.
9769         (hppa_expand_prologue): Delete code to save pic offset table register
9770         in the function prologue.
9771         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
9772         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
9773         table register at the beginning of the function after the prologue.
9774
9775 2001-01-29  lars brinkhoff  <lars@nocrew.org>
9776
9777         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
9778
9779 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9780             Jeff Law <law@redhat.com>
9781
9782         * pa.md (return): Revise comment for trivial return.
9783         (return_internal): Non-trivial return pattern for non-PIC code.
9784         (return_internal_pic): Non-trivial return pattern for PIC code.
9785         It uses the PIC register to ensure it is restored after
9786         function calls.
9787         (epilogue): Generate appropriate return for PIC and non-PIC code.
9788
9789 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
9790
9791         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
9792
9793 2001-01-29  DJ Delorie  <dj@redhat.com>
9794
9795         * combine.c (if_then_else_cond): Pass the correct mode to
9796         operand_subword() for constants.
9797
9798 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
9799
9800         * config/i386/cygwin.h: Add w32api to include search.  Search different
9801         directories in a cross-build environment.
9802
9803 2001-11-29  Tim Josling  <tej@melbpc.org.au>
9804
9805         * tree.h (TYPE_STUB_DECL): Add documentation.
9806
9807 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
9808
9809         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
9810         (sdbout_field_types): Likwise.  Fix use of host_integerp.
9811
9812 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
9813
9814         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
9815         cygwin.h.
9816
9817 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
9818
9819         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
9820         to use flag_gnu_linker.
9821
9822 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
9823
9824         * cpplib.c (T_BAD_DIRECTIVE): Remove.
9825         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
9826
9827 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
9828
9829         * tree.c, tree.h (build_parse_node): Remove; was identical to
9830         build_nt.
9831         * c-lang.c (start_cdtor), objc/objc-act.c
9832         (build_module_descriptor): Use build_nt instead of
9833         build_parse_node.
9834
9835 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
9836
9837         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
9838         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
9839         not have any upper bits set.
9840
9841 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
9842
9843         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
9844
9845 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9846
9847         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
9848
9849         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
9850
9851         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
9852         (integer_minus_one_node): Define.
9853
9854 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
9855
9856         * Makefile.in (bootstrap2-lean): Fix typo.
9857
9858 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9859
9860         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
9861         : Don't set fe_value.
9862         * cpplib.h (AVOID_LPASTE): New flag.
9863         (struct cpp_hashnode): Remove fe_value.
9864         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
9865         * cppmacro.c (builtin_macro): Don't set flags here.
9866         (replace_args): Set AVOID_LPASTE flag on first token of an
9867         argument, and the token following it.
9868         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
9869         macro expansion, and on the token following it.  Do it for
9870         builtins too.
9871         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
9872
9873 2001-01-27  Richard Henderson  <rth@redhat.com>
9874
9875         * config/alpha/t-ieee: Remove multilibbing.
9876         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
9877
9878 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9879
9880         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
9881
9882         * Makefile.in: Remove all dependencies on defaults.h.
9883         * builtins.c: Don't include defaults.h.
9884         * c-common.c: Likewise.
9885         * c-decl.c: Likewise.
9886         * c-pragma.c: Likewise.
9887         * c-typeck.c: Likewise.
9888         * combine.c: Likewise.
9889         * i386.c: Likewise.
9890         * frame-ia64.c: Likewise.
9891         * cppexp.c: Likewise.
9892         * crtstuff.c: Likewise.
9893         * dbxout.c: Likewise.
9894         * dwarf2out.c: Likewise.
9895         * dwarfout.c: Likewise.
9896         * emit-rtl.c: Likewise.
9897         * except.c: Likewise.
9898         * expr.c: Likewise.
9899         * final.c: Likewise.
9900         * frame-dwarf2.c: Likewise.
9901         * libgcc2.c: Likewise.
9902         * optabs.c: Likewise.
9903         * profile.c: Likewise.
9904         * sdbout.c: Likewise.
9905         * toplev.c: Likewise.
9906         * tradcif.y: Likewise.
9907         * tree.c: Likewise.
9908         * varasm.c: Likewise.
9909
9910 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9911
9912         * builtins.c (expand_builtin_fputs): Use size_one_node when
9913         transforming into fwrite.
9914
9915 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
9916
9917         * extend.texi (Attribute Syntax): New section.
9918
9919 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
9920
9921         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
9922         they didn't need fixing.
9923
9924 2001-01-27  Janis Johnson <janis@us.ibm.com>
9925
9926         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
9927         if appropriate.
9928         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
9929         to remove macro definitions that are duplicated from elfos.h.
9930
9931 2001-01-27  Richard Henderson  <rth@redhat.com>
9932
9933         * config/i386/sco5gas.h: Move ...
9934         * config/usegas.h: ... here.
9935         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
9936
9937 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
9938
9939         * c-typeck.c (struct constructor_stack): Add range_stack member.
9940         (really_start_incremental_init): Clear it.
9941         (push_init_level): Save constructor_range_stack and clear it if
9942         pushing explicit braces.
9943         (pop_init_level): abort if constructor_range_stack is non-zero at
9944         explicit closing brace.  Restore saved constructor_range_stack if
9945         not implicit.
9946
9947 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
9948
9949         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
9950         into register was forced into memory.
9951
9952 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
9953
9954         * Makefile.in: Remove uses of + before $(MAKE).
9955
9956 2001-01-26  Richard Henderson  <rth@redhat.com>
9957
9958         * stmt.c (cost_table): Remove.
9959         (COST_TABLE, cost_table_initialized): New.
9960         (estimate_case_costs): Use the later instead of the former.
9961         (balance_case_nodes): Likewise.
9962
9963 2001-01-26  Richard Henderson  <rth@redhat.com>
9964
9965         * alias.c (objects_must_conflict_p): Read-only slots may not
9966         conflict despite having the same type.
9967
9968 2001-01-27  Michael Hayes  <mhayes@redhat.com>
9969
9970         * loop.c (loop_giv_reduce_benefit): Copy mode size into
9971         int variable.
9972         (check_ext_dependant_givs): Initialise u_start_val and
9973         u_end_val.
9974         (load_mems): Make last_max_reg unsigned.
9975         (try_swap_copy_prop): Use INSN_P and initialise set.
9976
9977 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
9978
9979         * README.AVR : Removed.
9980
9981 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
9982
9983         * pa-64.h (text_section): Remove declaration.
9984
9985         * pa.md (return_internal): Remove mode on PIC register use.
9986
9987 2001-01-25  lars brinkhoff  <lars@nocrew.org>
9988
9989         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
9990         ASM_CLOSE_PAREN): fix typos.
9991
9992 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
9993
9994         * acconfig.h: Define `const' to the empty string if neither
9995         __STDC__ nor __cplusplus is defined.
9996         * config.in: Regenerated.
9997
9998 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
9999
10000         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
10001         * collect2.c (main): Delete importf.  Add ".obj" file extension.
10002         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
10003         (aix_std_libs): Add additional AIX libraries to skip.
10004         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
10005         * config/rs6000/aix51.h: New file.
10006
10007 2001-01-25  Michael Hayes  <mhayes@redhat.com>
10008
10009         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
10010         (loop_insn_emit_before): No longer static.
10011         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
10012         (loop_givs_rescan, load_mems): Likewise.
10013         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
10014         (maybe_eliminate_biv_1):
10015         (move_movables): Replace emit_call_insn_before with
10016         loop_call_insn_hoist.
10017         * loop.h (loop_insn_emit_before): Add.
10018         * unroll.c (copy_loop_body): Replace emit_insn_before with
10019         loop_insn_emit_before.
10020
10021 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10022
10023         * diagnostic.c (fatal): Request preprocessed source.
10024
10025 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
10026
10027         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
10028         olddecl has argument types and newdecl has none, use the argument
10029         types from olddecl.
10030
10031 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
10032
10033         * dwarf2out.c (prefix_of): New function.  Determine longest common
10034         prefix of the two arguments.  The units are whole path components.
10035         (output_file_names): When adding a new directory find the one entry
10036         with the longest common prefix already in the list.  Artificially
10037         generate entry if there is none for this prefix.
10038         Fix test to check whether the zeroth directory entry is used.
10039
10040 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
10041
10042         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
10043         Changed all callers.  Take it into account when deciding if a
10044         previously loaded value matches.
10045
10046 2001-01-24  Richard Henderson  <rth@redhat.com>
10047
10048         * reload.c (find_reloads_subreg_address): Fail the substitution
10049         if the resulting address is insufficiently aligned.
10050
10051 2001-01-24  DJ Delorie  <dj@redhat.com>
10052
10053         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
10054         check the original operand's mode also.
10055         * simplify-rtx.c (simplify_ternary_operation): Ditto.
10056
10057 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10058
10059         * c-parse.in (cast_expr): Move compound literals from here ...
10060         (primary): ... to here.  Use standard terminology "compound
10061         literal" instead of "constructor expression".
10062
10063 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10064
10065         * gcc.1, cpp.1: Regenerate.
10066
10067 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
10068
10069         * calls.c (emit_library_call_value_1): Memory slot for
10070         pass-by-reference argument should have the mode of the argument,
10071         not of the pointer to it.
10072
10073 2001-01-24  Tom Tromey  <tromey@redhat.com>
10074
10075         * gcc.texi (G++ and GCC): Mention gcj manual.
10076         (Standards): Link to section of manual mentioning gcj/Java
10077         compatibility.
10078
10079 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
10080
10081         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
10082         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
10083         * tradcpp.c (main): Add -imacros or -include'd dependencies
10084         for -M*.
10085         * cpp.texi (-M, -MM): Document -M -include behaviour.
10086
10087 2001-01-24  Roger Collins <roger@ProProject.com>
10088
10089         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
10090
10091 2001-01-24  Will Cohen  <wcohen@redhat.com>
10092
10093         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
10094         whether registers are 32 bits or 64 bits in size.
10095
10096 2001-01-24  Ben Elliston  <bje@redhat.com>
10097
10098         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
10099
10100 2001-01-24  Richard Henderson  <rth@redhat.com>
10101
10102         * config/alpha/alpha.md (builtin_longjmp_internal): New.
10103         (builtin_longjmp): Use it instead of emit_indirect_jump.
10104
10105 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10106
10107         * bb-reorder.c (make_reorder_chain_1): Handle case where
10108         jump edge goes to the same block as the fallthru edge.
10109
10110 2001-01-23  Jim Wilson  <wilson@redhat.com>
10111
10112         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
10113         * frame.h (__ia64_personality_v1): Add prototype.
10114         * libgcc2.c (ia64_throw_helper): Change personality declaration to
10115         prototype form.  Add void * cast to first argument to personality
10116         call.
10117         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
10118         (asctoe113): Likewise.
10119         * config/ia64/frame-ia64.c: Include eh-common.h.
10120         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
10121         prototypes.
10122         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
10123         to dump parameter.
10124         (itanium_split_issue): Add prototype.
10125         (gen_nop_type): Ifdef out.
10126         (find_best_packet): Initialize best_packet.
10127         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
10128         result.
10129         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
10130         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
10131         (flushrs): Add explicit stop bit at end.
10132         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
10133         trailing \ to >.
10134
10135 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
10136
10137         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
10138         of EH symbols.
10139         * libgcc2.c (__terminate_func): Make variable static.
10140         (__terminate_set_func): New function to set __terminate_func.
10141         * libgcc2.h (__terminate_func_ptr): New typedef.
10142         (__terminate_set_func): New function.
10143
10144 2001-01-23  Richard Henderson  <rth@redhat.com>
10145
10146         * flow.c (init_propagate_block_info): Don't consider unchanging
10147         memories for dead frame store elimination.
10148
10149 2001-01-23  Richard Henderson  <rth@redhat.com>
10150
10151         * varasm.c (UNIQUE_SECTION): Move default implementation ...
10152         * defaults.h: ... here.
10153
10154 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10155
10156         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
10157
10158 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
10159
10160         * c-lex.c (lex_charconst): Fix typo: s/p/str.
10161
10162 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10163
10164         * rs6000.h (rs6000_return_addr): Move prototype from here...
10165         * rs6000-protos.h (rs6000_return_addr): ...to here.
10166         (rs6000_init_expanders): Delete prototype.
10167
10168 2001-01-23  Nick Clifton  <nickc@redhat.com>
10169
10170         * invoke.texi: Replace , with \, inside @gccoptlist macros.
10171         (Spec Files): Document %B and %j and %. and %v3 and %M and
10172         %{S*&T} spec switches.
10173
10174 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10175
10176         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
10177
10178 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
10179             Neil Booth  <neil@daikokuya.demon.co.uk>
10180
10181         * cpperror.c: Merge handlers of PEDWARN and WARNING.
10182         Have -Werror make pedantic warnings errors, like the
10183         rest of GCC.
10184
10185 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
10186
10187         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
10188
10189 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
10190
10191         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
10192         * integrate.c (expand_inline_function): Initialize them.
10193         (subst_constants): If changing COMPARE so that both its arguments
10194         will be VOIDmode and the comparison mode will be lost, note
10195         compare_mode.  Use the recorded compare_mode to optimize
10196         IF_THEN_ELSE.
10197
10198 2001-01-23  Jason Merrill  <jason@redhat.com>
10199
10200         * dwarf2out.c (new_die): Use xcalloc.
10201         (output_die): Abort rather than emit a local reference to offset 0.
10202
10203 2001-01-17  Andrew Haley  <aph@redhat.com>
10204
10205         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
10206         of a saved register; return NULL instead.
10207         (copy_reg): Take a pointer to a source register rather than a
10208         frame_state.
10209         (next_stack_level): Remember the address in the stack frame of all
10210         saved registers.
10211         Use the saved register pointer array as the source of the CFA.
10212         (throw_helper): Rewrite.  Unwind once rather than twice and keep
10213         track of saved registers as we go.
10214
10215 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10216
10217         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
10218         * c4x.c (c4x_legitimize_reload_address): Remove.
10219         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
10220         reload address for ldp(k) insn.
10221
10222 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
10223
10224         * pa.md (return_internal): Add a USE of the PIC register to ensure
10225         it is restored after each call.
10226         (return expander): Corresponding changes.
10227
10228 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10229
10230         * rs6000.h (INIT_EXPANDERS): Delete.
10231         (RETURN_ADDR_RTX): Call rs6000_return_addr().
10232         * rs6000.c (rs6000_override_options): Call *_machine_status from
10233         here...
10234         (rs6000_init_expanders): ...instead of here. Delete.
10235         (rs6000_mark_machine_status): New function.
10236         (rs6000_init_machine_status): Use xcalloc.
10237         (rs6000_return_addr): Generate RTX for the return address.
10238         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
10239         (rs6000_stack_info): Use it.
10240
10241 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
10242
10243         * gthr-win32.h: Include errno.h to get a declaration for
10244         EINVAL and _mingw.h if the target is mingw32.
10245
10246 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
10247
10248         * cpp.texi: Correct typos.
10249
10250 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10251
10252         * explow.c (probe_stack_range): Ensure value passed to
10253         stack_check_libfunc is ptr_mode, not Pmode.
10254
10255 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
10256
10257         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
10258         case, don't use operand_subword to calculate a SUBREG that is
10259         wider than a word.
10260
10261         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
10262
10263 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10264
10265         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
10266         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
10267         valid.  If not replace it by equivalent insns.
10268
10269 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10270
10271         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
10272         contains SYMBOL_REF, LABEL_REF and CONST_INT.
10273         (c4x_U_constraint, symbolic_address_operand): Likewise.
10274         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
10275         memory.
10276         (c4x_r11_set_p, c4x_check_laj_p): New functions.
10277         * c4x-protos.h (c4x_check_laj_p): Add prototype.
10278         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
10279         anulling slot because of silicon bug.
10280         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
10281
10282 2001-01-22  Alan Modra <alan@linuxcare.com.au>
10283
10284         * cppexp.c (parse_charconst):  Change `mask' type to agree
10285         with parse_escape.
10286
10287 2001-01-21  Richard Henderson  <rth@redhat.com>
10288
10289         * config/i386/i386.c (ix86_asm_file_end): Disable putting
10290         pic_label_name in a linkonce section.
10291
10292 2001-01-17  Philipp Thomas  <pthomas@suse.de>
10293
10294         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
10295         found in libintl.
10296         * configure: Regenerate.
10297
10298 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
10299
10300         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
10301         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
10302
10303 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
10304
10305         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
10306         If REVERSE nonzero then condition code in X must be reversed.
10307         (encode_section_info): Optimise if/else.
10308         (avr_function_value): Fix formatting.
10309
10310         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
10311         (difficult_branch): Likewise.
10312         (rvbranch): Likewise.
10313         (difficult_rvbranch): Likewise.
10314
10315         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
10316
10317         * config/avr/libgcc.S: Fix comment.
10318
10319 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10320
10321         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
10322
10323 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10324
10325         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
10326
10327 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10328
10329         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
10330         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
10331         * configure, config.in: Regenerate.
10332         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
10333         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
10334         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
10335         (doprint.o): New rule.
10336
10337 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
10338
10339         * c-typeck.c (digest_init): Handle boolean types as scalars.
10340
10341 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10342
10343         * stmt.c (expand_return): Don't return anything if size is zero.
10344         Delete redundant assignment to BYTES.
10345         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
10346
10347 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
10348
10349         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
10350         the same as the default library function names.
10351         * config/avr/avr.md: Document special characters after '%'.
10352         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
10353         knowing which of the call-used registers are really clobbered.
10354         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
10355         New.  Both quotient and remainder from one libgcc.S call.
10356         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
10357         clobber as few registers as possible.
10358         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
10359
10360 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10361
10362         * cppmacro.c (funlike_invocation_p): Don't move back up to the
10363         context of the top of the stack.
10364
10365 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
10366
10367         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
10368         (fixup_var_refs_insns): ...here.
10369
10370 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
10371
10372         * function.c (fixup_var_refs_insns): Break up into
10373         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
10374         [loop over entire insn list], and fixup_var_refs_insns_with_hash
10375         [loop over hash table entries].
10376         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
10377         fixup_var_refs_insns_with_hash, to match above changes.
10378
10379 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10380
10381         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
10382         (libgcc.a): Likewise.
10383         (stmp-multilib): Likewise.
10384         (STAGE2_FLAGS_TO_PASS): Likewise.
10385
10386 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
10387
10388         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
10389         temporary if no_new_pseudos.
10390
10391 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
10392
10393         * cppinternals.texi: Update.
10394
10395 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
10396
10397         * arm.c (arm_init_builtins): Re-enable builtins.
10398
10399 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10400
10401         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
10402         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
10403         element to be null, and always expect an EXPR_LIST.
10404         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
10405         * sched-deps.c (sched_analyze_1): Likewise.
10406         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10407
10408         * regclass.c (max_set_parallel): New variable.
10409         (reg_scan): Take it into account in computation of max_parallel.
10410         (reg_scan_mark_refs, case SET): Compute it.
10411
10412         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
10413         args are REG.
10414         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
10415         * function.c (assign_parms): Use INTVAL for a CONST_INT.
10416
10417 2001-01-19  Jason Merrill  <jason@redhat.com>
10418
10419         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
10420         for the abstract instance of an inline function.
10421
10422 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
10423                           J"orn Rennecke <amylaar@redhat.com>
10424
10425         * reload1.c (move2add_note_store): Treat all registers directly or
10426         indirectly derived from a base register as members of the same set
10427         of values.
10428         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
10429         of base register into account.
10430
10431 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
10432
10433         * alias.c (find_base_value): Recognize TRUNCATE.
10434         (record_set): In PLUS case, invalidate if other summand is also a
10435         base value.
10436
10437 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10438
10439         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
10440         entry to be EXPR_LIST.
10441         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
10442         be an EXPR_LIST (but not null, which other code doesn't allow).
10443         (note_stores): Properly handle PARALLEL in SET.
10444         Recursively call for top-level PARALLEL.
10445         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
10446         * sched-rgn.c (check_live_1, update_live_1): Likewise.
10447
10448         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
10449
10450 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10451
10452         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
10453         not pfile->skipping (== 0).
10454
10455 2001-01-17  Nick Clifton  <nickc@redhat.com>
10456
10457         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
10458         machine_status.
10459
10460 2001-01-17  Jim Wilson  <wilson@redhat.com>
10461
10462         * invoke.texi (IA-64 options): Improve.
10463
10464 2001-01-17  Tom Tromey  <tromey@redhat.com>
10465
10466         * invoke.texi (Optimize Options): Use `{}' to around @samp
10467         argument.
10468
10469 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
10470
10471         * invoke.texi (-fno-guess-branch-probability): New option.
10472
10473 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10474
10475         * combine.c (try_combine): Don't set i3_subst_into_i2 for
10476         case of making new double-word constant.
10477         Revert last change: instead just test i3_subst_into_i2.
10478
10479 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
10480
10481         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
10482         Use q constraints instead of r.
10483
10484 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
10485
10486         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
10487         (machine_function): Define.
10488         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
10489         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
10490         pa_free_machine_status): New functions.
10491         (override_options): Set {init,mark,free}_machine_status to above.
10492         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10493         PIC_OFFSET_TABLE_REGNUM_SAVED.
10494         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
10495         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
10496         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
10497         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
10498         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
10499
10500 2001-01-15  DJ Delorie  <dj@redhat.com>
10501
10502         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
10503         (cpp.1): Ditto.
10504         (gcc.1): Ditto.
10505
10506 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10507
10508         * flow.c (propagate_one_insn): Make trying to delete a prologue
10509         or epilogue insn an ICE, not a warning.  Allow doing this if
10510         the current function returns with stack pointer depressed.
10511
10512         * combine.c (try_combine): If i3_subst_into_i2, properly check for
10513         I3 having more than one SET.
10514
10515 2001-01-16  Jim Wilson  <wilson@redhat.com>
10516
10517         * invoke.texi: Document IA-64 options.
10518
10519         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
10520         (fixup_errata): Delete TARGET_A_STEP use.
10521         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
10522         (TARGET_SWITCHES): Delete -ma-step option.
10523         * config/ia64/ia64.md (all FP patterns): Delete %B0.
10524         (movqicc_astep, movqi_internal_astep, movhicc_astep,
10525         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
10526         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
10527         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
10528         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
10529         Delete.
10530         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
10531         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
10532         cmovsi_internal): Delete ! TARGET_A_STEP check.
10533
10534 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10535
10536         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
10537         possibility to report bugs via postal mail. Change a URL and
10538         merge in a nearly duplicate statement...
10539         (Bug Reporting): ...from here.
10540         (Service): Refer to the Bug Reporting section instead of
10541         duplicating an URL.
10542         (Contributing): Remove trivial explanations concerning snapshots.
10543
10544 2001-01-16  Alan Modra <alan@linuxcare.com.au>
10545
10546         * cppmain.c (general_init): Don't use ANSI prototype.
10547
10548 2001-01-16  Tom Tromey  <tromey@redhat.com>
10549
10550         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
10551
10552 2001-01-16  Richard Henderson  <rth@redhat.com>
10553
10554         * config/i386/i386.h: Fix comment typo.
10555         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
10556         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
10557
10558 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10559
10560         * gcc.c:  Revert previous -fsyntax-only-related change; move
10561         to cp/g++spec.c.
10562
10563 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
10564
10565         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
10566         inmode after checking GET_CODE (op).
10567
10568 2001-01-16  Richard Henderson  <rth@redhat.com>
10569
10570         * flow.c (struct propagate_block_info): Add mem_set_list_len.
10571         (MAX_MEM_SET_LIST_LEN): New.
10572         (propagate_one_insn): Update mem_set_list_len.
10573         (invalidate_mems_from_autoinc): Likewise.
10574         (invalidate_mems_from_set): Likewise.
10575         (mark_used_regs): Likewise.
10576         (init_propagate_block_info): Likewise.  Stop collecting memories
10577         when we reach MAX_MEM_SET_LIST_LEN.
10578         (mark_set_1): Likewise.
10579
10580 2001-01-16  Richard Henderson  <rth@redhat.com>
10581
10582         * unroll.c (precondition_loop_p): Fail if no iteration
10583         variable found.
10584
10585 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
10586
10587         * gcc.c:  When -fsyntax-only is given, do not complain about
10588         unused libraries.
10589
10590 2001-01-15  Richard Henderson  <rth@redhat.com>
10591
10592         * config/i386/i386.c (asm_output_function_prefix): Remove.
10593         (ix86_asm_file_end): New.
10594         (load_pic_register): Generate pic_label_name into a
10595         staticly allocated buffer.
10596         * config/i386/i386-protos.h: Update.
10597         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
10598         (ASM_FILE_END): New.
10599         * config/i386/i386afe.h: New file.
10600         * config.gcc (i?86-*-elf) [tm_file]: Use it.
10601         (i?86-*-{freebsd,linux*,moss*}): Likewise.
10602         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
10603         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
10604         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
10605         * config/i386/sco5.h (ASM_FILE_END): Likewise.
10606         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
10607
10608 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
10609
10610         * Makefile.in (install-man): Remove explicit dependency on
10611         $(srcdir)/gcc.1.
10612
10613         * configure.in, configure: Revert previous patch requiring perl
10614         5.6.0.
10615
10616 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
10617
10618         * toplev.c (flag_guess_branch_prob): New.
10619         (f_options): Add guess-branch-probability option.
10620         (rest_of_decl_compilation): Only estimate branch probability if
10621         flag set.
10622         (main): set flag_guess_branch_prob.
10623
10624         * flags.h (flag_guess_branch_prob): New.
10625
10626 2001-01-15  DJ Delorie  <dj@redhat.com>
10627
10628         * gcc.texi (Makefile): Add documentation for Makefile targets.
10629
10630 2001-01-15  Philip Blundell  <philb@gnu.org>
10631
10632         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
10633         (is_pic): Delete.
10634         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
10635         (is_pic): Delete declaration.
10636         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
10637         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
10638         * config/arm/arm.md (builtin_setjmp_receiver): New.
10639
10640 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10641
10642         * arm.c (use_return_insn): Don't try to determine the function type
10643         until after reload has completed.
10644         (arm_output_epilogue): Don't adjust the sp value recovered from the
10645         stack.
10646         (emit_multi_reg_push): Don't record dwarf information for the pc.
10647         * arm.md (eh_epilogue): The function type may have changed, so it
10648         needs to be recalculated.
10649         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
10650         unwind tables on arm/netbsd.
10651
10652 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10653
10654         * arm.md (cbranchsi4): Correct calculation of branch ranges.
10655         (negated_cbranchsi4): Likewise.
10656
10657 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
10658
10659         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
10660         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
10661         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
10662         pass -mapcs-* options to assembler.
10663         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
10664         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
10665         (ASM_SPEC): Call subtarget_extra_asm_spec.
10666
10667 2001-01-15  Andreas Jaeger  <aj@suse.de>
10668
10669         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
10670         warnings.
10671         (ix86_expand_builtin): Likewise.
10672
10673         * gencodes.c (output_predicate_decls): Make i size_t to avoid
10674         warning about comparison between signed and unsigned.
10675
10676 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
10677
10678         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
10679
10680 2001-01-14  Ralf Baechle <ralf@gnu.org>
10681
10682         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
10683         SUBTARGET_CPP_SPEC apropriatly.
10684
10685 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
10686
10687         * varasm.c (make_decl_rtl): Fix typo in last change.
10688
10689 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
10690
10691         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
10692         linker supports the init_priority C++ attribute.
10693         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
10694         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
10695         linker does not support init_priority C++ attribute.
10696
10697 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
10698
10699         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
10700
10701 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10702
10703         * c-parse.in (finish_parse): Add comment about cpp_destroy.
10704         * cp/lex.c (finish_parse): Similarly.
10705         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
10706         Return the number of errors encountered.
10707         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
10708         * cppmain.c (main): Don't call cpp_destroy.
10709
10710 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
10711
10712         * configure.in: Require at least perl 5.6.0 to regenerate
10713         manpages.
10714         * configure: Regenerate.
10715
10716 2001-01-14  Richard Henderson  <rth@redhat.com>
10717
10718         * genrecog.c (DT_veclen_ge): New.
10719         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
10720         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
10721         (nodes_identical_1): Handle DT_veclen_ge.
10722         (write_cond, debug_decision_2): Likewise.
10723
10724 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
10725
10726         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
10727         with ...
10728         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
10729
10730 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10731
10732         * cppmain.c (do_preprocessing): New function; most of the old
10733         main.
10734         (main): Call it to do most of the work.
10735         (cb): Move from global scope to set_callbacks ().
10736         (setup_callbacks): Get the callback pointer.
10737         (general_init, printer_init): Clean up code and comments.
10738
10739 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
10740
10741         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
10742         compiling PIC.
10743
10744 2001-01-14  Kazu Hirata  <kazu@hxi.com>
10745
10746         * config/h8300/h8300.c (get_shift_alg): Update comments.
10747
10748 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10749
10750         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
10751         (alloc_page, ggc_alloc): Add casts to remove warnings.
10752
10753 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
10754
10755         * combine.c (simplify_comparison): Don't change `code' when
10756         can't reverse comparison.
10757
10758 2001-01-14  Richard Henderson  <rth@redhat.com>
10759
10760         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
10761         update all call sites.  Return true for all non-label constants.
10762
10763 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
10764
10765         * i386.c (ix86_expand_compare): Add bypass_test and second_test
10766         parameters.
10767         (ix86_expand_branch): Update.
10768         (ix86_expand_setcc): Update to handle multiple test conditions.
10769         (expand_int_movcc): Likewise.
10770         (expand_fp_movcc): Likewise.
10771         * i386-protos.h (ix86_expand_compare): New.
10772         * i386.md (andqi_?_slp, orqi_?_slp): New.
10773         (conditional trap expander): Update call to ix86_expand_compare.
10774
10775 2001-01-14  Richard Henderson  <rth@redhat.com>
10776
10777         * config/vax/vax.md: Use nonimmediate_operand instead of
10778         general_operand in destinations.
10779
10780         * config/vax/vax.md (indirect_jump): Use register_operand.
10781
10782         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
10783         * config/vax/vax.md (call_pop): Turn into an expander.
10784         (call_value_pop): Likewise.
10785         (call, call_value): New.
10786
10787 2001-01-14  Andreas Jaeger  <aj@suse.de>
10788
10789         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
10790         variables.
10791         (ix86_fp_compare_mode): Add unused attribute.
10792         (ix86_expand_fp_movcc): Remove unused variable.
10793         (ix86_expand_builtin): Make fcode unsigned.
10794
10795         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
10796         (expand_expr): Add cast to avoid signed warning.
10797         (store_field): Likewise.
10798         (store_constructor_field): Likewise.
10799         (store_constructor): Likewise.
10800         (store_expr): Likewise.
10801         (clear_storage): Likewise.
10802         (emit_group_store): Likewise.
10803         (emit_group_load): Likewise.
10804
10805 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10806
10807         * c-common.c: Move format checking code to ...
10808         * c-format.c: ... here.  New file.  Reorder some functions and
10809         declarations.
10810         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
10811         New functions.
10812         * c-common.h (decl_handle_format_attribute,
10813         decl_handle_format_arg_attribute): Declare.
10814         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
10815         (c-common.o): Adjust dependencies.
10816         (c-format.o): New list of dependencies.
10817
10818 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
10819
10820         * unroll.c (loop_iterations): If we cannot prove iteration variable
10821         is set once in each iteration, punt.
10822
10823 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
10824
10825         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
10826         (*strlenhi): Remove clobber (which was buggy) of output address.
10827
10828 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10829
10830         * Makefile.in (generated-manpages): Add gcc.1
10831         ($(srcdir)/gcc.1): New target.
10832         (maintainer-clean): Delete $(srcdir)/gcc.1.
10833         * gcc.texi: Add macros @gccoptlist and @gol.
10834         * invoke.texi: Include option summary in manpage.  Mark up option
10835         summary with @gccoptlist and @gol.  Use @r in one place where
10836         appropriate.
10837         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
10838         * gcc.1: Generate from invoke.texi.
10839
10840 2001-01-13  Richard Henderson  <rth@redhat.com>
10841
10842         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
10843         (struct page_entry): Add group member.
10844         (struct page_group): New.
10845         (struct globals): Add page_groups member.
10846         (alloc_anon): Only define for using mmap; remove valloc call.
10847         (page_group_index): New.
10848         (set_page_group_in_use): New.
10849         (clear_page_group_in_use): New.
10850         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
10851         (free_page, release_pages): Likewise.
10852         * configure.in (with-gc): Default to ggc-page always.
10853
10854 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
10855
10856         * reload1.c (replace_pseudos_in_call_usage): Use
10857         reg_equiv_constant and reg_equiv_address, and don't try
10858         regno_reg_rtx first.
10859
10860 2001-01-13  Richard Henderson  <rth@redhat.com>
10861
10862         * ggc-page.c (alloc_page): Round up allocation size to one page.
10863         Set e->order on extra pages.
10864
10865 2001-01-13  Richard Henderson  <rth@redhat.com>
10866
10867         * genrecog.c (nodes_identical): Expand commentary.
10868         (write_switch): Watch out for identical nodes.
10869
10870 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10871
10872         * cppfiles.c (_cpp_fake_include): New function.
10873         * cpphash.h (_cpp_fake_include): New.
10874         * cpplib.c (do_line): Call _cpp_fake_include when entering
10875         header files in preprocessed input.
10876         * cppmain.c (cb_pragma_implementation): Remove handling.
10877         (setup_callbacks): Don't register pragmas.
10878
10879 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10880
10881         * extend.texi: Udate for CPP.
10882
10883 2001-01-13  Andreas Jaeger  <aj@suse.de>
10884
10885         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
10886
10887         * regmove.c: Add prototype for replace_in_call_usage.
10888
10889 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10890
10891         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
10892         struct cpp_chunk, struct htab, struct toklist,
10893         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
10894         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
10895         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
10896         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
10897         (struct macro_args): Delete.
10898         * cpphash.h: See above.
10899
10900 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10901
10902         * cppmain.c (struct printer): Remove no_line_dirs.
10903         (options, cb): New.
10904         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
10905         : Use options rather than CPP_OPTION.
10906         (setup_callbacks): Use cb rather than pfile->cb.
10907         (main): No need to check for a buffer.  Use cpp_errors.
10908         (printer_init): Don't set no_line_dirs.
10909         (maybe_print_line): Use options not no_line_dirs.
10910         (cb_file_change): Don't call print_line if -P.
10911
10912 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10913
10914         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
10915         callbacks.
10916         * c-parse.in (finish_parse): Use cpp_errors.
10917         (__yylex): Use return value of cpp_pop_buffer.
10918         * cp/lex.c (finish_parse): Use cpp_errors.
10919         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
10920
10921 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
10922
10923         * README.AVR: URLs corrected.
10924
10925 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10926
10927         * c-decl.c (start_function): Don't warn if old prototype is builtin
10928         that's not in C's namespace.
10929         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
10930         (_bb): Add prototype for ctime.
10931         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
10932
10933 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
10934
10935         * i386.c (ix86_fp_comparison_arithmetics_cost,
10936         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
10937         ix86_fp_comparison_cost): New functions.
10938         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
10939         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
10940         two-branch sequences; make static.
10941         (ix86_use_fcomi_compare): Do decision according to the costs.
10942         (split_fp_branch): New.
10943         * i386.md (compare-and-branch patterns): Use split_fp_branch.
10944         * i386-protos.h (ix86_expand_fp_compare): Remove
10945         (ix86_split_fp_branch): Declare.
10946
10947         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
10948         and ix86_comparison_operator.
10949
10950         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
10951         to make it cheaper.
10952
10953         * i386.c (put_condition_code): Output properly the unordered/ordered
10954         compares in fp case.
10955         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
10956
10957         * tm.texi (REVERSE_CONDITION): Document.
10958         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
10959         in -ffast-math mode.
10960         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
10961
10962 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
10963
10964         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
10965
10966         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
10967         optimized away.
10968
10969         * config/sh/sh.c (mova_p): Fix test for mova_const.
10970
10971 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10972
10973         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
10974         cpp_get_options rather than dereferencing pfile and using
10975         CPP_OPTION.
10976         * scan-decls.c (scan_decls): Use return value of
10977         cpp_pop_buffer rather than CPP_BUFFER.
10978
10979 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10980
10981         * cppinit.c (cpp_handle_option): help_only is now part of the
10982         cpp_options structure.
10983         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
10984         cpp_set_callbacks): New functions.
10985         * cpplib.h (cpp_callbacks): Break out as a named structure.
10986         (cpp_options): Move help_only here from cpp_reader.
10987         (CPP_FATAL_ERRORS): Update to use cpp_errors.
10988         (cpp_errors, cpp_get_options, cpp_get_callbacks,
10989         cpp_set_callbacks): New prototypes.
10990         * cppmain.c (main): Update for help_only.
10991
10992 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
10993
10994         * Makefile.in (info, maintainer-clean, install-info, uninstall):
10995         Also build and remove and install and uninstall c-tree.info and
10996         cppinternals.info.
10997         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
10998         ($(srcdir)/cppinternals.info): New target.
10999         * c-tree.texi: Change file name used when makeinfo used without -o
11000         from ir.info to c-tree.info.  Add info directory entry.
11001         * cppinternals.texi: Add info directory entry.
11002         * .cvsignore: Update.
11003
11004 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11005
11006         * c-typeck.c (store_init_value): Don't require constant initializer
11007         elements with -pedantic -std=c99.
11008         (digest_init): Change error about non-constant initializer elements
11009         into pedwarn.
11010         (constructor_range_end): Remove.
11011         (constructor_incremental, designator_depth,
11012         designator_errorneous): New variables.
11013         (struct constructor_stack): Remove range_end, add incremental.
11014         (struct constructor_range_stack, constructor_range_stack): New.
11015         (struct initializer_stack): Add constructor_range_stack.
11016         (finish_init): Set it.
11017         (start_init): Likewise.  require_constant_elements for non-static
11018         trees only if not flag_isoc99.
11019         (really_start_incremental_init): Remove constructor_range_end, add
11020         constructor_incremental.
11021         (pop_init_level): Likewise.
11022         (push_init_level): Likewise.  If implicit and the subobject had some
11023         value set already, preinitialize the level with it.
11024         Warn about missing braces only if not pushing due to designators.
11025         (set_designator, push_range_stack): New functions.
11026         (set_init_label): Use them.
11027         (set_init_index): Likewise.  Remove constructor_range_end.
11028         Error if designator index is outside of array bounds.
11029         (add_pending_init): Compare values of purpose index trees, not the
11030         trees themselves.  Allow overwriting of already initialized element.
11031         Issue a warning if it had side-effects.
11032         (set_nonincremental_init, set_nonincremental_init_from_string): New
11033         functions.
11034         (pending_init_member): Rename to...
11035         (find_init_member): ...this function.  Call set_nonincremental_init
11036         if necessary.  Compare values of purpose index trees, not the trees
11037         themselves.  Return the actual value, not just non-zero if something
11038         is found.
11039         (output_init_element): Remove checks for duplicates.
11040         If field has zero size, only check the initializer for correctness.
11041         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
11042         if constructor_incremental is zero.  Change error about initializers
11043         not computable at load time into pedwarn.
11044         (output_pending_init_elements): Compare bit positions, not
11045         FIELD_DECLs to take into account zero-sized fields.
11046         (process_init_element): Use constructor_range_stack to fill all
11047         ranges in the designator lists from current level up.
11048         * extend.texi: Update documentation for labeled elements.
11049
11050 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
11051
11052         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
11053         to function usage for arguments passed by reference.  Optimize
11054         callee-copied arguments.
11055         * regmove.c (replace_in_call_usage): New function.
11056         (fixup_match_1): Call it.
11057         * cse.c (cse_insn): Canonicalize registers in function usage.
11058         * reload1.c (replace_pseudos_in_call_usage): New function.
11059         (reload): Call it.
11060
11061         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
11062         right version.
11063
11064 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11065
11066         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
11067         not XEXP (tmp, 0).
11068
11069 2001-01-12  DJ Delorie  <dj@redhat.com>
11070
11071         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
11072         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
11073         targets.
11074
11075 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11076
11077         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
11078         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
11079         -std options alongside references to -ansi.  Update some
11080         documentation for C99.
11081         * cpp.1: Regenerate.
11082
11083 2001-01-12  Andreas Jaeger  <aj@suse.de>
11084
11085         * haifa-sched.c (restore_line_notes): Remove argument block B
11086         since it's unused.
11087         * sched-ebb.c (schedule_ebb): Change caller.
11088         * sched-rgn.c (schedule_region): Likewise.
11089         * sched-int.h (restore_line_notes): Adjust prototype.
11090
11091         * loop.h: Remove wrong declaration of doloop_condition_get.
11092
11093 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11094
11095         * extend.texi:  Move C++-extension-related node from the C section
11096         into the C++ section.
11097
11098 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11099
11100         * extend.texi: Refer to an array of pointers to functions instead
11101         of one of functions.
11102
11103 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
11104                               Jan Hubicka  <jh@suse.cz>
11105
11106         * combine.c (reversed_comparison): Fix typo in last patch.
11107         Check X for NULL.
11108         (combine_reversed_comparison_code): Make static to follow
11109         prototype declaration.
11110
11111 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
11112
11113         * install.texi:  Remove misplaced duplicate entry.
11114
11115 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
11116
11117         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
11118
11119 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
11120
11121         * final.c: (leaf_function_p): Fix typo.
11122
11123 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
11124
11125         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
11126         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
11127         which you have.
11128         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
11129         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
11130         mmap_anon, and valloc is available.
11131         * ggc-page.c: Restructure ifdef logic to match new autoconf
11132         spec.  Don't throw away the test page in init_ggc.
11133
11134         * configure, config.in: Regenerate.
11135
11136 2001-01-12  Michael Hayes  <mhayes@redhat.com>
11137
11138         * loop.h (total_biv_increment): Constify iv_class pointer.
11139         (struct induction): Replace `mem_mode' with `mem' rtx.
11140         * unroll.c (total_biv_increment): Constify iv_class pointer.
11141         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
11142         (find_mem_givs, combine_givs_p): Likewise.
11143         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
11144
11145 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
11146
11147         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
11148         LastError.
11149         (__gthread_getspecific): Ditto.
11150
11151 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
11152
11153         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
11154         put_condition_code): Convert fp comparison codes to integer
11155         before handling.
11156         (ix86_expand_fp_compare): Postnote the fp comparison code converison
11157         to final.
11158
11159         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
11160         * i386-protos.h (no_comparison_operator): Kill.
11161
11162         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
11163
11164         * combine.c (REVERSIBLE_CC_MODE): Remove.
11165         (reversible_comparison_p): Remove.
11166         (combine_reversed_comparison_code): New.
11167         (reversed_comparison): New.
11168         (combine_simplify_rtx): Use
11169         combine_reversed_comparison_code/reversed_comparison instead
11170         of reversible_comparison_p.
11171         (simplify_if_then_else): Likewise.
11172         (simplify_set): Likewise.
11173         (simplify_logical): Likewise.
11174         (if_then_else_cond): Likewise.
11175         (known_cond): Likewise.
11176         (simplify_comparison): Likewise.
11177
11178 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
11179
11180         * builtins.c (std_expand_builtin_va_start): Handle varargs when
11181         sizeof (int) is larger than sizeof(__word__).
11182
11183 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11184
11185         * cppinit.c (do_includes): Fix typo.
11186
11187 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11188
11189         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
11190         in S_REGS does not occur because not all sources are possible
11191         when a S_REGS is a destination (sometimes needs a clobber).
11192         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
11193         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
11194         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
11195         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
11196         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
11197         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
11198         (lshrdi_const1, lshrsi3_const16): Likewise.
11199         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
11200         (*movhi_68hc12, *movqi_68hc12): Likewise.
11201         (movstrictqi): Make sure reloading in D_REGS as a destination
11202         does not happen.
11203
11204 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11205
11206         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
11207
11208 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11209
11210         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
11211         -D, -U and -A, and don't initialize the builtins.
11212         (do_includes): Error if -include or -imacros with -fpreprocessed.
11213         * cppmain.c (cb_define, cb_undef): Unconditionally process
11214         the callback.
11215         * tradcpp.c (main): Fix typo.
11216
11217 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
11218
11219         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
11220         (read_name_map): Use IS_ABSOLUTE_PATH.
11221         * tradcpp.c (get_filename): Likewise.
11222
11223 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
11224
11225         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
11226         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
11227         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
11228         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
11229         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
11230         (cmphi_z_used): Don't use '@' for the output.
11231         (tstqi_z_used): Likewise.
11232         (cmpqi_z_used): Likewise.
11233         (one_cmplsi2): Likewise.
11234
11235 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11236
11237         * config/sh/sh.c (barrier_align): Recognize branch around far
11238         branch and redundant insn.
11239
11240 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11241
11242         * invoke.texi: Restore documentation of the drivers' switches -MD
11243         and -MMD.
11244
11245 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
11246
11247         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
11248
11249         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
11250         check-objc//%): Support parallel testing of multilibs.
11251         (TESTSUITEDIR): Set to testsuite by default, but override for
11252         parallel testing.
11253         (check-gcc, check-g++, check-g77, check-objc): Enter
11254         $(TESTSUITEDIR).
11255
11256 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
11257
11258         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
11259         * sched-deps.c (deps_may_trap_p): Likewise.
11260         * basic-block.h: Remove a comment.
11261         * flow.c (PROP_POSTRELOAD): Remove.
11262         (update_life_info): Don't add it to prop_flags.
11263         (mark_set_1): Lose the code that was enabled by it.
11264
11265 2001-01-11  Michael Hayes  <mhayes@redhat.com>
11266
11267         * flow.c (flow_call_edges_add): New.
11268         * basic_block.h (flow_call_edges_add): New.
11269
11270 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
11271
11272         * reload1.c (move2add_note_store): Update reg_set_luid even if
11273         base reg remains the same.
11274
11275 2001-01-10  Nick Clifton  <nickc@redhat.com>
11276
11277         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
11278         machine_function structure to zero.
11279         Add prototypes for machine_status functions.
11280
11281 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11282
11283         * c-common.h (CTI_VOID_LIST): Remove.
11284         (void_list_node): Likewise.
11285         * tree.h (TI_VOID_LIST_NODE): New enumeral.
11286         (void_list_node): New macro.
11287         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
11288         * config/i386/i386.c (ix86_init_builtins): Likewise.
11289         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
11290
11291 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11292
11293         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
11294         * cppinit.c (cpp_start_read): Update comment, remove unneeded
11295         if statement.
11296         * tradcpp.c: Include mkdeps.h.
11297         (deps, print_deps_phony_targets, deps_append, output_deps,
11298         init_dependency_output, output_deps): New.
11299         (deps_buffer, deps_allocated_size, deps_size, deps_column,
11300         deps_output): Delete.
11301         (print_deps_missing_files): Rename deps_missing_files.
11302         (inhibit_output): Make global.
11303         (main): Delete inhibit_output, deps_stream, deps_target.
11304         Use mkdeps functionality in the same way as cpplib.  Remove
11305         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
11306         -M and -MM.  Remove old handling of deps via deps_out, and
11307         old reading of environment variables.
11308         (get_filename): Update to use deps_add_dep.
11309
11310 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
11311
11312         * output.h (make_function_rtl): Remove prototype.
11313         (make_decl_rtl): Likewise.
11314         * varasm.c (make_function_rtl): Remove.
11315         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
11316         than from a third parameter.
11317         * tree.h (make_decl_rtl): Remove last parameter.
11318         * c-decl.c (builtin_function): Remove last argument in call to
11319         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
11320         (start_function): Likewise.
11321         * except.c (call_get_eh_context): Likewise.
11322         * expr.c (emit_block_move): Likewise.
11323         (clear_storage): Likewise.
11324         * profile.c (output_func_start_profiler): Likewise.
11325         * toplev.c (rest_of_decl_compilation): Likewise.
11326         * objc/objc-act.c (create_builtin_decl): Likewise.
11327         (synth_module_prologue): Likewise.
11328         (generate_static_reference): Likewise.
11329         (build_selector_reference_decl): Likewise.
11330         (build_class_reference_decl): Likewise.
11331         (build_objc_string_decl): Likewise.
11332         (build_protocol_reference): Likewise.
11333
11334 2001-01-10  Richard Henderson  <rth@redhat.com>
11335
11336         * hwint.h: Revert yesterday's change.
11337
11338 2001-01-10  Nick Clifton  <nickc@redhat.com>
11339
11340         * function.h (save_machine_status): Delete.
11341         (restore_machine_status): Delete.
11342         Amend comment describing {init|mark|free}_machine_status.
11343
11344         * function.c (save_machine_status): Delete.
11345         (restore_machine_status): Delete.
11346         Amend comment describing {init|mark|free}_machine_status.
11347         (push_function_context_to): Remove invocation of
11348         save_machine_status.
11349         (pop_function_context_from): Remove invocation of
11350         restore_machine_status.
11351
11352         * emit-rtl.c (init_emit_once): Amend comment describing
11353         {init|mark|free}_machine_status.
11354
11355         * tm.texi (Per-Function Data): New node.  Describe the
11356         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
11357         function pointers.
11358
11359 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11360
11361         * cppinit.c (OPT_g): Remove.
11362         (cpp_handle_option): Update for removed -g3.
11363         (print_help): Update.
11364         * cpplib.h (struct cpp_options): Remove debug_output.
11365         * cppmain.c (setup_callbacks, cb_define): Update.
11366         * gcc.c (cpp_options): Translate -g3 to -dD.
11367
11368 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
11369
11370         * config/i960/i960.md: Change modifier to + on the zero_extract
11371         pattern after the (rotate -2 reg) canonicalization pattern.
11372
11373 2001-01-10  Richard Henderson  <rth@redhat.com>
11374
11375         * config/alpha/alpha.c (alpha_free_machine_status): New.
11376         (override_options): Install it.
11377         (alpha_mark_machine_status): Verify machine non-null.
11378         * config/i386/i386.c (ix86_free_machine_status): New.
11379         (override_options): Install it.
11380         (ix86_init_machine_status): Use xcalloc.
11381         (ix86_mark_machine_status): Verify machine non-null.
11382         * config/ia64/ia64.c (ia64_free_machine_status): New.
11383         (ia64_override_options): Install it.
11384         (ia64_mark_machine_status): Verify machine non-null.
11385
11386 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
11387
11388         * function.c (instantiate_virtual_regs): Instantiate virtual
11389         registers found in CALL_INSN_FUNCTION_USAGE.
11390
11391 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11392
11393         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
11394         equivalent to -ansi in disabling -Di386.
11395
11396 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
11397
11398         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
11399         new functions.
11400         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
11401
11402 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
11403
11404         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
11405
11406 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11407
11408         * invoke.texi: Document that -fcond-mismatch isn't supported for
11409         C++.
11410
11411 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
11412
11413         * gcc.texi: Define macro gcctabopt.
11414         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
11415         @command, @env and @option in some places where appropriate.  Use
11416         @gcctabopt where appropriate.  Put URLs and email addresses inside
11417         @w.
11418
11419 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
11420
11421         * gcc.c (cpp_options): Set MD file name from output
11422         filename, if specified.
11423         (suffix_subst): New static variable.
11424         (do_spec): Clear it.
11425         (do_spec_1, case '.'): Handle new `%.suffix' spec.
11426         Clear it.
11427         (give_switch): Handle suffix_subst.
11428
11429 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11430
11431         * invoke.texi:  Fix another typo.
11432
11433 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
11434
11435         * invoke.texi:  Fix typo.
11436
11437 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
11438
11439         * c-lang.c (lang_hooks): Update.
11440         (lang_decode_option): Remove.
11441         (lang_init_options): Rename c_init_options.
11442         * toplev.c (main): Use lang_hooks for lang_init_options
11443         and lang_decode_option.
11444         * toplev.h (lang_hooks): Add 2 new hooks.
11445         * tree.h: Remove lang_init_options and lang_decode_option.
11446         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
11447         * cp/decl2.c: Similarly.
11448         * cp/lex.c (lang_init_options): Rename cxx_init_options.
11449         (lang_hooks): Update.
11450         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
11451         for consistency.
11452         (lang_init_options): Rename ffe_init_options.
11453         (lang_hooks): Update.
11454         (lang_decode_option): Remove.
11455         * java/lang.c (lang_init_options): Rename java_init_options.
11456         (lang_decode_option): Rename java_decode_option.
11457         (lang_hooks): Update.
11458         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
11459         (lang_decode_option): Rename objc_decode_option.
11460         (lang_hooks): Update.
11461
11462 2001-01-09  Nick Clifton  <nickc@redhat.com>
11463
11464         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
11465         (d30v_return_addr_rtx): Delete.
11466         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
11467         cfun->machine structure.
11468         (struct machine_function): Move to d30v.h
11469         (d30v_save_machine_status): Delete.
11470         (d30v_restore_machine_status): Delete.
11471         (d30v_init_machine_status): New Function.
11472         (d30v_mark_machine_status): New Function.
11473         (d30v_free_machine_status): New Function.
11474         (d30v_init_expanders): Use new functions.
11475         (d30v_return_addr): Use ra_rtx field in cfun->machine.
11476         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
11477         d30v_return_addr_rtx.
11478
11479         * config/d30v/d30v.h (struct_machine): Move here.
11480         Add eh_epilogue_sp_ofs field.
11481
11482         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
11483         field in cfun->machine structure.
11484
11485 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11486
11487         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
11488         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
11489         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11490
11491 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
11492
11493         * objc/lang-options.h: Remove bogus reference to
11494         Java trademark.
11495
11496 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11497
11498         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
11499         return the result.
11500
11501 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
11502
11503         * reload.c (find_reloads_address): Check for eliminable registers
11504         when substituting a constant expression for a pseudo.
11505
11506 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
11507
11508         * c-common.c (enum format_type): Add format_type_error.
11509         (decode_format_type): New function.
11510         (decl_attributes): Use it.
11511         (format_kind_info): Adjust comment.
11512
11513 2001-01-09  David O'Brien  <obrien@BSDi.com>
11514
11515         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
11516         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
11517         files in tm_file.
11518         * config/i386/gnu.h: Don't include required platform specific .h files,
11519         tm.h will do it instead.
11520         * config/i386/i386elf.h: Likewise.
11521         * config/i386/linux.h: Likewise.
11522         * config/i386/moss.h: Likewise.
11523         * config/mips/gnu.h: Likewise.
11524
11525 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11526
11527         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
11528         (rs6000-ibm-aix3.[01]*): Likewise.
11529         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
11530         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
11531         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
11532         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
11533         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
11534         (powerpc-*-eabiaix*): Likewise.
11535         (powerpc-*-eabisim*): Likewise.
11536         (powerpc-*-elf*): Likewise.
11537         (powerpc-*-eabi*): Likewise.
11538         (powerpc-*-rtems*): Likewise.
11539         (powerpc-*-linux*libc1): Likewise.
11540         (powerpc-*-linux*): Likewise.
11541         (powerpc-wrs-vxworks*): Likewise.
11542         (powerpcle-wrs-vxworks*): Likewise.
11543         (powerpcle-*-sysv*): Likewise.
11544         (powerpcle-*-elf*): Likewise.
11545         (powerpcle-*-eabisim*): Likewise.
11546         (powerpcle-*-eabi*): Likewise.
11547         (powerpcle-*-solaris2*): Likewise.
11548         * config/rs6000/aix31.h: Delete includes.
11549         * config/rs6000/aix3newas.h: Likewise.
11550         * config/rs6000/aix41.h: Likewise.
11551         * config/rs6000/aix43.h: Likewise.
11552         * config/rs6000/beos.h: Likewise.
11553         * config/rs6000/rtems.h: Likewise.
11554         * config/rs6000/sysv4.h: Likewise.
11555
11556 2001-01-09  Kazu Hirata  <kazu@hxi.com>
11557
11558         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
11559         Change an argument mode of machine_mode to shift_mode of
11560         shift_mode.  Remove an extra error check.
11561         (emit_a_shift): Adopt to the new calling prototype of
11562         get_shift_alg.
11563         (function_prologue): Fix code for a monitor
11564         function.  Support H8/S.
11565         (function_epilogue): Do not output pop for a monitor function.
11566
11567 2001-01-09  Nick Clifton  <nickc@redhat.com>
11568
11569         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
11570         (setup_incoming_varargs): Use sysv_varargs_p field of the
11571         cfun->machine structure.
11572         (struct machine_function): Move to rs6000.h
11573         (rs6000_save_machine_status): Delete.
11574         (rs6000_restore_machine_status): Delete.
11575         (rs6000_init_machine_status): New Function.
11576         (rs6000_free_machine_status): New Function.
11577         (rs6000_init_expanders): Use new functions.
11578
11579         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
11580         export.
11581         (struct machine_function): Move here.
11582
11583         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
11584         sysv_varargs_p field of the cfun->machine structure.
11585
11586         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
11587         Remove prototype.
11588         (rs6000_restore_machine_status): Remove prototype.
11589
11590 2001-01-09  Richard Henderson  <rth@redhat.com>
11591
11592         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
11593         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
11594         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
11595         (sched_analyze_2, sched_analyze_insn): Likewise.
11596         (sched_analyze, init_deps): Likewise.
11597         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
11598         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
11599         (compute_block_backward_dependences): Update propagate_deps call.
11600
11601 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
11602
11603         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
11604
11605 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11606
11607         * cppinit.c (OPT_MD, OPT_MMD): Restore.
11608         (cpp_handle_option): Handle them.
11609         (cpp_post_options): Ensure one of -M or -MM is specified with
11610         any other -M? option.
11611         (init_dependency_output): Suppress output with -MG.
11612
11613 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11614
11615         * cpp.texi: Update.
11616         * invoke.texi: Update.
11617
11618 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
11619
11620         * sh.md (reload_outsf): Generate recognizable patterns for
11621         TARGET_SH3E.
11622
11623 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
11624
11625         * c-lang.c (lang_hooks): Update.
11626         (lang_init): Rename c_init.
11627         (lang_finish): Remove.
11628         * toplev.c (compile_file): Use lang_hooks for lang_init ()
11629         and lang_finish ().
11630         * toplev.h (lang_hooks): Add init () and finish ().
11631         * tree.h (lang_init, lang_finish): Remove.
11632         * cp/tree.h (lang_init, lang_finish): Remove.
11633         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
11634         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
11635         lang_hooks): New.
11636         (lang_init, lang_finish): Remove.
11637         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
11638         (lang_hooks): Update.
11639         * java/lang.c (lang_init): Rename java_init.
11640         (lang_finish): Remove.
11641         (lang_hooks): Update.
11642         * objc/objc-act.c (lang_init): Rename objc_init.
11643         (lang_finish): Remove.
11644         (lang_hoooks): Update.
11645
11646 20001-01-09  Graham Stott  <grahams@redhat.com>
11647
11648         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
11649         after `ptr` is initialised.
11650
11651 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
11652
11653         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
11654         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
11655         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
11656         stack adjusts, instead of r3.
11657
11658 2001-01-09  Michael Hayes  <mhayes@redhat.com>
11659
11660         * flow.c (flow_loop_scan): Break out of ...
11661         (flow_loops_find) ... here.
11662         * basic-block.h (flow_loop_scan): New.
11663         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
11664         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
11665
11666 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
11667
11668         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
11669         macro_buffer_len.
11670         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
11671         realloc()ing macro_buffer.
11672
11673         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
11674         if it's wider than long and the target's long is wider than the
11675         host's.
11676
11677 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
11678
11679         Remove support for using UWIN as a host machine.
11680         * configure.in: Issue an error message.
11681         * configure: Regenerated.
11682         * config.gcc: Remove xm_* UWIN configury.
11683         * config/i386/xm-uwin.h: Remove.
11684
11685 2001-01-08  Nick Clifton  <nickc@redhat.com>
11686
11687         * config/v850/v850.c (ra_rtx): Delete.
11688         (v850_save_machine_status): Delete.
11689         (v850_restore_machine_status): Delete.
11690         (v850_init_machine_status): New function.
11691         (v850_mark_machine_status): New function.
11692         (v850_free_machine_status): New function.
11693         (v850_return_addr): Use ra_rtx field in machine structure.
11694         (v850_init_expanders): Use new functions.
11695
11696         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
11697         * config/v850/v850.c: Change arguments to v850_output+* functions
11698         to take a const char *, to avoid compile time warning.
11699         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
11700         (USER_LABEL_PREFIX): Redefine.
11701
11702 2000-01-08  Jim Wilson  <wilson@redhat.com>
11703
11704         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
11705         1 to unsigned HOST_WIDE_INT before left shift.
11706
11707 2001-01-08  Nick Clifton  <nickc@redhat.com>
11708
11709         * config/arm/arm.c (arm_mark_machine_status): Check to see if
11710         the machine structure has been allocated.
11711         (arm_free_machine_status): New function: Free the machine
11712         specific function structure.
11713
11714 2001-01-08  Richard Henderson  <rth@redhat.com>
11715
11716         * jump.c (simplejump_p): Revert last change.
11717
11718 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
11719
11720         * cppinit.c (init): Rename init_library.
11721         (cpp_create_reader): Update.
11722         * gcc.c (cpp_options): If -o given, use it as the target of
11723         any -M options.
11724
11725 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
11726
11727         * arm.c (arm_arch5e): New variable.
11728         (all_cores): XScale is a 5TE device.
11729         (arm_override_options): Set arm_arch5e.
11730         (arm_init_builtins): __builtin_prefetch is in arch5e.
11731         * arm.h (arm_arch5e): Declare it.
11732
11733         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
11734
11735         * arm.md (define_constants): Add defines for UNSPEC and
11736         UNSPEC_VOLATILE insns.  Update all users.
11737         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
11738         * arm.c (multi_register_push, note_invalid_constants)
11739         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
11740         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
11741         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
11742
11743 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
11744
11745         * jump.c (jump_optimize_1): Use reversed_comparison_code
11746         instead of can_reverse_comparison_p.
11747         (jump_back_p): Likewise.
11748         (invert_exp_1): Likewise.
11749         (thread_jumps): Likewise.
11750         * simplify-rtx.c (simplify_unary_operation): Likewise.
11751         (simplify_ternary_operation): Likewise.
11752         * cse.c (find_comparison_args): Convert to use
11753         can_reverse_comparison_p.
11754         (record_jump_equiv): Likewise.
11755
11756 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
11757
11758         * arm.h (HARD_REGNO_RENAME_OK): Delete.
11759         (EPILOGUE_USES): Define.
11760         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
11761         automatically stack the LR if it isn't live.
11762
11763 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
11764
11765         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
11766         properly.
11767
11768 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
11769
11770         * ggc-page.c (max_alignment): New structure.
11771         (MAX_ALIGNMENT): New macro.
11772         (init_ggc): Use it to round up the sizes in the
11773         extra_order_size_table.
11774
11775 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11776
11777         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
11778         after reload.
11779
11780 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11781
11782         * builtins.def (BUILT_IN_FPRINTF): New entry.
11783
11784         * c-common.c (c_expand_builtin_fprintf): New function.
11785         (init_function_format_info): Handle __builtin_fprintf.
11786         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
11787         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
11788
11789         * c-decl.c (duplicate_decls): Adjust comment.
11790
11791         * extend.texi (fprintf): Document new builtin.
11792
11793 2001-01-07  Richard Henderson  <rth@redhat.com>
11794
11795         * jump.c (simplejump_p): Recognize any single_set jump
11796         of the proper form.
11797
11798 2001-01-07  Richard Henderson  <rth@redhat.com>
11799
11800         * configure.in (slibdir): Accept an --with-slibdir option.
11801         Use "test" not "[" in configure.  Default to $(libdir).
11802
11803         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
11804         fix typo in rm -f.
11805         * config/t-aix43 (SHLIB_INSTALL): Likewise.
11806         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
11807         (SHLIB_LINK): Create links for the soname.
11808         * config/mips/t-iris6: Likewise.
11809         * config/sparc/t-slibgcc: Likewise.
11810         * config/sparc/t-slibgcc-sld: Likewise.
11811
11812 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
11813
11814         * config/i386/i386.c (constant_call_address_operand): Accept
11815         (const (plus (symbol_ref) (const_int))).
11816         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
11817         constant_call_address_operand.
11818
11819 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11820
11821         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
11822         and LONG_LONG_TYPE_SIZE > 32.
11823
11824 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11825
11826         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
11827         the previous change.
11828
11829 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
11830
11831         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
11832         New.
11833         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
11834         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
11835         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
11836         Declare.
11837
11838 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11839
11840         * fix-header.c (read_scan_file): s/pfile/scan_in/.
11841
11842 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11843
11844         * c-lang.c (c_post_options): Call cpp_post_options.
11845         * objc/objc-act.c (objc_post_options): Similarly.
11846         * cppmain.c (main): Similarly.
11847         * fix-header.c (read_scan_file): Similarly.
11848         * cppinit.c (cpp_start_read): Move option consistency checks
11849         to cpp_post_options.  Don't call init_dependency_output.
11850         If needed, add default target and main file dependency.
11851         (OPT_MD, OPT_MMD): Remove.
11852         (OPT_MF): New.
11853         (cpp_handle_option): Update for OPT_* changes.
11854         (cpp_post_options): New.
11855         (init_dependency_output): Command line -MF overrides environment
11856         variables.  Don't set default target etc.  Suppress output
11857         if dependencies are going to stdout.
11858         (print_help): Update.
11859         * cpplib.h (cpp_post_options): New.
11860         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
11861
11862 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
11863
11864         * jump.c (comparison_dominates_p): Support unordered compares.
11865
11866 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
11867
11868         * simplify-rtx.c (simplify_relational_operation): Always simplify
11869         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
11870         and UNGE.
11871
11872 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
11873
11874         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
11875         (nonzero_bits): Likewise.
11876         (simplify_comparison): Likewise.
11877         (num_sign_bit_copies): Likewise; return more sane value depending
11878         on STORE_FLAG_VALUE.
11879         (known_cond): Do not assume EQ to be always true for equivalent
11880         operands.
11881
11882 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
11883
11884         * cse.c (fold_rtx): Handle unordered comparisons.
11885
11886 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
11887
11888         * rtlanal.c (set_of_1): New static function.
11889         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
11890          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
11891          reg_set_last_last_regno): Remove.
11892         (set_of): New global function.
11893         (set_of_data): New structure.
11894         (reg_set_p, reg_set_last): Revamp for set_of.
11895         * rtl.h (set_of): New.
11896
11897 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
11898
11899         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
11900         * extend.texi: Document _Exit builtin.
11901
11902 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
11903
11904         * (initialize, initialize_builtins,
11905         initialize_dependency_output, initialize_standard_includes):
11906         Rename s/initialize/init. Update.
11907         (init_dependency_output): Move to after
11908         cpp_handle_options, the correct location temporally at least.
11909         (opt_comp): Move next to init (), its caller.  Fix prototype.
11910         (init): Make "initialized" local scope.
11911         (cpp_create_reader): Always call init ().
11912         (cpp_start_read): Update.
11913         (output_deps): New function, broken out of cpp_finish.
11914         (cpp_finish): Break out output_deps.
11915
11916 2001-01-07  Richard Henderson  <rth@redhat.com>
11917
11918         * collect2.c (COFF specific stuff): Revert 12-06 patch
11919         to prototype system functions.
11920
11921 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11922
11923         * hard-reg-set.h: Add multiple include guard.
11924         * basic-block.h (struct loop): Add `sink' field.
11925         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
11926         (emit_iv_add_mult): Delete.
11927         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
11928         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
11929         (unroll_loop): Remove end_insert_before argument.
11930         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
11931         (maybe_eliminate_biv_1): Likewise.
11932         (emit_iv_add_mult): Delete.
11933         (gen_add_mult, loop_regs_update): New.
11934         (loop_insn_emit_after, loop_insn_emit_before): New.
11935         (loop_insn_sink, loop_insn_sink_or_swim): New.
11936         (emit_iv_add_mult): Delete.
11937         (scan_loop): Set loop->sink.
11938         (loop_givs_reduce): Use loop_insn_sink and its ilk.
11939         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
11940         (maybe_eliminate_biv_1): Likewise.
11941         (maybe_eliminate_biv_1): Add basic block argument.
11942         * unroll.c (unroll_loop): Remove end_insert_before argument.
11943         (find_splittable_regs): Likewise.
11944         (find_splittable_regs): Use loop_insn_sink and its ilk.
11945         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
11946
11947 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11948
11949         * loop.h (loop_insn_hoist): New prototype.
11950         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
11951         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
11952         (check_dbra_loop, load_mems): Likewise.
11953         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
11954         (find_splittable_givs): Likewise.
11955
11956 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11957
11958         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
11959
11960 2001-01-07  Richard Henderson  <rth@redhat.com>
11961
11962         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
11963
11964 2001-01-07  Richard Henderson  <rth@redhat.com>
11965
11966         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
11967         NO_SHARED_LIBGCC_MULTILIB as required for the target.
11968         * gcc.c (init_spec): Massage the existing libgcc_spec into a
11969         variant that handles a shared libgcc.
11970         (process_command): Always validate -{static,shared}-libgcc.
11971         (do_spec_1): New 'M' case.
11972         * invoke.text (Link Options): Document -{static,shared}-libgcc.
11973
11974 2001-01-07  Richard Henderson  <rth@redhat.com>
11975
11976         * Makefile.in (slibdir): New variable.
11977         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
11978         (installdirs): Create slibdir.
11979         (install-libgcc, install-multilib): Defer to libgcc.mk.
11980         * configure.in (slibdir): Substitute.
11981         * mklibgcc.in (install): New target.
11982
11983         * config/t-linux (SHLIB_LINK): Create links for the soname.
11984         (SHLIB_INSTALL): New.
11985         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
11986         * config/mips/t-iris6 (SHLIB_INSTALL): New.
11987         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
11988         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
11989         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
11990
11991 2001-01-07  Richard Henderson  <rth@redhat.com>
11992
11993         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
11994         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
11995         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
11996
11997 2001-01-07  Michael Hayes  <mhayes@redhat.com>
11998
11999         * loop.c (count_loop_regs_set): Delete.
12000         (load_mems_and_recount_loop_regs_set): Delete.
12001         (loop_regs_scan): Merge common code from count_loop_regs_set,
12002         scan_loop, and load_mems_and_recount_loop_regs_set.
12003         (scan_loop): Call load_mems directly and loop_regs_scan
12004         again if new registers created.
12005
12006 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12007
12008         * toplev.c (main): Call the front-end specific post_options
12009         hook if one is given.
12010         * toplev.h (struct_lang_hooks, lang_hooks): New.
12011         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
12012         for the C front end.
12013         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
12014         lang_hooks for the C++ front end.
12015         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
12016         lang_hooks for the ObjC front end.
12017         * f/com.c (lang_hooks): Hooks for the Fortran front end.
12018         * java/lang.c (lang_hooks): Hooks for the Java front end.
12019
12020 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12021
12022         * c-lex.c (init_c_lex): Request #define / #undef callbacks
12023         for verbose DWARF[2] debugging.
12024         (cb_define, cb_undef): The new callbacks.
12025         * toplev.h (debug_define, debug_undef): Make const correct.
12026         * toplev.c (debug_define, debug_undef): Similarly.  Do not
12027         perform the verbosity tests here anymore.
12028
12029 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
12030
12031         * reload.c (subst_reloads): Take INSN argument.  When
12032         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
12033         * reload.h (subst_reloads): Adjust prototype.
12034         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
12035         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
12036         present in JUMP_INSNs and copy them to JUMP_LABEL.
12037         * flow.c (find_label_refs, find_basic_blocks_1): Skip
12038         JUMP_INSNs and insns with REG_LABELs that are followed by
12039         JUMP_INSNs with the same REG_LABEL.
12040         * sched-rgn.c (is_cfg_nonregular): Likewise.
12041         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
12042         note is available.
12043         * unroll.c (unroll_loop): Look for REG_LABEL notes in
12044         JUMP_INSNs too.
12045         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
12046
12047 2001-01-06  Richard Henderson  <rth@redhat.com>
12048
12049         * loop.c (scan_loop): Use xcalloc for the regs array.
12050         (load_mems_and_recount_loop_regs_set): Zero the new memory
12051         received from xrealloc.
12052
12053 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12054
12055         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
12056
12057 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
12058
12059         * integrate.c (copy_rtx_and_substitute): When copying
12060         an ignored return value, strip REG_FUNCTION_VALUE_P.
12061
12062 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12063
12064         * loop.c (debug_biv, debug_giv): New.
12065         (loop_biv_dump): Break out from ...
12066         (record_biv): ... here.
12067         (loop_giv_dump): Break out from ...
12068         (record_giv): ... here.
12069         (loop_bivs_check): Use print_simple_rtl.
12070         * unroll.c (loop_iterations): Use print_simple_rtl.
12071
12072 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12073
12074         * pa.md (return, return_internal): Modify patterns to prevent regrename
12075         mucking with the return pointer.
12076
12077 2001-01-05  Richard Henderson  <rth@redhat.com>
12078
12079         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
12080
12081 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
12082
12083         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
12084         version supplied by Matteo Frigo.
12085
12086 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12087
12088         * cpp.texi: Update for -MQ.
12089         * cppinit.c (cpp_create_reader): Always create pfile->deps.
12090         (cpp_cleanup): Always free pfile->deps.
12091         (initialize_dependency_output): Don't create pfile->deps.
12092         (cpp_handle_option): Similarly.
12093         (OPT_MQ): New.
12094         * gcc.c (cpp_options): Handle -MQ.
12095         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
12096         * mkdeps.c (base_name): Remove.
12097         (deps_init): Don't allocate vector space until it's needed.
12098         (deps_free): Only free vectors if allocated.
12099         (deps_add_target, deps_add_dep): Update for initial allocation.
12100         (deps_add_default_target): Don't strip to the base_name.
12101
12102 2001-01-05  DJ Delorie <dj@redhat.com>
12103
12104         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
12105         (INIT_EXPANDERS): Define.
12106
12107         * config/v850/v850.c (struct machine_function): Define.
12108         (v850_save_machine_status): New function.
12109         (v850_restore_machine_status): New function.
12110         (v850_return_addr): New function.
12111         (v850_init_expanders): New function.
12112
12113         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
12114         and v850_init_expanders.
12115
12116 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12117
12118         * cpplib.h (struct cpp_reader): Add help_only field.
12119         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
12120         (cpp_handle_option): Set pfile->help_only if we see -h,
12121         --help, -target-help, or --version.  Print version string but
12122         do not set help_only if we see -v or -version.  Make text
12123         printed by -v match that printed by (-)-version.
12124
12125         * cppmain.c (main): Exit after option parsing if
12126         pfile->help_only is true.
12127
12128         * toplev.c (independent_decode_option): Call print_version,
12129         then exit, if we see --version (but not -version).
12130         (print_version): Split lengthy message into two lines.
12131
12132 2001-01-05  Nick Clifton  <nickc@redhat.com>
12133
12134         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
12135         temporary string for initialisation before calling ggc_alloc_string.
12136
12137 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12138
12139         * rtl.h (print_simple_rtl): New.
12140         * print-rtl.c (print_simple_rtl): New.
12141         (flag_simple): New.
12142         (print_rtx): Disable printing of flags and modes, etc.,
12143         if `flag_simple` nonzero.
12144
12145 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
12146
12147         * function.c (fixup_var_refs): Use push_to_full_sequence where
12148         possible.
12149
12150 2001-01-05  Michael Meissner  <meissner@redhat.com>
12151
12152         * flags.h (flag_reorder_blocks): Add declaration.
12153         (flag_rename_block): Ditto.
12154
12155 2001-01-05  DJ Delorie  <dj@redhat.com>
12156
12157         * function.c (reorder_blocks): Make sure the flags are all reset
12158         before using them to mark blocks, else a second invocation will
12159         corrupt the block chain.
12160         (reorder_blocks_0): New, resets the flags.
12161
12162 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
12163
12164         * cse.c (find_comparison_args): Stop if the argument is known to
12165         be constant.
12166
12167 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12168
12169         * config/sh/sh.md (movdf): When splitting load into pair of
12170         registers, don't clobber the register used in the address too
12171         early.
12172
12173 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
12174
12175         * varasm.c (mark_constant_pool): Improve initial comments.
12176         (mark_constants): Move marking of constants to mark_constant.
12177         (mark_constant): New function to recursively mark all constants
12178         referred to by a constant.
12179
12180 2001-01-05  Catherine Moore  <clm@redhat.com>
12181
12182         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
12183
12184 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
12185
12186         * cp/lang-options.h:  Bring comment in line with reality.
12187         * f/lang-options.h:  Likewise.
12188         * java/lang-options.h:  Likewise.
12189         * objc/lang-options.h:  Likewise.
12190         * ch/lang-options.h:  Likewise.
12191         * f/g77.texi:  And update the manual.
12192
12193 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
12194             Denis Chertykov  <denisc@overta.ru>
12195
12196         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
12197         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
12198         * config/avr/avr.md (all peepholes that request a scratch register):
12199         Call it, FAIL the peephole if not safe (in interrupt functions).
12200
12201 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
12202
12203         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
12204
12205 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
12206
12207         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
12208         Define.
12209         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
12210         BUILT_IN_CREAL and BUILT_IN_CIMAG.
12211         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
12212         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
12213         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
12214         BUILT_IN_CIMAG.
12215         * extend.texi: Document these builtins.
12216
12217 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
12218
12219         * c-common.c (lang_get_alias_set): Say we know nothing of
12220         VECTOR_TYPE aliasing.
12221
12222         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
12223
12224 2001-01-05  Bruce Korb  <bkorb@gnu.org>
12225
12226         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
12227         their x* equivalent versions for atexit-less systems
12228         * fixinc/fixincl.c(main): do not return from main() on atexit-less
12229         systems (or any other system any more).
12230
12231 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
12232
12233         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
12234         output operands.  Use arm_hard_register_operand for operand 4.
12235         (stmsi_postinc): Similarly.
12236         (ldmsi): Use arm_hard_register_operand for opernand 2.
12237         (stmsi): Similarly.
12238         * arm.c (arm_hard_register_operand): New function.
12239         * arm-protos.h (arm_hard_register_operand): Prototype it.
12240
12241         * arm.h (HARD_REGNO_RENAME_OK): Define.
12242
12243 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
12244
12245         * simplify-rtx.c (cfc_args): add "unordered" field.
12246         (check_fold_consts): Set unordered field.
12247         (simplify_relational_operation): Simplify the unordered
12248         comparisons.
12249
12250         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
12251         is valid.
12252
12253         * emit-rtl.c (try_split): Fix code to mark labels.
12254         * jump.c (mark_jump_label): Make global.
12255         * rtl.h (mark_jump_label): Declare.
12256
12257         * predict.c (estimate_probability): Handle unordred comparisons.
12258
12259 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
12260
12261         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
12262         * cppinit.c (initialize_dependency_output):  Update.
12263         (cpp_finish): Output dummy targets for -MP.
12264         (OPT_MP): New.
12265         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
12266         * cpplib.h (struct cpp_options): Add deps_phony_targets.
12267         * gcc.c (cpp_options): Update to handle -MP.
12268         * mkdeps.c (deps_add_target, deps_add_default_target): Update
12269         to quote only the default target.
12270         (deps_phony_targets): Insert a preceding newline.  Rename from
12271         deps_dummy_targets for consistency.
12272         * mkdeps.h: Update
12273
12274 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12275
12276         * calls.c (emit_library_call_value_1): Support
12277         INIT_CUMULATIVE_LIBCALL_ARGS.
12278         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
12279
12280 2001-01-04  Richard Henderson  <rth@redhat.com>
12281
12282         * c-decl.c (finish_struct): Detect flexible array members
12283         used in an inappropriate context.
12284         * c-typeck.c (really_start_incremental_init): Special case
12285         constructor_max_index for zero length arrays.
12286         (pop_init_level): Allow initialization of flexible array
12287         members.  Deprecate initialization of zero length arrays.
12288         Don't issue missing initializer warning for flexible array
12289         members or zero length arrays.
12290         (process_init_element): Don't dereference null DECL_SIZE.
12291         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
12292         Don't abort for empty constructors.  Use size_binop
12293         (output_constructor): Add commentary regarding zero length
12294         array futures.  Abort if we try to initialize an array of
12295         unspecified length with a non-empty constructor in the middle
12296         of a structure.
12297
12298         * extend.texi (Zero Length): Update and clarify documentation
12299         on static initialization.
12300
12301 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12302
12303         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
12304         with more than 32767 words of local storage.
12305
12306 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12307
12308         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
12309         for 'abs', 'labs', and 'fabs'.
12310         (c4x_expand_builtin): Likewise.
12311         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
12312
12313 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12314
12315         * config/sh/sh.md (prget, prset): New insn types.
12316         (return delay slot): Dont' allow prset.
12317         (call, sfunc delay slot): Don't allow prget.
12318         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
12319         for prset and prget.
12320
12321 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12322
12323         * loop.h (struct loop_reg): New.
12324         (struct loop_regs): Change to use array of `struct loop_reg'.
12325         * loop.c: Replace assortment of varrays with single regs array.
12326         (count_one_set): Delete may_not_move array argument
12327         and use regs array instead.  All caller's changed.
12328         (count_loop_regs_set): Delete may_not_move and single_usage
12329         arguments and use regs array instead.  All caller's changed.
12330         (find_single_use_in_loop): Replace usage array argument with pointer
12331         to regs structure.  All caller's changed.
12332         (loop_optimize): Delete `moved_once' array.
12333
12334 2001-01-05  Michael Hayes  <mhayes@redhat.com>
12335
12336         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
12337         Use it instead of loop_info->has_call for scanning loop mems.
12338         (check_dbra_loop): Replace loop_info->has_call test with
12339         loop_info->has_nonconst_call.
12340
12341 2000-01-04  Matthew Hiller  <hiller@redhat.com>
12342
12343         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
12344         for TARGET_SH3E.
12345
12346 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12347
12348         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
12349         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
12350
12351 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
12352
12353         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
12354         (flag_short_double, flag_short_wchar): Define.
12355         (c_common_nodes_and_builtins): Create many tree nodes shared
12356         between C and C++ here instead of in cp/decl.c and ...
12357         * c-decl.c (init_decl_processing): ... here.
12358         (SIZE_TYPE, WCHAR_TYPE): Don't define.
12359         (flag_short_double, flag_short_wchar): Don't define.
12360         (record_builtin_type): New function.
12361         (build_void_list_node): New function.
12362         * c-common.h (flag_short_double, flag_short_wchar,
12363         record_builtin_type, build_void_list_node): Declare.
12364
12365 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
12366
12367         * integrate.c (expand_inline_function): Don't put a virtual
12368         register into the reg map.
12369
12370         * function.c (fixup_var_refs_1): If force_operand didn't put
12371         the address into the target, move it there.
12372
12373 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12374
12375         Special-case tree_decl/tree_list allocations.
12376         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
12377         (OBJECT_SIZE): New macro.
12378         (NUM_EXTRA_ORDER): Likewise.
12379         (extra_order_size_table): New variable.
12380         (NUM_ORDERS): New macro.
12381         (objects_per_page_table): New variable.
12382         (object_size_table): New variable.
12383         (G.pages): Use NUM_ORDERS to bound the array.
12384         (G.page_tails): Likewise.
12385         (DIV_ROUND_UP): Remove.
12386         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
12387         (alloc_page): Use OBJECT_SIZE.
12388         (size_lookup): Don't make it const.
12389         (ggc_alloc): Use OBJECT_SIZE.
12390         (ggc_set_mark): Likewise.
12391         (ggc_get_size): Likewise.
12392         (init_ggc): Set up the object_size_table, objects_per_page_table,
12393         and adjust size_lookup.
12394         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
12395         (ggc_pop_context): Use NUM_ORDERS.
12396         (clear_marks): Likewise.
12397         (sweep_pages): Likewise.
12398         (poison_pages): Likewise.
12399         (ggc_print_statistics): Use OBJECT_SIZE.
12400
12401 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12402
12403         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
12404         Only call array_size_for_constructor if last field and array type
12405         with no upper bound.
12406
12407 2001-01-04  Philip Blundell  <philb@gnu.org>
12408
12409         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
12410         from bit 31 downwards, if this requires no more insns.
12411         (count_insns_for_constant): New helper function for above.
12412
12413 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
12414
12415         * gencodes.c (output_predicate_decls): Remove empty initializer.
12416
12417 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
12418
12419         * tree.c (copy_node): Remove documentation about obstacks.
12420         (buidl1): Check that nobody tries to build 2-argument nodes this
12421         way.
12422
12423 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12424
12425         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
12426         fp_high_losum_p.
12427
12428         * gencodes.c (output_predicate_decls): Fill empty initializer
12429         braces.
12430
12431 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
12432
12433         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
12434         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
12435         or -MM.
12436         (do_include): Handle missing headers like cpp0.
12437         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
12438         paths with first include pathname.  Don't strcat to uninitialized
12439         string.
12440
12441 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
12442
12443         * regrename.c (regrename_optimize): Don't rename from frame pointer
12444         if frame_pointer_needed.
12445         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
12446         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
12447         (ia64_reorg): Use it instead of scheduling if ! optimize.
12448         (errata_emit_nops): Properly call asm_noperands.
12449         (ia64_sched_reorder): Finish cycle if we see an asm.
12450         (ia64_variable_issue): Clear scheduling state after asms.
12451
12452 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
12453
12454         * cpp.texi: Update for -MT.
12455         * cppinit.c (initialize_dependency_output): Add a default
12456         target if none has been given already.
12457         (no_tgt, OPT_MT): New.
12458         (cpp_handle_option): Handle -MT.  Update -M etc.
12459         * cpplib.h (struct cpp_options): Remove deps_target.
12460         * gcc.c (cpp_options): Handle -MT.
12461         * mkdeps.c (struct deps): Move from mkdeps.h.
12462         (deps_calc_target): Rename deps_add_default_target.  Add a
12463         default target if none has been specified already.
12464         * mkdeps.h (struct deps): Move to mkdeps.c.
12465         (deps_calc_target): Rename deps_add_default_target.
12466
12467 2000-01-03  Richard Henderson  <rth@redhat.com>
12468
12469         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
12470         Remove dead code.
12471         * c-typeck.c (push_init_level): Move checks for flexible array
12472         members and zero length arrays ...
12473         (pop_init_level): ... here.  Silently discard empty initializations.
12474         Remove dead code.
12475         * varasm.c (output_constructor): Update for sizeof change to
12476         zero-length arrays.
12477
12478         * extend.texi (Zero Length): Clarify semantics.
12479
12480 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12481
12482         * configure.in (tm.h): Include isns-codes.h last.
12483         * configure: Rebuilt.
12484
12485 2001-01-03  Richard Henderson  <rth@redhat.com>
12486
12487         * config/alpha/alpha.md (addvsi3, addvdi3): New.
12488         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
12489
12490 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12491
12492         * tradcpp.c (main): Make sure finclude() is called with a valid
12493         indepth value while handling -include.
12494
12495 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12496
12497         * gencodes.c (output_predicate_decls): New function.
12498         (main): Call it.
12499         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
12500         even if it is not the first time machmode.h is #included.
12501         * config/sh/sh.c (fpul_operand): Declare MODE argument.
12502         * tm.texi (PREDICATE_CODES): Document predicate declarations.
12503         * gcc.texi (Copyright): Added 2001.
12504
12505 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12506
12507         * c-common.c (c_common_lang_init): New function.  Warn if format
12508         warning options which only have effects when used with -Wformat
12509         are used without -Wformat.
12510         * c-common.h (c_common_lang_init): Declare.
12511         * c-lang.c (lang_init): Call c_common_lang_init.
12512         * objc/objc-act.c (lang_init): Call c_common_lang_init.
12513
12514 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12515
12516         * configure.in: Check for the mktemp command.
12517         * configure: Regenerate.
12518         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
12519         $TEMP.  Create temporary files with mktemp, if available at
12520         configure time; otherwise use set -C.  Remove temporary files
12521         before exit.
12522
12523 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
12524
12525         * configure.in: Require at least texinfo 4.0.  Check for whether
12526         Pod::Man is sufficiently recent to regenerate GCC manpages.
12527         * configure:  Regenerate.
12528         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
12529         on #!.
12530         (GENERATED_MANPAGES): Define.
12531         (generated-manpages): New target.  Depend on cpp.1 as well as
12532         gcov.1.
12533         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
12534         configure to generated-manpages or empty) rather than on the
12535         manpages directly.  Remove execute permission from installed
12536         gcov.1 as well as cpp.1.
12537         * cpp.1, gcov.1: Regenerate.
12538
12539 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12540
12541         * builtins.c (expand_builtin_strncmp): Use host_integerp and
12542         tree_low_cst.  Allow using cmpstrsi in more cases.
12543
12544 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12545
12546         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
12547         sized types.
12548
12549 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
12550
12551         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
12552         * Makefile.in (HOST_CFLAGS): Mention build-make.
12553
12554 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12555
12556         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
12557         as JUMP_INSN.
12558
12559 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12560
12561         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
12562         a REG rtx.
12563
12564         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
12565         callers changed.
12566
12567         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
12568         reg_base_value and reg_known_value arrays.
12569         (init_alias_analysis): Add more cases to detect known values.
12570         * sched-deps.c (deps_may_trap_p): New function.
12571         (sched_analyze_2): Use it.
12572
12573 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12574
12575         * combine.c (simplify_shift_const): Even if we're sign-extracting,
12576         don't discard an ASHIFTRT if we're shifting in a wider mode.
12577
12578 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12579
12580         * toplev.c (rest_of_compilation): Don't print basic block information
12581         when CFG isn't up to date.
12582
12583 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
12584
12585         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
12586         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
12587         (UNALIGNED_SHORT_ASM_OP): Define.
12588         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
12589
12590 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12591
12592         * fold-const.c (fold_convert): Fix typo.
12593
12594 2001-01-02  Richard Henderson  <rth@redhat.com>
12595
12596         * c-common.h (ASM_INPUT_P): New.
12597         * c-parse.in (asm): Set it when needed.
12598         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
12599         existance of an operand.
12600
12601 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12602
12603         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
12604         (dwarf2out_frame_debug_expr): Likewise.
12605         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
12606
12607 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
12608
12609         * i386.c (ix86_split_to_parts): Return number of part required;
12610         handle TFmodes.
12611         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
12612         TFmodes.
12613         (ix86_split_long_move): Use number of part returned
12614         by ix86_split_to_parts
12615         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
12616         New macros.
12617         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
12618         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
12619         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
12620         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
12621         (ALIGN_MODE_128): Add TFmode.
12622         (IS_STACK_MODE): Likewise.
12623         (HARD_REGNO_NREGS): TFmode needs 3 registers.
12624         (HARD_REGNO_OK): Support TFmodes.
12625         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
12626         * i386.md (scheduler definitions): Use memory operand to determine
12627         fst/fld instructions; use mode attribute to determine real mode of
12628         the instruction.
12629         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
12630         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
12631
12632 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
12633
12634         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
12635
12636 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12637
12638         * expr.c (store_constructor_field): Update ALIGN before calling
12639         store_constructor.
12640
12641 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12642
12643         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
12644         host_integerp.
12645
12646 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
12647
12648         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
12649         incomplete type.
12650
12651 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
12652
12653         * c-decl.c (start_function): Don't warn on third parameter to main.
12654
12655 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12656
12657         * tsystem.h: Define HAVE_DECL_GETOPT.
12658
12659 2001-01-02  Philip Blundell  <pb@futuretv.com>
12660
12661         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
12662         of input operand.
12663
12664 2001-01-02  Richard Henderson  <rth@redhat.com>
12665
12666         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
12667
12668 2001-01-02  Andreas Jaeger  <aj@suse.de>
12669
12670         * c-decl.c (c_decode_option): Remove support of
12671         -Wmissing-noreturn.
12672
12673         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
12674         (W_options): Add -Wmissing-noreturn here.
12675
12676         * flow.c: Define lang_missing_noreturn_ok_p.
12677         (check_function_return_warnings): Use it.
12678
12679         * c-common.h: Declare lang_missing_noreturn_ok_p.
12680
12681         * c-lang.c (c_missing_noreturn_ok_p): New function.
12682         (lang_init): Set lang_missing_noreturn_ok_p.
12683
12684         * invoke.texi (Warning Options): Document this.
12685
12686 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
12687
12688         * extend.texi (C++ Extensions):  New node for C++ attributes;
12689         describe init_priority and com_interface.
12690         * invoke.texi:  Remove -finit-priority as it now has zero effect.
12691         * install.texi:  Fix xref syntax.
12692         * md.texi:  Likewise.
12693
12694 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12695
12696         * config.gcc (sparc64-wrs-vxworks*): New case.
12697         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
12698
12699         * config/sparc/sparc.c (sparc_override_options): Do support different
12700         pointer and architecture size.
12701         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
12702         (POINTERS_EXTEND_UNSIGNED): Define.
12703         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
12704         (FUNCTION_MODE): Define to be Pmode.
12705         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
12706
12707         * function.c (expand_function_end): Properly handle DECL_RESULT
12708         and copy when ptr_mode != Pmode.
12709         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
12710
12711 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12712
12713         * c-common.c (c_common_nodes_and_builtins): Set prototype
12714         parameters for __builtin_fputs, __builtin_fputc and
12715         __builtin_fwrite.  Don't declare plain fputc as a builtin.
12716
12717 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12718
12719         * loop.c (add_label_notes): Increment the label usage count when
12720         a note is added to an insn which refers to a CODE_LABEL.
12721         * gcse.c (add_label_notes): Likewise.
12722
12723 2001-01-01  Andreas Jaeger  <aj@suse.de>
12724
12725         * loop.c (scan_loop): Use xmalloc to allocate movables.
12726
12727 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
12728
12729         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
12730         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
12731         * reload1.c (REGISTER_MOVE_COST): Likewise.
12732         * regclass.c (REGISTER_MOVE_COST): Likewise.
12733         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
12734         dimension.  Adjust all users.
12735         (init_reg_sets_1): Iterate on all modes.
12736         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
12737         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
12738         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
12739         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
12740         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
12741         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
12742         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
12743         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
12744         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
12745         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
12746         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
12747         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
12748         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
12749         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
12750         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
12751         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
12752         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
12753         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
12754         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
12755         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
12756         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
12757         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
12758         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
12759         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
12760         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
12761         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
12762         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
12763
12764 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
12765
12766         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
12767         arg VARIES_P.  Call it with extra arg.
12768         (true_dependence): Likewise.
12769         * rtl.h (rtx_addr_can_trap_p): Declare.
12770         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
12771         prototypes.
12772         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
12773         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
12774         pic offset table register if it's zero.  All callers changed.
12775         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
12776
12777 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12778
12779         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
12780         STRING_POOL_ADDRESS_P.
12781
12782         * config/sparc/sparc.c (input_operand): Properly test for short op.
12783
12784         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
12785         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
12786         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
12787         * config/sparc/elf.h: No longer include sol2.h.
12788         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
12789         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
12790
12791         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
12792
12793 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12794
12795         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
12796         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
12797         (record_initial): Likewise.
12798         * unroll.c (copy_loop_body, loop_iterations): Likewise.
12799         (remap_split_bivs): Likewise.
12800
12801 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12802
12803         * loop.c (loop_ivs_free): New function.
12804         (strength_reduce): Break out from...
12805
12806 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12807
12808         * loop.h (struct iv): New.
12809         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
12810         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
12811         'reg_biv_class' fields with 'regs' and 'n_regs'.
12812         (struct ivs): Rename 'loop_iv_list' field to 'list'.
12813         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
12814         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
12815
12816 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
12817
12818         * resource.c (mark_referenced_resources): Abort() before
12819         attempting to mark a pseudo register.
12820         (mark_set_resources): Likewise.
12821
12822 2001-01-01  Michael Hayes  <mhayes@redhat.com>
12823
12824         * loop.h (REG_IV_CLASS): New accessor macro.
12825         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
12826         * unroll.c (REG_IV_CLASS): Likewise.
12827
12828 See ChangeLog.4 for earlier changes.