OSDN Git Service

* flow.c (mark_set_1, attempt_auto_inc, mark_used_reg,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Sat Jun 23 01:23:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
2
3         * flow.c (mark_set_1, attempt_auto_inc, mark_used_reg,
4         try_pre_increment_1): compute REG_FREQ using bb->frequency.
5
6         * regclass.c (loop_cost): Kill.
7         (frequency): New global variable.
8         (record_operand_costs): Replace loop_cost by frequency.
9         (scan_one_insn): Likewise.
10         (regclass): Likewise; set frequency according to bb->frequency.
11
12         * flow.c (split_edge): Set frequency.
13
14 Sat Jun 23 01:16:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15
16         * predict.c (block_info_def): Add nvisited.
17         (propagate_freq): Count nvisited; re-queue delayed blocks; handle
18         irreducible regions.
19
20         * flow.c (dump_edge_info): Dump the probability of edge.
21         (combine_predictions_for_insn): Dump the basic block.
22
23 2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
24
25         * doc/gcc.texi: Update documentation of source files of C
26         compiler.
27
28 2001-06-22  Richard Henderson  <rth@redhat.com>
29
30         * doc/invoke.texi (-funsafe-math-optimizations): Document its
31         possible effects at link time.
32
33 2001-06-22  Diego Novillo  <dnovillo@redhat.com>
34
35         * basic-block.h (dump_edge_info): Declare.
36         (clear_edges): Declare.
37         (mark_critical_edges): Declare.
38         * flow.c (dump_edge_info): Remove static declaration.
39         (clear_edges): Ditto.
40         (mark_critical_edges): Ditto.
41         (free_basic_block_vars): Only clear edges and free basic block
42         array if basic_block_info is not NULL.
43         * ssa.c (compute_dominance_frontiers): Remove static declaration.
44         * ssa.h (compute_dominance_frontiers): Declare.
45
46 2001-06-22  Toshiyasu Morita  (toshiyasu.morita@hsa.hitachi.com)
47
48         * predict.c: (expected_value_to_br_prob): Check for const_true_rtx
49         instead of const1_rtx for true case.
50
51 2001-06-22  David Mosberger  <davidm@hpl.hp.com>
52
53         * config/ia64/crtfastmath.c: New file.
54         * config/ia64/t-ia64 (EXTRA_PARTS): Include it.
55         * config/ia64/linux.h (ENDFILE_SPEC): New.
56
57 2001-06-22  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
58
59         * config/h8300/h8300.c (asm_file_start): Remove reference to
60         "release F-1".
61
62 2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
63
64         * c-common.c (verify_tree): Check for x being NULL.
65         * doc/c-tree.texi: Document COMPOUND_BODY of an empty
66         COMPOUND_STMT.
67         Fixes PR c/3259.
68
69 2001-06-22  DJ Delorie  <dj@redhat.com>
70
71         * config/arm/arm.h (struct machine_function): Remove ra_rtx.
72         * config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx.
73         (arm_return_addr): Use get_hard_reg_initial_val et al.
74         * config/d30v/d30v.h (struct machine_function): Remove ra_rtx.
75         * config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx.
76         (d30v_return_addr): Use get_hard_reg_initial_val et al.
77         * config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx.
78         * config/rs6000/rs6000.c (rs6000_override_options): Don't set
79         mark_machine_status.
80         (rs6000_mark_machine_status): Remove.
81         (rs6000_return_addr): Use get_hard_reg_initial_val.
82         (rs6000_ra_ever_killed): Use has_hard_reg_initial_val.
83         * config/v850/v850.h (INIT_EXPANDERS): Delete.
84         * config/v850/v850.c (struct machine_function): Delete.
85         (v850_init_machine_status): Delete.
86         (v850_mark_machine_status): Delete.
87         (v850_free_machine_status): Delete.
88         (v850_return_addr): Use get_hard_reg_initial_val.
89         (v850_init_expanders): Delete.
90
91 Fri Jun 22 19:20:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
92
93         * predict.c (estimate_bb_frequencies): Do not handle conditional
94         jumps jumping to fallthru basic block as conditional jumps.
95
96 Fri Jun 22 19:11:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
97
98         * regs.h (struct reg_info_def): Add freq field.
99         (REG_N_REFS): Update comment.
100         (REG_FREQ): New.
101         * regclass.c (scan_one_insn): Update REG_FREQ.
102         * flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted.
103         (attempt_auto_inc): Likewise.
104         (mark_used_reg): Likewise.
105         (try_pre_increment_1): Likewise.
106         * local-alloc.c (struct qty): Add freq field.
107         (alloc_qty): Set freq.
108         (update_equiv_regs): Set REG_FREQ.
109         (QTY_CMP_PRI): Use freq.
110         (combine_regs): Update qty->freq.
111         * global.c (struct allocno): Update comment for n_refs;
112         add freq field.
113         (local_reg_freq): New array.
114         (global_alloc): Update freq field;
115         allocate and initialize local_reg_freq.
116         (allocno_compare): Use freq field.
117         (find_reg): Likewise.
118         * reload1.c (count_pseudo): Use freq isntead of n_refs.
119         (count_spilled_pseudo): Likewise.
120
121         * tm.texi (GCOV_TYPE_SIZE): Document.
122         * basic-block.h (gcov_type): Define.
123         (struct edge_def): Use gcov_type for count field.
124         (struct basic_block_def): Likewise.
125         * defaults.h (GCOV_TYPE_SIZE): Define.
126         * final.c (end_final): Use GCOV_TYPE_SIZE.
127         * flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields
128         using HOST_WIDEST_INT_PRINT_DEC.
129         * gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type,
130         __write_gcov_type): New.
131         (store_long): Remove.
132         * gcov.c (gcov_type): Set default.
133         (struct adj_list): Use gcov_type for arc_count.
134         (bb_info): Use gcov_type for succ_count, pred_count and exec_count.
135         (create_program_flow_graph): Read arc_count properly.
136         (solve_program_flow_graph): 'total' is gcov_type.
137         (output_data): Line_counts is gcov_type, print it properly.
138         * libgcc2.c (struct bb): Counts is gcov_type.
139         (__bb_exit_func): Use __read_gcov_type and __write_gcov_type.
140         * profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default.
141         (GCOV_TYPE_SIZE): Define.
142         (struct bb_info): succ_count and pred_count is gcov_type.
143         (compute_branch_probabilities): Use __read_gcov_type,
144         print read edges to the dump file.
145         (total): Is gcov_type.
146         (gen_edge_profiler): Use GCOV_TYPE_SIZE.
147
148 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
149
150         * optabs.c (emit_libcall_block): When using non-call exceptions,
151         don't mark libcalls never throwing.
152
153 2001-06-21  Stan Shebs  <shebs@apple.com>
154
155         * objc/objc-act.c (hash_init): Use xcalloc.
156
157 2001-06-21  Richard Henderson  <rth@redhat.com>
158
159         * flow.c (entry_exit_blocks): Initialize frequency.
160         (split_block): Copy it.
161         (dump_flow_info): Dump it.
162
163 Thu Jun 21 22:15:10 2001  J"orn Rennecke <amylaar@redhat.com>
164
165         * sh.c (barrier_align): Also recognize branch-around-a-jump-sequence
166         from machine-depedent_reorg for purposes of alignment supression
167         when no delay slot insn has been added.
168
169 2001-06-21  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
170
171         * cppmacro.c (make_string_token): Null terminate.
172
173 2001-06-21  DJ Delorie  <dj@redhat.com>
174
175         * config/alpha/alpha.h (struct machine_function): Remove.
176         * config/alpha/alpha.c (integrate.h): Include.
177         (override_options): Don't set up machine_status hooks.
178         (alpha_init_machine_status): Remove.
179         (alpha_mark_machine_status): Remove.
180         (alpha_free_machine_status): Remove.
181         (alpha_return_addr): Use get_hard_reg_initial_val.
182         (alpha_gp_save_rtx): Likewise.
183         (alpha_ra_ever_killed): Use has_hard_reg_initial_val.
184
185 2001-06-20  Aldy Hernandez  <aldyh@redhat.com>
186
187         * config/sh/sh.md (interrupt_function): Use
188         current_function_interrupt.
189         (define_delay): Schedule in delay slot if TARGET_SH3, even if it is
190         an interrupt function.
191
192         * config/sh/sh.h (current_function_interrupt): Define extern.
193
194         * config/sh/sh.c (current_function_interrupt): New global.
195         (sh_expand_prologue): Set current_function_interrupt.
196
197 2001-06-21  Phil Edwards  <pme@sources.redhat.com>
198
199         * doc/install.texi:  Add 'c' to list of --enable-languages choices.
200
201 2001-06-21  DJ Delorie  <dj@redhat.com>
202
203         * integrate.c (mark_hard_reg_initial_vals): Check for NULL.
204         
205         * integrate.c (ggc.h): Include.
206         (initial_value_pair, initial_value_struct,
207         setup_initial_hard_reg_value_integration): Add prototypes.
208         (expand_inline_function): Call
209         setup_initial_hard_reg_value_integration.
210         (has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
211         get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
212         to keep track of values present at the start of a function.
213         (mark_hard_reg_initial_vals): New, for gc.
214         (setup_initial_hard_reg_value_integration): New.  Sets up pseudo
215         mappings for initial values.
216         (emit_initial_value_sets): New.  Emits code to set initial value
217         pseudos.
218         * integrate.h: Add prototypes for new functions.
219         * function.h (struct function): Add hard_reg_initial_vals field.
220         * function.c (integrate.h): Include.
221         (mark_function_status): Call
222         mark_hard_reg_initial_vals.
223         * toplev.c (integrate.h): Include.
224         (rest_of_compilation): Call emit_initial_value_sets.
225
226 2001-06-21  Stan Shebs  <shebs@apple.com>
227
228         * doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
229         doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
230         doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
231         everywhere instead of "Objective C".
232
233 2001-06-21  Joseph S. Myers  <jsm28@cam.ac.uk>
234
235         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
236         doc/gcc.texi, doc/install-old.texi, doc/install.texi,
237         doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and
238         "back end" as nouns and "front-end" and "back-end" as adjectives.
239
240 Wed Jun 20 21:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
241
242         * predict.c (estimate_probability): Fix loop bounds.
243
244 Wed Jun 20 19:10:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
245
246         * toplev.c (rest_of_compilation): Run mark_constant_function
247         before profile-arcs.
248
249 Wed Jun 20 19:08:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
250
251         * predict.c (estimate_loops_at_level, propagate_freq
252         estimate_bb_frequencies, count_to_freqs): New functions.
253         (estimate_probability): Call estimate_bb_frequencies.
254         * basic-block.h (basic_block_def): Add field "freq".
255         (BB_FREQ_MAX): New constant.
256
257 Wed Jun 20 17:02:50 2001  J"orn Rennecke <amylaar@redhat.com>
258
259         * sh.c (barrier_align): Don't ask for alignment when seeing a
260         branch-around-a-jump from machine_dependent_reorg.
261
262 Wed Jun 20 08:35:02 2001  Jeffrey A Law  (law@cygnus.com)
263
264         * ssa.c (rename_block): Update parameter to remove_phi_alternative
265         (convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when
266         re-running life analysis. 
267
268 2001-06-20  Stan Shebs  <shebs@apple.com>
269
270         * objc/objc-act.c (hash_init): Assume xmalloc always succeeds,
271         also use memset to clear the hash tables.
272         (hash_enter): Assume xmalloc always succeeds.
273         (hash_add_attr): Ditto.
274         (continue_class): Ditto.
275
276 2001-06-20  Michael Meissner  <meissner@redhat.com>
277
278         * builtins.c (predict.h): Include.
279         (expand_builtin_expect): Update comment.
280         (expand_builtin_expect_jump): New function to expand
281         __builtin_expect inside of a conditional jump expansion.
282
283         * expr.c (do_jump): Special case __builtin_expect (<test>, 0) and
284         __builtin_expect (<test>, 1).
285
286         * Makefile.in (builtins.o): Depend on $(PREDICT_H).
287
288         * rtl.h (expand_builtin_expect_jump): Add prototype.
289
290 2001-06-19  Geoffrey Keating  <geoffk@redhat.com>
291
292         * doc/rtl.texi (Machine Modes): Correct description of
293         floating-point modes on machines with non-8-bit bytes.
294
295 2001-06-19  Bernd Schmidt  <bernds@redhat.com>
296
297         * regmove.c (optimize_reg_copy_3): Do nothing if previous insn
298         carries a REG_EQUIV note.  If it carries REG_EQUAL, delete the
299         note.
300
301 Tue Jun 19 07:53:52 2001  Jeffrey A Law  (law@cygnus.com)
302
303         * ssa.c (remove_phi_alternative): Remove declaration.  No longer
304         static.  Second argument is a pointer to a basic block structure,
305         not a basic block index.
306         (convert_to_ssa): Do not remove dead code.
307         (convert_from_ssa): Do not remove dead code to create death notes.
308         * ssa.h (remove_phi_alternative): Declare.
309
310         * flow.c (delete_unreachable_blocks): Fix patch error in
311         previous change (call to find_unreachable_blocks was lost).
312
313         * ssa.c (ssa_uses): Remove definition.
314         (apply_delayed_renames): Don't grow ssa_uses.
315         (rename_block): Remove comment related to ssa_uses.
316         (rename_registers): Do not initialize ssa_uses.
317         (convert_from_ssa): Do not free ssa_uses.
318
319         * ssa-dce.c: Renamed from dce.c.
320         * Makefile.in (OBJS): Replace dce.o with ssa-dce.o
321         (dependencies): Replace dce.c with ssa-dce.c and dce.o with
322         ssa-dce.o.
323
324 2001-06-19  Eric Christopher <echristo@redhat.com>
325
326         * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode
327         and DFmode are UNITS_PER_WORD and 2*UNITS_PER_WORD.  Use
328         GET_MODE_BITSIZE instead of GET_MODE_SIZE/UNITS_PER_WORD.
329
330 Tue Jun 19 01:52:27 2001  J"orn Rennecke <amylaar@redhat.com>
331
332         * sh.c (output_branch): Delete bogus code.
333
334         * sh.c (initial_elimination_offset):
335         Fix FROM == RETURN_ADDRESS_POINTER_REGNUM case.
336
337 Mon Jun 18 12:50:49 2001  Jeffrey A Law  (law@cygnus.com)
338
339         * flow.c (find_unreachable_blocks): New function.
340         (delete_unreachable_blocks): Use find_unreachable_blocks.
341         * basic-block.h (find_unreachable_blocks): Declare.
342
343         * dce.c (eliminate_dead_code): Fix formatting glitch.
344
345 2001-06-18  Jason Merrill  <jason_merrill@redhat.com>
346
347         * c-common.h (RETURN_NULLIFIED_P): New macro.
348         * c-semantics.c (genrtl_return_stmt): Check it.
349
350         * expr.c (clear_storage): Set TREE_NOTHROW on the decl for memset.
351         (emit_block_move): Likewise.
352
353 Mon Jun 18 17:27:24 CEST 2001  Jan Hubicka  <jh@suse.cz>
354
355         * unroll.c: Include predict.h.
356         (unroll_loop): Drop prediction notes on preconditioning.
357         * predict.def (PRED_LOOP_PRECONDITIONG, PRED_LOOP_CONDITION):
358         New; add comments on the others.
359         * Makefile.in: (unroll.o): Add dependancy on predict.h.
360         * loop.c (strength_reduce): Fix branch prediction.
361
362 Mon Jun 18 17:26:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
363
364         * stmt.c (emit_case_nodes): Optimize test whether index is in given
365         interval.
366
367 Mon Jun 18 15:43:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
368
369         * predict.c (estimate_probability): Do not bail out early
370         when note is present.
371         (combine_predictions_for_insn): Fix note removal code.
372
373 2001-06-18  Ben Elliston  <bje@redhat.com>
374
375         * except.c (resolve_fixup_regions): Initialise "cleanup".
376
377 2001-06-17  Neil Booth  <neil@daikokuya.demon.co.uk>
378
379         * tm.texi: Document STDC_0_IN_SYSTEM_HEADERS.
380
381 Sat Jun 16 20:20:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
382
383         * expr.c (expand_expr, case ADDR_EXPR): If taking address of SAVE_EXPR,
384         use put_var_into_stack.
385
386 2001-06-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
387
388         * gccspec.c (lang_specific_driver): If compiling ObjC, add
389         -shared-libgcc when necessary.
390         * Makefile.in (gccspec.o): Compile with DRIVER_DEFINES.
391
392 2001-06-16  Daniel Berlin  <dan@cgsoftware.com>
393
394         * bitmap.h: Add dump_bitmap, bitmap_zero, bitmap_union_of_diffs,
395         bitmap_a_or_b, bitmap_a_and_b, bitmap_first_set_bit,
396         bitmap_last_set_bit. All for compatibility with sbitmap's.
397
398         *bitmap.c (bitmap_zero): New function.
399         (bitmap_union_of_diffs): New function.
400         (bitmap_first_set_bit): New function.
401         (bitmap_last_set_bit): New function.
402
403 2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
404
405         * cpp.texi, invoke.texi: Update.
406         * cpp.1, gcc.1: Regenerate.
407
408 Sat Jun 16 12:45:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
409
410         * i386.md (minsf): Fix splitter. (PR fortran/3191)
411
412 2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
413
414         * doc/cpp.texi: Update.
415         * doc/cpp.1: Regenerate.
416
417 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
418
419         * doc/install.texi: Use correct markup hints.
420
421 Fri Jun 15 18:05:22 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
422
423         * function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR.
424
425         * explow.c (expr_size): If DECL and size specified, use it.
426
427 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
428
429         * doc/cpp.texi: Formatting corrections.
430         Correct buggy example of use of __GNUC__ etc.
431         Clarify $ in identifiers.
432         * doc/cpp.1: Regenerate.
433
434 Fri Jun 15 19:35:38 CEST 2001 Jan Hubicka  <jh@suse.cz>
435
436         * optabs.c (expand_twoval_binop): Avoid undefined behaviour.
437
438 2001-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
439
440         * doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
441         etc. spelling.
442         (Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
443         Added Tru64 UNIX V5.1 bootstrap hints.
444         (Specific, alpha*-*-osf*): Removed old section, obsolete.
445
446 2001-06-15  Andreas Jaeger  <aj@suse.de>
447
448         * doc/install.texi (Specific): Mention that glibc cannot be
449         compiled with GCC 3.0.
450
451 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
452
453         * combine.c (nonzero_bits): Don't optimize away division by
454         zero.
455
456 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
457
458         * doc/cpp.texi: Revised and brought up to date.
459         * doc/cpp.1: Regenerate.
460
461 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
462
463         * doc/install.texi: Update --enable-threads to match reality.
464
465 2001-06-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
466
467         * doc/install.texi: Update for C4x.
468         * README.C4X: Remove.
469
470 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
471
472         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
473         doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
474         doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
475         Consistently use "built-in" and "bit-field".  Minor logical markup
476         improvements.
477         * doc/gcc.1: Regenerate.
478
479 2001-06-14  Richard Henderson  <rth@redhat.com>
480
481         * config/mips/mips.md (exception_receiver): New.
482
483 2001-06-14  Daniel J. Berlin <dan@cgsoftware.com>
484
485         * doc/gcc.texi:  Update passes documentation to be more in tune
486         with reality.
487
488 Thu Jun 14 15:38:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
489
490         * i386.c (ix86_expand_prologue): Fix merging conflict.
491
492 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
493
494         * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
495         doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
496         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
497         logical markup.  Use TeX quotes and dashes.  Use @dots{} and
498         @minus{}.  Avoid spaces inside @var.  Update last modification
499         date in gcc.texi.
500         * doc/gcc.1, doc/gcov.1: Regenerate.
501
502 Thu Jun 14 12:44:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
503
504         * i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move,
505         x86_epilogue_using_move): New global variables.
506         (override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred.
507         (ix86_emit_save_regs_using_mov): New static function.
508         (ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred.
509         * i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE,
510         MASK_MIX_SSE_I387): Renumber.
511         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): New.
512         (x86_accumulate_outgoing_args, x86_prologue_using_move,
513         x86_epilogue_using_move): Declare.
514         (TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New.
515
516 2001-06-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
517
518         * inclhack.def (hpux10_cpp_pow_inline): New hack.
519
520 2001-06-13  Richard Henderson  <rth@redhat.com>
521
522         * ifcvt.c (dead_or_predicable): Fix return value last patch.
523
524 2001-06-13  Mark Mitchell  <mark@codesourcery.com>
525
526         * NEWS: Remove.
527
528 2001-06-13  Richard Henderson  <rth@redhat.com>
529
530         * ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code.
531         (cond_exec_process_if_block, dead_or_predicable): Likewise.
532
533 2001-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
534
535         * mips-tfile.c (copy_object): Always pass indexNil for symbol
536         table index.
537
538 2001-06-13  Kazu Hirata  <kazu@hxi.com>
539
540         * config/h8300/h8300.h (OK_FOR_T): Remove.
541         (EXTRA_CONSTRAINT): Do not use OK_FOR_T.
542         * config/h8300/h8300.md: Remove alternatives involving inc and dec
543         in the helper patterns for addhi3 and addsi3.
544
545 2001-06-13  Phil Edwards  <pme@sources.redhat.com>
546
547         * doc/contrib.texi:  Link to libstdc++'s thanks.html for now.
548
549 2001-06-13  Zack Weinberg  <zackw@stanford.edu>
550
551         * Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
552         * libgcc-std.ver: Take out __bb* and __gcc_bcmp.
553
554         * config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
555         config/alpha/t-osf4, config/mips/t-iris6: Extract all
556         references to @shlib_map_file@, @shlib_objs@, or
557         @shlib_base_name@ to Makefile variables.
558         Bump soname version of libgcc to 1.
559
560 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
561
562         * doc/install.texi: Use more logical markup.  Include @node
563         commands in the source when generating any non-HTML.
564
565 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
566
567         * README: Remove.  Some of the contents moved to ../README.
568
569 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
570
571         * doc/install.texi (--enable-shared): List package names
572         recognized by GCC.
573
574 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
575
576         * doc/install.texi (ix86-*-solaris*): Removed, outdated.
577         (*-*-solaris*): Document problem in /bin/sh that affects
578         configuring libraries.
579         (sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
580         (*-sun-solaris2.8): Document linker problem that explains why
581         libjava is disabled by default.
582
583 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
584
585         Revert this patch:
586         * toplev.c (rest_of_compilation): Remove dead code before
587         purge_addressof.
588
589 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
590
591         Reverted:
592         2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
593         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
594         * configure: Rebuilt.
595
596 2001-06-12  Jim Wilson  <wilson@redhat.com>
597
598         * loop.c (strength_reduce): Move bl->all_reduced set before
599         check_ext_dependant_givs call.
600         (check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
601
602 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
603
604         * doc/extend.texi (Function Attributes): Document SH's sp_switch
605         and trap_exit.
606
607 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
608
609         * doc/invoke.texi: Use more logical markup.  Use TeX quotes,
610         dashes and @dots{}.
611
612 2001-06-12  Richard Henderson  <rth@redhat.com>
613
614         * config/i386/i386.c (ix86_expand_prologue): Always use
615         gen_pro_epilogue_adjust_stack; update arguments.
616         (ix86_expand_epilogue): Likewise.
617         (ix86_emit_epilogue_esp_adjustment): Remove.
618         (ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
619         * config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
620         clobber of scratch memory instead of a modification of EBP as the
621         barrier.  Update all peepholes to match.
622
623 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
624
625         * doc/gcc.texi: Change the font used for @def... commands to a
626         fixed width font.
627         * doc/extend.texi: Use more logical markup.  Use "built-in"
628         instead of "builtin".  Use @deftypefn to mark up built-in
629         functions; specify their types in the @deftypefn and not in the
630         descriptive text.  Use TeX quotes and dashes.  Add more index
631         entries.
632
633 2001-06-12  lars brinkhoff  <lars@nocrew.org>
634
635         * gcc.texi (HOST_BITS_PER_LONGLONG): Document.
636         (DIR_SEPARATOR_2): Likewise.
637
638 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
639
640         * doc/install.texi (--exec-prefix, --bindir, --libdir,
641         --with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
642         Document.
643         (--enable-cpp): Change to document --disable-cpp instead; update
644         to reflect current default.
645         (--without-fast-fixincludes): Remove documentation.
646         (Final install): Document installation directories in more
647         detail.  Document use of make dvi.
648
649 Tue Jun 12 19:01:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
650
651         * recog.c (validate_replace_rtx_1): Fix previous patch.
652
653 Tue Jun 12 17:25:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
654
655         * recog.c (validate_replace_rtx_1): Do plus_constant call always.
656
657 Tue Jun 12 17:24:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
658
659         * simplify-rtx.c (simplify_subreg): Allow volatile memory
660         to be subregged in case we don't have move instruction.
661
662 Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
663
664         * loop.c: Include predict.h
665         (strength_reduce): Drop branch prediction note in case
666         number of iterations is known.
667         * predict.def (PRED_LOOP_ITERATIONS): new.
668         * Makefile.in (loop.o): Add dependancy on predict.h
669
670 2001-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
671
672         * c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
673
674         * c-typeck.c (c_start_case): Likewise.
675
676 2001-06-12  Mark Mitchell  <mark@codesourcery.com>
677
678         * expr.c (store_field): Don't set MEM_ALIAS_SET for a field
679         in a structure at a variable address.
680
681 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
682
683         * doc/gcov.texi: Use more logical markup.
684
685 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
686
687         * unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
688         REG_NOTE_KIND, not PUT_MODE and GET_MODE.
689         (final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
690         valid.
691
692 2001-06-11  Stan Shebs  <shebs@apple.com>
693
694         * darwin.h (ASM_FILE_END): Remove decl of language_string.
695
696 2001-06-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
697
698         * config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber
699         as an early clobber to make sure it is not used by reload in
700         one of the operands.
701
702 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
703
704         * doc/c-tree.texi: Update information about flag_honor_std.
705         * doc/install.texi: Note that binutils is required on HPUX 11.
706         * doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
707         now the default.
708
709         * config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
710         variable-sized types.
711
712 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
713
714         * doc/md.texi: Use TeX dashes and quotes.
715
716 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
717
718         * doc/rtl.texi: Reference manual chapter about trees.
719
720 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
721
722         * config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
723         (WINT_TYPE): Override.
724         (WINT_TYPE_SIZE): Likewise.
725         (SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
726
727         * config/sparc/sol2.h (WINT_TYPE): Define.
728         (WINT_TYPE_SIZE): Likewise.
729
730         * config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
731         (WINT_TYPE): Override.
732         (WINT_TYPE_SIZE): Likewise.
733         (CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
734         (CPP_ARCH64_SPEC): Likewise.
735
736 2001-06-11  Richard Henderson  <rth@redhat.com>
737
738         * unwind-dw2-fde.c (__deregister_frame_info): Don't play games
739         with alias attribute.
740
741         * config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
742         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
743
744 2001-06-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
745
746         * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
747
748 2001-06-11  Stan Shebs  <shebs@apple.com>
749
750         * darwin.c (darwin_encode_section_info):  Rewrite to simplify
751         and fix coding mistakes.
752
753 2001-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
754
755         * config/m32r/m32r.md (movstrsi_internal): Do not expect a
756         return string from m32r_output_block_move.
757         * config/m32r/m32r-protos.h: Make m32r_output_block_move a
758         void function.
759         * config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
760         integer overflow.
761         (ROUND_ADVANCE): Remove signed/unsigned conflict.
762         * config/m32r/m32r.c: Declare prototypes for static functions.
763         (move_src_operand): Replace INT32_P with UINT32_P.
764         (function_arg_partial_nregs): Fixed signed/unsigned conflict
765         in initialisation of 'size'.
766         (m32r_sched_reord): Remove redundant declarations of 'code'.
767         (m32r_output_block_move): Change to a void function.
768         (m32r_encode_section_info): Cast return of
769         TREE_STRING_POINTER to avoid compile time warning.
770
771 2001-06-11  Richard Henderson  <rth@redhat.com>
772
773         * config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
774         * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
775         (struct machine_function): Add gp_save_rtx.
776         * config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
777         (alpha_gp_save_rtx): New.
778         * config/alpha/alpha-protos.h: Declare it.
779         * config/alpha/alpha.md (exception_receiver): Make an expander.
780         Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
781
782 2001-06-11  Richard Henderson  <rth@redhat.com>
783
784         * config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
785
786 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
787
788         * configure.in: Align --help messages.
789         Remove trailing full stops.
790         Consistently use lower case.
791         Fix DWARF 2 spelling.
792         * configure: Rebuilt.
793
794 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
795
796         * config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
797         variants for .cpp/.cp/.c++ files.
798         Move definition of __LANGUAGE_C_PLUS_PLUS ...
799         (CPLUSPLUS_CPP_SPEC): ... here.
800
801 Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
802
803         * jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
804
805 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
806
807         * c-decl.c (store_parm_decls): When comparing types in an
808         old-style function declaration with those from a previous
809         prototype, compare the unqualified versions of parameter types.
810         Fixes PR c/3116.
811
812 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
813
814         * doc/objc.texi: Use more logical markup.  Use TeX dashes.
815
816 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
817
818         * doc/c-tree.texi: Use more logical markup.
819
820 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
821
822         * c-decl.c (xref_tag): Don't return previous tags of wrong type.
823
824 2001-06-11  Aldy Hernandez  <aldyh@redhat.com>
825
826         * loop.c (scan_loop): Do not combine asm statements.
827
828 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
829
830         * simplify-rtx.c (simplify_subreg): Fix offset calculation
831         for complex values within a CONCAT.
832
833 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
834
835         * doc/install.texi: Update details of what components are included
836         in the GCC distribution.  Update default directory for g++
837         includes.  Update documentation relating to old libio.  Adjust
838         documentation on DejaGnu environment variables.  Remove
839         documentation of --enable-cpplib.
840
841 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
842
843         * doc/contrib.texi: Fix alphabetical order.  Fix typos.  Improve
844         markup.
845
846 2001-06-10  Richard Henderson  <rth@redhat.com>
847
848         * ifcvt.c (life_data_ok): New.
849         (merge_if_block): Use it to determine whether to update
850         global_live_at_end.
851         (if_convert): Set it.
852
853 2001-06-10  Richard Henderson  <rth@redhat.com>
854
855         * config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
856
857 2001-06-10  Alexandre Oliva  <aoliva@redhat.com>
858
859         * doc/invoke.texi (MN10300 Options): Document -mno-crt0.
860         (SH Options): Document -mieee.
861         * doc/install.texi (Final install): Remove obsolete information
862         about installing cross compilers.
863         * doc/gcc.1: Rebuilt.
864
865 2001-06-10  Richard Henderson  <rth@redhat.com>
866
867         * config/alpha/alpha.c (override_options): Set align_loops,
868         align_jumps, and align_functions.
869         * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
870         (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.
871
872 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
873
874         * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
875         are one and two words in size.
876
877 2001-06-10  Richard Henderson  <rth@redhat.com>
878
879         * doc/invoke.texi (Optimization Options): Document -fpeephole2.
880         (Code Generation Options): Document -fnon-call-exceptions.
881
882 2001-06-10  Mark Kettenis  <kettenis@gnu.org>
883
884         * config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
885
886 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
887
888         * m68hc11.md (peepholes): Remove unused and wrong peepholes.
889
890 2001-06-10  Mark Mitchell <mark@codesourcery.com>
891             Gabriel Dos Reis  <gdr@codesourcery.com>
892
893         * Makefile.in (c-parse.o): Depend on diagnostic.h
894         (dwarf2out.o): Likewise.
895
896         * dwarf2out.c: #include diagnostic.h
897
898         * toplev.h (warningcount, errorcount, sorrycount): Remove
899         declarations.
900
901         * toplev.c (warningcount, errorcount, sorrycount): Remove
902         definitions.
903
904         * diagnostic.h (struct output_buffer): Reorder fields.
905         (diagnostic_kind_count): New macro.
906         (errorcount, warningcount, sorrycount): Define as macros.
907         (diagnostic_report_warnings_p): New macro.
908         (output_state): Add diagnostic_count field.
909
910         * diagnostic.c (warningcount, errorcount, inhibit_warnings):
911         Remove tentative declaration.
912         (count_error): Use diagnostic_report_warnings_p.
913
914         * c-parse.in: #include diagnostic.h
915
916 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
917
918         * config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
919         prefer a memory for operand 1.
920         ("*addsi3"): Fix constraints, the '!' was too strong.
921         ("*addsi3_split"): Accept soft register and split accordingly.
922
923 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
924
925         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
926         Move definition in the RTX_CODE section.
927
928 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
929
930         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return
931         address as relative to the argument pointer.
932
933 Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
934
935         * predict.def (PRED_OPCODE): Place before call and error_return.
936
937 Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
938
939         * predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
940         * predict.c (estimate_probability): Calculate dominance
941         information; improve detection of NORETURN heuristics;
942         add call/error_return heuiristics; tweak comparison heuristics
943         to recognize -1.
944
945 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
946
947         * doc/invoke.texi (C Dialect Options): Document -aux-info.
948         (Debugging Options): Document -print-multi-directory and
949         -print-multi-lib.
950         * doc/gcc.1: Rebuilt.
951
952         * toplev.c (independent_decode_option): Require `=' between
953         `-aux-info' and filename in the same argument.
954         * gcc.c: Don't pass -aux-info=filename twice.
955
956 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
957
958         * expr.c (expand_expr, case ARRAY_REF): Do not replace
959         an array element with the known initializing value if it has
960         side-effects.
961
962         * toplev.c (rest_of_compilation): Remove dead code before
963         purge_addressof.
964
965 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
966
967         * cppinit.c (print_help): Document -fpreprocessed.
968         * invoke.texi: Similarly.
969
970 Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
971
972         * predict.def: New file.
973         * predict.h: New file.
974         * predict.c: Include predict.h.
975         (predictor_info): New structure and array.
976         (predict_edge, predict_insn): Rewrite; make global.
977         (predict_edge_def, predict_insn_def): New global functions.
978         (dump_prediction, combine_predictions_for_insns): New
979         static functions.
980         (estimate_probability): Change calls to predict_edge
981         to predict_edge_def and calls to predict_insn to predict_insn_def;
982         combine probabilities.
983         (expected_value_to_br_prob): Behave as predictor.
984         * rtl.h (REG_BR_PRED): Update coment.
985         (invert_br_probabilities): New.
986         * jump.c: Include predict.h
987         (duplicate_loop_exit_test): Drop branch prediction notes.
988         (invert_jump): Use invert_br_probabilities.
989         * Makefile.in: Add dependancy on predict.h for jump and predict pass.
990         * ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
991         * combine.c (distribute_notes): Handle BR_PRED.
992
993 Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
994
995         * predict.c (predict_insn, predict_edge): New static functions.
996         (estimate_probability): Revamp to use new functions;
997         fix loop header heruistics; add loop exist heruistics
998
999 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
1000
1001         * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
1002
1003 2001-06-09  Peter Jakubek <pjak@snafu.de>
1004
1005         * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
1006
1007 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1008
1009         * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
1010         for integer operations that don't update C bit.
1011
1012 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
1013
1014         * gthr-posix.h (__gthread_objc_init_thread_system): If
1015         pthread_key_create fails, it's not clear what the return value is.
1016         This obvious fix makes sure it always returns -1 if a problem
1017         occurs.
1018
1019 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1020
1021         * doc/gcc.texi: Use @defcodeindex for the index of options.  Add
1022         more index entries.  Use more logical markup where appropriate.
1023         Use TeX quotes and dashes.
1024
1025 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
1026
1027         * unwind-pe.h: Conditionally qualify references to abort with
1028         std::.
1029
1030 2001-06-09  Julian Foad <julian_foad@hotmail.com>
1031
1032         * doc/invoke.texi: Remove superfluous text.
1033
1034 2001-06-08  Richard Henderson  <rth@redhat.com>
1035
1036         * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
1037         (LIB_SPEC): Mirror config/linux.h version.
1038
1039 2001-06-08  Richard Henderson  <rth@redhat.com>
1040
1041         * except.c (get_exception_pointer, get_exception_filter): Take a
1042         struct function.  Update all callers.
1043         * except.h (get_exception_pointer): Update declaration.
1044         * expr.c (expand_expr): Update get_exception_pointer call.
1045         * integrate.c (expand_inline_function): Remap the exception pointer
1046         from callee to caller.
1047
1048 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
1049
1050         * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
1051         accurately reflect its cv-qualification.
1052         * c-typeck.c (type_lists_compatible_p): Ignore the top-levl
1053         cv-qualifiers on function types.
1054
1055 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
1056
1057         * basic-block.h: Improve comments.
1058         * except.c (expand_eh_region_end_allowed): Remove redundant call
1059         to do_pending_stack_adjust.
1060         * flow.c (life_analysis): Fix typo in comment.
1061         (calculate_global_regs_live): Add documentation.
1062         (mark_set_1): Likewise.
1063         (debug_regset): Likewise.
1064         * doc/rtl.texi (cond_exec): Document it.
1065
1066 Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
1067
1068         * i386.h (CONST_COSTS): set cost of constants representable in
1069         immediate fields to 0.
1070
1071 Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
1072
1073         * function.c (diddle_return_value): Kill code to determine
1074         return value before expand_function_end.
1075         (expand_function_end): Delay call to clobber_return_register
1076         after fucntion return value is computed.
1077
1078         Re-install temporary reverted patch:
1079         * toplev.c (rest_of_compilation): Call split_all_insns
1080         before reg-stack and shorten-branches. Do shorten-branches
1081         after reg-stack.
1082         * final.c (shorten_branches): Remove insn splitting code.
1083
1084 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1085
1086         * doc/gcc.texi, doc/invoke.texi: Add index of command line
1087         options.  Use @opindex to index them rather than other indexing
1088         commands.  Use @var{...} instead of <...>.  Avoid spaces in names
1089         inside @var.  Don't use @kindex to index escape sequences in
1090         source code.
1091
1092 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
1093
1094         * stmt.c (current_nesting_level): New fn.
1095         * tree.h: Declare it.
1096         * c-semantics.c (genrtl_compound_stmt): Use it.
1097
1098         * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
1099
1100 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
1101
1102         * jump.c (mark_modified_reg): Allow jump threading if condition
1103         codes are represented by a hard register.
1104
1105 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
1106
1107         * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
1108         for complex floats passed to unprototyped functions.
1109
1110 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
1111
1112         * except.c (expand_eh_region_end_allowed): Call
1113         do_pending_stack_adjust as necessary.
1114
1115 Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
1116
1117         * function.c (clobber_return_register): Clobber the pseudo return
1118         register too.
1119
1120         * sibcall.c (skip_unreturned_value): New function.
1121         (call_ends_block_p): Use it.
1122
1123         * recog.c (split_insn): Break out from ...
1124         (split_all_insns): ... here; do not use basic block information
1125         when it is broken.
1126
1127 Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1128
1129         * simplify-rtx.c (simplify_subreg):  Fix verification of
1130         combined subreg.
1131
1132 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1133
1134         * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
1135         Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
1136         Move definition of _LANGUAGE_C_PLUS_PLUS ...
1137         (CPLUSPLUS_CPP_SPEC): ... here.
1138         Fixes PRs c++/3047, target/441.
1139
1140 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1141
1142         * doc/install.texi2html (MAKEINFO): Keep value if set already.
1143
1144 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1145
1146         * doc/gcc.texi: Add trailing slash to URL.
1147
1148 2001-06-07  Stan Shebs  <shebs@apple.com>
1149
1150         * config/darwin.h (ENCODE_SECTION_INFO): Define.
1151         (REDO_SECTION_INFO_P): Ditto.
1152         (STRIP_NAME_ENCODING): Ditto.
1153         (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
1154         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
1155         (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
1156         (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
1157         * config/darwin.c: No longer include c-tree.h.
1158         (machopic_classify_ident): Rewrite to use symbol encoding.
1159         (lookup_name_darwin): Remove.
1160         (machopic_non_lazy_ptr_name): Handle encoded symbols.
1161         (machopic_stub_name): Use STRIP_NAME_ENCODING.
1162         (machopic_validate_stub_or_non_lazy_ptr): Ditto.
1163         (machopic_finish): Ditto, remove test of decl.
1164         (update_non_lazy_ptrs): New function.
1165         (darwin_encode_section_info): New function.
1166         * config/darwin-protos.h: Declare it.
1167         * config/rs6000/rs6000.c (machopic_output_stub): Use
1168         STRIP_NAME_ENCODING.
1169
1170 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
1171
1172         * tree.h (DECL_SOURCE_FILE): Improve documentation.
1173         (DECL_SOURCE_LINE): Likewise.
1174
1175 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
1176
1177         * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
1178         from config/elfos.h.
1179
1180 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
1181
1182         * linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
1183         * pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
1184
1185 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1186
1187         * doc/contrib.texi: Add copyright notice.
1188
1189 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1190
1191         * doc/md.texi: Use four digit years in copyright notice.
1192
1193 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1194
1195         * config.gcc: For $target_alias of athlon-*, set
1196         target_cpu_default2=5.
1197
1198 Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1199
1200         * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
1201         end of last block if last real insn is a JUMP_INSN.
1202
1203 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1204
1205         * NEWS: Regenerate.
1206
1207 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1208
1209         * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
1210         pthread_t to objc_thread_t.
1211         (__gthread_objc_thread_id): Likewise.
1212
1213 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1214
1215         * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
1216         (ASM_OLDAS_SPEC): Likewise.
1217
1218         * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
1219         (CPP_SUBTARGET_SPEC): Use it.
1220         (ASM_OLDAS_SPEC): Define.
1221         (ASM_SPEC): Use it.
1222         (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
1223
1224 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1225
1226         * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
1227         passed by reference.
1228
1229 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1230
1231         * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
1232         Document use of N_(...), and show it in examples.  Note that
1233         documentation should be added to invoke.texi.  Avoid an overfull
1234         hbox.
1235
1236 Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
1237
1238         * toplev.c (rest_of_compilation): Revert previous patch.
1239         * final.c (shorten_branches): Likewise.
1240
1241 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1242
1243         * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
1244         Remove.
1245
1246 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1247
1248         * doc/install-old.texi: Remove more obsolete documentation.
1249
1250 Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
1251
1252         * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
1253
1254 Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
1255
1256         * toplev.c (rest_of_compilation): Call split_all_insns
1257         before reg-stack and shorten-branches. Do shorten-branches
1258         after reg-stack.
1259         * final.c (shorten_branches): Remove insn splitting code.
1260
1261 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
1262
1263         * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
1264         * configure: Rebuilt.
1265
1266 2001-06-07  Andreas Jaeger  <aj@suse.de>
1267
1268         * emit-rtl.c (operand_subword): Remove unused variable.
1269
1270 Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
1271
1272         * i386.md (floatdi?f): Avoid usinf of SSE instructions
1273         if TARGET_64BIT is false.
1274         (floatdi?f_i386_only): New insn.
1275         (floatdi?f_i386): Disable for !TARGET_64BIT.
1276
1277         * (min?f, max?f splitters): Handle case where
1278         operands are cross-matched.
1279
1280         * i386.h (HI_REGISTER_NAMES): Remove redundant definition
1281         (MMX_REGISTER_NAMES): Kill.
1282         (PRINT_OPERAND): Fix comment.
1283         (PRINT_REG): Likewise.
1284         * i386.c (print_reg): Kill support for 'm' CODE; simplify.
1285         (print_operand): Update comment; kill 'm'.
1286
1287         * i386.c (x86_branch_hints): New global variable
1288         (print_operand): Support outputting of branch prediction hints.
1289         * i386.md (conditional jump patterns): Add branch prediction hints
1290         to the template.
1291         * i386.h (x86_branch_hints): Declare
1292         (TARGET_BRANCH_PREDICTION_HINTS): New macro.
1293         (PRINT_OPERAND_FUNCT_VALID_P): New.
1294         * final.c (final_forward_branch_p): New function.
1295
1296 2001-06-06  Richard Henderson  <rth@redhat.com>
1297
1298         * flow.c (mark_used_reg): Clean up looping over multiple hard
1299         registers.  Do conditional life bits across multiple hard regs.
1300
1301 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
1302
1303         * reload1.c (reload): Revert Schmidt's change so all USEs are not
1304         deleted during reload.
1305
1306 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
1307
1308         * c-semantics.c (genrtl_scope_stmt): Write out nested inline
1309         functions here, instead of ...
1310         * c-decl.c (c_expand_body): ... here.
1311
1312 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
1313
1314         * config.gcc, config/sparc/bsd.h:  Do not directly include
1315         sparc/sparc.h.  Instead do it via tm_file.
1316
1317 2001-06-05  Richard Henderson  <rth@redhat.com>
1318
1319         * dwarf2.h (DW_EH_PE_aligned): New.
1320         * dwarf2asm.c (eh_data_format_name): Name it.
1321         (dw2_asm_output_encoded_addr_rtx): Align for it.
1322         * dwarf2out.c (output_call_frame_info): Handle it for personality
1323         routine and LSDA pointers.
1324
1325         * unwind-pe.h (DW_EH_PE_aligned): New.
1326         (base_of_encoded_value): Handle it.
1327         (read_encoded_value_with_base): Likewise.
1328         * unwind-dw2-fde.c (base_from_object): Likewise.
1329         (get_cie_encoding): Likewise.
1330
1331         * config/alpha/elf.h: Remove ecoff commentary.
1332         * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1333
1334 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
1335
1336         * config.gcc, config/i386/bsd386.h:  Do not directly include
1337         i386/386bsd.h.  Instead do it via tm_file.
1338
1339 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
1340
1341         * elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
1342         way svr4.h does.
1343
1344 2001-06-05  Pascal Obry  <obry@act-europe.fr>
1345
1346         * configure.in: Quote $enable_win32_registry in case the value has
1347         spaces in it.
1348         * configure: Ditto.
1349
1350 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
1351
1352         * print-rtl.c (xspaces): Remove.
1353         (print_rtx): Use printf field-width, rather than xpsaces, to
1354         indent.
1355         * toplev.c (main): Disable sibling-call optimization if we are
1356         handling exceptions.
1357
1358 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
1359
1360         * reload1.c (reload): Delete all USEs generated during reload.
1361
1362 2001-06-05  scott snyder  <snyder@fnal.gov>
1363
1364         * gccbug.in:  Fix typo.
1365
1366 2001-06-05  Andreas Jaeger  <aj@suse.de>
1367
1368         * builtins.def: Fix definition of __builtin_cosf, it uses float as
1369         parameter and return value.
1370
1371 2001-06-04  Anthony Green  <green@redhat.com>
1372
1373         * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
1374         machine.  This is now done in sparc.h.
1375
1376 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
1377
1378         Correct CVS resurrection of invoke.texi.
1379         * doc/invoke.texi: Document new tree dump flags.
1380
1381 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
1382
1383         * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
1384         for casting an aggregate to its own type.  Fixes PR c/2735.
1385
1386 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
1387
1388         * doc/texinfo.tex: Update to version 2001-05-24.08.
1389
1390 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
1391
1392         * c-common.h (flag_dump_translation_unit): Remove.
1393         (enum tree_dump_index): Define.
1394         (TDF_ADDRESS, TDF_SLIM): New #defines.
1395         (dump_node_to_file): Remove.
1396         (dump_node): Make extern. Add flags.
1397         (dump_flag, dump_enabled_p, dump_begin, dump_end,
1398         dump_switch_p): Prototype.
1399         * c-common.c (flag_dump_translation_unit): Remove.
1400         * c-decl.c (c_decode_option): Remove -fdump-translation-unit
1401         logic. Use dump_switch_p.
1402         * c-dump.h (struct dump_info): Add node and user fields.
1403         (dump_pointer): Declare.
1404         * c-dump.c (dump_node): Make extern. Add flags.
1405         (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
1406         (dump_new_line, dump_maybe_newline): Use them.
1407         (dump_pointer): New function.
1408         (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
1409         chain or function's body. Dump address, if TDF_ADDRESS set.
1410         (dump_flag): Define.
1411         (dump_node_to_file): Remove.
1412         (struct dump_file_info): New struct.
1413         (dump_files): New array.
1414         (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
1415         * c-lang.c (finish_file): Adjust dumping.
1416         * toplev.h (dump_base_name): Make extern.
1417         * invoke.texi: Document new flags.
1418
1419 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
1420
1421         * c-tree.h (lang_decl): Add pending_sizes fields.
1422         * c-decl.c (store_parm_decls): Save pending_sizes away for nested
1423         functions.
1424         (c_expand_body): Expand them.
1425         (lang_mark_tree): Mark lang_decl:pending_sizes.
1426         * function.c (expand_pending_sizes): New function, broken out
1427         from ...
1428         (expand_function_start): ... here.
1429         * tree.h (expand_pending_sizes): Declare it.
1430
1431 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
1432
1433         * doc/install.texi: Update FreeBSD information.  Generalize
1434         and update information for alpha-based platforms using ELF.
1435
1436 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1437
1438         * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
1439         (store_parm_decls): Likewise.
1440         * c-typeck.c (convert_arguments): Likewise.
1441
1442 2001-06-04  Richard Henderson  <rth@redhat.com>
1443
1444         * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
1445         optimization if current_function_calls_setjmp.
1446
1447 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1448
1449         * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
1450         wide strings.
1451
1452 Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1453
1454         * simplify-rtx.c (simplify_subreg): Fix combining of
1455         paradoxical subregs.
1456
1457 Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
1458
1459         * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
1460         (no_labels_between_p): Short circuit case beg==end.
1461
1462 Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
1463
1464         * rtlanal.c (operand_preference): Fix preference for objects.
1465
1466 Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
1467
1468         * gcse.c (handle_avail_expr): Be prepared to handle single_set
1469         parallels.
1470
1471 Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1472
1473         * combine.c (if_then_else_cond): Use simplify_subreg instead
1474         of operand_subword.
1475         * integreate.c (sub_constants): Likewise.
1476
1477 Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
1478
1479         * emit-rtl.c (constant_subword): Deprecate; remove most of code
1480         and use simplify_gen_subreg.
1481
1482 Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
1483
1484         * sibcall.c (skip_copy_to_return_value): recognize the situation
1485         when the called function's return value is copied into an
1486         intermediate pseudo, and then into the calling functions return
1487         value register.
1488
1489 Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
1490
1491         * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
1492         check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
1493         in case register wasn't OK previously, accept it now; allow
1494         subregs of frame pointer if reload completed and frame pointer
1495         is not needed.
1496
1497         * combine.c (sombine_simplify_rtx): Fix comment;
1498         use subreg_lowpart_offset instead of subreg_lowpart_p
1499         (gen_lowpart_for_combine): Use subreg_lowpart_offset.
1500         * rtl.h (subreg_lowpart_parts_p): Kill.
1501         (subreg_lowpart_offset, subreg_highpart_offset): Declare.
1502         * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
1503         * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
1504         (gen_lowpart_common): Likewise.
1505         (subreg_lowpart_p): Likewise.
1506         (subreg_lowpart_parts_p): Kill.
1507         (subreg_lowpart_offset, subreg_highpart_offset): New function.
1508
1509         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
1510         to simplify SUBREG and REG.
1511         (gen_highpart): Use simplify_gen_subreg for all simplifications.
1512
1513         * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
1514         CONCAT specially.
1515
1516         * rtlanal.c (replace_regs):  Use simplify_gen_subreg
1517
1518 Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1519
1520         * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
1521         (ARRAY_RANGE_REF): Added description.
1522
1523         * tree.def (ARRAY_RANGE_REF): New code.
1524         * alias.c (handled_component_p, can_address_p): Handle it.
1525         * dwarf2out.c (loc_descriptor_from_tree): Likewise.
1526         * explow.c (set_mem_attributes): Likewise.
1527         * expr.c (expand_assignment, get_inner_reference): Likewise.
1528         (expand_expr, expand_expr_unaligned, do_jump): Likewise.
1529         * fold-const.c (operand_equal_p): Likewise.
1530         * tree.c (staticp, stabilize_reference): Likewise.
1531         * varasm.c (decode_addr_const): Likewise.
1532
1533 Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1534
1535         * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
1536         (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
1537
1538 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
1539
1540         * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
1541         mark_constant_pool_use before output_addr_const.
1542         (struct pool_node): New field wend.
1543         (add_constant): Note a sequence of constants that are referenced
1544         by a given label.
1545         (pool_window_label, pool_window_last): New variables.
1546         (dump_table): Emit a unspec_volatile representing the end of a
1547         sequence of constants.
1548         (mark_constant_pool_use): New function.
1549         * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
1550         (consttable_2): Add the second operand which flags whether
1551         this consttable entry was used or not.
1552         (consttable_4, consttable_8, consttable_sf, consttable_df):
1553         Likewise.
1554         (consttable_window_end): New insn.
1555
1556 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
1557
1558         * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
1559         Reformat according to coding standards.
1560
1561         Warning removal.
1562         * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
1563         (shl_and_kind): Cast wide constant.
1564         (gen_far_branch): Define as static, as in declaration.
1565         (barrier_align): Compute cache-line length as unsigned.  Add
1566         parentheses in initial credit computation.
1567         (rounded_frame_size): Add parentheses.
1568         (permanent_obstack): Remove declaration.  Include ggc.h for
1569         declaration of ggc_add_root_rtx().
1570         (get_free_reg): Removed declaration of unused variable reg.
1571         (legitimize_pic_address): Mark mode argument as unused.
1572
1573 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
1574
1575         * config/sh/sh.c (output_branch): Support for insn with lenght
1576         attr 12 & 16 which represents cond branches outside +-4096 range.
1577
1578 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
1579
1580         * config/sh/lib1funcs.asm (ic_invalidate): Align the
1581         cache-mirroring sequence.  Add nops.
1582
1583 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1584
1585         * doc/install-old.texi: Remove more old installation
1586         documentation.
1587         * doc/install.texi: Add relevant parts here.
1588
1589 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1590
1591         * doc/install.texi2html: New script.
1592
1593 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
1594
1595         * doc/install.texi: Update AIX information again.
1596
1597 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1598
1599         * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
1600         installation documentation.
1601         * doc/install.texi: Move it to here.
1602
1603 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1604
1605         * doc/install.texi: Clean up Texinfo markup.
1606
1607 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1608
1609         * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
1610         to just after title page.
1611
1612 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
1613
1614         * doc/install-old.texi: Remove documentation of some configuration
1615         options.
1616         * doc/install.texi: Add relevant parts of this documentation here.
1617
1618 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1619
1620         * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
1621         Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
1622
1623 Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
1624
1625         * i386.md (all uses of ext_register_operand): Make sure they are
1626         VOIDmode; replace all uses outside zero_extend.
1627         (and?i splitters): Use ext_register_operands.
1628         (test?i peep2): Remove ignored constraints.
1629         * i386.c (ext_register_operand): Check that operand is
1630         eighter pseudo or hard or 'Q' register.
1631
1632 Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1633
1634         * tree.h (struct record_layout_info_s): New field unpadded_align.
1635         (set_lang_adjust_rli): New declaration.
1636         * stor-layout.c (layout_decl): If DECL is packed, but at alignment
1637         it would have if not packed, do not downgrade DECL_ALIGN.
1638         (lang_adjust_rli, set_lang_adjust_rli): New.
1639         (start_record_layout): Initialize new field unpadded_align.
1640         (debug_rli): Display it.
1641         (place_union_field, place_field): Set it.
1642         (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
1643
1644         * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
1645         mean that; use proper names instead.
1646         Print DECL_NO_STATIC_CHAIN.
1647
1648         * except.c (expand_builtin_frob_return_addr): Add missing call
1649         to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
1650         (expand_builtin_eh_return): Likewise.
1651         (expand_eh_return): Clean up ptr_mode != Pmode cases.
1652
1653 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
1654
1655         * doc/invoke.texi: Remove references to papers about sequence points
1656         to readings.html, refer to that page.
1657
1658 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1659
1660         * README: Update references to installation instructions.
1661
1662 2001-06-01  Laurent Guerby  <guerby@acm.org>
1663             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1664
1665         * doc/install.texi: Define srcdir when sources come from CVS.
1666         Significantly improve markup.  Wrap overly long lines
1667
1668 2001-06-01  DJ Delorie  <dj@redhat.com>
1669
1670         * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
1671         extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
1672         objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
1673         gcov.1: Move to doc subdirectory.
1674         * install.texi: Move to doc/install-old.texi.
1675         * gcc.texi: Move to doc, refer to install-old.texi.
1676         * Makefile.in: Reflect move of docs to doc/.
1677         * f/Make-lang.in: Ditto.
1678         * java/Make-lang.in: Ditto.
1679         * doc/.cvsignore: New.
1680
1681 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
1682
1683         * invoke.texi: use two spaces between command options, eliminate
1684         some 'overfull hboxes'
1685
1686 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
1687
1688         * Makefile.in (s-mlib): Make backtick-commands always succeed.
1689         (DRIVER_DEFINES): Ditto.
1690
1691 2001-05-31  Richard Henderson  <rth@redhat.com>
1692
1693         * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
1694         also link against libgcc.a.
1695
1696 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
1697
1698         * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
1699         * config/mips/mips.c (mips_output_ascii): New function.
1700         * config/mips/mips-protos.h (mips_output_ascii): Prototype.
1701
1702         * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
1703
1704 Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1705
1706         * flow.c (set_block_for_new_insns): Remove bogus shortcut.
1707         * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
1708
1709 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
1710
1711         * install.texi (Configuration): Add html links for --with-gnu-as &
1712         --with-gnu-ld and refer to them from hppa & SCO triplets.
1713         (Specific): Link back to with-gnu-ld for all ELF platfoms.
1714         (Specific): Reword AVR binutils recommendation.
1715
1716 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
1717
1718         * ggc-page.c (size_lookup): Increase minimum allocation size
1719         to eight bytes.
1720         (ggc_print_statistics): Report size of each bin in bytes, not
1721         as its order; there is no longer a direct relationship.
1722
1723 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
1724
1725         * extend.texi: Fix formating of examples, eliminate some
1726         'overfull hboxes'.
1727         * gcc.texi: Eliminate some 'overfull hboxes'.
1728         * invoke.texi: Use two spaces between command options, eliminate
1729         some 'overfull hboxes'.
1730
1731 2001-05-30  Richard Henderson  <rth@redhat.com>
1732
1733         * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
1734
1735 2001-05-30  Tom Tromey  <tromey@redhat.com>
1736
1737         * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
1738         use it in the new association.
1739
1740 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
1741             John David Anglin  <dave@hiauly1.hia.nrc.ca>
1742
1743         * gthr-posix.h (__gthread_active_ptr): Cast function pointer
1744         to target type to allow ISO C++ compiler to accept it.
1745         * gthr-dce.h (__gthread_active_ptr): Likewise.
1746         * gthr-solaris.h (__gthread_active_ptr): Likewise.
1747
1748 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1749
1750         * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
1751         so that we do accept comments in preprocessed input.
1752
1753 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
1754
1755         * cpphash.c (alloc_node): Cast allocated pointer.
1756
1757 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
1758
1759         * invoke.texi (Option Summary): Remove -isystem-c++ from options.
1760
1761 2001-05-29  Stan Shebs  <shebs@apple.com>
1762
1763         * gcc.texi: Add links for information about Objective-C.
1764
1765 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
1766
1767         * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
1768         /bin/sed fails on [^\"]).
1769         (configargs.h): Likewise.
1770
1771 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
1772
1773         * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
1774
1775 2001-05-28  Stan Shebs  <shebs@apple.com>
1776
1777         * objc/objc.gperf: Remove, no longer used.
1778
1779 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
1780
1781         * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
1782         gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
1783         Remove trailing whitespace.
1784
1785 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1786
1787         * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
1788         became http://freeware.sgi.com/.
1789
1790 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
1791
1792         * local-alloc.c (update_equiv_regs): Don't eliminate constant
1793         expressions at -O0.
1794
1795 2001-05-27  Stan Shebs  <shebs@apple.com>
1796
1797         * objc/objc-act.c: Add/fix various comments.
1798         (init_selector): Remove, no longer used.
1799         (build_msg_pool_reference): Ditto.
1800         (objc_debug): Ditto.
1801
1802 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1803
1804         * c-decl.c (init_decl_processing):
1805          Don't call start_identifier_warnings.
1806         * flags.h (warn_id_clash, id_clash_len): Remove.
1807         * stringpool.c: Don't include flags.h.
1808         (scan_for_clashes, do_identifier_warnings,
1809         start_identifier_warnings): Remove.
1810         * toplev.c (warn_id_clash, id_clash_len): Remove.
1811         (display_help): Don't document -Wid-clash.
1812         (decode_W_option): Print warning on -Wid-clash.
1813         * tree.h (start_identifier_warnings): Remove.
1814         * invoke.texi: Remove documentation of -Wid-clash.
1815
1816 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1817
1818         * fixinc/fixtests.c: Declare entries in ENV_TABLE.
1819
1820 2001-05-27  Bruce Korb  <bkorb@gnu.org>
1821
1822         * fixinc/check.tpl(HACK) add and use a Scheme variable
1823         (has no test text): error out if no "test_text" is defined
1824         * fixinc/fixincl.tpl: likewise
1825         (FIXIDX): make it an enumeration so we minimize diffs
1826         * fixinc/inclhack.def: re-alphabetize and add sort instructions
1827         * fixinc/fixincl.x: regenerate
1828         * fixinc/tests/base/stdio.h: test output got moved due to
1829         the alphabetizing
1830         * README-fixinc: rewrite (mostly)
1831
1832 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1833
1834         * cpplib.c (run_directive): Set pfile->directive.
1835
1836 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
1837
1838         * c-tree.texi: Reformat the manual as a single chapter now
1839         included by gcc.texi.
1840         * gcc.texi: Include c-tree.texi. Merge all indexes.
1841         * Makefile.in (dvi): Add generation for the cppinternals
1842         documentation. Added dependencies on fdl.texi and c-tree.texi
1843         where appropriate.  Use TEXI2DVI instead of custom tex calls.
1844         (info): Added dependencies on fdl.texi and c-tree.texi where
1845         appropriate.  Remove the target c-tree.info.
1846
1847 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
1848
1849         * combine.c (try_combine): Fix typo in comment.
1850         * expr.c (expand_expr): Likewise.
1851         * config/i370/i370.md (untyped_call): Likewise.
1852
1853 2001-05-26  Bruce Korb  <bkorb@gnu.org>
1854
1855         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
1856         when fixincl is operating in test mode
1857         * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
1858         (AAB_ultrix_limits): remove redundant text
1859         (AAB_ultrix_memory): ditto
1860         (AAB_ultrix_string): ditto
1861         (djgpp_wchar_h): fix the test text
1862         (irix_stdio_va_list): add test text
1863         (irix_limits_const): add a testing output file (limits.h is overwritten)
1864         (strict_ansi_not_ctd): put limits.h second in list for same reason
1865         (solaris27_mutex_init): test text needed selection text, too
1866
1867         * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
1868         when fixincl is operating in test mode
1869
1870 2001-05-26  Philip Blundell  <philb@gnu.org>
1871
1872         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
1873         * config/i960/i960-protos.h: Likewise.
1874         * config/i370/i370-protos.h: Likewise.
1875         * config/h8300/h8300-protos.h: Likewise,
1876         * config/sh/sh-protos.h: Likewise.
1877         * config/v850/v850-protos.h: Likewise.
1878
1879 2001-05-26  Philip Blundell  <philb@gnu.org>
1880
1881         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
1882
1883 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
1884
1885         * toplev.c (debug_args, f_options, W_options): Mark
1886         descriptions for translation.
1887         (display_help): Translate descriptions on output.
1888
1889         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
1890         objc/lang-options.h: Mark descriptions for translation.
1891
1892         * aclocal.m4: Quote final argument of patsubst.  Use
1893         3-argument form of AC_DEFINE.  Restore quotes to [] while
1894         using AC_FD_CC.
1895         * configure.in: Remove unnecessary changequote calls.
1896         * configure, config.in: Regenerate.
1897
1898 2001-05-25  Sam TH  <sam@uchicago.edu>
1899
1900         * basic-block.h: Fix header include guards.
1901         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
1902         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
1903         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
1904         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
1905         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
1906         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
1907         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
1908         varray.h version.h: Likewise.
1909         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
1910         config/arm/arm.h config/c4x/c4x-protos.h
1911         config/h8300/h8300-protos.h config/h8300/h8300.h
1912         config/i370/i370-protos.h config/i370/i370.h
1913         config/i960/i960-protos.h config/mcore/mcore.h
1914         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
1915         config/v850/v850-protos.h config/v850/v850.h: Likewise.
1916         * fixinc/fixlib.h fixinc/server.h: Likewise.
1917
1918 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
1919
1920         * config/arc/initfini.c (.init): Fix typo.
1921
1922 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
1923
1924         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
1925
1926 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1927
1928         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
1929
1930 2001-05-25  Richard Henderson  <rth@redhat.com>
1931
1932         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
1933
1934 2001-05-25  Richard Henderson  <rth@redhat.com>
1935
1936         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
1937         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
1938         (sparc*-*-solaris2): Likewise.
1939         * config/t-linux: Remove shared libgcc macros.
1940         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
1941         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
1942
1943 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
1944
1945         * config.gcc (*-*-freebsd*): Report bad configuration.
1946
1947 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
1948
1949         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
1950
1951         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
1952         any prefix.
1953         (ASM_OUTPUT_LABELREF): Delete.
1954
1955 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1956
1957         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
1958         strict_ansi_only): Don't run if stdc_0_in_system_headers.
1959         * fixinc/fixincl.x: Regenerate.
1960         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
1961         (FIX_TEST_TABLE): Declare it.
1962         * fixinc/fixlib.h: Include config.h.
1963
1964 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1965
1966         * fixinc/inclhack.def (alpha___assert): Change char * args to
1967         const char * on Tru64 UNIX to avoid excessive warnings from
1968         assert.h.
1969         * fixinc/fixincl.x: Regenerate.
1970
1971 2001-05-25  Geoff Keating  <geoffk@redhat.com>
1972
1973         * dbxout.c (dbxout_symbol): Invert previous patch, which was
1974         outputting a tag only for variable-size records.
1975
1976 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
1977
1978         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
1979         instead of rtx_equal_p for early clobber test.
1980
1981 2001-05-26  Mark Mitchell <mark@codesourcery.com>
1982
1983         * builtins.def: Encode additional information, such as names and
1984         types, here.
1985         * builtin-types.def: New file.
1986         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
1987         (built_in_decls): Likewise.  Don't explicitly initialize global
1988         data to NULL.
1989         (expand_builtin_mathfn): Handle float and long double variants of
1990         math builtins.
1991         (expand_builtin): Likewise.
1992         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
1993         (expand_tree_builtin): Handle long, long long, float, and long
1994         double variants of math functions.
1995         * c-common.h (c_tree_index): Remove some unused nodes.
1996         (void_ftype): Remove.
1997         (void_type_ptr): Likewise.
1998         (int_ftype_int): Likewise.
1999         (ptr_ftype_sizetype): Likewise.
2000         * c-decl.c (init_decl_processing): Remove creation of DWARF
2001         builtins.
2002         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
2003         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
2004         * Makefile.in (c-common.o): Depend on builtin-types.def.
2005
2006 2001-05-25  Dale Johannesen  <dalej@apple.com>
2007
2008         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
2009
2010 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
2011
2012         * c-parse.in (notype_initdcl): Remove redundant line.
2013
2014 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2015
2016         * aclocal.m4: Fixed typo.
2017         (gcc_AC_HEADER_STDBOOL): Define.
2018         (gcc_AC_C__BOOL): Define.
2019         * configure.in: Use them.
2020         (AC_CHECK_HEADERS): Remove stdbool.h
2021         * configure, config.in: Regenerate.
2022
2023 2001-05-25  Richard Henderson  <rth@redhat.com>
2024
2025         * function.c (expand_function_start): Don't abort on PARALLEL
2026         returns from hard_function_value.
2027
2028 2001-05-25  Richard Henderson  <rth@redhat.com>
2029
2030         * config/i386/i386.md: Revert previous change.  Do not apply
2031         the peephole if the components do not die after the sequence.
2032
2033 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2034
2035         * c-parse.in (array_declarator): New.  Handle C99 constructs.
2036         Don't restrict [*] declarators to C only.
2037         (after_type_declarator, parm_declarator_starttypename,
2038         parm_declarator_nostarttypename, notype_declarator,
2039         direct_absdcl1): Use it.
2040         * c-decl.c (build_array_declarator, set_array_declarator_type):
2041         New functions.  Warn that [*] isn't properly implemented; pedwarn
2042         for [*] outside C99 mode if pedantic rather than giving a hard
2043         error.
2044         (grokdeclarator): Handle static and type qualifiers in parameter
2045         array declarators.
2046         * c-tree.h (build_array_declarator, set_array_declarator_type):
2047         Declare.
2048         * extend.texi (Attribute Syntax): Document attributes in parameter
2049         array declarators.
2050
2051 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
2052
2053         * config/i386/i386.md: Make sure cmpstr peepholes do not
2054         affect liveness information.
2055
2056 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
2057
2058         * c-typeck.c (digest_init): Issue error messages about
2059         invalid constants, not warnings.
2060
2061 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
2062
2063         * invoke.texi (-fno-builtin): Document that this is always on
2064         in C++.
2065
2066 2001-05-24  Philip Blundell  <philb@gnu.org>
2067
2068         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
2069         required.
2070
2071 2001-05-24  Philip Blundell  <philb@gnu.org>
2072
2073         * config/arm/arm.c (output_return_instruction): Correctly handle
2074         interworking and interrupt functions.
2075
2076 2001-05-24  Philip Blundell  <philb@gnu.org>
2077
2078         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
2079         -m{no-}sched-prolog.  Fix typos and improve formatting.
2080
2081 2001-05-24  Philip Blundell  <philb@gnu.org>
2082
2083         * invoke.texi (ARM Options): Improve wording slightly.  Add
2084         documentation for more options, including those for Thumb mode.
2085         Don't mention options that don't exist or are unimplemented.
2086         (Thumb Options): Delete; merged into above section.
2087
2088 2001-05-24  Geoff Keating  <geoffk@redhat.com>
2089
2090         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
2091         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
2092
2093 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
2094
2095         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
2096         fix hard register simplification.
2097
2098 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2099
2100         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
2101         of just copying CPP_CPU_SPEC.
2102
2103 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
2104
2105         * i386.c (incdec_operand): Accept only 1 and -1.
2106
2107 2001-05-23  Kelley Cook  <kelley.cook@home.com>
2108
2109         * Makefile.in: Move many of the *_H definitions eariler in the
2110         file, so that rules in t-* files that use them for
2111         dependencies will work in a parallel build.
2112         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
2113
2114 2001-05-23  Richard Henderson <rth@redhat.com>
2115
2116         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
2117
2118 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2119
2120         * cpp.texi: Update for handling of charconsts.
2121         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
2122         diagnostics.  Skip to the end if the UCS is too short.
2123         (cpp_interpret_charconst): Long charconsts issue a warning
2124         not an error.
2125
2126 2001-05-23  Richard Henderson  <rth@redhat.com>
2127
2128         * doc/install.texi (alpha-linux): Require binutils 2.11.
2129
2130 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2131
2132         * c-lex.c (read_escape, read_ucs): Delete.
2133         (lex_string): Use cpp_parse_escape.
2134         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
2135         if not C++ or not C99.  Warn if traditional.
2136         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
2137         unsigned.  Warn for out-of-range escape sequences here.
2138         Update to use maybe_read_ucs.
2139         (cpp_interpret_charconst):  Don't warn here.
2140         * cpplib.h (cpp_parse_escape): New exported function.
2141
2142 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2143
2144         * extend.texi (Attribute Syntax): Clarify application of
2145         attributes to parameters declared as functions or arrays.
2146
2147 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
2148
2149         * dbxout.c (dbxout_type_methods): Do still group methods by name.
2150
2151 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
2152
2153         * diagnostic.c (vnotice): Kill.
2154         (fnotice): Call vfprintf directly.
2155         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
2156         verbatim, set_diagnostic_context): Rename string argument to
2157         indicate that it is run through gettext.
2158         (vbuild_message_string, build_message_string, output_do_printf):
2159         Rename string argument to indicate that it is NOT run through
2160         gettext.
2161         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
2162         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
2163         Run msgid argument through gettext.
2164         (default_print_error_function): Run constant strings through
2165         gettext when nothing else will.
2166         (fatal_error, internal_error, error_recursion): Use fnotice.
2167         Present complete sentences to gettext.
2168
2169 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
2170
2171         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
2172
2173 2001-05-23  Richard Henderson  <rth@redhat.com>
2174
2175         * function.c (expand_function_start): Always use a pseudo
2176         for the function result value.
2177
2178 2001-05-22  Richard Henderson  <rth@redhat.com>
2179
2180         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
2181         section pointer alignment.
2182
2183         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
2184
2185         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
2186         of __USER_LABEL_PREFIX__.
2187
2188 2001-05-22  Richard Henderson  <rth@redhat.com>
2189
2190         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
2191         (__deregister_frame_info_bases): New.
2192         * unwind-dw2-fde.h: Declare it.
2193         * libgcc-std.ver: Export it.
2194         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
2195         called __register_frame_info_bases.
2196
2197 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2198
2199         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
2200         instead of #elif (which is OK for this case but not in general).
2201
2202 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
2203
2204         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
2205         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
2206         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
2207         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
2208         "r2" to the assembly file. Only issue allocs with non-zero parameters.
2209
2210 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2211             David O'Brien  <obrien@freebsd.org>
2212
2213         * config/freebsd.h (LIB_SPEC): Key the exact setting to
2214         configure-time options and target version of FreeBSD.  Set-up
2215         to match architectural change in threading support.  Correctly
2216         report when -pthread option is not supported by configure-time
2217         options.
2218         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
2219         and extend to encode target version number in run-time setting
2220         of __FreeBSD__ macro to match the system compiler.
2221         (CPP_PREDEFINES): Likewise.
2222         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
2223
2224         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
2225         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
2226
2227 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2228             David O'Brien  <obrien@freebsd.org>
2229
2230         * config.gcc (the unlabeled system switch statement): Add
2231         generic configuration section to handle *-*-freebsd*.  Also,
2232         to match the system compiler, default to threading support (it
2233         may be disabled with the standard --disable-threads
2234         configuration-time switch).
2235         (i[34567]86-*-freebsd* in machine-specific section): Use it.
2236         (alpha*-*-freebsd* in machine-specific section): Likewise.
2237
2238         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
2239         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
2240         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
2241         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
2242         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
2243
2244 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
2245             David O'Brien  <obrien@freebsd.org>
2246
2247         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
2248         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
2249         -pthread instead setting macro.
2250
2251 2001-05-22  Richard Henderson  <rth@redhat.com>
2252
2253         * crtstuff.c (__register_frame_info_bases): Declare.
2254         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
2255         (__do_global_dtors_aux, __do_global_dtors): Streamline.
2256
2257         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2258         (CRT_GET_RFIB_DATA): New.
2259         * config/i386/sysv4.h: Likewise.
2260         * config/i386/sco5.h: Likewise.
2261         (ASM_PREFERRED_EH_DATA_FORMAT): New.
2262
2263 2001-05-22  Richard Henderson  <rth@redhat.com>
2264
2265         * rtl.c (read_string): Break out from ...
2266         (read_rtx): ... here.
2267
2268 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2269
2270         * doc/install.texi (Specific): Remove a bogus and duplicate part
2271         copied from the end of the document.
2272
2273 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
2274
2275         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
2276
2277 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2278
2279         * install.texi: Remove obsolete information on SunOS as well as
2280         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
2281         (Installing GNU CC on the Sun): Remove section.
2282
2283 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
2284
2285         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
2286         keep errno unchanged on success.
2287
2288 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
2289
2290         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
2291         once for hexadecimal floats, whether or not they contain a decimal
2292         point.  Don't let the setting of pedantic otherwise affect the
2293         parsing of hexadecimal floats.
2294
2295 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2296
2297         * README.ACORN: Remove obsolete file.
2298
2299 2001-05-22  Jan Hubicka  <jh@suse.cz>
2300
2301         * combine.c (gen_binary): Use swap_commutative_operands_p
2302         (simplify_comparison): Likewise.
2303         * expmed.c (emit_store_flag): Likewise.
2304         * expr.c (compare_from_rtx): Likewise.
2305         (do_compare_rtx_and_jump): Likewise.
2306         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
2307         if not emitting a branch and operands want swapping.
2308
2309 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
2310
2311         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
2312         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
2313         (maybe_get_identifier): Update.
2314         * tree.h (make_identifier): Delete.
2315
2316 2001-05-21  Richard Henderson  <rth@redhat.com>
2317
2318         * combine.c (subst): Do not substitute for a register as
2319         a destination subreg/strict_low_part/zero_extract.
2320
2321         * combine.c (simplify_comparison): Update op1 after constant
2322         extension.
2323         * recog.c (const_int_operand): Accept only constants valid
2324         for the given mode.
2325         * genrecog.c: Update comments wrt const_int_operand.
2326
2327         * emit-rtl.c (init_emit_once): Zero unused memory in a
2328         CONST_DOUBLE.
2329
2330 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
2331
2332         * tree.h (type_num_arguments): Declare it.
2333         * tree.c (type_num_arguments): New function.
2334
2335 2001-05-21  Richard Henderson  <rth@redhat.com>
2336
2337         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
2338         conditional ifdef.
2339
2340 2001-05-21  Geoff Keating  <geoffk@redhat.com>
2341
2342         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
2343         (maxsf3+1): Delete.
2344         (minsf3): Use rs6000_emit_minmax.
2345         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
2346         rs6000_emit_minmax.
2347         (movsfcc): Use rs6000_emit_cmove.
2348         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
2349         Don't generate emit_fselsfsf4.
2350         (fseldfsf4): Likewise.
2351         (maxdf3): Use rs6000_emit_minmax.
2352         (maxdf3+1): Delete.
2353         (mindf3): Use rs6000_emit_minmax.
2354         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
2355         rs6000_emit_minmax.
2356         (movdfcc): Use rs6000_emit_cmove.
2357         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
2358         Don't generate emit_fselsfsf4.
2359         (fselsfdf4): Likewise.
2360         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
2361         (min_max_operator): New predicate.
2362         (rs6000_emit_cmove): New function.
2363         (rs6000_emit_minmax): New function.
2364         * config/rs6000/rs6000-protos.h: Prototype new functions.
2365         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
2366         and min_max_operator.
2367
2368         * config/rs6000/rs6000.c (output_cbranch): Handle all
2369         conditional types in the switch statement.
2370
2371 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
2372
2373         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
2374         non-register variables.
2375         * extend.texi: Document that asm-specifications do not make sense
2376         for non-static local variables.
2377
2378 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
2379
2380         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
2381         (dbxout_type_fields): Lose minimal_debug support.
2382         (dbxout_type_methods, dbxout_type): Likewise.
2383
2384 2001-05-17  Andrew Haley  <aph@redhat.com>
2385
2386         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
2387
2388 2001-05-21  Richard Henderson  <rth@redhat.com>
2389
2390         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
2391         Update all users.
2392
2393 2001-05-20  Richard Henderson  <rth@redhat.com>
2394
2395         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
2396         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
2397         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
2398         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
2399         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
2400         Likewise.
2401         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
2402         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
2403         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
2404         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
2405         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
2406         DEBUG_PUBNAMES_SECTION): Rename as above.
2407         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
2408
2409 2001-05-20  Richard Henderson  <rth@redhat.com>
2410
2411         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
2412         operands unless the operation is commutative.
2413
2414 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2415
2416         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
2417         cases.
2418
2419 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
2420
2421         * extend.texi: Clarify documentation of extensions included in ISO
2422         C99.  Prefer C99 terminology and syntax to old GNU terminology and
2423         syntax.  Add more index entries.  Document mixed declarations and
2424         code as an extension in C89 mode.  Warn about future changes to
2425         semantics of inline functions.  Fixes PR other/930.
2426
2427 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2428
2429         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
2430         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
2431         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
2432         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
2433
2434         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
2435
2436 2001-05-20  Richard Henderson  <rth@redhat.com>
2437
2438         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
2439         to be output before a branch.
2440
2441 2001-05-20  Richard Henderson  <rth@redhat.com>
2442
2443         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
2444
2445 2001-05-20  Richard Henderson  <rth@redhat.com>
2446
2447         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
2448         (ASM_DOUBLE): Remove.
2449         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
2450         * config/i386/sun386.h: Likewise.
2451
2452         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
2453         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
2454
2455         * config/i386/cygwin.h (INT_ASM_OP): Remove.
2456         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
2457         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
2458         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
2459
2460         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
2461         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
2462         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
2463         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
2464         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
2465         * config/i386/win32.h: Likewise.
2466
2467 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2468
2469         * invoke.texi: Add more options to summary list.
2470
2471 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2472
2473         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
2474         used.  Fixes PR c/2291.
2475         * gcc.1: Regenerate.
2476
2477 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2478
2479         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
2480         the -fpic and -fPIC options, clear flag_pic.
2481
2482 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2483
2484         * hashtable.c (calc_hash): Fix HASHSTEP definition.
2485         * stringpool.c (make_identifier): No statistics here anymore.
2486         * objc-act.c (steup_string_decl): Remove redundant check.
2487
2488 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2489
2490         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
2491         cpplib.o, cpphash.o, fix-header): Update.
2492         (hashtable.o): New target.
2493         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
2494         struct c_common_identifier here.
2495         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
2496         * c-lex.c (c_lex): Update.
2497         * c-pragma.h: Update.
2498         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
2499         Delete rid_code.
2500         (C_RID_CODE): Delete.
2501         * cpphash.c: Rewrite to use hashtable.c.
2502         * cpphash.h: Update include guards.
2503         (struct cpp_reader): Remove hashtab.
2504         hash_ob and buffer_ob are no longer pointers.  Add hash_table
2505         and our_hashtable.
2506         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
2507         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
2508         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
2509         * cppinit.c (cpp_create_reader): Update.
2510         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
2511         (cpp_interpret_charconst): Eliminate warning.
2512         * cpplib.c (do_pragma, do_endif, push_conditional,
2513         cpp_push_buffer, cpp_pop_buffer): Update.
2514         (_cpp_init_stacks): Rename cpp_init_directives.
2515         (_cpp_cleanup_stacks): Remove.
2516         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
2517         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
2518          cpp_forall_identifiers, cpp_create_reader): Update.
2519         (C_RID_CODE, cpp_make_node): New.
2520         (c_common_identifier): New identifier node for C front ends.
2521         * cppmain.c (main): Update.
2522         * fix-header.c (read_scan_file): Update.
2523         * flags.h (id_clash_len): Make unsigned.
2524         * ggc.h (ggc_mark_nonnull_tree): New.
2525         * hashtable.c: New.
2526         * hashtable.h: New.
2527         * stringpool.c: Update comments and copyright.  Update to use
2528         hashtable.c.
2529         * toplev.c (approx_sqrt): Move to hashtable.c.
2530         (id_clash_len): Make unsigned.
2531         * toplev.h (ident_hash): New.
2532         * tree.c (gcc_obstack_init): Move to hashtable.c.
2533         * tree.h: Include hashtable.h.
2534         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
2535         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
2536         (struct tree_identifier): Update.
2537         (make_identifier): New.
2538 cp:
2539         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
2540         (C_RID_CODE): Remove.
2541         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
2542         (init_parse): Don't do it here.
2543 objc:
2544         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
2545
2546 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
2547
2548         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
2549         as ncessary.
2550         (expand_eh_return): Convert between word_mode and Pmode.
2551         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
2552         are the same size.
2553         (execute_stack_op): Likewise.
2554         (execute_cfa_program): Likewise.
2555         (uw_frame_state_for): Likewise.
2556         (uw_update_context_1): Likewise.
2557         * unwind.inc (_Unwind_Reason_Code): Likewise.
2558         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
2559         (EH_RETURN_STACKADJ_RTX): Likewise.
2560         * config/mips/mips.c (compute_frame_size): Make space for saving
2561         EH return registers.
2562         (mips_expand_epilogue): Handle EH stack adjustments.
2563         * config/mips/mips.md (eh_return): New pattern.
2564         (eh_set_lr_si): Likewise.
2565         (eh_set_lr_di): Likewise.
2566         Add splitter to perform EH return after reload.
2567
2568 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2569
2570         * jump.c (mark_jump_label): Tidy previous change.
2571
2572 2001-05-19  Bruce Korb  <bkorb@gnu.org>
2573
2574         * fixinc/genfixes: no need for two warnings
2575         * fixinc/Makefile.in: open stdin for those building with a closed one.
2576
2577 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2578
2579         * jump.c (jump_optimize_1): Tidy.
2580         (mark_jump_label): When changing the label in a LABEL_REF, change
2581         update any REG_EQUAL notes as well.
2582
2583 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2584
2585         * c-parse.in (parm_declarator): Split into
2586         parm_declarator_starttypename and parm_declarator_nostarttypename.
2587         (parm_declarator_starttypename, parm_declarator_nostarttypename):
2588         New.  Allow parenthesised sub-declarators which don't begin with a
2589         TYPENAME.  Fixes PR c/166.
2590
2591 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
2592
2593         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
2594         macro.
2595         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
2596         Document it.
2597         * toplev.c (main): If the target does not allow profiling without
2598         a frame pointer, issue an error message.
2599         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
2600         Define it to false.
2601
2602 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2603
2604         * recog.c (general_operand): Modify last change to allow it if reload
2605         has completed.
2606
2607 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
2608
2609         * recog.c (general_operand): Prohibit nonzero subreg bytes on
2610         subregs containing mem.
2611
2612 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
2613
2614         * regrename.c (regrename_optimize): frame pointer register can
2615         use a few hardregs.
2616
2617 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
2618
2619         * README.DWARF: Move into dwarfout.c.
2620
2621 2001-05-18  Dale Johannesen  <dalej@apple.com>
2622
2623         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
2624         specific misuse of r0 as a reload address.
2625
2626 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
2627
2628         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
2629         suceeded.
2630
2631 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2632
2633         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
2634         (add_to_sequence): Make that decision type.
2635         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
2636         (write_switch, write_cond, debug_decision_2): Likewise.
2637
2638         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
2639         for INTEGER_TYPE.
2640         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
2641         variable size.
2642
2643 2001-05-18  Stan Shebs  <shebs@apple.com>
2644
2645         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
2646         * configure: Regenerate.
2647
2648 2001-05-18  Per Bothner  <per@bothner.com>
2649
2650         Changes needed for java/jvspec.c
2651         * gcc.h (n_infiles, outfiles):  Add declarations.
2652         * gcc.c (n_infiles, outfiles):  Mske no longer static.
2653
2654 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
2655
2656         * config/pa/som.h (EXCEPTION_SECTION): Define.
2657
2658 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
2659
2660         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
2661         list.
2662         Add have_location_lists, a variable to determine whether we need a
2663         .debug_loc section or not.
2664         (enum dw_val_class): Add dw_val_class_loc_list.
2665         (dw_val_struct): Add val_loc_list.
2666         (dw_loc_list_struct): New structure, represents location lists.
2667         (new_loc_list): New function, return a new location list, given
2668         the range and location expression.
2669         (add_loc_descr_to_loc_list): New function, add a location
2670         expression to a location list, given the expression and range.
2671         (output_loc_list): New function, output a location list.
2672         (gen_internal_sym): Modified to take symbol prefix, so we can
2673         reuse it for location list symbols.
2674         (add_AT_loc_list): New function, add a location list to a DIE at
2675         the named attribute.
2676         (AT_loc_list): New function, return the location list reference
2677         for a given attribute, if it's a location list.
2678         (print_die): Handle dw_val_class_loc_list.
2679         (size_of_die): Ditto.
2680         (value_format): Ditto.
2681         (output_die): Ditto.
2682         (output_location_lists): New function, output all of the location
2683         lists for a DIE and it's children.
2684         (dwarf2out_finish): Call output_location_lists if we have location
2685         lists.
2686
2687
2688 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
2689
2690         * gcse.c (try_replace_reg): First try global replace, later try to
2691         simplify the expression.
2692
2693         * gcse.c (find_used_regs): Change calling convention; work via
2694         note_uses.
2695         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
2696
2697 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
2698
2699         Revert
2700         2001-02-09  Nick Clifton  <nickc@redhat.com>
2701         * config/arm/arm.md: Change output constraint on post inc
2702         load/store multiple patterns to be a read/write constraint.
2703
2704 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
2705
2706         * basic-block.h (struct basic_block_def): Add documentation about
2707         what a basic block is, and what the various fields are used for.
2708         * flow.c (calculate_globlal_regs_live): Add documentation about
2709         how the algorithm works, and how we know that it will terminate.
2710         Check that the the inductive assumption that guarantees
2711         termination actually holds.
2712         (mark_used_regs): Treat conditionally set registers as used.
2713         (debug_regset): Add comment.
2714         * rtl.texi (cond_exec): Add documentation.
2715
2716         * function.c (expand_function_start): Avoid creating BLKmode
2717         pseudos.
2718
2719 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
2720
2721         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
2722         DIE, even if it has no children.
2723         (dwarf2out_finish): Always output the line-number table, even if
2724         it has no content.
2725
2726 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
2727
2728         * rs6000.md (movsfcc,movdfcc): Remove NE case.
2729
2730 2001-05-17  Bruce Korb <bkorb@gnu.org>
2731
2732         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
2733         * fixinc/genfixes: emit a warning if AutoGen is out of date
2734
2735 2001-05-17  Brendan Conoboy <blc@cygnus.com>
2736             Bruce Korb <bkorb@gnu.org>
2737
2738         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
2739         found in fixinc directory.  Facilitates binary distributions.
2740
2741 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
2742
2743         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
2744         COMPLEX_TYPE.
2745
2746 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
2747
2748         * dwarf2out.c (modified_type_die): Equate qualified type to die.
2749
2750 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
2751
2752         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
2753         (simplify_subreg): Handle complex types represented as CONCAT.
2754
2755         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
2756         * rtl.h (swap_commutative_operands_p): Declare.
2757         * rtlanal.c (swap_commutative_operands_p): New.
2758         (operand_preference): New static function.
2759
2760         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
2761         (gen_binary): Likewise.
2762         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
2763         * simplify-rtx.c (simplify_gen_binary,
2764         simplify_gen_relational): Likewise.
2765
2766 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
2767
2768         * cse.c (fold_rtx): Use simplify_subreg.
2769
2770         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
2771         (simplify_gen_subreg): New.
2772         (simplify_rtx): Use simplify_subreg.
2773         * rtl.h (simplify_gen_subreg): Declare.
2774
2775 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
2776
2777         * doc/install.texi: Update Solaris information.
2778
2779         * except.h (protect_cleanup_actions): Remove it.
2780         (lang_protect_cleanup_actions): Declare it.
2781         * except.c (protect_cleanup_actions): Remove it.
2782         (lang_protect_cleanup_actions): New variable.
2783         (init_eh): Don't make protect_cleanup_actions a GC root.
2784         (expand_eh_region_and_cleanup): Call
2785         lang_protect_cleanup_actions.
2786         (output_function_exception_table): Remove unused `align'
2787         variable.
2788         * varasm.c (assemble_external): Abort if we have not yet
2789         opened the assembly output file.
2790
2791 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
2792
2793         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
2794         for eh_personality_libfunc.
2795
2796 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
2797
2798         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
2799         when calling simplify_subreg.  This is needed to allow replacing
2800         of expression of one mode by expression of different mode.
2801
2802 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
2803
2804         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
2805
2806 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
2807
2808         * expr.c (protect_from_queue): Protect against subsequent calls to
2809         emit_queue.
2810         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
2811         too clever.
2812
2813 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
2814
2815         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
2816
2817 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2818
2819         * gccbug.in (CATEGORIES): Add "bootstrap".
2820
2821 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
2822
2823         * simplify-rtx.c (simplify_subreg): Break out from ...
2824         * combine.c (combine_splify_rtx) ... here and ...
2825         * recog.c (validate_replace_rtx_1): ... here;
2826         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
2827         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
2828         (subreg_lowpart_p): ... here.
2829
2830 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
2831
2832         * stmt.c (expand_asm_operands): For inout operands, make sure
2833         the substitution of '=' for '+' makes it into the rtl.
2834
2835         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
2836         (reload_as_needed): Call update_eliminable_offsets a bit later.
2837
2838 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2839
2840         * gcc.texi (gccbug): Refer to the web pages for detailed information
2841         on GNATS.
2842
2843 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2844
2845         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
2846
2847         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
2848         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
2849         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
2850         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
2851         * cross-make: Don't set LIBGCC1.
2852         * mklibgcc.in: Delete all code for building from libgcc1.c.
2853         Always honor LIB1ASMFUNCS if set.
2854
2855         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
2856         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
2857         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
2858         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
2859         config/i386/uwin.asm, config/m68hc11/larith.asm,
2860         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
2861         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
2862         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
2863         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
2864         Delete or update references to libgcc1 in commentary.
2865
2866         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
2867         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
2868         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
2869         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
2870         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
2871         config/arm/t-semi, config/arm/t-strongarm-coff,
2872         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
2873         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
2874         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
2875         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
2876         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
2877         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
2878         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
2879         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
2880         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
2881         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
2882         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
2883         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
2884         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
2885         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
2886         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
2887         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
2888         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
2889         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
2890         config/mips/t-ultrix, config/mn10200/t-mn10200,
2891         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
2892         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
2893         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
2894         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
2895         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
2896         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
2897         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
2898         config/sparc/t-sparclite, config/sparc/t-splet,
2899         config/sparc/t-sunos41, config/sparc/t-vxsparc,
2900         config/sparc/t-vxsparc64, config/v850/t-v850:
2901         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
2902
2903         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
2904         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
2905         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
2906         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
2907         nongcc_SI_type, nongcc_word_type, or perform_*
2908         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
2909
2910         * config/i386/386bsd.h, config/i386/beos-elf.h,
2911         config/i386/linux-aout.h, config/i386/linux-oldld.h,
2912         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
2913         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
2914         Don't include i386/perform.h.
2915
2916         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
2917         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
2918         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
2919         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
2920         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
2921         config/vax/t-openbsd, config/vax/t-vax: Delete.
2922
2923         * config.gcc: Remove references to deleted files.
2924         (arm-semi-aof): Use arm/t-semi for tmake_file.
2925
2926         * gcc.texi, install.texi, invoke.texi, tm.texi:
2927         Delete or rewrite text which is no longer relevant now that
2928         libgcc1 no longer exists.
2929
2930         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
2931         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
2932
2933 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
2934         Bruce Korb <bkorb@gnu.org>
2935
2936         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
2937         initializer
2938
2939 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
2940
2941         * i386.md: Add two peepholes to clean up code generated by
2942         cmpstr* expanders.
2943
2944 2001-05-16  Richard Henderson  <rth@redhat.com>
2945
2946         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
2947         variants of non-absolute encodings.
2948
2949         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
2950
2951         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
2952         __register_frame_info_table_bases): Export.
2953
2954 2001-05-16  Richard Henderson  <rth@redhat.com>
2955
2956         * except.c (eh_data_format_name): Move to ...
2957         * dwarf2asm.c: ... here.  Use designated initializers if available.
2958         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
2959         * dwarf2asm.h: Update declarations.
2960         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
2961         ASM_PREFERRED_EH_DATA_FORMAT.
2962         (output_call_frame_info): Likewise.  Use 'L' augmentation for
2963         the LSDA encoding.
2964
2965         * unwind-dw2-fde.h (struct fde_vector): New.
2966         (struct old_object): Rename from struct object.
2967         (struct object): New.
2968         (__register_frame_info_bases): Declare.
2969         (__register_frame_info_table_bases): Declare.
2970         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
2971         * unwind-dw2-fde.c (objects): Remove.
2972         (unseen_objects, seen_objects): New.
2973         (__register_frame_info_bases): New.
2974         (__register_frame_info): Use it.
2975         (__register_frame_info_table_bases): New.
2976         (__register_frame_info_table): Use it.
2977         (__deregister_frame_info): Rewrite for changed object struct.
2978         (base_from_object, get_cie_encoding, get_fde_encoding): New.
2979         (fde_unencoded_compare): Rename from fde_compare; uninline.
2980         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
2981         (start_fde_sort): Adjust for new definition of fde_vector.
2982         (fde_insert): Likewise.
2983         (end_fde_sort): Likewise.  Select comparison function based
2984         on properties of the object.
2985         (fde_split): Take object and fde_compare_t arguments.
2986         (frame_heapsort, fde_merge): Likewise.
2987         (classify_object_over_fdes): Rename from count_fdes.  Handle
2988         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
2989         for the object.
2990         (add_fdes): Handle encoded pointers.
2991         (init_object): Rename from frame_init.  Update for new struct object.
2992         (linear_search_fdes): Rename from search_fdes.  Handle encoded
2993         pointers.
2994         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
2995         (binary_search_single_encoding_fdes): New.
2996         (binary_search_mixed_encoding_fdes): New.
2997         (search_object): New.
2998         (_Unwind_Find_FDE): Update for new struct object.  Fill in
2999         the dwarf_eh_bases.
3000         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
3001         iterating over EH data.
3002         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
3003         fde_encoding, lsda_encoding.
3004         (read_uleb128, read_sleb128): Remove.
3005         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
3006         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
3007         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
3008         pointers.
3009         * unwind-pe.h: Add "struct" to _Unwind_Context references.
3010
3011 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3012
3013         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
3014         * cpphash.c (_cpp_lookup_with_hash): Similarly.
3015         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
3016         cpp_spell_token, cpp_output_token): Similarly.
3017         * cpplib.c (lex_macro_node, do_undef, do_pragma,
3018         do_pragma_poison, parse_assertion, do_assert): Similarly.
3019         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
3020         save_parameter, _cpp_create_definition, check_trad_stringification,
3021         cpp_macro_definition): Similarly.
3022         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
3023         * c-lex.c (cb_undef, c_lex): Similarly.
3024         * fix-header.c (recognized_function): Similarly.
3025         * cpplib.h (NODE_LEN, NODE_NAME): New.
3026         (cpp_hashnode): Rename length len.
3027
3028 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
3029
3030         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
3031         GPRs.
3032
3033 2001-05-16  Andreas Jaeger  <aj@suse.de>
3034
3035         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
3036
3037         * toplev.c: Include dwarf2asm.h for prototype of
3038         dw2_output_indirect_constants.
3039
3040 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
3041
3042         * stmt.c (expand_asm_operands): Be able to offload addressof
3043         expression to memory. (PR optimization/185)
3044
3045 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
3046
3047         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
3048         applying distributive law.
3049
3050 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3051
3052         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
3053
3054         * gthr-dce.h (UNUSED): Attribute unused macro.
3055         (__gthread_key_dtor): Make arguments UNUSED.
3056         (__gthread_key_delete): Revise for compatibility with DRAFT4
3057         implementation.
3058
3059 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
3060
3061         * doc/install.texi: Update AIX information.
3062         * README.RS6000: Remove obsolete file.
3063
3064 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
3065             Nathan Sidwell  <nathan@codesourcery.com>
3066
3067         * gcc.c (give_switch): Don't write before start of string.
3068         Always append suffix.
3069
3070 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
3071
3072         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
3073         after stage3.
3074
3075 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3076
3077         * README.ALTOS: Remove obsolete file.
3078
3079 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3080
3081         * c-lex.h (save_and_forget_protocol_qualifiers,
3082         forget_protocol_qualifiers, remember_protocol_qualifiers):
3083         Remove deleted functions' prototypes.
3084
3085 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3086
3087         * c-parse.in (methodtype): New production.
3088         (methoddef, methodproto): Collapse separate '-' and '+'
3089         handlers into 1.
3090
3091 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3092
3093         * c-common.h (RID_FIRST_PQ): New.
3094         * c-parse.in (objc_pq_context): New.
3095         (objc parser): Set objc_pq_context rather than calling
3096         remember_protocol_qualifiers and forget_protocol_qualifiers.
3097         Don't call save_and_forget_protocol_qualifiers.
3098         (yylexname): Handle objc protocol qualifiers here.
3099         * stringpool.c (struct str_header): Replace with sp_hashnode.
3100         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
3101         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
3102         Allocate an IDENTIFIER_NODE for each identifier.
3103         (FORALL_STRINGS, set_identifier): Delete.
3104         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
3105         (ggc_alloc_string): Use an obstack.
3106         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
3107         * tree.h: Update comments.
3108         (set_identifier): Delete.
3109         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
3110         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
3111         remember_protocol_qualifiers): Delete.
3112
3113 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
3114
3115         * flow.c (life_analysis): After life analysis is complete, do
3116         an optional scan over insns looking for REG_LABEL notes that
3117         reference a deleted label.
3118         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
3119         before peeking at LABEL_NUSES.
3120
3121 2001-05-15  Richard Henderson  <rth@redhat.com>
3122
3123         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
3124         (_Unwind_GetTextRelBase): New.
3125
3126 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
3127
3128         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3129
3130 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
3131
3132         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
3133         so that CHOOSE_SECTION gets used.
3134
3135         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
3136         TARGET_RELOCATABLE like flag_pic for now.
3137
3138 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
3139
3140         * rs6000.md (movdi splitter): Sign extend more efficiently.
3141         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
3142         to "long long" valid on 32-bit and 64-bit hosts.
3143         (logical_operand): Cast trunc_int_for_mode return value.
3144         (rs6000_emit_move): Shift macro to encapsulate variable.
3145         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
3146         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
3147         plus_constant requires signed argument.
3148
3149 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
3150
3151         * gthr-posix.h: Make additional pthread-* functions weak.
3152
3153 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
3154
3155         * recog.c (apply_change_group): Avoid unneeded validating.
3156
3157 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
3158
3159         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
3160         (num_insns_constant): CONST_INT can be 64-bits.
3161
3162 2001-05-14  Stan Shebs  <shebs@apple.com>
3163
3164         * config/darwin.h (LIB_SPEC): Just use -lSystem.
3165         (LIBGCC_SPEC): Don't define.
3166
3167 2001-05-14  Richard Henderson  <rth@redhat.com>
3168
3169         * configure.in (gcc_cv_as_eh_frame): New test.
3170         * config.in, configure: Rebuild.
3171         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
3172
3173 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
3174
3175         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
3176         extended precision divide.
3177
3178 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
3179
3180         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
3181         for RETURNS as well.
3182
3183 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
3184
3185         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
3186         (CPP_CPU??_SIZE_TYPE): New.
3187         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
3188         (CPP_CPU_SPEC): ... here; support choosing of CPU.
3189         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
3190         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
3191         compiler.
3192         * i386.c (override_options): Add sorry about not suported modes.
3193
3194 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
3195
3196         * config/pa/som.h (NM_FLAGS): Remove.
3197         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
3198         (ASM_OUTPUT_SECTION_NAME): Remove.
3199         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
3200
3201 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
3202
3203         * regrename.c (regrename_optimize): Do not rename registers to
3204         leaf registers.
3205
3206 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
3207
3208         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
3209         contain MEMs.  Remove useless distinction about clobbering
3210         registers.
3211
3212 2001-05-13  Geoff Keating  <geoffk@redhat.com>
3213
3214         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
3215         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
3216         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
3217         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3218         (EXCEPTION_SECTION): Define.
3219
3220 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
3221
3222         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
3223         binary backward compat only.
3224         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
3225         in LIB2FUNCS.  Pass it to mklibgcc.
3226         * mklibgcc.in: Handle LIB2FUNCS_ST.
3227
3228         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
3229
3230 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
3231
3232         * tm.texi (THREAD_MODEL_SPEC): Document it.
3233         * gcc.c (main): Use it.
3234         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
3235         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
3236
3237 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3238
3239         * rtl.h (SYMBOL_REF_WEAK): New macro.
3240         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
3241         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
3242         * rtl.texi (SYMBOL_REF_WEAK): Document it.
3243         * gcc.texi: Remove wrong description.
3244
3245 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
3246
3247         * Makefile.in (STAMP): New macro.
3248         Replace all uses of `touch' with $(STAMP).
3249         * fixinc/Makefile.in: Likewise.
3250
3251 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3252
3253         * configure.in: ldopen is never in -lexc, so don't test for it.
3254         Add test for exc_resume in -lexc for Ada.
3255         * configure: Regenerated.
3256
3257 2001-05-12  Richard Henderson  <rth@redhat.com>
3258
3259         * dwarf2asm.c (size_of_encoded_value): New function.
3260         * dwarf2asm.h: Declare it.
3261         * except.c (output_function_exception_table): Align the TType
3262         array only as wide as the encoding.
3263
3264 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
3265
3266         * extend.texi: Document #pragma GCC java_exceptions.
3267
3268 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3269
3270         * c-parse.in (bison parser, init_reswords): Remove uses of
3271         doing_objc_thang.
3272         * c-tree.h (doing_objc_thang): Remove.
3273
3274 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
3275
3276         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
3277         about files not ending in newlines.
3278
3279 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3280
3281         * dwarfout.c (dwarfout_init): Add cast.
3282         * sched-deps.c (sched_analyze_insn): Remove unused vars.
3283         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
3284 cp:
3285         * method.c (build_mangled_C99_name): Remove unused prototype.
3286
3287 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
3288
3289         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
3290
3291 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
3292
3293         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
3294         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
3295
3296 2001-05-11  Richard Henderson  <rth@redhat.com>
3297
3298         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3299         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
3300         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
3301         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
3302         (dw2_output_indirect_constants): Prototype.
3303         * dwarf2out.c (dwarf2out_begin_prologue): Generate
3304         current_function_func_begin_label if we'll need it for EH.  Exit
3305         early for IA64_UNWIND_INFO.
3306         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
3307         (eh_data_format_name): Update for indirect references.
3308         (output_function_exception_table): Care for IA64_UNWIND_INFO.
3309         Handle ASM_PREFERRED_EH_DATA_FORMAT.
3310         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
3311         define HAVE_eh_return etc.
3312         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
3313         (final_end_function): Don't call output_function_exception_table.
3314         * toplev.c (compile_file): Call dw2_output_indirect_constants.
3315         (rest_of_compilation): Invoke output_function_exception_table
3316         for ia64 before assemble_end_function.
3317         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
3318         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
3319
3320         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
3321         * unwind.h: Declare them.
3322         * libgcc-std.ver: Export them.
3323         * unwind-pe.h: New file.
3324
3325         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3326
3327         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
3328         instead of "fde".
3329         (find_fde_for_dso): Extract DT_PLTGOT.
3330         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
3331         the segment and gp as well.
3332         * config/ia64/frame-ia64.c: Remove file.
3333         * config/ia64/frame-ia64.h: Remove file.
3334         * config/ia64/unwind-ia64.c: New file.
3335         * config/ia64/unwind-ia64.h: New file.
3336         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
3337         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
3338         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
3339         (ASM_PREFERRED_EH_DATA_FORMAT): New.
3340         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
3341         (IA64_UNWIND_INFO): Re-enable.
3342         (HANDLER_SECTION): Remove.
3343         (EH_RETURN_DATA_REGNO): New.
3344         * config/ia64/ia64.md (exception_receiver): Remove.
3345         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
3346         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
3347
3348 2001-05-11  Richard Henderson  <rth@redhat.com>
3349
3350         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
3351         calls and jumps to be bundled together.
3352         (ia64_reorg): Emit a break after a noreturn call that ends
3353         a function.
3354         * config/ia64/ia64.md (break_f): New.
3355
3356 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
3357
3358         * c-lex.c (lex_charconst): Convert into a simple wrapper
3359         around cpp_interpret_charconst, to which most of the code
3360         body is moved.
3361         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
3362         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
3363         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
3364         (lex): Use cpp_interpret_charconst.
3365         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
3366         hex_digit_value): New functions.
3367         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
3368         * cpplib.h (cpp_interpret_charconst): New prototype.
3369         * Makefile.in: Update.
3370
3371 2001-05-12  Dean Wakerley  <dean@wakerley.com>
3372
3373         * doc/install.texi: New file. Converted to texinfo from the HTML
3374         documentation in wwwdocs/htdocs/install.
3375
3376 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
3377
3378         * gcse.c (insert_insn_end_bb): Do not search for assignments to
3379         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
3380
3381         * toplev.c (compile_file): Move comment for opening output
3382         file to just before the code that opens the output file.
3383
3384 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
3385
3386         * regmove.c (regmove_optimize): Suppress the optimization for
3387         unchanging destination register.  Add comment above function.
3388
3389 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
3390
3391         * Makefile.in: Exterminate all references to assert.h.
3392         * cross-make: Likewise.
3393         * assert.h: Delete.
3394         * configure.in: Correct commentary.
3395         * configure: Regenerate.
3396
3397         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
3398         Remove __eprintf.
3399
3400         * config/t-freebsd, config/t-linux, config/t-linux-aout,
3401         config/t-netbsd, config/t-rtems, config/x-linux,
3402         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
3403         No need to override INSTALL_ASSERT_H.
3404
3405         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
3406         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
3407         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
3408
3409 2001-05-11  Graham Stott  <grahams@redhat.com>
3410
3411         * combine.c (simplify_comparison): Fix typo.
3412
3413 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
3414
3415         * loop.h (struct movables): Remove `num'.
3416         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
3417         Adjust call to strength_reduce.
3418         (num_unmoved_movables): New function.
3419         (move_movables): Don't set movables->num.
3420         (strength_reduce): Compute the number of instructions in the loop
3421         here, rather than in the caller.
3422         (check_dbra_loop): Always clear reversible_mem_store if there
3423         are any memory sets.
3424         (loop_regs_scan): Don't count instructions here.
3425         (count_insn_in_loop): New function.
3426
3427 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
3428
3429         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
3430
3431 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3432
3433         * c-common.c (finish_label_expr): New function, lifted from
3434         from cp/semantics.c.
3435         * c-common.h (finish_label_expr, lookup_label): New prototypes.
3436         * c-parse.in: Move 3 blocks of parser code into new functions.
3437         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
3438         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
3439         (lookup_label): Remove.
3440
3441 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
3442
3443         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
3444         FLOAT_BIT_ORDER_MISMATCH.
3445
3446 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
3447
3448         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
3449         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
3450
3451 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
3452
3453         * expr.c (emit_group_load): extract_bit_field requires a REG or
3454         MEM as an argument.
3455
3456 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
3457
3458         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
3459         a computed jump into an unconditional jump.
3460         In second hunk of code for collapsing computed and conditional jumps
3461         into unconditional jumps, reemit the jump in additional cases.
3462
3463         * jump.c (jump_optimize_1): Do not wrap the new jump target
3464         inside a LABEL_REF; gen_jump will do that automatically.
3465
3466 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
3467
3468         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
3469         contents for a SYMBOL_REF in case of floating point constants.
3470
3471 2001-05-10  DJ Delorie  <dj@redhat.com>
3472
3473         * c-common.c (combine_strings): Widen strings in a
3474         host-endian-independent way.
3475
3476 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3477
3478         * c-parse.in: Remove many shift/reduce conflicts.  Update
3479         %expect values.
3480         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
3481         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
3482         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
3483         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
3484         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
3485         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
3486         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
3487         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
3488         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
3489         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
3490         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
3491         typespec_reserved_nonattr, typespec_reserved_attr,
3492         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
3493         structsp_nonattr, components_notype, component_notype_declarator,
3494         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
3495         firstparm, setspecs_fp): New
3496         (typed_declspecs, reserved_declspecs, typed_typespecs,
3497         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
3498         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
3499         declmods_no_prefix_attr, nonempty_type_quals, structsp,
3500         type_quals): Remove.  Users updated.
3501         (initdecls, notype_initdecls, after_type_declarator,
3502         parm_declarator, notype_declarator, absdcl1, components, ivars):
3503         Don't allow attributes at the start of a declarator; include them
3504         in the production containing the declarator instead.  Always
3505         require type specifiers before trying to redeclare a typedef name.
3506         (typename): Allow for attributes but warn that they are ignored.
3507         (parmlist, firstparm, setspecs_fp): Include attributes in
3508         parmlist; suck them off the parser stack in firstparm using
3509         setspecs_fp.
3510
3511 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
3512
3513         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
3514         to determine if a block has an unconditional jump at its end.
3515
3516         * jump.c (jump_optimize_1): When converting a conditional jump
3517         to an unconditional jump, build the jump using gen_jump instead
3518         of just modify operands in-place.
3519
3520 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
3521
3522         * cppinit.c (cpp_post_options): Shut off macro expansion if
3523         -fpreprocessed.
3524         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
3525         IN_I directives only if the # is in column 1 and the directive
3526         name begins in column 2.
3527         * cppmain.c (scan_buffer): Insert a space between # and an
3528         identifier, when that identifier is a directive name.
3529
3530         * tradcpp.c (struct file_buf): Add a pointer to the next entry
3531         in the header search path.
3532         (enum node_type): Add T_INCLUDE_NEXT.
3533         (directive_table): Add entry for include_next.
3534         (do_include_next): New function.
3535         (process_include): New routine, broken out of do_include.
3536         (finclude): Insert 'nhd' argument, to be copied into
3537         next_header_dir of the new buffer.
3538         (main): Adjust to match.
3539         * gsyslimits.h, limity.h: Un-indent #include_next.
3540
3541 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3542
3543         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
3544         inclusion as a chapter of the GCC manual.
3545         * gcc.texi: Include objc.texi.
3546         * fdl.texi: Use @unnumberedsec for the addendum.
3547         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
3548
3549 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
3550
3551         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
3552
3553 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
3554
3555         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
3556         handling of two-address insns.
3557
3558 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
3559
3560         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
3561         ../binutils/nm-new instead of ../binutils/nm.
3562
3563 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
3564
3565         * i386.md (movdi splitter): Fix the splitting condition
3566         (float_extenddftf splitter): Fix mode.
3567
3568 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
3569
3570         * genrecog.c (write_switch): Avoid outputting of switch for
3571         types wider than int.
3572
3573 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
3574
3575         * reload1.c (copy_eh_notes): New function.
3576         (emit_input_reload_insns): Call it.
3577         (emit_output_reload_insns): Call it.
3578
3579 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
3580
3581         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
3582         Delete stanzas.
3583         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
3584         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
3585
3586         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
3587
3588 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3589
3590         * pa.md (interspace_jump): Revise comment.
3591         (builtin_longjmp): Block initial setup insns from delay slot of
3592         interspace branch.
3593         (builtin_setjmp_receiver): New expander to save and restore PIC
3594         register.
3595
3596         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
3597
3598 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
3599
3600         * toplev.c (compile_file): Set up the output file before we call
3601         the various initializers for the compiler.
3602
3603         * except.c (sjlj_mark_call_sites): Do not search for assignments to
3604         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
3605
3606         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
3607         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
3608
3609 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
3610
3611         * Makefile.in (tradcpp0): Correct typo in dependency list.
3612
3613 2001-05-06  Geoff Keating  <geoffk@redhat.com>
3614
3615         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
3616         the link register if we're not going to use it.
3617
3618         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
3619         (output_function_profiler): Likewise.
3620
3621 2001-05-07  Alan Modra  <amodra@one.net.au>
3622
3623         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
3624
3625 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
3626
3627         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
3628         zero-extend it.  Make abs_inc unsigned.
3629
3630         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
3631         widest mode in narrowing and widening operations.
3632
3633         * config/mips/mips.md: Sign extend CONST_INTs.
3634
3635 2001-05-06  Andreas Jaeger  <aj@suse.de>
3636
3637         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
3638         (i386 Options): Document -momit-leaf-frame-pointer.
3639
3640 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3641
3642         * c-typeck.c (internal_build_compound_expr): Check for
3643         array to pointer conversion just once.
3644
3645 2001-05-05  Richard Henderson  <rth@redhat.com>
3646
3647         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
3648
3649 2001-05-05  Richard Henderson  <rth@redhat.com>
3650
3651         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
3652         to the parent of the fixup region.
3653
3654 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
3655
3656         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
3657         "inline" keyword.
3658         * cpp.texi (__NO_INLINE): Document it.
3659
3660 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3661
3662         * cppfiles.c (struct include_file): New member err_no.
3663         (find_or_create_entry): Set it.
3664         (open_file): Don't set fds to -2.  Instead, use err_no to
3665         remember previous errors, if any.
3666
3667 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3668
3669         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
3670         between X and Y by using sequences of xgdx and xgdy.
3671
3672 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3673
3674         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
3675         of '!' for the 'D' alternative ('!' is too strong).
3676         ("*logicalsi3_silshl16"): Likewise.
3677         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
3678         ("movstrictsi"): Remove spurious '+'.
3679         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
3680         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
3681         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
3682         a reload to them.
3683
3684 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
3685
3686         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
3687
3688 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
3689
3690         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
3691         into -a.
3692
3693 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3694
3695         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
3696         TARGET_POWERPC64.
3697
3698 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3699
3700         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
3701         soft register, use ror instead of rol.
3702
3703 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3704
3705         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
3706         into account pre/post increment decrement for 68HC12.
3707         Fix other problems in replacement and fix call to reg_mentioned_p.
3708
3709 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3710
3711         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
3712         Put the soft registers in bss for 68HC12.
3713         (L_regs_d3_4): New for _.d3 and _.d4.
3714         (L_regs_d5_6): Likewise.
3715         (L_regs_d1_2): Likewise.
3716         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
3717
3718 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3719
3720         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
3721         to the pre-processor when -fshort-double is specified.
3722         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
3723
3724 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3725
3726         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
3727         (__mulsi3): Rewrite for 68HC12.
3728         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
3729         Mark 'x' constraint with earlyclobber to prevent a
3730         RELOAD_FOR_OTHER_ADDRESS to go in it.
3731         (mulhi3_m68hc12): New pattern.
3732         (mulhi3_m68hc11): Rename of mulhi3.
3733         (mulhi3): New expand for 68HC12 optimisation.
3734         (umulhisi3, mulhisi3): New patterns for 68HC12.
3735
3736 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3737
3738         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
3739         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
3740         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
3741
3742 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3743
3744         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
3745         constants cheap after reload.
3746         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
3747         are cheap.
3748         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
3749         so that gcc prefers a shift by 16.
3750         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
3751
3752 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
3753
3754         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
3755
3756 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3757
3758         * alpha.h: NULL_PTR -> NULL.
3759         * arm.c: Likewise.
3760         * arm.h: Likewise.
3761         * avr.h: Likewise.
3762         * c4x.c: Likewise.
3763         * c4x.h: Likewise.
3764         * i386.c: Likewise.
3765         * i386.md: Likewise.
3766         * i860.c: Likewise.
3767         * ia64.c: Likewise.
3768         * m68hc11.h: Likewise.
3769         * rs6000.h: Likewise.
3770         * sh.c: Likewise.
3771         * sh.h: Likewise.
3772         * sparc.h: Likewise.
3773         * v850.c: Likewise.
3774
3775         * expr.c: Likewise.
3776         * final.c: Likewise.
3777         * gcc.c: Likewise.
3778         * recog.c: Likewise.
3779
3780 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3781
3782         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
3783         `bool' parameter to `int'.
3784
3785         * hash.c (hash_lookup): Likewise.
3786
3787         * hash.h (hash_lookup): Likewise.
3788
3789         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
3790
3791 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3792
3793         * i386.c (x86_initialize_trampoline): Fix mode of constant.
3794
3795 2001-05-03  Geoff Keating  <geoffk@redhat.com>
3796
3797         * invoke.texi (i386 Options): Delete references to -malign-jumps,
3798         -malign-loops, -malign-functions.
3799         * i386.c (ix86_align_funcs): Delete.
3800         (ix86_align_loops): Delete.
3801         (ix86_align_jumps): Delete.
3802         (override_options): Mark -malign-* as obsolete.  Emulate their
3803         behaviour with the -falign-* options.  Default -falign-* from
3804         the processor table.
3805         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
3806         patch of Wed May 2 13:09:36 2001.
3807         (LOOP_ALIGN): Delete.
3808         (LOOP_ALIGN_MAX_SKIP): Delete.
3809         (LABEL_ALIGN_AFTER_BARRIER): Delete.
3810         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
3811
3812 2001-05-04  Andreas Jaeger  <aj@suse.de>
3813
3814         * except.h: Add prototype declaration for
3815         expand_builtin_init_dwarf_reg_sizes.
3816
3817 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
3818
3819         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
3820
3821 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3822
3823         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
3824         instruction.
3825         ("bitcmpqi2"): New pattern for bit-extract and test.
3826         ("bitcmphi"): New pattern for bitb/bita instructions.
3827
3828 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3829
3830         * gccbug.in: Use a temporary directory when the mktemp command is
3831         not available.
3832
3833 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3834
3835         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
3836         instead of _.d1.
3837         (INITIALIZE_TRAMPOLINE): Call it.
3838         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
3839         (TRAMPOLINE_TEMPLATE): Remove.
3840         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
3841         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
3842         Declare.
3843
3844 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3845
3846         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
3847         and crtendS.o with PIC.
3848
3849 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3850
3851         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
3852         negative numbers.
3853         (___subdi3, ___adddi3): Use x instead of y as index register.
3854         (__init_bss_section, __map_data_section): Optimize for 68HC12.
3855         (__memset, __memcpy): Likewise.
3856         (regs): Put the soft registers in bss for 68HC12.
3857         (abort): Use trap to abort for 68hc12.
3858         (__mulhi3, __mulhi32): Use emul for 68hc12.
3859         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
3860
3861 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3862
3863         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
3864         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
3865         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
3866         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
3867         Set 68HC12 min offset to -65536.
3868         (print_operand): Put parenthesis arround the operand if it refers
3869         to a symbol having the same name as a register.
3870         (m68hc11_z_replacement): When z register is replaced by its
3871         equivalent soft register, force the insn to be re-recognized.
3872         (m68hc11_check_z_replacement): Fix the test when destination is
3873         the index register and z dies in the insn.
3874         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
3875
3876 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3877
3878         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
3879         costs according to processor variant.
3880         (m68hc11_shift_cost): New function to compute shift costs.
3881         (m68hc11_rtx_costs): Define costs according to processor variant.
3882         (m6811_cost): Costs for 68HC11.
3883         (m6812_cost): Costs for 68HC12.
3884         (COSTS_N_INSNS): Remove.
3885
3886         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
3887         (DEFAULT_RTX_COSTS): Remove.
3888         (CONST_COSTS): Define costs according to OUTER_CODE.
3889         (processor_costs): New struct to define costs.
3890         (m68hc11_cost): Pointer to current costs.
3891
3892 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3893
3894         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
3895         and use m68hc11_notice_keep_cc when using leax/leay.
3896         (addhi3 split): Reject split if the insn is handled by
3897         leax/leay above.
3898         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
3899         push must be handled in a special way if the source operand uses
3900         sp as index register.
3901         (m68hc11_notice_keep_cc): New function.
3902         (m68hc11_gen_movhi): Use it when an insn changes a register but
3903         not the flags.
3904         (m68hc11_gen_movqi): Fix move for 68HC12.
3905         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
3906
3907 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3908
3909         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
3910         and don't pass operands[0] to emit_library_call_value.
3911
3912 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3913
3914         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
3915         (zero_extendsi split): Simplify and use (zero_extendhi).
3916         (*addhi3): Remove 'w' constraint since stack pointer is handled
3917         by (addhi3_sp).
3918         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
3919         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
3920         (*ashrhi3_const): Fix shift by 7.
3921         (*lshrsi3_const16): Fix template.
3922         (call, call_value): Fix constraint and predicate.
3923
3924 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3925
3926         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
3927         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
3928         (CC_REGNUM): Likewise.
3929         (*unnamed splits): Use above constants instead of hard coded numbers.
3930         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
3931         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
3932         (*return_16bit, *unnamed peepholes): Likewise.
3933
3934 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
3935
3936         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
3937         rs6000/rs6000.h twice.
3938
3939 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
3940
3941         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
3942         (CPP_SPEC): Conditionally define MSDOS and GO32.
3943         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
3944         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
3945         ignored.
3946         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
3947
3948 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3949
3950         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
3951
3952 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3953
3954         * integrate.h (struct inline_remap): Add leaf_reg_map table.
3955         * integrate.c (expand_inline_function): Use xcalloc to allocate
3956         memory.
3957         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
3958         registers.
3959
3960 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
3961
3962         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
3963         if it is not set.
3964
3965 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
3966
3967         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
3968         linker if -mrelax is given.
3969         (TARGET_SWITCHES): Document -mrelax.
3970
3971         Re-installed 2001-01-09's patch:
3972         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
3973         if it's wider than long and the target's long is wider than the
3974         host's.
3975
3976 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
3977
3978         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
3979         directly include rs6000/rs6000.h.  Instead do it in tm.h.
3980
3981 2001-05-02  Stan Shebs  <shebs@apple.com>
3982
3983         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
3984         NSConstantString for NeXT-style runtimes.
3985         (STRING_OBJECT_GLOBAL_NAME): New macro.
3986         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
3987         OCTI_STRING_CLASS_DECL.
3988         (constant_string_global_id): New macro.
3989         (string_class_decl): Ditto.
3990         (setup_string_decl): New function.
3991         (build_objc_string_object): Use it to build a NeXT runtime
3992         compatible string initializer.
3993
3994 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
3995
3996         * tradcpp.c (do_define): Make sure we don't walk past limit.
3997
3998 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3999
4000         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
4001         offsets if not REG_OK_STRICT.
4002
4003         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
4004         (INT_REG_OK_FOR_INDEX_P): Likewise.
4005         (INT_REG_OK_FOR_BASE_P): Likewise.
4006         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
4007         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
4008         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
4009         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
4010         REG_OK_FOR_BASE_P. Take an additional parameter.
4011         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
4012         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
4013         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
4014         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
4015         rs6000_legitimate_address() and use it.
4016         * config/rs6000/rs6000.c: Update all callers.
4017         (rs6000_legitimate_address): New function.
4018
4019 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
4020
4021         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
4022         special_constant conditional blocks together.
4023
4024 2001-05-02  Dale Johannesen  <dalej@apple.com>
4025
4026         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
4027         parameter.
4028         (STRICT_ARGUMENT_NAMING): Define.
4029         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
4030         function_arg_partial_nregs, setup_incoming_varargs): Remove
4031         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
4032         is defined.
4033
4034 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4035
4036         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
4037
4038         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
4039         for replacement.
4040
4041         * expr.c (store_field): Do nothing except elaborate side-effects if
4042         zero-bit field.
4043
4044 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4045
4046         * c-lex.c: NULL_PTR -> NULL.
4047         * cse.c: Likewise.
4048         * emit-rtl.c: Likewise.
4049         * gcse.c: Likewise.
4050         * genpeep.c: Likewise.
4051         * jump.c: Likewise.
4052         * mips-tdump.c: Likewise.
4053         * reload1.c: Likewise.
4054         * rtlanal.c: Likewise.
4055         * stmt.c: Likewise.
4056         * stor-layout.c: Likewise.
4057         * toplev.c: Likewise.
4058
4059 2001-05-01  Per Bothner  <per@bothner.com>
4060
4061         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
4062         call do_pending_stack_adjust before emiting label.
4063
4064 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
4065
4066         * extend.texi: Fix typo.
4067
4068 2001-05-01  Stan Shebs  <shebs@apple.com>
4069
4070         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
4071         of UOBJC_MODULES_decl.
4072         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
4073         (generate_descriptor_table): Ditto.
4074         (generate_protocols): Ditto.
4075         (generate_protocol_list): Ditto.
4076         (generate_classref_translation_entry): Ditto.
4077
4078 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
4079
4080         * invoke.texi (Optimize Options): Add documentation for `--param
4081         max-delay-slot-insn-search' and `--param
4082         max-delay-slot-live-search' and reorder --param section.
4083         * params.def: Modify initial comment.
4084         * params.h (param_info): Add `help' member.
4085         * toplev.c (lang_independent_params): Include `help' description.
4086         (display_help): Print --param parameters.
4087
4088 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
4089
4090         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
4091         Remove references to deleted files.
4092         (*-*-openbsd): No need to override xmake_file.
4093         (*-*-sysv4): Treat like *-*-sysv.
4094
4095         * configure.in: Probe for ldopen in various places, and set up
4096         collect2 to be linked with them if found.
4097         Don't dink with Windows registry stuff unless $host_os is a
4098         Win32 os name.  Check to see if we need -ladvapi32.
4099         * configure: Regenerate.
4100
4101         * Makefile: Get rid of CLIB and HOST_CLIB.
4102         Substitute in COLLECT2_LIBS and link collect2 against its contents.
4103         * build-make: Get rid of HOST_CLIB.
4104
4105         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
4106         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
4107         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
4108         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
4109         config/rs6000/x-rs6000: Delete.
4110
4111         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
4112         Don't set CLIB.
4113
4114         24 x-host fragments remain, 0 x-cpu, 3 top level.
4115
4116 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
4117
4118         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
4119         * configure: Regenerate.
4120
4121 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
4122
4123         * Makefile.in (install-headers): Remove redundant dependency.
4124
4125 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
4126
4127         * c-tree.texi (USING_STMT): Document.
4128
4129 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4130
4131         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
4132         * c-common.c: Likewise.
4133         * c-decl.c: Likewise.
4134         * combine.c: Likewise.
4135         * rs6000.c: Likewise.
4136         * except.c: Likewise.
4137         * explow.c: Likewise.
4138         * expr.c: Likewise.
4139         * fold-const.c: Likewise.
4140         * function.c: Likewise.
4141         * gcc.c: Likewise.
4142         * gcse.c: Likewise.
4143         * integrate.c: Likewise.
4144         * loop.c: Likewise.
4145         * objc/objc-act.c: Likewise.
4146         * recog.c: Likewise.
4147         * reg-stack.c: Likewise.
4148         * reload.c: Likewise.
4149         * reload1.c: Likewise.
4150         * simplify-rtx.c: Likewise.
4151         * stmt.c: Likewise.
4152         * varasm.c: Likewise.
4153
4154 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
4155
4156         * diagnostic.def: New file.
4157         * diagnostic.h (diagnostic_t): New enum.
4158         * Makefile.in (diagnostic.o): Depend on diagnostic.def
4159
4160 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
4161
4162         * tsystem.h: Test only POSIX for availability of string.h
4163         and time.h.
4164         * config.gcc (all systems): If USG appeared in xm_defines,
4165         change it to POSIX.  If both USG and POSIX appeared, just
4166         delete USG. Remove unnecessary quotes around xm_defines
4167         settings.
4168         (m68k-crds-unos*): Don't #define unos - tested nowhere.
4169         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
4170         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
4171         powerpc-*-linux*): No need to set xm_defines - handled by
4172         global settings for *-*-linux*.
4173
4174 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
4175
4176         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
4177         Always include gstab.h, not system stab.h.  Don't provide
4178         default definitions of N_CATCH or N_OPT.  Always use the
4179         gstab.h variant of STAB_CODE_TYPE.
4180         * final.c: Don't include stab.h/gstab.h at all, or provide
4181         defaults for N_SLINE and N_SOL.
4182
4183         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
4184         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
4185         available.
4186         * sdbout.c: Always include gsyms.h instead of system syms.h.
4187
4188         * configure.in: No need to check for stab.h.
4189         * configure, config.in: Regenerate.
4190         * Makefile.in (final.o): Don't depend on gstab.h.
4191
4192 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
4193             Richard Henderson  <rth@redhat.com>
4194
4195         * extend.texi: Improve documentation of volatile asms.
4196
4197 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
4198
4199         * c-tree.texi: Fix thinko.
4200         * gcc.texi: Likewise.
4201
4202 2001-04-30  Richard Henderson  <rth@redhat.com>
4203
4204         * c-common.c (c_promoting_integer_type_p): New function, from the
4205         corpse of old macro.  Properly promote too-small enumerations and
4206         booleans.  Adjust all callers.
4207         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
4208         (c_promoting_integer_type_p): Declare.
4209         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
4210         * c-typeck.c: Likewise.
4211         (default_conversion): Remove now redundant boolean check.
4212
4213 2001-04-30  Jan Hubicka  <jh@suse.cz>
4214             Richard Henderson  <rth@redhat.com>
4215
4216         * regmove.c (try_apply_stack_adjustment): Remove now redundant
4217         sanity checks.
4218         (combine_stack_adjustments_for_block): Don't combine stack
4219         allocation followed by deallocations.  Handle grow-up stacks.
4220
4221 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
4222
4223         * fdl.texi: New file.
4224         * c-tree.texi: Use the GFDL.
4225         * gcc.texi: Likewise.
4226
4227 2001-04-30  Stan Shebs  <shebs@apple.com>
4228
4229         * invoke.texi: Add a section documenting Objective-C options.
4230
4231 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
4232
4233         * emit-rtl.c (try_split):  Copy EH notes to sequence.
4234
4235 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
4236
4237         * regmove.c (record_stack_memrefs): Catch all references to the
4238         stack pointer.
4239
4240 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
4241
4242         * Makefile.in (stmp-fixinc): quote shell assignment values
4243
4244 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4245
4246         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
4247
4248         * gcc.c: Likewise.
4249
4250         * prefix.c: Likewise.
4251
4252 2001-04-28  Stan Shebs  <shebs@apple.com>
4253
4254         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
4255         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
4256         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
4257         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
4258
4259         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
4260         (NEXT_OBJC_RUNTIME): Define.
4261
4262 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
4263
4264         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
4265         * simplify-rtx.c (simplify_gen_relational): Likewise.
4266
4267         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
4268
4269         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
4270         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
4271
4272         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
4273         registers in SSE case; fix handling of the immediates.
4274         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
4275         operands to be in regsiters before reload.
4276         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
4277         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
4278         (abstf,absxf,negtf,negxf splitters): Compute
4279         properly the regnum for x86_64.
4280         (avsdf2_if_rex64): New.
4281
4282 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
4283
4284         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
4285         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
4286         into the constant pool.
4287         * jump.c (jump_optimize_1): Remove barrier successors after all
4288         the LABEL_NUSES counds have been computed.
4289         (delete_barrier_successors): When deleting a tablejump insn, also
4290         delete the jump table it uses.
4291         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
4292         label into memory.
4293
4294 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
4295
4296         * pa.c (FRP): Remove erroneous white space in macro definition.
4297
4298 2001-04-28  Andreas Jaeger  <aj@suse.de>
4299
4300         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
4301         appropriate.
4302         * extend.texi: Likewise.
4303         * tm.texi: Likewise.
4304
4305 2001-04-28  Andreas Jaeger  <aj@suse.de>
4306
4307         * md.texi: Use XX-bit instead of XXbit or XX bit where
4308         appropriate.
4309
4310 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
4311
4312         * gcc.c (process_command): Allow -l lib in addition to -llib
4313         for POSIX compliance. This fixes PR c/2347.
4314
4315         * invoke.texi: Update section on Link Options accordingly.
4316
4317 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
4318
4319         * function.c (purge_addressof_1): Remove the duplicate
4320         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
4321         blocks together.
4322
4323 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
4324
4325         * except.c (expand_eh_region_start): Don't start a new block.
4326         (expand_eh_region_end): Don't end a block.
4327         * stmt.c (expand_end_bindings): Don't end EH blocks.
4328         (expand_decl_cleanup): Starting an EH region won't change the block.
4329         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
4330         (is_eh_region): Lose.
4331         * tree.h: Adjust.
4332
4333 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
4334
4335         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
4336
4337         * collect2.c (main): Add `-L' case to remove duplicate entries.
4338         (is_in_args): New function to check for a duplicate argument.
4339         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
4340         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
4341         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
4342         Define to be nonzero.
4343
4344 2001-04-27  Andreas Jaeger  <aj@suse.de>
4345             Richard Henderson  <rth@redhat.com>
4346
4347         * md.texi (Machine Constraints): Document additional i386
4348         constraints and fix description of "A".
4349
4350 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
4351
4352         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
4353
4354 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
4355
4356         * except.c (get_exception_filter): word_mode, not Pmode.
4357
4358 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
4359
4360         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
4361         common to other movsf patterns.  Move up so that in future
4362         people who change the other patterns will change it too.
4363         (movsf_lo_sum): Allow even for soft-float; add appropriate
4364         constraints.
4365         (movsf_high): Likewise.
4366         (movsf_high+1): Allow even for soft-float.
4367
4368         * function.c (expand_function_end): Always clobber the
4369         return registers, even if there is no return label.
4370
4371 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
4372
4373         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
4374
4375 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
4376
4377         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
4378         (pushqi2_rex64, pushhi2_rex64): Add.
4379
4380 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
4381
4382         * except.c (expand_eh_region_end_cleanup): Force pending stack
4383         adjust before emitting label that branches around cleanup code.
4384
4385 2001-04-26  H.J. Lu  (hjl@gnu.org)
4386
4387         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
4388
4389         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
4390         define.
4391         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
4392         (ASM_OUTPUT_SECTION_NAME): Likewise.
4393         (ASM_WEAKEN_LABEL): Likewise.
4394         (UNIQUE_SECTION): Likewise.
4395         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
4396         (ASM_OUTPUT_DESTRUCTOR): Likewise.
4397         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
4398         (ASM_OUTPUT_SECTION_NAME): Likewise.
4399         (ASM_WEAKEN_LABEL): Likewise.
4400         (UNIQUE_SECTION): Likewise.
4401         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
4402         (ASM_OUTPUT_DESTRUCTOR): Likewise.
4403         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
4404         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
4405         (ASM_FILE_START): Likewise.
4406         (ASM_OUTPUT_SOURCE_LINE): Likewise.
4407         (ASM_DECLARE_OBJECT_NAME): Likewise.
4408         (ASM_FILE_END): Likewise.
4409         (ASM_DECLARE_FUNCTION_NAME): Likewise.
4410         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
4411         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4412         (ASM_OUTPUT_CASE_LABEL): Likewise.
4413         (ASM_OUTPUT_SKIP): Likewise.
4414         (ASM_OUTPUT_ASCII): Likewise.
4415         (ASM_OUTPUT_IDENT): Likewise.
4416         (READONLY_DATA_SECTION): Likewise.
4417         (EXTRA_SECTIONS): Likewise.
4418         (EXTRA_SECTION_FUNCTIONS): Likewise.
4419         (SELECT_RTX_SECTION): Likewise.
4420         (SELECT_SECTION): Likewise.
4421
4422         * config/mips/linux.h (INVOKE__main): Undefine.
4423         (CTOR_LIST_BEGIN): Likewise.
4424         (CTOR_LIST_END): Likewise.
4425         (DTOR_LIST_BEGIN): Likewise.
4426         (DTOR_LIST_END): Likewise.
4427         (SET_ASM_OP): Defined it to ".dummy".
4428         (ASM_OUTPUT_DEF): Defined.
4429         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
4430
4431 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
4432
4433         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
4434         assembler supports .p2align.
4435
4436 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
4437
4438         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
4439
4440 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
4441
4442         * integrate.c (expand_inline_function): Check for error_mark_node
4443         in actual argument.
4444
4445 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
4446
4447         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
4448         -m386 and -m486.
4449
4450 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
4451
4452         * configure.in (configargs.h): Define thread_model.
4453         * configure: Rebuilt.
4454         * gcc.c (main): Print it with -v.
4455
4456 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
4457
4458         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
4459         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
4460         * gcc.1: Regenerate.
4461
4462 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4463
4464         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
4465         is_redundant_typedef): Use static inline instead of inline static.
4466
4467 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
4468
4469         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
4470         this directory is always searched.
4471
4472 2001-04-25  Richard Henderson  <rth@redhat.com>
4473
4474         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
4475         of registers to restore along non eh_return path.
4476
4477 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4478
4479         * c-format.c (check_format_info_recurse): Handle
4480         PLUS_EXPR for format string.
4481
4482 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4483
4484         * config/ia64/ia64.h (CC1_SPEC): Define.
4485         * config/ia64/linux.h (CC1_SPEC): Define.
4486
4487 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
4488
4489         * emit-rtl.c (constant_subword): Also do sign extension in
4490         BITS_PER_WORD == 16 case.
4491
4492 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
4493
4494         * loop.c (try_swap_copy_prop): Go back to checking insn.
4495
4496 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4497
4498         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
4499         if check_mode is non-zero.
4500
4501 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
4502
4503         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
4504         out and comparison sequence has been detected, put result into
4505         proper temporary pseudo.
4506
4507 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
4508
4509         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
4510         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
4511         * libgcc2.c: Remove __dummy and __builtin_saveregs.
4512         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
4513         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
4514         for future reference.
4515
4516 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
4517
4518         * except.c (reachable_handlers): Step out one level from a RESX.
4519
4520         * except.c (struct eh_region): Rename 'last' to 'resume'.
4521         (mark_eh_region, duplicate_eh_region_1): Adjust.
4522         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
4523         (build_post_landing_pads): Likewise.
4524         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
4525         (expand_eh_region_end_must_not_throw): Likewise.
4526         (connect_post_landing_pads): Thread (only) regions with non-deleted
4527         resume insns.
4528
4529         * except.c (expand_eh_region_end_cleanup): Save the EH return data
4530         registers around the cleanup.
4531         (get_exception_filter): New fn.
4532         (finish_eh_generation): Use it.
4533
4534 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
4535
4536         * c-semantics.c (add_scope_stmt): Don't call
4537         current_scope_stmt_stack multiple times.
4538
4539 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
4540             Nathan Sidwell <nathan@codesourcery.com>
4541
4542         Lazy __FUNCTION__ generation.
4543         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
4544         RID_C99_FUNCTION_NAME): New _RIDs.
4545         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
4546         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
4547         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
4548         global tree slots.
4549         (function_id_node, pretty_function_id_node, func_id_node): Remove.
4550         (c99_function_name_decl_node, function_name_decl_node,
4551         pretty_function_name_decl_node, saved_function_name_decls):
4552         Declare.
4553         (struct language_function): Remove x_function_name_declared_p.
4554         (make_fname_decl): Remove a parameter.
4555         (declare_function_names): Remove prototype.
4556         (start_fname_decls, finish_fname_decls): Prototype.
4557         (fname_as_string): Likewise.
4558         (fname_string, fname_decl): Likewise.
4559         * c-common.c (make_fname_decl): Adjust.
4560         (struct fname_var_t): New struct.
4561         (fname_vars): New static array.
4562         (declare_function_name): Remove.
4563         (start_fname_decls, finish_fname_decls): New functions.
4564         (fname_as_string): New function from remnants of
4565         declare_function_name.
4566         (fname_string, fname_decl): New functions.
4567
4568         * c-decl.c (c_function_name_declared_p): Remove.
4569         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
4570         don't call declare_function_name. Call start_fname_decls.
4571         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
4572         clobber the line number. Call finish_decl.
4573         (start_function): Call start_fname_decls.
4574         (finish_function): Call finish_fname_decls.
4575         Remove c_function_name_declared_p.
4576         (push_c_function_context): Don't push c_function_name_declared_p.
4577         (pop_c_function_context): Don't pop c_function_name_declared_p.
4578         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
4579         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
4580         (program): Call finish_fname_decls for C.
4581         (primary): Add VAR_FUNC_NAME.
4582         (reswords): Add slots for __FUNCTION__ et al.
4583         (rid_to_yy): Add mappings for __FUNCTION__ et al.
4584         (yylexname): If it's a STRING_FUNC_NAME generate the function name
4585         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
4586         * c-semantics.c (prune_unused_decls): Remove.
4587         (finish_stmt_tree): Don't call prune_unused_decls.
4588         (genrtl_decl_stmt): Don't prune unused decls here.
4589
4590 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
4591
4592         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
4593         constant pool, use the pool's SYMBOL_REF instead.
4594
4595         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
4596         v850e.
4597
4598 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
4599
4600         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
4601         passing nested NOP_EXPRs to fold.
4602
4603 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
4604
4605         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
4606
4607 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
4608
4609         * loop.c (loop_delete_insns): Add prototype.
4610
4611 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
4612
4613         * configure.in:  Remove ENABLE_STD_NAMESPACE.
4614         * config.in:  Regenerated.
4615         * configure:  Regenerated.
4616
4617 2001-04-22  Stan Shebs  <shebs@apple.com>
4618
4619         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
4620         into xm_defines.
4621         * config/rs6000/xm-darwin.h: Remove file.
4622
4623 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4624
4625         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
4626         (write_c_file_stat): Likewise.
4627
4628         * dbxout.c (dbxout_init): Likewise.
4629
4630         * profile.c (output_func_start_profiler): Likewise.
4631
4632 2001-04-22  Philipp Thomas  <pthomas@suse.de>
4633
4634         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
4635         require it instead of the CVS version.
4636         * cpperror.c (v_message): Put a blank before the macro
4637         body to not confuse exgettext.
4638
4639 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
4640
4641         * flow.c (proagate_one_insn): Remove useless assignment.
4642         * jump.c (delete_insn): Tidy.
4643         * loop.c (try_copy_prop): When deleting an instruction with a
4644         REG_RETVAL note, delete the entire libcall sequence.
4645         (loop_delete_insns): New function.
4646         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
4647         we're not substituting into them yet.
4648
4649 2001-04-21  Kazu Hirata  <kazu@hxi.com>
4650
4651         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
4652
4653         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
4654         Fix a comment typo.
4655         * config/i960/i960.c (signed_arith_operand): Likewise.
4656
4657         * calls.c (expand_call): Fix a comment typo.
4658
4659 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
4660
4661         * configure.in: Probe for times, clock, struct tms, and clock_t.
4662         * configure, config.in: Regenerate.
4663         * timevar.c: Replace ifdef forest in get_time with (relatively)
4664         straightforward series of checks based on autoconf's probes.
4665
4666 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
4667
4668         * config/pa/som.h (NM_FLAGS): Define.
4669
4670 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
4671
4672         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
4673         function.
4674         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
4675         * ia64.c (nop_cycles_until): New function.
4676         (prev_cycle, prev_first, last_issued): New static variables.
4677         (ia64_sched_reorder): Additional arg for clock.
4678         On final scheduling pass, emit extra NOPs as needed.
4679         Set prev_first and prev_cycle.
4680         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
4681         (ia64_variable_issue): Set last_issued.
4682
4683 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
4684
4685         * config/i386/i386.c (ix86_expand_int_movcc,
4686         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
4687
4688 2001-04-20  Geoff Keating  <geoffk@redhat.com>
4689
4690         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
4691         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
4692         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
4693         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
4694         ctrdi_internal6): In the short-branch case, this insn is only 4
4695         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
4696
4697 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
4698
4699         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
4700         "=u" is used together with "st" resp. "st(1)" clobber.
4701
4702 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
4703
4704         * gcse.c (gcse_main): Fix comment typo.
4705         (delete_null_pointer_check): Likewise.
4706         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
4707         * cse.c (cse_insn): Likewise.
4708         * function.c (fixup_var_refs_insns_with_hash): The sequence is
4709         toplevel.
4710
4711 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
4712
4713         * toplev.c: Excise all code for the undocumented -dm option.
4714         (float_signal): Call signal just once, unconditionally.
4715
4716 2001-04-19  Geoff Keating  <geoffk@redhat.com>
4717
4718         * fold-const.c (fold): Use first_rtl_op rather than
4719         TREE_CODE_LENGTH when looping over parameters of a tree.
4720         Correct strange grouping in test for evaluated SAVE_EXPR.
4721
4722 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
4723
4724         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
4725         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
4726
4727         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
4728         name at 32 total characters.
4729         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
4730         functions in named sections -- data items can still go into unique
4731         sections, but they have normal names (ie $LIT$ and $DATA$).
4732
4733         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
4734         INIT_PRIORITY.
4735
4736 2001-04-19 DJ Delorie  <dj@redhat.com>
4737
4738         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
4739         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
4740         * config/i386/cygwin.h: Likewise.
4741         * config/i386/mingw32.h: Likewise.
4742         * config/vax/vms.h: Likewise.
4743         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
4744
4745         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
4746         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
4747         * config/i386/xm-cygwin.h: Likewise.
4748         * config/i386/xm-djgpp.h: Likewise.
4749         * config/i386/xm-mingw32.h: Likewise.
4750         * config/vax/xm-vms.h: Likewise.
4751
4752         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
4753         instead of OBJECT_SUFFIX.
4754         * collect2.c (find_a_file): Look for files matching the extension
4755         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
4756         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
4757         TARGET_EXECUTABLE_SUFFIX.
4758         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
4759         (make_relative_prefix): Likewise.
4760         (convert_filename): Use TARGET_ suffixes throughout.  Remove
4761         NO_AUTO_EXE_SUFFIX.
4762         (process_command): Likewise.
4763         (do_spec_1): Likewise.
4764         * java/lang.c (init_parse): Likewise.
4765
4766         * gcc.texi : Document four new options matching the pattern
4767         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
4768         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
4769         documentation for NO_AUTO_EXE_SUFFIX.
4770
4771 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
4772
4773         * toplev.h (struct lang_hooks): Allow decode_option to indicate
4774         that language-independent processing should not be done.
4775         * toplev.c (main): Adjust accordingly.
4776
4777         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
4778         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
4779
4780         * mips.md (reload_outputdi): Require that operand0 be a
4781         general_operand.
4782
4783 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
4784
4785         * invoke.texi (-Wshadow): Clarify.
4786
4787 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
4788
4789         * loop.c (load_mems): Examine all the instructions in the loop
4790         before concluding that all jumps branch to the first instruction
4791         after the loop.
4792
4793 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
4794
4795         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
4796
4797 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
4798
4799         * cpp.texi (-Wwhite-space): Remove.
4800         (-Wall): -Wall does not imply -Wwhite-space.
4801
4802 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
4803
4804         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
4805         use it instead of blindly generating a .stabs.
4806         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
4807         in the right place.
4808         * xcoffout.c: Don't bother defining default for N_CATCH.
4809         (UNKNOWN_STAB): Use internal_error.
4810         (stab_to_sclass): Remove now-unnecessary aborts.
4811         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
4812
4813 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
4814
4815         * jump.c (mark_all_labels): Canonicalize the tail recursion
4816         label attached to CALL_PLACEHOLDER insns.
4817
4818 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4819
4820         * output.h (dump_flow_info, free_basic_block_vars,
4821         which_alternative): Delete redundant prototypes.
4822
4823         * rtl.h (bss_section): Likewise.
4824
4825 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
4826
4827         * dbxout.c (N_OPT): Define if not available from <stab.h>
4828
4829 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4830
4831         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
4832         libraries and native K&R compilers.
4833
4834 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4835
4836         * c-typeck.c (convert_arguments): Don't check for width changes
4837         with -Wtraditional.
4838
4839         * invoke.texi (-Wtraditional): Update documentation.
4840
4841 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
4842
4843         * toplev.c (output_lang_identify): Delete.
4844         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
4845         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
4846         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
4847         after calling ASM_FILE_END.
4848
4849         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
4850         Instead, unconditionally emit an N_OPT stab with string equal
4851         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
4852
4853         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
4854
4855         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
4856         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
4857         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
4858         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
4859         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
4860         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
4861         config/i370/i370.h, config/i386/beos-elf.h,
4862         config/i386/osf1elf.h, config/i386/osfrose.h,
4863         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
4864         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
4865         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
4866         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
4867         config/mips/iris6.h, config/mips/osfrose.h,
4868         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
4869         config/sparc/sp64-elf.h:
4870         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
4871         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
4872
4873         * config/elfos.h, config/freebsd.h, config/linux.h,
4874         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
4875         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
4876         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
4877         of ASM_FILE_START which merely emit a .version directive.  Delete
4878         definitions of ASM_FILE_END which merely emit an .ident directive.
4879
4880         * config/avr/avr.h, config/vax/vax.h: Delete definition of
4881         ASM_IDENTIFY_GCC and move part of its logic into
4882         ASM_FILE_START.
4883
4884         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
4885         config/sparc/linux-aout.h: Don't emit .version directive in
4886         ASM_FILE_START.
4887
4888         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
4889         (output_file_start): Correct comment.
4890
4891         * config/i386/osfrose.h: Don't emit trailing .ident directive.
4892         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
4893         to match gdb.
4894         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
4895         * config/rs6000/aix.h: Correct comment.
4896
4897         * config/i386/i386afe.h: Delete.
4898         * config.gcc: Remove references to i386afe.h.
4899
4900         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
4901         other macros deleted by this patch were undocumented.
4902
4903 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
4904
4905         * pa.md (reload_outdi): Operand 0 must be a non hard register.
4906
4907         * pa.c (secondary_reload_class): SAR<->FP copies require a
4908         secondary register.
4909
4910         * install.texi (mips-mips-bsd): Update list of functions
4911         required to include memmove.
4912         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
4913         used functions to include memmove.
4914
4915 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
4916
4917         * i386.md (sqrtdf2): SFmode should be DFmode.
4918
4919 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
4920
4921         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
4922         (find_moveable_store): Likewise.
4923
4924 2001-04-15  Jim Wilson  <wilson@redhat.com>
4925
4926         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
4927
4928 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
4929
4930         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
4931         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
4932
4933 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
4934
4935         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
4936         first alternative.
4937
4938 2001-04-14  Alan Modra  <amodra@one.net.au>
4939
4940         * pa.c (force_mode): New function.
4941         (emit_move_sequence): Use it instead of generating new rtx_REGs.
4942
4943 2001-04-13  Jim Wilson  <wilson@redhat.com>
4944
4945         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
4946         (first_instruction): New static variable.
4947         (rtx_needs_barrier): Return 1 for alloc.
4948         (init_insn_group_barriers): Set first_instruction.
4949         (rws_sum): Delete duplicate definition.
4950         (group_barrier_needed_p): Return 0 when first_instruction true.
4951         (safe_group_barrier_needed_p): Save and restore first_instruction
4952         around group_barrier_needed_p call.
4953
4954 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
4955
4956         * expr.h (enum libfunc_index): Add LTI_memmove.
4957         (memmove_libfunc): Define macro.
4958         * optabs.c (init_optabs): Initialize memmove_libfunc.
4959         * expr.c (expand_assignment): Use memmove_libfunc instead of
4960         memcpy_libfunc.
4961
4962 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
4963
4964         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
4965         fp mode addresses.
4966
4967 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4968
4969         * Makefile.in (reg-stack.o): Depend on reload.h.
4970         (insn-attrtab.o): Depend on flags.h.
4971
4972         * genattrtab (main): Include flags.h in insn-attrtab.c.
4973
4974         * reg-stack.c: Include reload.h.
4975
4976         * sparc.h (flag_pic): Delete redundant declaration.
4977
4978         * output.h (flag_pic): Likewise.
4979
4980         * tree.h (pedantic): Likewise.
4981
4982 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4983
4984         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
4985
4986         * jump.c, regmove.c, toplev.c: Include reload.h.
4987
4988         * reload.h (reload_cse_regs): Declare.
4989
4990         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
4991         reload_cse_regs, init_reload, mark_home_live, reload,
4992         init_caller_save): Delete redundant prototypes.
4993
4994 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4995
4996         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
4997
4998         * regclass.c, ssa.c: Include expr.h.
4999
5000         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
5001         gen_move_insn): Delete redundant declarations.
5002
5003 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5004
5005         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
5006         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
5007         MAKEINFO and MAKEINFOFLAGS too.
5008         (stage4_build): Correctly order -B flags.
5009
5010 2001-04-13  Alan Modra  <amodra@one.net.au>
5011
5012         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
5013         PIC_OFFSET_TABLE_SAVE_RTX.
5014         (zdepi_cint_p): Describe zdepi insn.
5015         Formatting and white space fixes throughout file.
5016
5017         * pa.c (uint32_operand): Don't use long constant >= 2^32.
5018         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
5019         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
5020         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
5021         (output_64bit_and): Use plain `int's for shift counts.
5022         (output_64bit_ior): Likewise.
5023         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
5024         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
5025         `N', and simplify.
5026
5027         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
5028         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
5029         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
5030         NEW_HP_ASSEMBLER into one.  Kill warnings.
5031
5032         * pa-gas.h: Delete file.
5033         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
5034         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
5035         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
5036         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
5037
5038         * config/pa/mill32.S: New file.
5039         * config/pa/mill64.S: New file.
5040         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
5041         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
5042         * config/pa/t-linux64: New file.
5043         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
5044         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
5045         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
5046
5047         * elfos.h (SELECT_SECTION): Undef before defining.
5048         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
5049         (LIB_SPEC): Remove -lmilli.
5050         (DBX_REGISTER_NUMBER): Remove.
5051         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5052         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
5053         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
5054         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5055         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
5056         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
5057         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
5058         TARGET_GAS): Define.
5059         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
5060         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
5061         regs if we don't have a prototype.
5062         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
5063         * pa.h (TARGET_ELF32): Default to 0 if undefined.
5064         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
5065         EH_RETURN_HANDLER_RTX): Define.
5066         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
5067         (DWARF_FRAME_REGNUM): Define.
5068         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
5069         * pa32-linux.h: New file.
5070         * pa64-linux.h: New file.
5071
5072         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
5073         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
5074         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
5075         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
5076         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
5077         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
5078         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
5079         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
5080         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
5081         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
5082         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
5083         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
5084         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
5085         * pa64-hpux.h: New file.
5086         (ASM_FILE_START): Correct typo.
5087         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
5088         * config.gcc: Modify for above.
5089
5090 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
5091
5092         * jump.c (jump_optimize_1): Don't delete dead stores here.
5093         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
5094         prior to running jump optimize before cse2.
5095
5096 2001-04-12  Richard Henderson  <rth@redhat.com>
5097
5098         * Makefile.in (regmove.o): Depend on except.h.
5099         * regmove.c: Include it.
5100
5101 2001-04-12  Stan Shebs  <shebs@apple.com>
5102
5103         * objc/objc-act.c: Remove all code ifdefed with the never-used
5104         macro OBJC_INT_SELECTORS.
5105         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
5106         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
5107
5108 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
5109
5110         * config/pa/quadlib.c: Add prototypes.
5111
5112 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5113
5114         * bitmap.h (debug_bitmap): Delete redundant prototype.
5115
5116         * rtl.h (get_frame_size): Likewise.
5117
5118 2001-04-12  Jim Wilson  <wilson@redhat.com>
5119
5120         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
5121         to just emit an fnorm.
5122
5123 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5124
5125         * c-common.h (truthvalue_conversion, type_for_mode,
5126         type_for_size): Delete redundant declarations.
5127
5128         * c-lex.h (is_class_name): Likewise.
5129
5130         * c-tree.h (pedantic, convert, getdecls, gettags,
5131         global_bindings_p, init_decl_processing, insert_block,
5132         maybe_build_cleanup, poplevel, print_lang_decl,
5133         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
5134         set_block, incomplete_type_error, build_function_call,
5135         lvalue_or_else, mark_addressable): Likewise.
5136
5137         * expr.h (expand_tree_builtin): Likewise.
5138
5139 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
5140
5141         * invoke.texi: Document --param max-gcse-memory.
5142
5143 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5144
5145         * configure.in (errno): Check for declaration.
5146         * configure, config.in: Regenerated.
5147
5148         * system.h (errno): Only declare if not already done.
5149
5150 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
5151
5152         * recog.c (general_operand, immediate_operand,
5153         nonmemory_operand): Require CONST_INTs to be sign-extended
5154         values for their modes.
5155
5156 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
5157
5158         * expmed.c (store_bit_field): Truncate CONST_INTs.
5159         (expand_mult_highpart, expand_divmod): Likewise.
5160         * expr.c (convert_modes, store_field): Likewise.
5161         * integrate.c (expand_inline_function): Use promote_mode() to
5162         determine whether to convert_modes() an argument as signed
5163         or unsigned.
5164         * optabs.c (expand_binop): Get CONST_INT operands
5165         sign-extended for their appropriate modes.
5166         * stmt.c (emit_case_nodes): Convert node values to the
5167         appropriate mode.
5168         (expand_end_case): Convert minval and range to the appropriate
5169         mode.
5170         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
5171         the iteration variable.
5172         * varasm.c (immed_double_const): Don't require words to be
5173         narrower than host wide ints to properly sign-extend
5174         CONST_INTs.
5175
5176 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
5177
5178         * sh.md (builtin_setjmp_receiver): New expander.
5179
5180 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
5181
5182         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
5183         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
5184         for generating CONST_INT and CONST_DOUBLE.
5185
5186 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
5187
5188         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
5189         already sign-extended.
5190         (rs6000_emit_prologue): Make register iterator signed.
5191         (rs6000_emit_epilogue): Likewise.
5192         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
5193         and low.
5194         (movsf split, movdf split): Sign-extend CONST_INTs.
5195         (movdi splits): Likewise.
5196
5197 2001-04-12  Kelley Cook <kelley.cook@home.com>
5198
5199         * config-lang.in (lang_dirs): Add in zlib.
5200
5201 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
5202
5203         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
5204         operands that make it to RTL.
5205
5206 2001-04-11  Stan Shebs  <shebs@apple.com>
5207
5208         Add Darwin (Mac OS X kernel) native support.
5209         * config.gcc (powerpc-*-darwin*): Add native bits.
5210         * config/darwin.c: New file, generic Darwin support functions.
5211         * config/darwin.h: New file, generic Darwin definitions.
5212         * config/darwin-protos.h: New file, generic Darwin prototypes.
5213         * rs6000/darwin.h: New file, Darwin for PowerPC.
5214         * rs6000/t-darwin: New file, Darwin makefile fragment.
5215         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
5216         (TARGET_MACHO): Ditto.
5217         (rs6000_abi): Add ABI_DARWIN.
5218         (RS6000_REG_SAVE): Add ABI_DARWIN case.
5219         (RS6000_SAVE_AREA): Ditto.
5220         (FP_ARG_MAX_REG): Ditto.
5221         (RETURN_ADDRESS_OFFSET): Ditto.
5222         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
5223         cases.
5224         (rs6000_emit_move): Add ABI_DARWIN cases.
5225         (print_operand): Ditto.
5226         (first_reg_to_save): Ditto.
5227         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
5228         (debug_stack_info): Ditto.
5229         (rs6000_emit_prologue): Ditto.
5230         (rs6000_emit_epilogue): Ditto.
5231         (output_profiler_hook): Ditto.
5232         (output_function_profiler): Ditto.
5233         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
5234         (output_mi_thunk): Add TARGET_MACHO case.
5235         (add_compiler_stub): Ditto.
5236         (output_compiler_stub): Ditto.
5237         (no_previous_def): Ditto.
5238         (output_call): Ditto.
5239         (machopic_output_stub): Ditto.
5240         (rs6000_machopic_legitimize_pic_address): Ditto.
5241         (toc_section): Ditto.
5242         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
5243         (macho_high): Ditto.
5244         (macho_low): Ditto.
5245         (movsi_low): Ditto.
5246         (load_macho_picbase): Ditto.
5247         (call): Add TARGET_MACHO case to modify function.
5248         (call_value): Ditto.
5249         (call_nonlocal_sysv): Add ABI_DARWIN case.
5250         (call_value_nonlocal_sysv): Ditto.
5251         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
5252         Add prototype.
5253         (machopic_output_stub): Ditto.
5254         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
5255
5256 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
5257
5258         * dwarf2out.c (modified_type_die): Don't create new types here.
5259         * tree.h (get_qualified_type): New function.
5260         (build_qualified_type): Adjust comment.
5261         * tree.c (get_qualified_type): New function.
5262         (build_qualified_type): Use it.
5263
5264 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5265
5266         * cpp.texi (-Wtraditional): Update description.
5267
5268         * invoke.texi (-Wtraditional): Likewise.
5269
5270 2001-04-11  Jim Wilson  <wilson@redhat.com>
5271
5272         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
5273         requires more than 64 bits of alignment.
5274
5275 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5276
5277         * cpplib.c (do_line): Sanity check iff enable checking.
5278
5279 2001-04-11  Richard Henderson  <rth@redhat.com>
5280
5281         * Makefile.in (insn-recog.o): Depend on toplev.h.
5282         (insn-emit.o, doloop.o): Likewise.
5283         * genrecog.c, genemit.c: Include toplev.h in generated file.
5284         * doloop.c: Include toplev.h.
5285
5286 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
5287
5288         * Makefile.in (gcse.o): Depend on params.h.
5289         * gcse.c: Include params.h.
5290         (gcse_main): Don't do GCSE if doing so will take inordinate
5291         amounts of memory.
5292         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
5293         * params.h (MAX_GCSE_MEMORY): New macro.
5294
5295 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5296
5297         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
5298
5299         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
5300
5301 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5302
5303         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
5304
5305         * real.h (ereal_atof, real_value_truncate, target_isnan,
5306         target_isinf, target_negative, assemble_real, debug_real): Delete
5307         redundant prototypes.
5308
5309         * Makefile.in (ifcvt.o): Depend on toplev.h.
5310
5311         * c-semantics.c: Include expr.h.
5312
5313         * ifcvt.c: Include toplev.h.
5314
5315         * expr.h (rtx_equal_p): Delete prototype.
5316
5317         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
5318         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
5319         eliminate_constant_term, expand_complex_abs, find_single_use,
5320         make_tree, init_expr_once, init_optabs, supports_one_only):
5321         Likewise.
5322
5323         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
5324         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
5325         expand_assignment, store_expr, emit_line_note_after,
5326         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
5327
5328         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
5329
5330         * sparc-protos.h: Delete redundant prototypes.
5331
5332 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
5333
5334         * reload.c (push_reload): Add condition missed in SUBREG byte
5335         offset patch.
5336
5337 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5338
5339         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
5340
5341 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
5342
5343         * i386.md (floatsisf_sse): Fix output template
5344         * i386.c (ix86_expand_fp_movcc)
5345
5346         * reg-stack.c (emit_pop_insn): Handle complex modes.
5347         (move_for_stack_reg): Emit proper move mode.
5348         (subst_stack_regs_pat): Handle complex modes.
5349
5350 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
5351
5352         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
5353
5354 2001-04-10  Richard Henderson  <rth@redhat.com>
5355
5356         * libgcc2.h (__terminate_func_ptr): Remove typedef.
5357         (__pure_virtual, __terminate, __terminate_set_func,
5358         __default_terminate, __throw_type_match, __empty,
5359         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
5360         __eh_rtime_match, __unwinding_cleanup, __rethrow,
5361         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
5362         Remove prototypes of deleted functions.
5363
5364 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5365
5366         * c-typeck.c (convert_arguments): -Wtraditional now activates
5367         -Wconversion warnings, except for changes in signed-ness.
5368         Detect complex<->int & int<->complex conversions as well.
5369
5370         * invoke.texi (-Wtraditional): Document it.
5371
5372 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5373
5374         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
5375         * flow.c (set_block_for_new_insns): Remove needless cast and
5376         properly check for unset block number.
5377
5378 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
5379
5380         * function.c (purge_single_hard_subreg_set): Only check REGNO if
5381         the subreg was a hard register. Pseudos are left as subregs.
5382
5383 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5384
5385         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
5386         (LIB2ADD_ST): New macro, pass it to mklibgcc.
5387         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
5388         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
5389         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
5390
5391 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
5392
5393         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
5394
5395 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
5396
5397         * output.h (set_block_num): Missed it earlier, remove deprecated
5398         prototype.
5399
5400 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
5401
5402         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
5403         (load_killed_in_block_p): Change bb parameter from int to basic_block.
5404         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
5405         (handle_rd_kill_set): Change bb parameter from int to basic_block.
5406         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
5407         (expr_killed_p): Change bb parameter from int to basic_block, pass
5408         basic_blocks instead of ints as parameters.
5409         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
5410         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
5411         from int to basic_block, pass basic_blocks instead of ints as parms.
5412         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
5413         parameter from int to basic_block, pass basic_blocks instead of ints.
5414         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
5415         (insert_insn_end_bb): Change bb parameter from int to basic_block,
5416         pass basic_blocks instead of ints.
5417         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
5418         basic_blocks instead of ints as parameters.
5419         (pre_delete): Pass basic_blocks instead of ints as parameters.
5420         (hoist_expr_reaches_here_p): Change bb parameter from int to
5421         basic_block, pass basic_blocks instead of ints.
5422         (hoist_code): Pass basic_blocks instead of ints as parameters.
5423         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
5424         Change bb parameter from int to basic_block.
5425         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
5426         (insert_insn_start_bb): Change bb parameter from int to basic_block,
5427         pass basic_blocks instead of ints.
5428         (insert_store): Pass basic_blocks instead of ints as parameters.
5429         (replace_store_insn, delete_store): Change bb parameter from int to
5430         basic_block, pass basic_blocks instead of ints.
5431         (store_motion): Pass basic_blocks instead of ints as parameters.
5432
5433 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
5434
5435         * basic-block.h (set_new_block_for_insns): New Prototype.
5436         (set_block_num): Delete prototype.
5437         * flow.c (set_block_num): Remove obsolete function.
5438         (set_block_for_new_insns): Set BB for single or multiple insns.
5439         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
5440         (process_insn_end_bb): Use set_block_for_new_insns or
5441         set_block_for_insn instead of set_block_num.
5442         (pre_insert_copy_insn): Use set_block_for_new_insns.
5443         (update_ld_motion_stores): Use set_block_for_new_insns.
5444         (insert_insn_start_bb): Use set_block_for_new_insns.
5445         (replace_store_insn): Use set_block_for_new_insns.
5446
5447 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
5448             Jeff Law  <law@redhat.com>
5449
5450         * alias.c (get_addr): Externalize.
5451         (canon_true_dependence): New function. Behaves like true_dependance
5452         except it already assumes a MEM has been canonicalized.
5453         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
5454         * gcse.c (struct ls_expr): Add load/store expressions structure.
5455         (modify_mem_list, canon_modify_mem_list): New variable.
5456         (gcse_main): Initialize & finalize alias analysis. Use enhanced
5457         load motion and store motion if requested.
5458         (alloc_gcse_mem): Allocate space for modify_mem_list array.
5459         (free_gcse_mem): Free the modify_mem_list array.
5460         (oprs_unchanged_p): Use load_killed_in_block_p.
5461         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
5462         (mems_conflict_for_gcse_p): New function.  Don't kill loads
5463         with stores to themselves if its in the load/store expression list.
5464         (load_killed_in_block_p): New function.
5465         (canon_list_insert): New Function.
5466         (record_last_mem_set_info): Keep a list of all instructions which
5467         can modify memory for each basic block.
5468         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
5469         (oprs_not_set_p): Use load_killed_in_block_p.
5470         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
5471         (expr_killed_p): Use load_killed_in_block_p.
5472         (compute_transp): Do not pessimize memory references.
5473         (pre_edge_insert): Update stores for a load motion expression.
5474         (one_pre_gcse_pass): Check loads/stores for extra load motion.
5475         (ldst_entry): Find or create a ldst_expr structure.
5476         (free_ldst_entry): Free memory for an individual item.
5477         (free_ldst_mems): Free entire load/store expression list.
5478         (print_ldst_list): Print debug info.
5479         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
5480         (enumerate_ldsts): Assign integer values to each entry in list.
5481         (first_ls_expr): First expression in the list.
5482         (next_ls_expr): Next expression in the list.
5483         (simple_mem): Check if expression qualifies for ld/st expression list.
5484         (invalidate_any_buried_refs): Remove from expression list if its
5485         used in some other way we dont understand.
5486         (compute_ld_motion_mems): Find all potential enhanced load motion
5487         expression.
5488         (trim_ld_motion_mems): Remove any expressions which are invalid.
5489         (update_ld_motion_stores): Copy store values to registers for loads
5490         which have been moved.
5491         (regvec, st_antloc, num_store): New global statics.
5492         (reg_set_info): Marks registers as set.
5493         (store_ops_ok): Verfies registers expressions are valid in a block.
5494         (find_moveable_store): Look for moveable stores in a pattern.
5495         (compute_store_table): Find stores in a function worth moving, maybe.
5496         (load_kills_store): Check dependance of a load and store.
5497         (find_loads): Find any loads in a pattern.
5498         (store_killed_in_insn): Check if a store is killed in an insn.
5499         (store_killed_after): Check is store killed after an insn in a block.
5500         (store_killed_before): Check is store killed before an insn in a block.
5501         (build_store_vectors): Generate the antic and avail vectors.
5502         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
5503         (insert_store): Add a store to an edge.
5504         (replace_store_insn): Replace a store with a SET insn.
5505         (delete_store): Delete a store insn.
5506         (free_store_memory): Free memory.
5507         (store_motion): Perform store motion.
5508         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
5509         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
5510         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
5511         (f_options): Add gcse-lm and gcse-sm.
5512
5513 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
5514
5515         * i386.c (expand_fp_movcc): Fix condition reversal code.
5516
5517         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
5518         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
5519         (CLASS_MAX_NREGS): Use it.
5520
5521         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
5522         handle properly complex values.
5523         (CLASS_MAX_NREGS): Likewise; update comment.
5524
5525 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
5526
5527         * ia64.c (ia64_flag_schedule_insns2): New variable.
5528         (ia64_override_options): Initialize it.  Clear
5529         flag_schedule_insns_after_reload.
5530         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
5531
5532 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
5533
5534         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
5535         Do not require source to match destination anymore;
5536         Add abort to the nontrivial cases that should be handled by split.
5537         (fix_trunc?fdi): Add SSE case for x86_64.
5538         (floatdi?f): Likewise.
5539         (floatdi?f_sse): New.
5540         (fix_trunc?fdi_sse): New.
5541
5542 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
5543
5544         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
5545         (DEBUG_ARANGES_END_LABEL): Ditto.
5546         (dwarfout_init): Generate length and version fields at the start
5547         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
5548         after the length field.
5549         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
5550         the .debug_aranges info.
5551
5552 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
5553
5554         * i386.c (call, call_value): Make sure that resulting call_insn
5555         does have proper second operand.
5556
5557 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
5558
5559         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
5560         function.  Remove include of sys/cygwin.h.
5561
5562 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
5563
5564         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
5565         (CPP_SPEC): Always search */include/w32api for header files.
5566         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
5567         (LINK_SPEC): Add "cyg" to the library search prefixes.
5568
5569 2001-04-08  Philip Blundell  <philb@gnu.org>
5570
5571         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
5572
5573 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5574
5575         * cpperror.c (print_location): Don't special case <stdin>.
5576         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
5577         WARNING, but we don't check if we're in system headers.
5578         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
5579         * cpplib.c (do_warning): Warn in system headers.
5580
5581 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
5582
5583         * mbchar.c: Include config.h first.
5584
5585 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
5586
5587         * config.gcc: Set default for xmake_file at top, not bottom.
5588         Change places that set xmake_file to "none" to set to the
5589         empty string instead, or remove them entirely if there is no
5590         default xmake_file for this cpu_type.  Remove references to
5591         deleted files.
5592
5593         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
5594         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
5595         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
5596         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
5597         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
5598         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
5599         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
5600         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
5601         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
5602         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
5603         Delete.
5604
5605         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
5606         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
5607         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
5608         config/mips/x-sysv, config/rs6000/x-aix31:
5609         Just set CLIB to -lld or -lmld, as appropriate.
5610
5611         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
5612         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
5613         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
5614         config/mips/x-iris, config/pa/x-pa:
5615         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
5616         OTHER_FIXINCLUDES_DIRS.
5617
5618         * config/i386/x-djgpp: Don't set LN or LN_S.
5619         * config/m88k/x-dolph: Don't define __m88k__.
5620         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
5621         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
5622         * config/i860/fx2800.h: No need to #undef SVR4.
5623
5624         38 x-host fragments remain, 2 x-cpu.
5625
5626 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5627
5628         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
5629
5630 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5631
5632         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
5633
5634 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5635
5636         * configure.in: Add check for lstat.
5637         * configure, config.in: Regenerate.
5638         * cppinit.c (append_include_chain): Make empty path ".".
5639         * cpplib.c (do_line): Don't simplify #line paths.
5640         * cppfiles.c (remove_component_p): New function.
5641         (find_or_create_entry): Acknowledge stat () errors during
5642         path simplification.
5643         (handle_missing_header): Don't simplify paths.
5644         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
5645         the empty path untouched.  Don't leave a trailing '/'.
5646
5647 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
5648
5649         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
5650         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
5651
5652 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
5653
5654         * cppfiles.c (open_file): Fail directories silently, but
5655         with an errno of NOENT set.
5656         (read_include_file): Move the common exit code to the sole
5657         caller.  Return an int indicating success or failure.  Let
5658         open_file handle directories.
5659         (stack_include_file): If read_include_file fails,
5660         push a "null" buffer.
5661
5662 2001-04-05  DJ Delorie  <dj@redhat.com>
5663
5664         * function.h (virtuals_instantiated): Declare.
5665         * function.c: (virtuals_instantiated): Make global.
5666         * calls.c (emit_library_call_value_1): Use
5667         virtual_outgoing_args_rtx only if it hasn't been instantiated.
5668         Otherwise, use the stack pointer directly.
5669
5670 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
5671
5672         * i386.c (x86_initialize_trampoline): New global function.
5673         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
5674         (INITIALIZE_TRAMPOLINE): Move offline.
5675         * i386-protos.h (x86_initialize_trampoline): Declare.
5676
5677 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
5678
5679         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
5680         (lea_0): Rename to lea_1.
5681         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
5682         (lea_general_?): Allow SImodes on TARGET_64BIT
5683         (lea_general_?_zext): New patterns.
5684         (call_1, call_1_rex64): Fix.
5685
5686 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
5687
5688         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
5689
5690 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
5691
5692         * i386.c (function_arg): Return constm1_rtx for last argument.
5693         (ix86_expand_prologue): Update gen_call calls.
5694         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
5695         * i386.md (call_pop): Likewise.
5696         (call): Second operand is VOIDmode.
5697         (call_0): Likewise; Support 64bits.
5698         (call_exp): New expander.
5699         (call_1): Get to the sync.
5700         (call_1_exp): New pattern.
5701         (call_value): Support 64bit.
5702         (call_value_exp): New pattern.
5703         (untyped_call): Update gen_call call.
5704         (call_value_pop): Disable for 64bit.
5705         (call_value_0_rex64): New pattern.
5706         (call_value_1_rex64): Likewise.
5707
5708 2001-04-05  Bo Thorsen  <bo@suse.de>
5709
5710         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
5711
5712 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
5713
5714         * i386.md (*andsi_1+3): If used after reload, make sure the operand
5715         satisfies ANY_QI_REG_P.
5716
5717 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
5718
5719         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
5720         ASM_OPERAND.
5721
5722         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
5723         change.
5724
5725 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
5726
5727         * config.gcc: Remove default for xm_file.  Clean up local
5728         machine type handling.  Remove settings of xm_file to
5729         something that doesn't exist.  In the big switch, set xm_file,
5730         don't append to it (the value before the big switch is always
5731         null).  Don't force build_xm_file or host_xm_file to have a value.
5732         * configure.in: Remove default for xm_file.  Do not special
5733         case $cpu/xm-$cpu.h not existing.
5734         * configure: Regenerate.
5735
5736 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
5737
5738         * simplify-rtx.c (simplify_binary_operation): Check for overflow
5739         when folding integer division and modulo operations.
5740
5741 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
5742
5743         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
5744         instead of DWARF2_ADDR_SIZE for EH addresses.
5745         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
5746         EH addresses.
5747
5748 2001-04-04  Richard Henderson  <rth@redhat.com>
5749
5750         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
5751         * config/ia64/t-glibc (LIB2ADDEH): Disable.
5752         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
5753
5754 2001-04-04  Richard Henderson  <rth@redhat.com>
5755
5756         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
5757         * configure: Rebuilt.
5758
5759 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
5760
5761         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
5762         push insns to delete to it instead of deleting them.
5763         (delete_null_pointer_checks): Delete insns from delete_list after
5764         all delete_null_pointer_checks_1 passes are done.
5765
5766 2001-04-04  Richard Henderson  <rth@redhat.com>
5767
5768         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
5769         * configure: Rebuilt.
5770
5771 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
5772
5773         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
5774         * config/romp/xm-romp.h: Delete.
5775
5776 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
5777
5778         * sched-deps.c (sched_analyze_insn): Partially revert March 27
5779         change.
5780
5781 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5782
5783         * emit-rtl.c (mark_label_nuses) Increment the label uses for
5784         all labels present in rtx.
5785         (try_split) Call new function for all split insns.
5786
5787 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
5788
5789         * recog.c (validate_replace_rtx_1): Instead of aborting just make
5790         sure the change won't be validated.
5791
5792 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
5793
5794         * rtl.h (set_noop_p): Declare.
5795         * flow.c (set_noop_p): Move from here ...
5796         * rtlanal.c (set_noop_p): ... to here and enhance.
5797         * cse.c (delete_trivially_dead_insns): Use it.
5798         * gcse.c (hash_scan_set): Likewise.
5799         * jump.c (delete_noop_moves): Likewise.
5800         * recog.c (split_all_insns): Likewise.
5801
5802 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
5803
5804         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
5805         stack pointer via a LO_SUM.  Ditto for setting a temp register
5806         used to save to the stack.  Set cfa_temp when setting fp, and
5807         allow matches to cfa_temp in addition to cfa_store when saving
5808         regs.  Handle POST_INC and LO_SUM register stores.  Document the
5809         changes and errors in rule 12 doco.
5810
5811         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
5812         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
5813         (load_reg): Move closer to epilogue code.
5814         (DO_FRAME_NOTES): Define to control the following..
5815         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
5816         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
5817         notes as necessary.
5818         (hppa_expand_epilogue): Likewise.
5819
5820 2001-04-03  Richard Henderson  <rth@redhat.com>
5821
5822         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
5823         * configure: Rebuild.
5824
5825 2001-04-03  Richard Henderson  <rth@redhat.com>
5826
5827         * rtl.h (LCT_THROW): New.
5828         * calls.c (emit_library_call_value_1): Handle it.
5829         * except.c (connect_post_landing_pads): Use it.
5830
5831 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
5832
5833         * gansidecl.h: Delete file.
5834         * configure.in: Change all refs to gansidecl.h to use
5835         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
5836         lives.
5837         * configure: Regenerate.
5838
5839         * Makefile.in (intl.o): Don't depend on gansidecl.h.
5840         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
5841         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
5842         Don't include gansidecl.h.
5843         * intl.c, main.c, version.c, fixinc/fixlib.h,
5844         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
5845         gansidecl.h.
5846
5847 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
5848
5849         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
5850         Update for 64bit.
5851
5852 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
5853
5854         * config/i386/xm-beos.h, config/i386/xm-isc.h,
5855         config/i386/xm-next.h, config/i386/xm-sco.h,
5856         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
5857         config/m88k/xm-m88k.h: Delete.
5858
5859         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
5860         * config/romp/xm-romp.h: Don't define bcopy.
5861         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
5862         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
5863
5864         * config.gcc: Remove references to deleted files.
5865
5866         14 xm-host.h remain, 1 xm-cpu.h.
5867
5868 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
5869             David S. Miller  <davem@pierdol.cobaltmicro.com>
5870             Andrew MacLeod  <amacleod@redhat.com>
5871
5872         Use byte offsets in SUBREGs instead of words.
5873
5874         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
5875         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
5876         to pass new argument.
5877         (add_stored_regs): Use subreg_regno_offset function.
5878         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
5879         into account.
5880         (precompute_arguments): Use gen_lowpart_SUBREG.
5881         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
5882         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
5883         (simplify_set): Rework to use SUBREG_BYTE.
5884         (expand_field_assignment): Use SUBREG_BYTE.
5885         (make_extraction): Use SUBREG_BYTE.
5886         (if_then_else_cond): Use SUBREG_BYTE.
5887         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
5888         (gen_lowpart_for_combine): Compute full byte offset.
5889         * cse.c (mention_regs): Use SUBREG_BYTE.
5890         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
5891         (canon_hash): Use SUBREG_BYTE.
5892         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
5893         (gen_lowpart_if_possible): Formatting.
5894         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
5895         correctly.
5896         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
5897         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5898         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5899         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
5900         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5901         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
5902         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
5903         certain invariants about SUBREGs the compiler creates.
5904         (gen_lowpart_SUBREG): New function.
5905         (subreg_hard_regno): New function to get the final register number.
5906         (gen_lowpart_common): Use SUBREG_BYTE.
5907         (gen_imagpart): Spacing nits.
5908         (subreg_realpart_p): Use SUBREG_BYTE.
5909         (gen_highpart): Use SUBREG_BYTE.
5910         (subreg_lowpart_p): Always compute endian corrected goal offset,
5911         even at the byte level, then compare against that.
5912         (constant_subword): New function, pulled out all constant cases
5913         from operand_subword and changed second argument name to offset.
5914         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
5915         and call constant_subword to do the work.  Return const0_rtx if
5916         looking for a word outside of OP.
5917         (operand_subword_force): Change second arg name to offset.
5918         * expmed.c (store_bit_field): Use SUBREG_BYTE.
5919         (store_split_bit_field): Use SUBREG_BYTE.
5920         (extract_bit_field): Use SUBREG_BYTE.
5921         (extract_split_bit_field): Use SUBREG_BYTE.
5922         (expand_shift): Use SUBREG_BYTE.
5923         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
5924         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
5925         * flow.c (set_noop_p): Use SUBREG_BYTE.
5926         (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
5927         * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
5928         (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
5929         correction code.
5930         (optimize_bit_field): Use SUBREG_BYTE.
5931         (purge_addressof_1): Use SUBREG_BYTE.
5932         (purge_single_hard_subreg_set): Use subreg_regno_offset function.
5933         (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
5934         actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
5935         * gengenrtl.c (special_rtx): Add SUBREG.
5936         * global.c (mark_reg_store): Use SUBREG_BYTE.
5937         (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
5938         * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
5939         * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
5940         final byte offset is congruent to subreg's mode size.
5941         (subst_constants): Use SUBREG_BYTE.
5942         (mark_stores): Use subreg_regno_offset function.
5943         * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
5944         function and SUBREG_BYTE.
5945         * local-alloc.c (combine_regs): Use subreg_regno_offset function.
5946         (reg_is_born): Use subreg_hard_regno.
5947         * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
5948         endian correction code.  Don't combine subregs unless resulting
5949         offset aligns with type.  Fix subreg constant extraction for DImode.
5950         Simplify SUBREG of VOIDmode CONST_DOUBLE.
5951         (general_operand): Remove dead mode_altering_drug code.
5952         (indirect_operand): Use SUBREG_BYTE.
5953         (constrain_operands): Use subreg_regno_offset function.
5954         * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
5955         * regmove.c (regmove_optimize): Use SUBREG_BYTE.
5956         (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
5957         * regs.h (REG_SIZE): Allow target to override.
5958         (REGMODE_NATURAL_SIZE): New macro which target can override.
5959         * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
5960         on the entire subreg rtx.
5961         (push_reload): Use SUBREG_BYTE in comments and code.
5962         (find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
5963         for hard registers inside subregs.
5964         (operands_match_p): Use subreg_regno_offset.
5965         (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
5966         containing hard regs.
5967         (find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
5968         corrections when fixing up MEM subregs.
5969         (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
5970         subreg_regno_offset where appropriate.
5971         (find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
5972         byte endian corrections when fixing up MEM subregs.
5973         (subst_reloads): When combining two subregs, make sure final
5974         offset is congruent to subreg's mode size.
5975         (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
5976         (refers_to_regno_for_reload_p): Use subreg_regno.
5977         (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
5978         * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
5979         correction code for memory subreg fixups.
5980         (forget_old_reload_1): Use subreg_regno_offset.
5981         (choose_reload_regs): Use subreg_regno.
5982         (emit_input_reload_insns): Use SUBREG_BYTE.
5983         (reload_combine_note_store): Use subreg_regno_offset.
5984         (move2add_note_store): Use subreg_regno_offset.
5985         * resource.c (update_live_status, mark_referenced_resources): Use
5986         subreg_regno function.
5987         (mark_set_resources): Use subreg_regno function.
5988         * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
5989         (subreg_regno_offset, subreg_regno): Define prototypes.
5990         (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
5991         (gen_lowpart_SUBREG): Add prototype.
5992         * rtl.texi (subreg): Update to reflect new byte offset representation.
5993         Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
5994         * rtlanal.c (refers_to_regno_p): Use subreg_regno.
5995         (reg_overlap_mentioned_p): Use subreg_regno.
5996         (replace_regs); Make sure final offset of combined subreg is
5997         congruent to size of subreg's mode.
5998         (subreg_regno_offset): New function.
5999         (subreg_regno): New function.
6000         * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
6001         * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
6002         * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
6003         * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
6004         (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
6005         * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
6006         (a29k_get_reloaded_address): Use SUBREG_BYTE.
6007         (print_operand): Use SUBREG_BYTE.
6008         * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
6009         * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
6010         (arm_reload_out_hi): Use SUBREG_BYTE.
6011         * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
6012         instead of SUBREG_WORD.
6013         (d30v_print_operand_memory_reference): Use subreg_regno_offset.
6014         * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
6015         SUBREG creation to use byte offset.
6016         * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
6017         inverted load insns): Fix explicit rtl subregs to use byte
6018         offsets.
6019         * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
6020         udivsi3, umodsi3): Generate SUBREGs with byte offsets.
6021         * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
6022         * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
6023         to use byte offsets.
6024         (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
6025         * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
6026         offsets, also make sure it is congruent to SUBREG's mode size.
6027         (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
6028         unnamed ldob insn): Generate SUBREGs with byte offset.
6029         (zero_extendqihi2): SUBREG's are byte offsets.
6030         * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
6031         (m68hc11_gen_highpart): Use SUBREG_BYTE.
6032         * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
6033         zero-extendqisi2): Generate SUBREGs with byte offset.
6034         (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
6035         subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
6036         subregs in rtl to use byte offsets.
6037         * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
6038         * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
6039         (mips_move_2words): Use subreg_regno_offset.
6040         (mips_secondary_reload_class): Use subreg_regno_offset.
6041         * config/mips/mips.md (DImode plus, minus, move, and logical op
6042         splits): Fixup explicit subregs in rtl to use byte offsets.
6043         * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
6044         * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
6045         * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
6046         rtl to use byte offsets.
6047         * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
6048         * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
6049         subregs to use byte offsets.
6050         * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
6051         Fixup explicit subregs in rtl to use byte offsets.
6052         * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
6053         and remove byte endian correction code.
6054         * config/sh/sh.c (output_movedouble): Use subreg_regno.
6055         (gen_ashift_hi): Use SUBREG_BYTE.
6056         (regs_used): Use subreg_regno_offset.
6057         (machine_dependent_reorg): Use subreg_regno_offset.
6058         * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
6059         * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
6060         (movdf_i4): Subregs are byte offsets now.
6061         * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
6062         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
6063         (REGMODE_NATURAL_SIZE): Override.
6064         (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
6065         * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
6066         with byte offsets.
6067         (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
6068         extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
6069         extendqidi2): Generate SUBREGs with byte offsets, also make sure
6070         it is congruent to SUBREG's mode size.
6071         (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
6072         offsets.
6073         (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
6074         cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
6075         lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
6076         SUBREG_BYTE offset for non-paradoxical subregs in patterns.
6077         * config/v850/v850.c (print_operand, output_move_double): Use
6078         subreg_regno function.
6079
6080 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
6081
6082         * configure.in (target_subdir): Use target_alias, not target.
6083         * configure: Rebuilt.
6084
6085         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
6086         other way round.
6087         * config/sh/crti.asm: Fix typos in comments.
6088
6089 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
6090
6091         * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
6092         TARGET_FAST_INDIRECT_CALLS.
6093         * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
6094         -fPIC.  Don't warn.
6095         (return_addr_rtx): Short circuit export stub matching when
6096         TARGET_NO_SPACE_REGS.
6097         (output_millicode_call): For out of range calls, make -fPIC
6098         take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
6099         return before delay slot checks when TARGET_PORTABLE_RUNTIME.
6100         * pa.md: Modify length attr calculation of all millicode insns to
6101         match above.
6102
6103 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
6104
6105         * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
6106         Require at least 2.11 in the version test.  Specifically check
6107         for and reject GAS version 2.10.90.
6108         * configure: regenerate.
6109
6110 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
6111
6112         * pa.c (override_options): Remove PIC profiling warning.
6113         (hp_profile_labelno): Delete.
6114         (hp_profile_label_rtx): Delete.
6115         (hp_profile_label_name): Delete.
6116         (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
6117         (output_function_prologue): Remove profiling code and all tests on
6118         profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
6119         merge_sp_adjust_with_store can work for PIC and profiling.
6120         (hppa_expand_epilogue): Remove profile_flag test.
6121         (hppa_can_use_return_insn_p): Likewise.
6122         (hppa_init_pic_save): Emit before tail_recursion_reentry, and
6123         cater for PROFILE_HOOK.
6124         (hppa_profile_hook): New function.
6125         * pa.h (FUNCTION_PROFILER): Now does nothing.
6126         (PROFILE_HOOK): Define.
6127         (hppa_profile_hook): Declare.
6128         (PROFILE_BEFORE_PROLOGUE): Delete.
6129         (ASM_OUTPUT_REG_PUSH): Delete.
6130         (ASM_OUTPUT_REG_POP): Delete.
6131         * pa.md (call_profiler): Turn it into a call insn, and don't `use'
6132         r24.  Accept function name operand, and use this and a locally
6133         generated label to calculate pc-rel offset to func start.
6134
6135 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6136
6137         * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
6138         ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
6139         $(SYSTEM_H).
6140
6141 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
6142
6143         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
6144         LO_SUM cases to where they belong.
6145
6146 2001-04-02  Richard Henderson  <rth@redhat.com>
6147
6148         * except.h (lang_eh_type_covers): Mark extern.
6149         (lang_eh_runtime_type): Likewise.
6150
6151 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
6152
6153         * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
6154         gengenrtl.c:  Wrap generated header in multiple-include guard.
6155         Improve error checking.
6156
6157 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6158
6159         * configure.in: Don't check for putenv.
6160         * configure: Regenerate.
6161         * gcc.c (putenv): Don't define.
6162         * vax/xm-vms.h: Handle putenv.
6163
6164 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
6165
6166         * ifcvt.c (noce_emit_move_insn): New.
6167         (noce_try_store_flag, noce_try_store_flag_constants,
6168         noce_try_store_flag_inc, noce_try_store_flag_mask,
6169         noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
6170         noce_try_abs): Use it.
6171         (noce_process_if_block): Likewise.
6172         For STRICT_LOW_PART, take mode from its SUBREG.
6173
6174 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
6175
6176         * fold-const.c (fold): Before optimizing unsigned comparison with
6177         0x7fffffffU, make sure arg0 is integral type.
6178
6179 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
6180
6181         * c-tree.texi: Document representation of wide strings.
6182
6183 2001-04-01  Richard Henderson  <rth@redhat.com>
6184
6185         * except.h (expand_builtin_dwarf_fp_regnum): Declare.
6186
6187 Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
6188
6189         * i386.md: remove obsoleted comments.
6190         (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
6191         (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
6192         fix output template.
6193
6194 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
6195
6196         * config/avr/libgcc.S (__mulhi3): Optimize previous change.
6197
6198 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
6199
6200         * loop.c (load_mems): When generating a load from a pseudo, update
6201         REGNO_LAST_UID.
6202
6203 Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
6204
6205         * i386.c (ix86_split_long_move): Use change address to compensate
6206         stack pointer change in push instruction.
6207
6208 Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
6209
6210         * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
6211         instead of rtx_equal_p; fix the output template.
6212
6213 Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
6214
6215         * i386.c (ix86_expand_setcc): Support 64bit.
6216         (ix86_expand_int_movcc): Likewise.
6217         * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
6218         New patterns.
6219
6220         * i386.md (allocate_stack_worker): Turn to expander.
6221         (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
6222
6223         * i386.c (print_reg): Do not print x86_64 style regs on IA-32
6224
6225 2001-03-29  Richard Henderson  <rth@redhat.com>
6226
6227         * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
6228
6229 2001-03-28  Matthew Hiller  <hiller@redhat.com>
6230
6231         * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
6232         output template.
6233
6234         * MAINTAINERS: Added self.
6235
6236 2001-03-28  Richard Henderson  <rth@redhat.com>
6237
6238         * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
6239         Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
6240
6241 2001-03-28  Jim Wilson  <wilson@redhat.com>
6242
6243         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
6244         operand_subword.
6245
6246 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6247
6248         * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
6249
6250         * tradcif.y (yyerror): Likewise.  Add format specifier in call to
6251         `error'.
6252
6253         * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
6254
6255 2001-03-28  DJ Delorie  <dj@redhat.com>
6256
6257         * Makefile.in (stage1_build): Revert CFLAGS patch.
6258
6259 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
6260
6261         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
6262         when multiplier or multiplicand is zero.
6263
6264 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
6265
6266         * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
6267
6268         * config/ia64/ia64.c (update_set_flags): New function, broken out of
6269         rtx_needs_barrier.
6270         (set_src_needs_barrier): Likewise.
6271         (rtx_needs_barrier): For SET case, use these two functions.  Rework
6272         PARALLEL case to handle all inputs before all outputs.
6273         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
6274         saw a label and no stop bit since then.
6275         (maybe_rotate, process_epilogue): Add prototypes.
6276
6277 2001-03-28  Richard Henderson  <rth@redhat.com>
6278
6279         * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
6280         not TARGET_TOC for special toc restore handling.
6281         * config/rs6000/rs6000.md (eh_return): Likewise.
6282
6283 2001-03-28  Richard Henderson  <rth@redhat.com>
6284
6285         * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
6286         current_function_calls_eh_return.
6287         (output_function_epilogue): Handle eh_return.
6288         * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
6289         (EH_RETURN_DATA_REGNO): New.
6290         (EH_RETURN_STACKADJ_RTX): New.
6291         (EH_RETURN_HANDLER_RTX): New.
6292         * config/sparc/sparc.md (call/short branch peepholes): Check
6293         can_throw_internal instead of in_same_eh_region.
6294
6295         * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
6296         for eh_return data registers.
6297         (rs6000_emit_prologue): Save eh_return data registers.
6298         (rs6000_emit_epilogue): Force inline restores if eh_return.
6299         Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
6300         * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
6301         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
6302         (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
6303         the target uses one.
6304         * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
6305         (return_eh_si, return_eh_di): Remove.
6306         (eh_return): New, from corpse of eh_epilogue.
6307         (eh_set_lr_si, eh_set_lr_di): New.
6308
6309         * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
6310         (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
6311         True for pic register if current_function_calls_eh_return.
6312         (ix86_expand_epilogue): Change "emit_return" argument into "style".
6313         Handle eh_return requirements.
6314         * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
6315         (EH_RETURN_STACKADJ_RTX): New.
6316         * config/i386/i386.md (exception_receiver): Remove.
6317         (eh_return, eh_return_1): New.
6318         * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
6319
6320         * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
6321         (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
6322         (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
6323         * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
6324         (EH_RETURN_DATA_REGNO): New.
6325         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
6326         * config/alpha/alpha.md (eh_epilogue): Remove.
6327         (exception_receiver): Use $26 for ldgp input.
6328         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
6329
6330 2001-03-28  Richard Henderson  <rth@redhat.com>
6331
6332         * except.c: Rewrite entirely for IA-64 ABI exception handling.
6333         * except.h: Likewise.
6334
6335         * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
6336         (LIB2ADDEHDEP): New.
6337         (LIB2FUNCS_EH): Remove.
6338         (LIB2ADD): Remove LIB2ADDEH.
6339         (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
6340         (LIBGCC_DEPS): Use LIB2ADDEHDEP.
6341         (crt{begin,end}[S].o): Likewise.
6342         (except.o): Update includes.
6343         * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
6344         (libgcc2_c_dep): Use LIB2ADDEHDEP.
6345
6346         * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
6347         * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
6348         * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
6349         * builtins.c (expand_builtin): Implement it.
6350         [BUILT_IN_EH_RETURN]: Update for nr arguments change.
6351         * c-common.c (c_common_nodes_and_builtins): Declare it.
6352         * c-decl.c (init_decl_processing): Update __builtin_eh_return.
6353         * calls.c (libfunc_nothrow): Remove.
6354         (emit_library_call_value_1): Don't call it.
6355         * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
6356         * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
6357         (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
6358         * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
6359         (current_funcdef_number): Globalize.
6360         (output_call_frame_info): Emit frame data if an lsda is needed.
6361         Generate augmentation for personality routine.  Don't play with
6362         difference symbols.
6363         (dwarf2out_begin_prologue): Record funcdef_number.
6364         * dwarf2out.h (current_funcdef_number): Declare.
6365         * expr.c (expand_expr): Update for except.h name changes.
6366         Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
6367         * expr.h (LTI_throw, LTI_rethrow): Remove.
6368         (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
6369         (LTI_eh_rtime_match): Remove.
6370         (LTI_unwind_resume, LTI_eh_personality): Add.
6371         (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
6372         * final.c (final): Don't call check_exception_handler_labels,
6373         init_insn_eh_region, or free_insn_eh_region.
6374         (final_scan_insn): Always emit debug labels for
6375         NOTE_INSN_EH_REGION notes.
6376         * flags.h (flag_new_exceptions): Remove.
6377         * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
6378         (record_active_eh_regions): Remove.
6379         (count_basic_blocks): Check all instructions for REG_EH_REGION.
6380         Use can_throw_internal.
6381         (find_basic_blocks_1): Likewise.
6382         (move_stray_eh_region_notes): Remove.
6383         (find_label_refs): No eh_return_stub_label.
6384         (make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
6385         (make_eh_edge): No eh_nest_info.  Update for reachable_handlers
6386         changes.
6387         (delete_unreachable_blocks): Don't track deleted handlers.
6388         (flow_delete_block): Use maybe_remove_eh_handler.
6389         (delete_eh_regions): Remove.
6390         (merge_blocks): Don't check for eh region match.
6391         (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
6392         EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
6393         (init_propagate_block_info): Disable dead frame store optimization
6394         when current_function_calls_eh_return.
6395         (dump_bb): Don't print eh_beg, eh_end.
6396         * function.c (fixup_var_refs): No catch_clauses.
6397         (expand_function_end): Likewise.  Call expand_eh_return before
6398         the return register use.  Call sjlj_emit_function_exit_after.
6399         (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
6400         * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
6401         * ifcvt.c (dead_or_predicable): Remove eh region check.
6402         * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
6403         Don't check for EH vs parameters.
6404         (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
6405         (expand_inline_function): Call duplicate_eh_regions.
6406         (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
6407         (copy_insn_notes): Remap REG_EH_REGION notes.
6408         (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
6409         * integrate.h (struct inline_remap): Add local_return_label.
6410         * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
6411         check_exception_handler_labels, nor exception_optimize.
6412         (find_cross_jump): No EH region check.
6413         * optabs.c (init_optabs): Update for changed eh libfuncs.
6414         * rtl.def (RESX): New.
6415         * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
6416         * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
6417         checks.  Update for except.h name changes.
6418         (expand_cleanups): Likewise.
6419         (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
6420         * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
6421         (compile_file): Call init_eh before init_optabs.  Don't
6422         output_exception_table here.
6423         (rest_of_compilation): Call convert_from_eh_region_ranges,
6424         convert_to_eh_region_ranges, output_function_exception_table.
6425         Don't emit_eh_context.
6426         * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
6427         (EXC_PTR_EXPR): New.
6428
6429         * md.texi (eh_epilogue): Remove.
6430         (eh_return): Document.
6431         * tm.texi (EH_RETURN_DATA_REGNO): Document.
6432         (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
6433
6434         * eh-common.h: Remove file.
6435         * frame-dwarf2.c, frame.c, frame.h: Remove files.
6436         * libgcc2.c (L_eh): Remove.
6437
6438         * unwind-dw2-fde.c: New file, largely copied from frame.c.
6439         * unwind-dw2-fde.h: New file.
6440         * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
6441         * unwind-sjlj.c, unwind.h, unwind.inc: New files.
6442         * libgcc-std.ver: Update for eh symbols.
6443
6444 2001-03-27  Richard Henderson  <rth@redhat.com>
6445
6446         * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
6447         reduce false positives.
6448         (regmove_optimize): Disable if flag_non_call_exceptions.
6449
6450         * stmt.c (expand_return): Remove always true predicate.
6451         (expand_decl_cleanup_no_eh): Remove dead code.
6452
6453         * sched-deps.c (sched_analyze_insn): Consolidate scheduling
6454         barrier code.  Add a scheduling barrier if a non-call insn
6455         can throw internally.
6456
6457         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
6458         Auto-inc addresses trap only if their base register does.
6459
6460         * except.c (can_throw_internal): Rename from can_throw.
6461         * except.h, resource.c: Update references.
6462
6463         * integrate.c (copy_insn_list): Use returnjump_p.
6464         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
6465
6466         * function.h (struct function): Move all boolean valued fields
6467         to single bit fields at the end of the struct.
6468
6469         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
6470         jump.c, toplev.c:
6471         Rename asynchronous_exceptions to flag_non_call_exceptions.
6472
6473         * gthr-single.h (UNUSED): New.  Distinguish between how C
6474         and C++ mark unused function arguments.  Use throughout.
6475
6476         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
6477         value to target configuration header.
6478         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
6479         * config.in, configure: Rebuild.
6480         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
6481         configuration and target defines.
6482         (exceptions_via_longjmp): Remove.
6483         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
6484         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
6485
6486         * except.h (flag_non_call_exceptions): Move ...
6487         * flags.h: ... here.
6488
6489         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
6490         exceptions, put the note on the trapping instruction.
6491
6492         * flags.h (flag_new_exceptions): Remove.
6493         * toplev.c: Don't set it.
6494         * final.c: Don't check it.
6495         * except.c: Provide stub definition.
6496
6497         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
6498         (calculate_global_regs_live): Kill call-clobbered registers
6499         across exception edges.
6500         * reg-stack.c (convert_regs_1): Kill the entire target stack
6501         across non-call exception edges.
6502
6503         * flow.c (cleanup_cfg): Take no argument.
6504         * output.h, sibcall.c, toplev.c: Update all calls.
6505
6506 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6507
6508         * configure.in: Don't check for bcopy.
6509         * configure, config.in: Regenerate.
6510
6511         * system.h: Don't define or prototype bcopy, instead poison it.
6512
6513 2001-03-27  Richard Henderson  <rth@redhat.com>
6514
6515         * function.c (expand_function_start): Set DECL_REGISTER on
6516         a pseudo used for DECL_RESULT.
6517
6518         * rtl.h (LCT_NORETURN): New.
6519         * calls.c (emit_library_call_value_1): Handle it.
6520
6521 2001-03-27  Stan Shebs  <shebs@apple.com>
6522
6523         * objc/objc-act.c (objc_init): Use dump_base_name.
6524         (gen_declaration): Clear the buffer arg.
6525         (gen_declaration_1): New function, body of gen_declaration.
6526         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
6527         (gen_method_decl): Ditto, plus always clear buffer arg.
6528         (error_with_ivar): Simplify.
6529         (warn_with_method): Ditto.
6530         (build_message_expr): Don't clear buffers.
6531         (dump_interface): Ditto.
6532         (objc_debug): Ditto.
6533         (build_keyword_selector): Clear the buffer by only zeroing
6534         the first element.
6535         (objc_implementation_context): Declare.
6536         (start_class): Warn about missing @end.
6537         (finish_objc): Ditto.
6538
6539 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6540
6541         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
6542
6543 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6544
6545         * Makefile.in (SYSTEM_H): Define.
6546         Depend on $(SYSTEM_H), not system.h.
6547
6548         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
6549
6550 2001-03-27  Jim Wilson  <wilson@redhat.com>
6551
6552         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
6553         IA64_UNWIND_EMIT.
6554         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
6555         (process_epilogue): New static function.
6556         (process_set): Call process_epilogue instead of emitting .restore
6557         directly.
6558         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
6559
6560         * flow.c (struct reg_cond_life_info): New fields orig_condition
6561         and stores.
6562         (init_propagate_block_info): Set new fields.
6563         (mark_regno_cond_dead): Set and use new fields.
6564         (flush_reg_cond_reg_1): Likewise.
6565         (and_reg_cond, case AND): Check for redundant AND conditions.
6566         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
6567         Set new fields.
6568
6569 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
6570
6571         * cppmacro.c (stringify_arg): Null terminate strings.
6572
6573 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
6574
6575         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
6576         inclusion style.  xm-m68hc11.h no longer exists.
6577         * config/m68hc11/xm-m68hc11.h: Delete file.
6578         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
6579
6580         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
6581         Don't define GCC_VERSION, N_, or PARAMS; don't include
6582         gansidecl.h or stdio.h.  Define inhibit_libc here.
6583         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
6584         Delete code conditioned on #if GCC_VERSION == 2095.
6585
6586         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
6587         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
6588         Delete code conditioned on #if GCC_VERSION == 2095.
6589
6590 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6591
6592         * system.h: Include symcat.h.
6593         (STRINGIFY): Don't define.
6594
6595         * configure.in: Adjust comment.
6596
6597         * builtins.c: Use STRINGX, not STRINGIFY.
6598         * gencheck.c: Likewise.
6599         * gengenrtl.c: Likewise.
6600         * protoize.c: Likewise.
6601
6602         * cpplex.c: Don't include symcat.h.
6603         * cpplib.c: Likewise.
6604
6605         * gansidecl.h (HAVE_STRINGIZE): Don't define.
6606
6607 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
6608
6609         * c-typeck.c (digest_init): Fold init expression.
6610
6611 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6612
6613         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
6614
6615 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
6616
6617         * except.c (eh_regs): Save results of build_pointer_type to a temp
6618         as FUNCTION_VALUE macro may evaluate its args multiple times.
6619
6620 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
6621
6622         * c-common.h (DECL_NUM_STMTS): New macro.
6623         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
6624         DECL_FRAME_SIZE.
6625         (pushdecl): Likewise.
6626         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
6627         * integrate.c (expand_inline_function): Don't check
6628         DECL_FRAME_SIZE.
6629         * print-tree.c (print_node): Don't print it.
6630         * toplev.c (rest_of_compilation): Don't try to inline when
6631         flag_no_inline is on.
6632         * tree.h (DECL_FRAME_SIZE): Remove.
6633         (tree_decl): Adjust accordingly.
6634
6635 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6636
6637         * combine.c (try_combine): Use memcpy, not bcopy.
6638
6639         * genattrtab.c (expand_units): Likewise.
6640
6641 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
6642
6643         * i386.md (push mem DI peep2): New.
6644         (mov 0, mov -1 peep2): Handle 64bit.
6645         (lea to arithmetics peep2): Handle 64bit leas.
6646         (rsp arithmetics to push/pop peep2s): New.
6647
6648         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
6649
6650 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
6651
6652         * i386.c (struct machine_function): Add save_varrargs_registers.
6653         (ix86_save_varrargs_registers): New macro.
6654         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
6655         (ix86_expand_prologue): Likewise.
6656         (ix86_emit_epilogue_esp_adjustement): Likewise.
6657         (ix86_expand_epilogue): Likewise.
6658         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
6659         (pro_epilogue_adjust_stack_1): New insn.
6660         (pro_epilogue_adjust_stack_rex64): Likewise.
6661         * i386.h (MASK_NO_RED_ZONE): New constant.
6662         (TARGET_RED_ZONE): New macro.
6663         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
6664         (RED_ZONE_SIZE): New constant.
6665         (RED_ZONE_RESERVE): New constant.
6666
6667 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6668
6669         * toplev.c (set_float_handler): Use memcpy, not bcopy.
6670
6671 2001-03-25  Kazu Hirata  <kazu@hxi.com>
6672
6673         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
6674         space.
6675         (modqi3): Likewise.
6676         (umodhi3): Likewise.
6677         (modhi3): Likewise.
6678
6679 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6680
6681         * mkconfig.sh (DEFINES): Handle entries with '='.
6682
6683         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
6684         Set xm_defines to MACRO=value instead.
6685
6686         * i370/xm-mvs.h: Delete.
6687
6688         * ns32k/xm-pc532-min.h: Likewise.
6689
6690 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
6691
6692         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
6693         shiftdi_operand;
6694         use ix86_expand_binary_operator
6695         (?sh??i_?): Disable for 64bit.
6696         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
6697         * i386.c (shiftdi_operand): New predicate.
6698
6699         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
6700         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
6701         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
6702         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
6703         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
6704         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
6705         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
6706         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
6707         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
6708         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
6709         (rotldi3, rotrdi3): New expanders.
6710
6711 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
6712
6713         * i386.md (movstrsi): Move offline.
6714         (movstrdi): New.
6715         (strmovdi_rex64): New.
6716         (strmov?i): Accept 64bit.
6717         (strmov?i_rex64): New.
6718         (strmov?i_rex_1): New.
6719         (strmov?i_1): Disable for 64bit.
6720         (rep_mov?i_rex64): New.
6721         (rep_mov?i): Disable for 64bit.
6722         (clrstrsi): Move offline.
6723         (strset?i_rex64): New.
6724         (strset?i: Accept 64bit.
6725         (rep_stos?i): Disable for 64bit.
6726         (rep_stos?i_rex64): New.
6727         (strset?i_rex_1): New.
6728         (strset?i_1): Disable for 64bit.
6729         (cmpstrsi): Accept 64bit.
6730         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
6731         (cmpstrqi_nz_rex_1): New.
6732         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
6733         (strlensi): Move offline.
6734         (strlendi): New.
6735         (strlenqi_1): Disable for 64bit; fix constraints.
6736         (strlenqi_rex_1): New.
6737         * i386.c (ix86_adjust_counter): New static function.
6738         (ix86_zero_extend_to_Pmode): Likewise.
6739         (ix86_expand_aligntest): Likweise.
6740         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
6741         (ix86_expand_movstr): New global function.
6742         (ix86_expand_clrstr): New global function.
6743         (ix86_expand_strlen): New global function.
6744         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
6745         ix86_expand_strlen): Declare.
6746         (ix86_expand_strlensi_unroll_1): Delete.
6747
6748 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
6749
6750         * i386.md (cmpdi): Fix operand predicates.
6751         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
6752          cmpdi_1_insn_rex64): New patterns.
6753         (adddi3): Turn to expander.
6754         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
6755         (addsi3_carry_zext): New pattern.
6756         (adddi_?_rex64): New patterns and splitters.
6757         (addsi_?_zext): New patterns.
6758         (subsi3_carry_zext): New pattern.
6759         (subdi_?_rex64): New patterns and splitters.
6760         (iorsi_?_zext): New patterns.
6761         (iordi_?_rex64): New patterns and splitters.
6762         (iorsi_?_zext): New patterns.
6763         (iorsi_?_zext_imm): New patterns.
6764         (xorsi_?_zext): New patterns.
6765         (xordi_?_rex64): New patterns and splitters.
6766         (xorsi_?_zext): New patterns.
6767         (negdi*): New patterns.
6768         (one_cmpldi*): Likewise.
6769         (one_cmplsi*_zext, negsi*_zext): Likewise.
6770         (testqi_ext_3_rex64): New pattern.
6771
6772 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
6773
6774         * i386-protos.h (ix86_split_long_move): Return void.
6775         * i386.c (ix86_split_to_parts): Handle 64bit target.
6776         (ix86_split_long_move): Likewise.
6777         * i386.md (all calls to ix86_split_long_move): Update.
6778
6779 2001-03-23  Richard Henderson  <rth@redhat.com>
6780
6781         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
6782         to avoid shadowing arguments.
6783
6784 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
6785
6786         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
6787         to variable names where DECL_NAME is different from
6788         DECL_ASSEMBLER_NAME.
6789
6790 2001-03-23  Jim Wilson  <wilson@redhat.com>
6791
6792         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
6793         (assemble_alias): Call make_decl_rtl.
6794
6795 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
6796
6797         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
6798
6799 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
6800
6801         * extend.texi: Document the "java_interface" attribute.
6802
6803 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
6804
6805         * mkconfig.sh: Use a subshell with redirected stdout,
6806         instead of closing stdout and confusing commands that run
6807         afterward.  Throw away output of cmp.
6808
6809 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
6810
6811         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
6812
6813 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
6814
6815         * i386.md (zero_extendsidi2_32): Break out from ...
6816         (zero_extendsidi2): ... here ; turn to expander.
6817         (zero_extendsidi2_rex64): New.
6818         (extendsidi2_32): Break out from ...
6819         (extendsidi2): ... here ; turn to expander.
6820         (extendsidi2_rex64): New.
6821         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
6822         (trunc?f?f splitters): Add 64bit versions.
6823
6824 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
6825
6826         * i386.md (pushsi, pushsi2_prologue): Disable.
6827         (pushsi2_rex64): New.
6828         (movabs?i_1_rex64, movabs?i_2_rex64): New.
6829         (movqi_ext_1): Disable for 64bit.
6830         (movqi_ext_1_rex64): New.
6831         (pushdi2_rex64): New pattern, peep2s and splitter.
6832         (pushdi2_prologue_rex64): New pattern.
6833         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
6834         Likewise.
6835         (movdi splitters): Disable for 64bit.
6836         (movdi_1_rex64): New pattern, peep2s and splitters.
6837         (swapdi): New pattern.
6838         (pushsf): Disable for 64bit.
6839         (pushsf_rex64): New pattern and splitter.
6840         (pushdf_nointeger): Disable for 64bit.
6841         (pushdf_integer): Handle the 64bit case.
6842         (pushtf): Likewise; update splitters.
6843
6844 2001-03-22  Richard Henderson  <rth@redhat.com>
6845
6846         * mkconfig.sh: Include insn-flags.h.
6847         * Makefile.in (CONFIG_H): Include insn-flags.h.
6848         (lots of objects): Remove insn-codes.h and insn-flags.h.
6849
6850         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
6851         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
6852         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
6853         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
6854         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
6855         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
6856         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
6857         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
6858         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
6859         v850/v850.c, vax/vax.c:
6860         Don't include insn-flags.h.
6861
6862         * diagnostic.c, expr.h, reload.c, toplev.c:
6863         Don't include insn-codes.h.
6864
6865         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
6866         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
6867         c4x/c4x.c, i960/i960.c, mips/mips.c:
6868         Don't include insn-codes.h or insn-flags.h.
6869
6870         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
6871         or insn-flags.h in the generated code.
6872         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
6873         (main): Forward declare struct rtx_def.
6874
6875 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
6876
6877         * invoke.texi (-ffast-math): Remove duplicate line about
6878         __FAST_MATH__.
6879
6880         * gcc.texi: Remove more obsolete documentation of bugs and
6881         installation problems.
6882
6883 2001-03-21  Kazu Hirata  <kazu@hxi.com>
6884
6885         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
6886         into two parts.
6887
6888 2001-03-20  Jason Merrill  <jason@redhat.com>
6889
6890         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
6891         not '.' or '$'.
6892         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
6893         * varasm.c (CHKR_PREFIX): Likewise.
6894
6895 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6896
6897         * gcse.c (hash_scan_set): An expression is not anticipatible if it
6898         is part of a multi-SET insn.
6899
6900         * cse.c (find_comparison_args): Remove previous change.
6901         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
6902         REG_EQUAL notes.
6903
6904         * config/i386/i386.md (conditional_trap): Remove warning.
6905
6906         * recog.c (push_operand): Fix error in last change that caused
6907         undefined symbol on many targets.
6908
6909         * sdbout.c: #include ggc.h.
6910         (sdbout_init): Move to end of file.
6911         Call ggc_add_tree_root for anonymous_types.
6912         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
6913         (sdbout_one_type): Use DECL_NAME for field name.
6914         * Makefile.in (sdbout.o): Show includes ggc.h.
6915
6916 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
6917
6918         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
6919         (override_options): Use properlimits for preferred_stack_boundary.
6920         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
6921         on x86_64.
6922         (ext_register_operand): Accept DImode.
6923         (load_pic_register): Abort on 64bit.
6924         (gen_push): Use Pmode instead of SImode.
6925         (ix86_save_reg): Pic reg is never used on 64bit.
6926         (ix86_expand_prologue): Likewise.
6927         (ix86_emit_save_regs): Use Pmode instead of SImode.
6928         (legitimate_address_p): Check displacement for 64bit.
6929         (print_operand): Avoid outputting of (%rip) on 64bit.
6930         (print_operand_address): Output (%rip) where possible.
6931         (split_di): Abort on 64bit registers.
6932         (ix86_expand_branch): DImode comparison is simple for x86_64.
6933         (memory_address_length): Recognize memory addresses formed using
6934         PRE/POST modify.
6935         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
6936         for x86_64.
6937         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
6938
6939 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
6940
6941         * recog.c (push_operand): Recognize new format of push instructions.
6942
6943 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
6944
6945         * i386.md (pushqi1): New.
6946         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
6947         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6948         x86_64_immediate_operand, x86_64_immediate_operand,
6949         x86_64_zext_immediate_operand): Declare.
6950         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
6951         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
6952         x86_64_immediate_operand, x86_64_immediate_operand,
6953         x86_64_zext_immediate_operand): define.
6954         * i386.h (PREDICATE_CODES): Add new predicates.
6955
6956 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
6957
6958         * i386.md (pophi1, popqi1, pushqi1): Remove.
6959
6960         * expr.c (emit_single_push_insn): New function.
6961         (move_by_pieces): Accept NULL as destination for push instructions.
6962         (gen_push_operand): Kill.
6963         (emit_push_insn): Pass NULL when pushing; avoid updating of
6964         stack_pointer_delta.
6965         * expr.h (gen_push_operand): Kill.
6966
6967 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6968
6969         * rtl.texi (COMPARE): Clarify documentation and reference section
6970         on comparisons.
6971
6972 2001-03-20  Stan Shebs  <shebs@apple.com>
6973
6974         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
6975         (get_object_reference): Ditto.
6976         (error_with_ivar): Use error_with_file_and_line.
6977         (warn_with_method): Use warning_with_file_and_line.
6978
6979 2001-03-20  Tom Tromey  <tromey@redhat.com>
6980
6981         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
6982
6983 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
6984
6985         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
6986         variables that are TREE_PUBLIC, even if not TREE_STATIC.
6987
6988 2001-03-20  DJ Delorie  <dj@redhat.com>
6989
6990         * Makefile.in (install-libgcc): Pass complete list of variables.
6991         (install-multilib): Ditto.
6992
6993 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
6994
6995         * config/i386/cygwin.h: Declare ctor_section, dtor_section
6996         drectve_section, switch_to_section.
6997
6998         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
6999         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
7000         i386_pe_mark_dllimport.
7001
7002 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
7003
7004         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
7005         functions i386_pe_*.
7006
7007         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
7008         i386_pe_* functions with char * arguments.
7009
7010 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
7011
7012         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
7013         and store.
7014         (movsi_ie): Introduce fpul store.
7015
7016 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
7017
7018         * Makefile.in (OBJS): Remove hashtab.o.
7019
7020 2001-03-19  Stan Shebs  <shebs@apple.com>
7021
7022         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
7023         * c-lang.c (maybe_objc_method_name): Ditto.
7024         * c-tree.h (maybe_objc_method_name): Remove decl.
7025
7026 2001-03-19  Tom Tromey  <tromey@redhat.com>
7027
7028         * gcc.c (init_gcc_specs): Fix comment.
7029
7030 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
7031
7032         Compute DECL_ASSEMBLER_NAME lazily.
7033         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
7034         (DECL_ASSEMBLER_NAME_SET_P): New macro.
7035         (SET_DECL_ASSEMBLER_NAME): Likewise.
7036         (COPY_DECL_ASSEMBLER_NAME): Likewise.
7037         (set_decl_assembler_name): Declare.
7038         (lang_set_decl_assembler_name): Likewise.
7039         * tree.c (lang_set_decl_assembler_name): New variab.e
7040         (set_decl_assembler_name): New function.
7041         (init_obstacks): Set lang_set_decl_assembler_name.
7042         (build_decl): Don't set DECL_ASSEMBLER_NAME.
7043         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
7044         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
7045         where it's not necessary.
7046         (builtin_function): Likewise.
7047         (finish_decl): Likewise.
7048         * dbxout.c (dbxout_type_methods): Likewise.
7049         * ggc-common.c (ggc_mark_trees): Likewise.
7050         * profile.c (output_func_start_profiler): Likewise.
7051         * varasm.c (make_decl_rtl): Likewise.
7052
7053         * cse.c (find_comparison_args): Update documentation.  Fix
7054         mishandling of COMPARE operations.
7055
7056         * tree.def (ABS_EXPR): Add documentation.
7057         * fold-const.c (fold): Improve folding of ABS_EXPRs.
7058
7059 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
7060
7061         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
7062
7063 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
7064
7065         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
7066         Remove ia32 linux PIC kludge and move it...
7067         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
7068
7069 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
7070
7071         * i386.md (absdf2 expander): Fix 64bit case.
7072
7073 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
7074
7075         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
7076
7077 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
7078
7079         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
7080
7081 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7082
7083         * README.X11: Remove obsolete file.
7084
7085 2001-03-18  Anthony Green  <green@redhat.com>
7086
7087         * config/pj/pj.h: Remove some trailing commas.
7088         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
7089
7090 2001-03-18  Richard Henderson  <rth@redhat.com>
7091
7092         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
7093         * calls.c: ... here.
7094         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
7095         defaults for them here.
7096
7097 2001-03-17  Anthony Green  <green@redhat.com>
7098
7099         * config/pj/lib1funcs.S: Fix broken comment.
7100         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
7101         labels with '.'.
7102
7103 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
7104
7105         * gcc.texi: Remove obsolete information relating to build and
7106         installation problems with enquire or the Pyramid C compiler.
7107
7108 2001-03-17  Richard Henderson  <rth@redhat.com>
7109
7110         * dwarf2out.c (queue_reg_save): New.
7111         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
7112         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
7113         dwarf2out_reg_save.
7114         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
7115         (cfa, cfa_store, cfa_temp): Make static.
7116         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
7117
7118 2001-03-17  Richard Henderson  <rth@redhat.com>
7119
7120         * integrate.h (struct inline_remap): Add local_return_label.
7121         * integrate.c (expand_inline_function): Initialize it and emit
7122         it after copy_insn_notes.
7123         (copy_insn_list): Don't store local_return_label here.
7124         (copy_insn_notes): New function split out from copy_insn_list.
7125
7126 2001-03-17  Richard Henderson  <rth@redhat.com>
7127
7128         * dwarf2out.c (lookup_filename): Emit .file if the assembler
7129         is generating .debug_line.
7130         (dwarf2out_init): Add main_input_filename to the file table first.
7131         * configure.in (as_dwarf2_debug_line): Test with file number 1
7132         instead of file number 0.
7133
7134 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7135
7136         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
7137         (gen_rtx_combine): Deleted; all references changed as appropriate.
7138         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
7139
7140         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
7141
7142 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
7143
7144         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
7145         variable.
7146
7147 2001-03-16  Jim Wilson  <wilson@redhat.com>
7148
7149         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
7150         then set it to LOC_REG (79) instead of aborting.
7151
7152 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
7153
7154         * gccbug.in:  Remove high priority.
7155
7156 2001-03-16  Richard Henerson  <rth@redhat.com>
7157
7158         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
7159         output with a space instead of deleting it.
7160         * configure: Regenerate.
7161
7162 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
7163
7164         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
7165         handles the gory details of converting an object file into
7166         something that's safe to grep.
7167         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
7168         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
7169         newlines at either end of the string we're looking for.
7170         Make 'checking ...' message less stilted.
7171         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
7172         ARM in-memory layout and its hypothetical converse.  Don't
7173         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
7174         HOST_WORDS_BIG_ENDIAN.
7175
7176         * configure.in: Adjust for renamed macro.  Move
7177         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
7178         * configure, config.in: Regenerate.
7179
7180 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
7181
7182         * fixinc/Makefile.in: Set SHELL.
7183
7184 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
7185
7186         * fixinc/fixincl.c (fix_with_system): Quote file names before
7187         passing them to shell.
7188
7189 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
7190
7191         * Makefile.in: Use fix-header$(build_exeext) instead
7192         of fix-header.
7193
7194 2001-03-16  Richard Henderson  <rth@redhat.com>
7195
7196         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
7197         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
7198         (size_of_line_prolog): Remove.
7199         (output_line_info): Compute prologue size via label difference.
7200         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
7201
7202         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
7203         assembler error when redefining file numbers.
7204         * config.in, configure: Rebuild.
7205
7206         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
7207         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
7208         (dw2_asm_output_delta_uleb128): Likewise.
7209         (dw2_asm_output_delta_sleb128): Similarly.
7210         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
7211
7212 2001-03-16  Michael Meissner  <meissner@redhat.com>
7213
7214         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
7215         warnings.
7216         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
7217         warnings.
7218         (BITMASK_LOWER16): Replacement for 0x0000ffff.
7219
7220         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
7221         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
7222         being unsigned in ISO C and signed in traditional.
7223         (expand_prologue): Ditto.
7224         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
7225
7226         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
7227         warnings.
7228         (divsi3,divdi3): Ditto.
7229         (modsi3,moddi3): Ditto.
7230         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
7231         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
7232         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
7233         warnings.
7234
7235 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
7236
7237         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
7238         SSE based conditional moves on LTGT/UNEQ conditions;
7239         Canonicalize EQ to NE.
7240         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
7241         (sse_mov?fcc_ne): New.
7242
7243         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
7244
7245 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
7246
7247         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
7248         register may be dead.
7249
7250 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
7251
7252         * Makefile.in (hash.o): Depend on CONFIG_H.
7253
7254 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
7255
7256         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
7257
7258 2001-03-15  Richard Henderson  <rth@redhat.com>
7259
7260         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
7261         (ASM_OUTPUT_DWARF_PCREL): New.
7262         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
7263
7264 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
7265
7266         * cppfiles.c (stack_include_file): Use MAX of sysp.
7267
7268 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
7269
7270         * config.gcc (ia64*-*-hpux*): New case.
7271         * config/ia64/hpux.h: New file for HP-UX support.
7272         * config/ia64/t-hpux: New file for HP-UX support.
7273
7274 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
7275
7276         * fixinc/inclhack.def (irix_stdio_va_list): New.
7277         * fixinc/fixincl.x: Rebuilt.
7278
7279 2001-03-15  Richard Henderson  <rth@redhat.com>
7280
7281         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
7282         if provided by the target.
7283         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
7284         (dw2_asm_output_addr): New.
7285         * dwarf2asm.h (dw2_asm_output_addr): Declare.
7286         * dwarf2out.c (output_cfi): Use it for program addresses.
7287         (output_call_frame_info, output_die): Likewise.
7288         (output_aranges, output_line_info): Likewise.
7289
7290 2001-03-15  Bruce Korb  <bkorb@gnu.org>
7291
7292         * gcc.c(main): make more rigorous
7293         * collect2.c(main): guard against ignoring SIGCHLD
7294         * protoize.c(main): ditto
7295         * gcc/fixinc/fixincl.c(initialize): ditto
7296
7297 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
7298
7299         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
7300         (sdbout_parms): Likewise.
7301
7302 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
7303
7304         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
7305         "widen" a destination that is already wider than a word.  Also do
7306         not widen if LOAD_EXTEND_OP is NIL for the given mode.
7307
7308 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
7309
7310         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
7311
7312 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
7313
7314         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
7315
7316 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
7317
7318         * i960.h (i960_maxbitalignment,
7319         i960_last_maxbitalignment): Declare.
7320         * i960.c (i960_maxbitalignment,
7321         i960_last_maxbitalignment): Make global.
7322         (process_pragma): Delete.
7323         (i960_pr_align, i960_pr_noalign): Move from here ...
7324         * i960-c.c: ... to this new file.
7325         * t-960bare (i960-c.o): New rule.
7326         * t-vxworks960 (i960-c.o): Likewise.
7327         * config.gcc (i960-*-*): Define c_target_objs and
7328         cxx_target_objs.
7329
7330 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
7331
7332         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
7333         without adding in rtx code and mode.
7334
7335         * alias.c (init_alias_analysis): Don't use any rtx whose value
7336         varies as a known value.
7337         Delete a superfluous test.
7338
7339         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
7340         ia64_sched_reorder.
7341         (ia64_sched_reorder): Call maybe_rotate; also rotate after
7342         scheduling a stop bit.
7343         (ia64_emit_nops): Correctly handle ASMs.
7344
7345 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
7346
7347         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
7348
7349 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7350
7351         * cpp.texi: Update documentation for -include and -imacros.
7352         * cppfiles.c (struct include_file): Remove "defined" memeber.
7353         (find_or_create_entry): Make a copy of the file name, and
7354         simplify it.
7355         (open_file): Update to ensure we use the simplified filename.
7356         (stack_include_file): Don't set search_from.
7357         (cpp_included): Don't simplify the path name here.
7358         (find_include_file): New prototype.  Call search_from to
7359         get the start of the "" include chain.  Don't simplify the
7360         filenames here.
7361         (_cpp_execute_include): New prototype.  Move diagnostics to
7362         do_include_common.  Update.
7363         (_cpp_pop_file_buffer): Don't set defined.
7364         (search_from): New prototype.  Use the preprocessor's cwd
7365         for files included from the command line.
7366         (read_name_map): Don't simplify the pathname here.
7367         * cpphash.h (enum include_type): New.
7368         (struct buffer): Delete search from.  New search_cached.
7369         (_cpp_execute_include): Update prototype.
7370         * cppinit.c (do_includes): Use _cpp_execute_include.
7371         * cpplib.c (do_include_common): New function.
7372         (do_include, do_include_next, do_import): Use it.
7373
7374 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
7375
7376         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
7377         contents of the RTL, to determine the name of the object.
7378
7379 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
7380
7381         * tree.h (DECL_RTL): Allocate RTL lazily.
7382         (SET_DECL_RTL): New macro.
7383         (DECL_RTL_SET_P): Likewise.
7384         (COPY_DECL_RTL): Likewise.
7385         (DECL_RTL_IF_SET): Likewise.
7386         * varasm.c (make_decl_rtl): Add assertions about the kind of
7387         declaration we are processing.
7388         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
7389         (start_decl): Likewise.
7390         (finish_decl): Likewise.
7391         * c-semantics.c (emit_local_var): Likewise.
7392         * calls.c (expand_call): Likewise.
7393         * dbxout.c (dbxout_symbol): Likewise.
7394         * emit-rtl.c (unshare_all_rtl): Likewise.
7395         (unshare_all_decls): Likewise.
7396         (reset_used_decls): Likewise.
7397         * expr.c (store_constructor): Likewise.
7398         (safe_from_p): Likewise.
7399         (expand_expr): Likewise.
7400         * function.c (put_var_into_stack): Likewise.
7401         (instantiate_decls_1): Likewise.
7402         (assign_parms): Likewise.
7403         (expand_function_start): Likewise.
7404         (expand_function_end): Likewise.
7405         * ggc-common.c (gcc_mark_trees): Likewise.
7406         * integrate.c (function_cannot_inline_p): Likewise.
7407         (copy_decl_for_inlining): Likewise.
7408         (expand_inline_function): Likewise.
7409         (integrate_parm_decls): Likewise.
7410         (integrate_decl_tree): Likewise.
7411         * print-tree.c (print_node): Likewise.
7412         * reg-stack.c (stack_result): Likewise.
7413         * stmt.c (label_rtx): Likewise.
7414         (expand_return): Likewise.
7415         (expand_decl): Likewise.
7416         (expand_decl_cleanup): Likewise.
7417         (expand_anon_union_decl): Likewise.
7418         * toplev.c (check_global_declarations): Likewise.
7419         (rest_of_decl_compilation): Likewise.
7420         * tree.c (simple_cst_equal): Likewise.
7421         * objc/objc-act.c (generate_static_references): Likewise.
7422
7423 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
7424
7425         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
7426         gcc_AC_C_FLOAT_FORMAT): New macros.
7427         * configure.in: Add AC_PROG_CPP after CC tests;
7428         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
7429         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
7430         * configure, config.in: Regenerate.
7431
7432         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
7433         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
7434         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7435         config/i370/xm-linux.h, config/i370/xm-oe.h,
7436         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
7437         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
7438         config/pa/xm-linux.h, config/pa/xm-pa.h,
7439         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
7440         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
7441         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
7442         config/we32k/xm-we32k.h: Delete.
7443
7444         * config/i370/xm-mvs.h, config/m88k/m88k.h,
7445         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7446         config/vax/xm-vms.h: Don't define any of:
7447         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
7448
7449         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
7450
7451         * config.gcc: Remove references to deleted files.
7452         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
7453         FATAL_EXIT_CODE, which is the same between oe and mvs).
7454
7455 2001-03-14  DJ Delorie  <dj@redhat.com>
7456             Vladimir Makarov  <vmakarov@redhat.com>
7457
7458         * config/i960/i960.c (i960_function_prologue): Compute size of
7459         frame according to number of registers actually saved there.
7460
7461 2001-03-14  Richard Henderson  <rth@redhat.com>
7462
7463         * expr.c (emit_move_insn_1): Fix else if around #endif.
7464
7465 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
7466                               Vojtech Pavlik
7467
7468         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
7469         constraints.
7470
7471 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
7472
7473         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
7474         (override_options): Parse cmodel string.
7475         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
7476         * i386.h (TARGET_OPTIONS): Add "cmodel".
7477         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
7478         (enum cmodel): New.
7479         (ix86_cmodel_string, ix86_cmodel): Declare.
7480
7481 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
7482
7483         Spot by Matt Kraai:
7484         * i386.h (GENERAL_REG_P): Add missing REG_P.
7485
7486 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
7487
7488         * configure.in: Use $gcc_cv_as instead of $as.
7489         * configure: Regenerated.
7490
7491 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
7492
7493         * cppfiles.c (stack_include_file): Only increase the include
7494         count if we actually process the file properly, as opposed
7495         to treating it as length zero.  Only call read_include_file
7496         if not DO_NOT_REREAD.  Handle the -H include file output
7497         here.
7498         (read_include_file): Remove now redundant DO_NOT_REREAD check.
7499         (cpp_included, find_include_file): Simplify pathnames after
7500         remapping them.  If remapping, don't use the remapped file
7501         name's buffer as our scratch buffer.
7502         (cpp_pop_file_buffer): Replace the multiple include macro
7503         only if it isn't yet set.
7504         (read_name_map): Simplify remapped names when reading in.
7505         (remap_filename): Move code to code path that uses it.
7506         (_cpp_simplify_pathname): Return the input pointer.
7507         * cpphash.h (_cpp_simplify_pathname): Update prototype.
7508
7509 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
7510
7511         * expr.c (expand_expr): Revove bogus conditional.
7512
7513 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
7514
7515         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
7516
7517 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
7518
7519         * reg-stack.c (stack_result): Unconditionally use
7520         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
7521
7522 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
7523
7524         * expr.c (emit_move_insn_1):  Split push of complex value when
7525         no suitable push instruction exist.
7526
7527         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
7528         instead of QI_REG_P.
7529
7530 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7531
7532         * alias.c (handled_component_p, can_address_p): New functions.
7533         (get_alias_set): Use them.
7534
7535 2001-03-13  Jim Wilson  <wilson@redhat.com>
7536
7537         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
7538         from 80 in try_locals code.
7539         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
7540
7541 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
7542
7543         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
7544         gcc_AC_C_LONG_LONG): New.
7545         * configure.in: Use them.  Probe the size of short, int, long,
7546         and long long/__int64 if we have them.  Move all the AC_C_*
7547         checks together, except gcc_AC_C_CHAR_BIT which has to go
7548         after AC_CHECK_HEADERS(limits.h).
7549         Take hwint.h out of host_xm_file and build_xm_file.
7550
7551         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
7552         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
7553         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
7554         Move the HOST_WIDEST_INT setup logic here from system.h.
7555         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
7556         defined.
7557         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
7558         is now handled by hwint.h.
7559
7560         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
7561         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
7562         config/ia64/xm-ia64.h: Don't define any of:
7563         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
7564         HOST_BITS_PER_LONGLONG.
7565
7566         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
7567         config/h8300/xm-h8300.h, config/mips/iris6.h,
7568         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
7569         config/sparc/xm-sp64.h: Delete.
7570         * config.gcc: Remove references to deleted files.
7571
7572         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
7573         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
7574         * config/i370/xm-linux.h: Clarify floating-point situation in
7575         a comment.
7576
7577 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
7578
7579         * cppfiles.c (NO_INCLUDE_PATH): New macro.
7580         (find_include_file): Decide here which part of the include
7581         chain to start the search.  Complain about an empty include
7582         chain in all cases apart from an abolsute file name.
7583         (_cpp_execute_include): Don't choose the search chain here.
7584         Don't call handle_missing_include in the case of an empty
7585         include chain.
7586         (_cpp_compare_file_date): Don't choose the search chain here.
7587         * cpplib.c (do_include_next): Move the in-main-file diagnostic
7588         here from _cpp_execute_include.  Behave like #include if
7589         we're in the main file.
7590
7591 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7592
7593         * system.h (malloc, realloc, calloc, strdup): Only poison these
7594         tokens when IN_GCC is defined.
7595
7596 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
7597
7598         * i386.md (abs?f expander): Support SSE case.
7599         (abd?f_if): Add new "USE"; add splitters.
7600
7601 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7602
7603         * cpp.texi (poison): Explain the macro expansion exception.
7604
7605 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
7606
7607         * expr.c (store_expr): Add dont_store_target.  If temp is already in
7608         target before copying to reg, don't store it into target again.
7609
7610 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7611
7612         * cppinternals.texi: Update for file handling.
7613
7614 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
7615
7616         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
7617         2001-02-24 which broke building the Java library.
7618         * function.c (identify_blocks): Likewise.
7619         (all_blocks): Likewise.
7620         * integrate.c (integrate_decl_tree): Likewise.
7621         * print-tree.c (print_node): Likewise.
7622         * tree.h (BLOCK_NUMBER): Likewise.
7623         (struct tree_block): Likewise.
7624
7625 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
7626
7627         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
7628         __WCHAR_TYPE__ definition.
7629         (WCHAR_TYPE_SIZE): #undef before #define.
7630
7631 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7632
7633         * cppfiles.c: Update comments.
7634         (destroy_include_file_node): Rename destroy_node.
7635         (find_or_create_entry): New function.
7636         (open_file, _cpp_fake_include): Use it.
7637         (handle_missing_header): New function, broken out of
7638         _cpp_execute include.  Don't segfault if there is no
7639         system or quoted path.
7640         (_cpp_execute_include): Use handle_missing_header.
7641
7642 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
7643
7644         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
7645         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
7646
7647 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7648
7649         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
7650         unless anti_dependence says they are.
7651         * alias.c (objects_must_conflict): If neither has a type specified,
7652         they must conflict.
7653
7654 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7655             David Billinghurst <David.Billinghurst@riotinto.com>
7656
7657         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
7658
7659 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
7660
7661         * i386.md (trunctfdf2_2): Rename missnamed pattern.
7662         (*_one_bit): Remove type on the match_operand in attributes.
7663
7664 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
7665
7666         * i386.c: Commit forgotten hunk in previous patch.
7667         (regclass_map): Add extended registers.
7668         (dbx_register_map): Add missing frame register.
7669
7670 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
7671
7672         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
7673
7674         * i386.md (x86_sahf_1): Disable for 64bit.
7675         (popsi*, pophi*): Likewise.
7676         (pushqi, pushhi): Likewise.
7677         (movdi, pushdi): Likewise.
7678         (zero extend DImode splitter): Likewise.
7679         (adddi, minusdi splitter): Likewise.
7680         (umulsidi): Likewise.
7681         (umulsi): New.
7682         (mulsidi): Disable for 64bit
7683         (lshift:DI/ashift:DI): Disable for 64bit.
7684         (loop patterns): Likewise.
7685         (call_pop, call_value_pop expanders and patterns): Likewise.
7686         (prologue_get_pc): Likewise.
7687         (leave): Likewise.
7688         (fcmovDI pattern and splitter): Likewise.
7689         (movdfcc_1_rex64): New.
7690
7691 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
7692
7693         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
7694         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
7695         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
7696         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
7697         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
7698         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
7699         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
7700         (PUSH_ROUNDING): x86_64 rounds to 64bits.
7701         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
7702         (REGPARM_MAX): Set to 6 for x86_64.
7703         (SSE_REGPARM_MAX): Set to 16 for x86_64.
7704         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
7705         registers.
7706
7707         * (patterns that does use upper halves): Update constraints
7708         'q' to 'Q' and 'r' to 'R'.
7709         (cmpqi_ext_1): Disable for 64bit.
7710         (cmpqi_ext_3_insn): Likewise.
7711         (movqi_extzv_1): Likewsie.
7712         (addqi_ext_1): Liekwsie
7713         (testqi_ext_1): Liekwsie
7714         (andqi_ext_1): Liekwsie
7715         (xorqi_ext_1): Liekwsie
7716         (cmpqi_ext_1_rex64): New.
7717         (cmpqi_ext_3_insn_rex64): Likewise.
7718         (movqi_extzv_1_rex64): Likewsie.
7719         (addqi_ext_1_rex64): Liekwsie
7720         (testqi_ext_1_rex64): Liekwsie
7721         (andqi_ext_1_rex64): Liekwsie
7722         (xorqi_ext_1_rex64): Liekwsie
7723
7724 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7725
7726         * configure.in: Move check for unsigned enumerated bitfields
7727         to macro in aclocal.m4.  Disable it for now.
7728         * configure, config.in: Regenerate.
7729         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
7730         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
7731         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
7732         kind above its first use.
7733
7734         * config/xm-interix.h, config/alpha/xm-alpha.h,
7735         config/i370/xm-linux.h, config/i386/xm-beos.h,
7736         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
7737         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7738         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
7739         Don't define ONLY_INT_FIELDS under any circumstances.
7740
7741         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
7742
7743         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
7744         config/sparc/xm-sysv4.h: Delete - now identical with some
7745         other xm header.
7746         * config.gcc (hppa targets): Replace xm-pahpux.h and
7747         xm-papro.h with implicit xm-pa.h.
7748         (sparc targets): Replace xm-sysv4.h with implicit or explicit
7749         xm-sparc.h.
7750
7751 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
7752
7753         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
7754         before reload_cse_noop_set_p.
7755
7756 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7757
7758         * config.gcc: Where xm-host.h used to include another
7759         xm-host.h, list the nested header directly in xm_file.  Remove
7760         references to deleted files.  Can now use sparc/xm-sp64.h for
7761         sparcv9-*-solaris*.
7762
7763         * config/xm-linux.h, config/arm/xm-linux.h,
7764         config/i386/xm-dos.h, config/i386/xm-gnu.h,
7765         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
7766         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
7767         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
7768         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
7769         Delete.
7770
7771         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
7772         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
7773         bother to wrap #undef in #ifdef.
7774         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
7775         Don't include xm-linux.h.
7776         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
7777
7778         * configure.in: Wrap regexps using [] in changequote block.
7779         Use expr : not echo | grep.  Simplify regexps.
7780         * configure: Regenerate.
7781
7782         56 xm-files remain, 22 xm-arch.
7783
7784 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7785
7786         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
7787         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7788         (local_index, local_rindex): Delete, use strchr/strrchr instead.
7789         (copy_object): Fix format specifier vs argument mismatch.
7790
7791         * mips-tdump.c: Make local functions static.
7792         (rindex): Don't #undef.
7793         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7794         (fatal, fancy_abort): Delete.
7795         (read_seek): Avoid signed/unsigned compare.
7796
7797 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7798
7799         * combine.c (try_combine): Fix error in change to try original
7800         register.
7801         (gen_rtx_combine): Do same as gen_rtx for now.
7802
7803 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
7804
7805         * configure.in: AC_SUBST xm_defines.
7806         * configure: Regenerate.
7807         * Makefile.in: Set DEFINES=$(xm_defines) when building
7808         tconfig.h.
7809
7810 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
7811
7812         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
7813         (cpp_included, find_include_file): Update.
7814         (_cpp_compare_file_date): Make else unconditional.
7815
7816 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
7817
7818         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
7819
7820 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7821
7822         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
7823         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
7824
7825 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
7826
7827         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
7828         if it's a record type.
7829
7830 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
7831
7832         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
7833         mingw includes slightly.
7834
7835 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7836
7837         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
7838         #undef token before poisoning it.
7839
7840 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7841
7842         * alpha.c (check_float_value): Use memcpy, not bcopy.
7843
7844         * m32r.c (m32r_sched_reorder): Likewise.
7845
7846         * vax.c (check_float_value): Likewise.
7847
7848 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7849
7850         * toplev.c (file_name_nondirectory): Remove.
7851         * toplev.h: Similarly.
7852         * dwarf2out.c (compute_section_prefix): Use lbasename instead
7853         of file_name_nondirectory.
7854
7855 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7856
7857         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
7858         * mips-tfile.c: Don't #undef rindex; not used.
7859
7860 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
7861
7862         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
7863         (dbx64_register_map): Declare.
7864         (RETURN_ADDR_RTX): Fix for 64bit.
7865         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
7866         (INCOMING_FRAME_SP_OFFSET): Set to 8.
7867         * i386.c (dbx64_register_map): New global array.
7868         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
7869         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
7870         for 64bits.
7871
7872 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
7873
7874         * cppfiles.c (search_from): Use lbasename.
7875         * mkdeps.c (deps_add_default_target): Use lbasename.
7876
7877 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7878
7879         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
7880         xcalloc in lieu of malloc, realloc & calloc.
7881
7882         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
7883
7884         * gengenrtl.c (xmalloc): Likewise.
7885
7886         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
7887         really_call_* memory allocation routines.
7888
7889         * stmt.c (check_for_full_enumeration_handling): Use
7890         really_call_calloc, not calloc.
7891
7892         * system.h (really_call_malloc, really_call_calloc,
7893         really_call_realloc): Define.
7894         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
7895
7896 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
7897
7898         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
7899
7900 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
7901
7902         * configure: Rebuilt.
7903         * configure.in: Only use `lang_requires' for languages athat are
7904         actually enabled.
7905
7906 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
7907
7908         * invoke.texi: Fix typo.
7909         * gcc.1: Regenerate.
7910
7911 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
7912
7913         * configure.in: Prune nonexistent files from build_xm_file,
7914         xm_file, and host_xm_file lists.  Warn unless they're
7915         $cpu/xm-$cpu.h.
7916         Don't generate *config.h here.
7917         AC_SUBST all variables needed to generate *config.h.
7918         * configure: Regenerate.
7919         * mkconfig.sh: New helper script, from code removed from
7920         configure.in.
7921         * Makefile.in: Zap all MALLOC variables - no longer used
7922         anywhere, and malloc.c doesn't exist.
7923         Substitute in variables needed to generate *config.h.
7924         Stop lying about the dependencies contained in CONFIG_H and
7925         GCONFIG_H.
7926         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
7927         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
7928         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
7929         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
7930         $(TM_P_H), etc. as appropriate.
7931
7932         * config.gcc: Zap references to deleted files.
7933         * ggc-none.c: Don't include rtl.h or tm_p.h.
7934
7935         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
7936         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
7937         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
7938         config/i386/xm-linux.h, config/i386/xm-linux.h,
7939         config/i386/xm-next.h, config/i386/xm-openbsd.h,
7940         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
7941         Don't include i386/xm-i386.h.
7942
7943         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
7944         config/i386/xm-i386.h, config/i860/xm-i860.h,
7945         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
7946         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
7947         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
7948         Delete (empty except comments, #includes of other deleted
7949         files, and macros used nowhere).
7950
7951 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
7952
7953         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
7954         independent on TARGET_FLAGS.
7955
7956 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
7957
7958         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
7959
7960         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
7961         extended ones.
7962         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
7963         TARGET_64BIT.
7964         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
7965         LAST_REX_SSE_REG): define.
7966         (enum reg_class): Add 'LEGACY_REGS'
7967         (REG_CLASS_CONTENTS): Likewise; add extended registers.
7968         (SSE_REGNO_P): Recognize extended registers.
7969         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
7970         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
7971         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
7972         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
7973         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
7974          REG_OK_FOR_STRREG_P): Remove.
7975         (HI_REGISTER_NAMES): Add extended registers.
7976         (ADDITIONAL_REGISTER_NAMES): Likewise.
7977         (QI_REGISTER_NAMES): Add 8bit extended registers.
7978         (DEBUG_REG): Support extended registers.
7979         * i386.c (regclass_map): Add extended registers.
7980         (dbx_register-map): Likewise.
7981         (svr4_dbx_register_map): Likewise.
7982         (print_reg): Support extended registers.
7983         (print_operand): Support 64bit operands.
7984
7985 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
7986
7987         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
7988         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
7989          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
7990          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
7991         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
7992          STACK_BOUNDARY): Set properly for 64bits.
7993         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
7994         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
7995         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
7996         (MOVE_MAX): Set to 16.
7997         (MOVE_MAX_PIECES): 8 for 64bit.
7998         (Pmode): Set to SImode.
7999
8000 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
8001
8002         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
8003
8004 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
8005
8006         * i386.h (mask_64bit): New constant.
8007         (target_64bit): New macro.
8008         (target_options): Add '64'/'32'
8009         (target_default): Define.
8010         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
8011         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
8012         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
8013
8014 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
8015
8016         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
8017
8018 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
8019
8020         * rtlanal.c (rtx_varies_p): Check operand 0 of a
8021         LO_SUM unless for_alias is set.
8022
8023 2001-03-08  Stan Shebs  <shebs@apple.com>
8024
8025         * objc/objc-act.c: Fix old typos in comments, add comments for
8026         various functions.
8027         (hash_init): Fix file name in error message.
8028         (hash_enter): Ditto.
8029         (hash_add_attr): Ditto.
8030         (continue_class): Ditto.
8031
8032 2001-03-08  Bruce Korb  <bkorb@gnu.org>
8033
8034         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
8035         wait4() can receive the signal.
8036
8037 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8038
8039         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
8040         entities.
8041         * fixinc/fixincl.x: Regenerate.
8042
8043 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8044
8045         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
8046         on Tru64 UNIX.
8047         * fixinc/fixincl.x: Regenerate.
8048
8049 2001-03-08  Richard Henderson  <rth@redhat.com>
8050
8051         * configure.in (HAVE_AS_LEB128): New assembler check.
8052         * configure, config.in: Rebuilt.
8053
8054 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
8055
8056         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
8057         TFmode too.
8058
8059 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8060
8061         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
8062         references to the MAXPATHLEN macro.
8063
8064         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
8065         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
8066         the POSIX macro.
8067
8068         * config/i386/xm-gnu.h, config/xm-gnu.h,
8069         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
8070         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
8071         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
8072         and/or unused files.
8073
8074         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
8075         doing so in various xm-*.h files.
8076
8077 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8078
8079         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
8080
8081 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
8082
8083         * configure.in (enable_shared): Support per-package shared-library
8084         enabling.
8085         * configure: Rebuilt.
8086
8087 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
8088
8089         * rs6000.md (cr logic): Add original POWER mnemonic alternative
8090         for crnot.  Set operands[5] in splitter.
8091
8092 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8093
8094         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
8095         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
8096         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
8097         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
8098         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
8099         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
8100         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
8101         to the USG macro.
8102
8103         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
8104         config/i370/xm-i370.h, config/i386/xm-dgux.h,
8105         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
8106         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
8107         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
8108         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
8109         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
8110         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
8111         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
8112         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
8113         Delete unused and/or empty files.
8114
8115         * config.gcc: Define USG in xm_defines as appropriate.  Define
8116         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
8117         macro.  Remove deleted xm-* files from $xm_files variable.
8118
8119 2001-03-07  Tom Tromey  <tromey@redhat.com>
8120
8121         * configure: Rebuilt.
8122         * configure.in: Allow config-lang.in to set `lang_requires' to list
8123         of other required languages.
8124
8125 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
8126
8127         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
8128         after its emitted.
8129         (output_prologue): Use xmalloc not oballoc.
8130         (output_epilog): Free a29k_first_epilogue_insn when finished.
8131         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
8132
8133 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
8134
8135         * builtins.c (expand_builtin_mathfn): Check
8136         flag_unsafe_math_optimizations, not flag_fast_math.
8137         (expand_builtin): Likewise
8138         * combine.c (combine_simplify_rtx): Likewise.
8139         (simplify_if_then_else): Likewise.
8140         * cse.c (fold_rtx): Likewise.
8141         * flags.h: Remove flag_fast_math.  Add
8142         flag_unsafe_math_optimizations and flag_trapping_math.
8143         * fold-const.c (negate_expr): Check
8144         flag_unsafe_math_optimizations, not flag_fast_math.
8145         (invert_truthvalue): Likewise.
8146         (fold): Likewise.  Before associating operands, check that
8147         code == MULT_EXPR, not code != MULT_EXPR.
8148         * ifcvt.c (noce_try_minmax): Check
8149         flag_unsafe_math_optimizations, not flag_fast_math.
8150         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
8151         * invoke.texi: Document -funsafe-math-optimizations and
8152         -fno-trapping-math.  Change documentation for -ffast-math.
8153         * jump.c (reversed_comparison_code_parts): Likewise.
8154         (rtx_equal_for_thread_p): Likewise.
8155         * optabs.c (emit_conditional_move): Likewise.
8156         * simplify-rtx.c (simplify_binary_operation): Likewise.
8157         (simplify_relational_operation): Likewise.
8158         (simplify_ternary_operation): Likewise.
8159         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
8160         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
8161         Add trapping-math and unsafe-math-optimizations entries to f_options.
8162         (set_fast_math_flags): New, sets flags for -ffast-math.
8163         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
8164         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
8165         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
8166
8167         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
8168         (alpha_emit_conditional_move): Initialize local_fast_math to
8169         flag_unsafe_math_optimizations, not flat_fast_math.
8170         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
8171         instead of setting flag_fast_math to 1.
8172         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
8173         not flag_fast_math.
8174         * config/i386/i386.c (override_options): Likewise
8175         * config/i386/i386.md: Likewise.
8176         * config/m68k/m68k.md: Likewise.
8177         * config/mips/mips.md: Likewise.
8178         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
8179         (rs6000_generate_compare): Likewise.
8180
8181 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
8182
8183         * Makefile.in: Set RANLIB to @RANLIB@.
8184         Remove RANLIB_TEST.
8185
8186 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
8187
8188         * fixinc/inclhack.def (djgpp_wchar_h): New test.
8189         * fixinc/fixincl.x: Regenerated.
8190
8191 2001-03-07  Richard Henderson  <rth@redhat.com>
8192
8193         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
8194
8195 2001-03-07  Richard Henderson  <rth@redhat.com>
8196
8197         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
8198         of block notes and exception handling notes.
8199
8200         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
8201         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
8202         (compile_file): ... here.
8203
8204 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8205
8206         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
8207
8208         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
8209         config.h now.  Include libiberty.h to handle alloca.
8210
8211 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
8212
8213         * c-parse.in (yylexname): New function, split out of _yylex.
8214         (objc_rid_sans_at): New table.
8215         (init_reswords): Initialize it.
8216         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
8217         retrieving the next token and checking it for significance as
8218         an ObjC keyword or string constant.
8219
8220         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
8221         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
8222
8223         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
8224         to CPP_OSTRING.
8225
8226 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
8227
8228         * config/m68k/m68k.c (const_uint32_operand): Accept any
8229         const_int on a 32-bit host.
8230
8231 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
8232
8233         * objc/objc-act.c (init_objc): Set save_lang_status,
8234         restore_lang_status, and mark_lang_status.
8235
8236 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
8237
8238         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
8239
8240 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8241
8242         * cppinternals.texi: Update.
8243
8244 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8245
8246         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
8247         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
8248         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
8249         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
8250         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
8251         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
8252         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
8253         config/i386/xm-i386.h, config/i860/xm-i860.h,
8254         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
8255         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
8256         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
8257         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
8258         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8259         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8260         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
8261         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
8262         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
8263         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8264         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8265         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
8266         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
8267         match the defaults provided in hwint.h.
8268
8269         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
8270         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
8271
8272         * config.gcc (xm_file): Don't set to files which are deleted.
8273
8274         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
8275         guard this file against these macros being undefined.
8276
8277 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
8278
8279         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
8280         and DECL_DEFER_OUTPUT on the decl we create, before calling
8281         rest_of_decl_compilation.
8282
8283 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
8284
8285         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
8286         AC_FUNC_ALLOCA.
8287         * configure, config.in: Regenerate.
8288         * config.gcc: Remove references to deleted files.
8289
8290         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
8291         genrecog.c, rtl.c: Do not use alloca anywhere.
8292
8293         * Makefile.in, build-make, system.h, config/x-interix,
8294         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
8295         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
8296         config/arc/xm-arc.h, config/arm/xm-arm.h,
8297         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8298         config/h8300/xm-h8300.h, config/i370/x-oe,
8299         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
8300         config/i386/x-ncr3000, config/i386/x-sco5,
8301         config/i386/xm-dgux.h, config/i860/x-sysv4,
8302         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
8303         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
8304         config/m68k/x-hp320g, config/m69k/x-mot3300,
8305         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
8306         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
8307         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
8308         config/m88k/x-sysv4, config/m88k/x-tekXD88,
8309         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
8310         config/mips/x-iris, config/mips/x-iris3,
8311         config/mips/x-sni-svr4, config/mips/x-sysv,
8312         config/mips/xm-iris6.h, config/mips/xm-mips.h,
8313         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
8314         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
8315         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
8316         config/pa/xm-papro.h, config/romp/xm-romp.h,
8317         config/rs6000/x-aix31, config/rs6000/x-aix41,
8318         config/rs6000/x-beos, config/rs6000/x-lynx,
8319         config/rs6000/x-mach, config/rs6000/x-rs6000,
8320         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
8321         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8322         config/sparc/x-sysv4, config/sparc/xm-linux.h,
8323         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
8324         config/vax/xm-vms.h: Eradicate all references to alloca and
8325         related stuff.
8326
8327         * config/xm-alloca.h, config/clipper/x-clix,
8328         config/i386/xm-sysv4.h, config/i860/x-fx2800,
8329         config/i860/x-sysv3, config/m88k/x-sysv3,
8330         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
8331         (contained only alloca related hacks).
8332
8333         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
8334         USE_C_ALLOCA.
8335
8336 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
8337
8338         * invoke.texi: Document __FAST_MATH__.
8339
8340 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8341
8342         * crtstuff.c: Restore include of auto-host.h.
8343
8344 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
8345
8346         Put main() in a separate file, so that the language
8347         front-end can use a different main().
8348
8349         * main.c: New.
8350         * toplev.c: (main): Rename as toplev_main.
8351         * toplev.h: Declare toplev_main.
8352         * Makefile.in (OBJS): add toplev.o.
8353           (BACKEND): remove toplev.o, add main.o.
8354
8355 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8356
8357         * cppfiles.c (search_from): Special case the empty string.
8358
8359 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8360
8361         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
8362         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
8363         strlen or strcpy; we already know the length.
8364         (_cpp_compare_file_date): Similarly.
8365         * cpphash.h (struct cpp_reader): Delete done_initialising.
8366         (CPP_PREV_BUFFER): Delete.
8367         * cppinit.c (cpp_start_read): Don't set done_initialising.
8368         * cpplex.c (parse_string): Guarantee null-termination.
8369         (_cpp_equiv_toklists): Remove.
8370         * cpplib.c (glue_header_name): Null-terminate.
8371         (do_line): Don't leak memory.
8372         * cpplib.h (BT_WEAK): Delete.
8373         * cppmain.c (cb_ident): Strings are now null-terminated.
8374
8375 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
8376
8377         * gcc.c (convert_filename): Append executable suffix
8378         if NO_AUTO_EXE_SUFFIX is not defined.
8379         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
8380         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
8381
8382 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
8383
8384         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
8385         * c-parse.gperf, c-gperf.h: Delete.
8386         (c-gperf.h was accidently re-added to the CVS repo in the rev
8387         1.16 commit by tromey)
8388
8389 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
8390
8391         * cpplex.c (_cpp_lex_token): Don't warn about directives in
8392         macro arguments when looking for the '('.
8393         * cppmacro.c (funlike_invocation_p): Set parsing_args to
8394         2 when really parsing arguments; 1 when looking for '('.
8395         Always restore the lexer position.
8396
8397 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
8398
8399         * longlong.h (umul_ppmm): Don't use a multiline string.
8400
8401 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8402
8403         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
8404         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
8405         t_bool in declaration because pcc can't combine volatile with typedef
8406         types.
8407
8408 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
8409
8410         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
8411         until when it is really needed.
8412         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
8413         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
8414         * i386.md (float?i?f splitter): Don't force source operand to memory
8415         for SSE.
8416         (sse_movdfcc): Fix constraint.
8417         (sse_movdfcc splitter): Handle properly the second alternative.
8418
8419 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
8420
8421         * cpplex.c (parse_string): Unconditionally pedwarn.
8422
8423 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
8424
8425         * cpp.texi: Update.
8426         * cppexp.c (parse_number): Update.
8427         * cpplex.c (parse_string): Pedwarn if multiline string does not
8428         result from a system header's macro.
8429         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
8430         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
8431         for function-like macros too.
8432         * c-lex.c (lex_number): Update.
8433
8434 2001-03-03  Richard Henderson  <rth@redhat.com>
8435
8436         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
8437
8438 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
8439
8440         * combine.c (try_combine): If split with mode-changed scratch
8441         register didn't work, try the original mode.
8442
8443 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
8444
8445         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
8446         * config/c4x/c4x.h: Likewise.
8447         * stor-layout.c (compute_record_mode): Likewise.
8448         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
8449
8450 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
8451
8452         * configure.in: Kill tm.h.  Include the files in the $tm_file
8453         list in all three of config.h, hconfig.h, tconfig.h, after the
8454         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
8455         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
8456         * configure: Regenerate.
8457         * Makefile.in (clean): Don't delete tm.h.
8458
8459         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
8460         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
8461         those are not defined, set SEC and FEC to 0 and 1.
8462         * gcc.texi: Update to match.
8463
8464         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
8465         * config/fp-bit.c, config/m68k/aux-crt2.asm,
8466         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
8467         Include tconfig.h, not tm.h.
8468
8469         * config/xm-lynx.h, config/xm-std32.h,
8470         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
8471         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
8472         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
8473         config/clipper/xm-clix.h, config/convex/xm-convex.h,
8474         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8475         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
8476         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
8477         config/i386/xm-i386.h, config/i860/xm-i860.h,
8478         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
8479         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
8480         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
8481         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
8482         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8483         config/pa/xm-linux.h, config/pa/xm-pa.h,
8484         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
8485         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
8486         config/pj/xm-pj.h, config/romp/xm-romp.h,
8487         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
8488         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8489         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8490         config/v850/xm-v850.h, config/vax/xm-vax.h,
8491         config/we32k/xm-we32k.h:
8492         Don't include tm.h.
8493         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
8494
8495         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
8496         config/i370/xm-oe.h: Don't include tm.h.  Don't define
8497         SUCCESS_EXIT_CODE.
8498         * config/vax/xm-vms.h: Don't include tm.h.
8499
8500         * config/xm-lynx.h, config/avr/xm-avr.h,
8501         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
8502         Delete; made empty by above changes.
8503         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
8504         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
8505         Don't include config/xm-lynx.h or tm.h.
8506
8507         * config/xm-gnu.h: Don't include fcntl.h.
8508         * config/sparc/xm-lynx.h: Don't include sys/types.h and
8509         sys/wait.h.
8510         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
8511
8512 2001-03-02  Richard Henderson  <rth@redhat.com>
8513
8514         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
8515         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
8516
8517 2001-03-02  Richard Henderson  <rth@redhat.com>
8518
8519         * Makefile.in (OBJS): Add dwarf2asm.o.
8520         * dwarf2asm.c, dwarf2asm.h: New files.
8521         * dwarf2out.c (*): Use them.
8522         (size_of_uleb128, size_of_sleb128): Remove.
8523         (output_uleb128, output_sleb128): Remove.
8524         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
8525         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
8526         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
8527         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
8528         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
8529         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
8530         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
8531         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
8532         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
8533         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
8534         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
8535         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
8536         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
8537         (dwarf2out_frame_debug): Remove unused variables.
8538         (output_loc_operands): Don't abort on 8 byte constants if
8539         host integers are wide enough.
8540         (output_symbolic_ref): Remove.
8541         (size_of_die): Don't assume 4 byte host integers.
8542         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
8543         and end labels.
8544         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
8545         something stupid with HOST_WIDE_INT to long truncation.
8546         [CONST_DOUBLE]: Likewise.
8547
8548         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
8549         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
8550         * config/arm/unknown-elf.h: Likewise.
8551         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
8552         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
8553         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
8554         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
8555         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
8556         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
8557         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
8558         (ASM_OUTPUT_DWARF_OFFSET): Remove.
8559         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
8560         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8561         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
8562         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
8563
8564 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8565
8566         * cselib.c (hash_rtx): Cast enums to unsigned int.
8567
8568 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8569
8570         * print-rtl.c (print_rtx): Cast enums to int for comparison.
8571         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
8572         shifts.
8573         * c-format.c (C_STD_VER): Cast to int for comparisons.
8574         (check_function_format): Cast various enums to int for &.
8575         (maybe_read_dollar_number): Likewise.
8576         (check_format_info): Likewise.
8577         (check_format_info_main): Likewise.
8578         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
8579         (safe_from_p): Likewise.
8580         * varasm.c (const_hash): Cast enum to int for %.
8581         * emit-rtl.c (init_emit_once): Use int loop variable to work around
8582         pcc enum problems with < and ++ operators.
8583         * regclass.c (init_reg_sets_1): Cast enums for comparison.
8584         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
8585         (regclass_init): Change enum class to int to iterate over reg_classes.
8586         * genrecog.c (merge_trees): Cast enums for comparison.
8587         * rtl.h (GET_CODE): Cast to enum rtx_code.
8588         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
8589         (GET_MODE): Cast to enum machine_mode.
8590         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
8591         (GET_NOTE_INSN_NAME): Cast enum to int.
8592         * tree.h (TREE_CODE): Cast to enum tree_code.
8593         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
8594         * timevar.c (timevar_print): Change loop variable id from enum to
8595         unsigned int.
8596         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
8597         * config/i386/i386.md: Use PUT_MODE for mode assignment.
8598         * toplev.c (compile_file): Cast enum DFI to int.
8599         (decode_d_option): Likewise.
8600
8601 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
8602
8603         * cppinit.c (append_include_chain): Mark "after" include file name list
8604         as a system directory.
8605         * cpp.texi: Document new behavior.
8606
8607 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
8608
8609         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
8610
8611 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8612
8613         * cppfiles.c (struct include_file): Update.
8614         (stack_include_file): Use search_from.
8615         (cpp_included, find_include_file): Update.
8616         (cpp_execute_include): Update.  ptr->name may not be
8617         null terminated.  Use the new search_from member variable
8618         of cpp_buffer.
8619         (_cpp_compare_file_date): Similarly.
8620         (search_from): New function, similiar to actual_directory.
8621         (actual_directory): Delete.
8622         (remap_filename): Update.  loc->name may not be null terminated.
8623         (struct file_name_list): Rename search_path.  Update.
8624         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
8625         search_from and dir.
8626         (struct cpp_reader): Remove actual_dirs.
8627         * cppinit.c (struct cpp_pending): Update for renamed objects.
8628         (append_include_chain, remove_dup_dir, remove_dup_dirs,
8629         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
8630         * cpplib.h (struct cpp_options): Similarly.
8631
8632 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8633
8634         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
8635         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
8636         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
8637         config/clipper/xm-clix.h, config/convex/xm-convex.h,
8638         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8639         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
8640         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
8641         config/i370/xm-linux.h, config/i370/xm-mvs.h,
8642         config/i370/xm-oe.h, config/i386/xm-aix.h,
8643         config/i386/xm-i386.h, config/i386/xm-osf.h,
8644         config/i860/xm-i860.h, config/i960/xm-i960.h,
8645         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
8646         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
8647         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
8648         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
8649         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
8650         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8651         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
8652         config/pj/xm-pj.h, config/romp/xm-romp.h,
8653         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
8654         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8655         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8656         config/v850/xm-v850.h, config/vax/xm-vax.h,
8657         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
8658         Do not define TRUE or FALSE.
8659
8660         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
8661         empty by above change.
8662         * config.gcc: Remove references to these files.
8663
8664         * configure.in: Detect stdbool.h.
8665         * configure, config.in: Regenerate.
8666         * system.h: Include stddef.h here if available.
8667         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
8668         Then set up a sensible boolean type at the very end.
8669
8670         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
8671         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
8672
8673         * hash.h: Delete 'boolean' typedef and related #undefs.
8674
8675         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
8676         all uses of 'boolean' with 'bool'.
8677
8678 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8679
8680         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
8681         * cppexp.c (lex): Cast enums for comparison.
8682         * cppinit.c (parse_option): Cast enum for comparison.
8683         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
8684         (cpp_output_token): Likewise.
8685         (cpp_can_paste): Cast enums for comparsion and plus/minus.
8686         (cpp_avoid_paste): Cast enums for minus and comparison.
8687
8688 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8689
8690         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
8691         field to all array elements.
8692
8693 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8694
8695         * cpphash.h (struct cpp_reader): Add print_version field.
8696         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
8697         just set print_version and other flags as appropriate.
8698         (cpp_post_options): Print version here if print_version is set.
8699
8700         * toplev.c (exit_after_options): New flag.
8701         (independent_decode_option): Don't exit here; just set
8702         exit_after_options.
8703         (main): Exit after calling lang_hooks.post_options if
8704         exit_after_options is true.
8705
8706         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
8707         (merge_include_chains): Adjust comment to match code.
8708
8709 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
8710
8711         * stringpool.c (set_identifier): New function.
8712         * tree.h: Prototype it.
8713
8714         * c-parse.in: Kill D_YES. If compiled for objc, call
8715         save_and_forget_protocol_qualifiers from init_reswords.
8716         * objc/objc-act.c (remember_protocol_qualifiers,
8717         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
8718         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
8719         vice versa.
8720         (save_and_forget_protocol_qualifiers): New function.
8721         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
8722
8723 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
8724
8725         * c-semantics.c (prune_unused_decls): Return error_mark_node
8726         instead of (tree) 1 to stop traversing the tree chain.
8727
8728 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
8729
8730         Fix a problem introduced by Kenner's Feb 18 change.
8731         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
8732         flag_cse_skip_blocks only temporarily, not for ever.
8733
8734 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
8735
8736         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
8737         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
8738
8739         * pa.c (emit_move_sequence): Verify operand0 is a hard register
8740         before determining its register class.
8741
8742 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
8743
8744         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
8745         from reg 4 if current_function_calls_setjmp.
8746         (gen_nop_type): New function.
8747         (ia64_emit_nops): New function.
8748         (ia64_reorg): Call it.
8749         (ia64_sched_reorder): Move code that rotates bundles up a bit.
8750
8751         * reload1.c (eliminate_regs_in_insn): Restrict the special case
8752         code not to try to optimize adds with anything but a REG destination.
8753
8754         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
8755         (INSN_PRIORITY_KNOWN): New accessor macro.
8756         * haifa-sched.c (priority): Use it instead of testing priority against
8757         zero.
8758
8759 2001-02-28  DJ Delorie  <dj@redhat.com>
8760
8761         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
8762         since that doesn't work the way gcc wants on a generic m68k.
8763
8764 2001-02-28  Richard Henderson  <rth@redhat.com>
8765
8766         * caller-save.c (save_call_clobbered_regs): Fix typo in
8767         comparison last change.
8768
8769 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
8770
8771         * i386.c (pentium4_cost): New.
8772         (m_PENT4): New macro.
8773         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
8774         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
8775         x86_integer_DFmode_moves, x86_partial_reg_dependency,
8776         x86_memory_mismatch_stall): Add Pentium4
8777         (x86_use_q_reg, x86_use_any_reg): Kill.
8778         (override_options): Add pentium4.
8779         (incdec_operand): Return 0 for pentium4.
8780         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
8781         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
8782         (TARGET_PENTIUM4): Define.
8783         (enum processor_type): Add PROCESSOR_PENTIUM4.
8784         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
8785         * i386.md (attribute "cpu"): Add pentium4.
8786         * invoke.texi (march): Add pentium4.
8787
8788 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
8789
8790         * i386.md (sse_mov?fcc*): New patterns and splitters.
8791         * i386.c (ix86_expand_movcc): Work post-reload; recognize
8792         the SSE based conditional moves.
8793
8794 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
8795
8796         * i386.md (attribute mode): Add "TI".
8797         (movsf_1): Add pxor support; remove constant propagation splitter.
8798         (movdf_integer): Likewise.
8799         (movdf_nointeger): Likewise.
8800         (movxf constant prop splitter): Handle all modes; update for SSE.
8801         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
8802         * i386.c (standard_80387_constant_p): Rewrite.
8803         (standard_sse_constant_p): New.
8804         * i386-protos.h (standard_sse_constant_p): New.
8805
8806 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8807
8808         * i386.md (sse_setccsf, sse_setccdf): New.
8809         (sse_cmp* patterns): Use '%D' instead of outputtting condition
8810         flag directly.
8811         * i386.c (sse_comparison_operator): Accept the supported unordered
8812         comparses; be ready for fast_math.
8813         (print_operand): Support 'D'.
8814
8815 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
8816
8817         * jump.c (reversed_comparison_code): Kill.
8818
8819 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
8820
8821         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
8822         for STACK_REGS
8823
8824 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
8825
8826         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
8827         add missing '%' in constraints.
8828
8829 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
8830
8831         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
8832         for HOST_BITS_PER_WIDE_INT == 32 too.
8833
8834 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
8835
8836         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
8837         NREGS.
8838         (insert_save, insert_restore): New parameter save_mode.
8839         (init_caller_save): Update initialization of reg_save_code
8840         and reg_restore_code.
8841         (save_call_clobbered_regs):  Compute save_modes and update calls to
8842         reg_save_code and reg_restore_code.
8843         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
8844         of spill; update use of reg_restore_code.
8845         (insert_save):  Likewise.
8846         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
8847         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
8848         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
8849
8850 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
8851
8852         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
8853         noce_try_store_flag_inc, noce_try_store_flag_mask,
8854         noce_try_cmove_arith):
8855         Use reversed_comparison_code instead of reverse_comparison and
8856         can_reverse_comparison_p.
8857
8858 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
8859
8860         * jump.c (reversed_comparison_code_parts): Allow reversal of
8861         unordered compares in -ffast-math mode; reverse ordered compares
8862         for FP even w/o -ffast-math.
8863
8864 2001-02-27  Richard Henderson  <rth@redhat.com>
8865
8866         * print-rtl.c (print_rtx) [i]: Don't print field five on
8867         NOTEs other than NOTE_INSN_DELETED_LABEL.
8868
8869 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
8870
8871         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
8872         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
8873
8874 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
8875
8876         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
8877         even if walk_subtrees is 0.
8878         * c-semantics.c (prune_unused_decls): Return a non-null value to
8879         stop traversing the tree chain.
8880
8881 2001-02-27  DJ Delorie  <dj@redhat.com>
8882
8883         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
8884         register, *then* define it as the new CFA.
8885
8886 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
8887
8888         * pa.c (override_options): Promote -fpic to -fPIC.
8889         (legitimize_pic_address): Simplify due to removal of
8890         small PIC as a code generation option.
8891         (secondary_reload_class): Similarly.
8892         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
8893         (PRINT_OPERAND_ADDRESS): Similarly.
8894         * pa.md (various patterns): Similarly.
8895         (small pic lo_sum pattern): Remove.
8896
8897 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
8898                               Fergus Henderson
8899
8900         * md.texi (min, max): Document
8901
8902 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
8903
8904         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
8905         TARGET_PARTIAL_REG_DEPENDENCY.
8906         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
8907
8908 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
8909
8910         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
8911
8912 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
8913
8914         * mips.c (mips_make_temp_file): Fix thinko in last change.
8915
8916 2001-02-26  Jason Eckhardt  <jle@redhat.com>
8917
8918         * combine.c (known_cond): Do not reverse the condition when
8919         SMAX/UMAX is being considered and the condition is for equality
8920         or inequality.
8921
8922         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
8923
8924 2001-02-26  Philip Blundell  <philb@gnu.org>
8925
8926         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
8927         "armv2-*-linux".
8928         * config/arm/linux-elf.h: Remove historical relics related to
8929         above configurations.
8930         * config/arm/linux-oldld.h: Delete.
8931         * config/arm/linux-elf26.h: Delete.
8932
8933 2001-02-26  Jason Merrill  <jason@redhat.com>
8934
8935         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
8936         definitions.
8937         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
8938         recognize a tentative definition.  Lose obsolete code.
8939
8940         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
8941         variables unless necessary, either.
8942
8943 2001-02-25  Richard Henderson  <rth@redhat.com>
8944
8945         * ifcvt.c (struct noce_if_info): Add test_bb.
8946         (noce_get_alt_condition): New.
8947         (noce_try_minmax, noce_try_abs): New.
8948         (noce_operand_ok): New.
8949         (noce_process_if_block): Use them.
8950         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
8951
8952 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
8953
8954         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
8955         include.
8956
8957 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
8958
8959         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
8960         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
8961         properly.
8962         (mips_asm_file_end): Free temp_filename here.
8963
8964 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8965
8966         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
8967         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
8968
8969         * config/i386/i386.md (movstrsi): Handle FAIL case.
8970
8971 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8972
8973         * cppinit.c (builtin_array): Update.
8974         (init_builtins): Flag builtins to warn if redefined or
8975         undefined.  Define __GXX_WEAK as a normal macro.
8976         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
8977         * cpplib.h (NODE_WARN): New flag.
8978         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
8979         Handle __STDC__ as a builtin only on Solaris.
8980         (warn_of_redefinition): Renamed from check_macro_definition.
8981         Reverse sense of test.  Always warn if NODE_WARN.
8982         (_cpp_create_definition): Use warn_of_redefinition.  Flag
8983         any macro beginning with "__STDC_" to require a mandatory
8984         warning if redefined or undefined.
8985
8986 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
8987
8988         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
8989         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
8990         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
8991         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
8992         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
8993         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
8994         Don't define any of:
8995         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
8996         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
8997         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
8998         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
8999         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
9000
9001         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
9002         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
9003         definitions.
9004
9005         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
9006         Delete now-empty file.
9007
9008         * alpha/vms.h: Define NEED_ATEXIT here...
9009         * alpha/xm-vms.h: ...not here.
9010
9011         * i386/cygwin.h: Don't define PARAMS.
9012         * mips/mips.c: Don't prototype mktemp.  Don't define
9013         P_tmpdir.  Use make_temp_file to create temporary files.
9014         Don't be clever and delete temporary files early.
9015         * config.gcc: Drop references to deleted files.  Don't define
9016         FULL_PROTOTYPES.
9017         * gcc.texi: Don't mention USE_PROTOTYPES.
9018
9019 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9020
9021         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
9022         (ix86_set_move_mem_attrs_1): Likewise.
9023         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
9024         * config/i386/i386.md (movstrsi): Call it.
9025
9026 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
9027
9028         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
9029         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
9030         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
9031         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
9032
9033         (i750a-*-*): Error here if hosting on i750a.
9034         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
9035
9036         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
9037         Remove (empty modulo comments).
9038
9039         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
9040         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
9041         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
9042         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
9043         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
9044         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
9045
9046         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
9047         Remove reference to winnt.h in comment.
9048         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
9049
9050 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9051
9052         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
9053         used to set another biv.
9054
9055 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9056
9057         * tree.h (BLOCK_DEAD): New macro.
9058         (struct tree_block): New flag, dead_flag.
9059         * print-tree.c (print_node, case 'b'): Print missing fields.
9060         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
9061         * function.c (identify_blocks): Enable test for misplaced notes.
9062         (all_blocks): Skip BLOCK_DEAD blocks.
9063         * integrate.c (integrate_decl_tree): Likewise.
9064
9065         * errors.c (internal_error, trim_filename): New functions.
9066         (fancy_abort): Call internal_error.
9067         * errors.h (internal_error, trim_filename): New declarations.
9068
9069 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
9070
9071         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
9072         2000-08-26's patch.
9073         (EXTRA_CONSTRAINT): Formatting changes.
9074
9075 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9076
9077         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
9078
9079 2001-02-23  Per Bothner  <per@bothner.com>
9080
9081         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
9082         so they can be called from java/jvspec.c.
9083         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
9084
9085 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
9086
9087         * i386.c (ix86_frame): New structure.
9088         (ix86_compute_frame_size): Kill.
9089         (ix86_compute_frame_layout): New.
9090         (ix86_save_reg): New.
9091         (ix86_can_use_return_insn_p): Use frame layout stuff.
9092         (ix86_expand_prologue): Likewise.
9093         (ix86_expand_epilogue): Likewise.
9094         (ix86_initial_elimination_offset): Likewise.
9095         (ix86_nsaved_regs): Use ix86_save_reg.
9096         (ix86_emit_save_regs): Likewise.
9097
9098 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
9099
9100         * flow.c (find_sub_basic_blocks): New function.
9101         (split_block): Be ready for basic block introduced by CODE_LABEL.
9102         (commit_one_edge_insertion): Call find_sub_basic_block.
9103
9104         * flow.c (make_edges): Add edge from entry for blocks starting with
9105         label having ALTERNATE_NAME
9106
9107 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9108
9109         * function.c (epilogue_done): Be ready for first basic block not
9110         containing PROLOGUE_END note.
9111         (reposition_prologue_and_epilogue_notes): Avoid placing
9112         PROLOGUE_END note between BASIC_BLOCK.
9113
9114 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
9115
9116         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
9117
9118 2001-02-21  DJ Delorie  <dj@redhat.com>
9119
9120         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
9121         check for current_function_has_nonlocal_goto from 1999-11-12.
9122
9123 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9124
9125         * diagnostic.c (trim_filename): No longer static.
9126         * toplev.h (trim_filename): Declare.
9127         * rtl.c (rtl_check_failed_bounds): Call internal_error.
9128         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
9129         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
9130         (rtvec_check_failed_bounds): Likewise.
9131         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
9132
9133         * convert.c (convert_to_integer): Don't do unsigned unless result or
9134         both inputs are unsigned.
9135
9136         * fold-const.c (fold_convert): Don't call size_int_type_wide if
9137         input overflows.
9138
9139         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
9140
9141         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
9142
9143 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
9144
9145         * Makefile.in (resource.o): Add params.h dependence.
9146         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
9147         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
9148         * resource.c: Add dependence on params.h.
9149         (current_live_regs): Fix explanatory comment.
9150         (find_basic_block): Add new parameter to permit limiting search
9151         for a BARRIER.
9152         (mark_target_live_regs): Add new argument to find_basic_block call.
9153         (incr_ticks_for_insn): Likewise.
9154
9155 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
9156
9157         * diagnostic.c (output_to_stream): Rename to
9158         output_buffer_to_stream. Loses the stream parameter.
9159         (init_output_buffer): Set diagnosic_buffer's stream.
9160         (flush_diagnostic_buffer): Adjust.
9161         (default_print_error_function): Likewise.
9162         (finish_diagnostic): Likewise.
9163         (verbatim): Likewise.
9164
9165         * diagnostic.h (struct output_buffer): Add `stream' field.
9166         (output_buffer_attached_stream): New macro.
9167
9168 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
9169
9170         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
9171         check if either operand is divisible by C.
9172         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
9173         If type is signed, consider negative numbers as well.
9174
9175 2001-02-22  Richard Henderson  <rth@redhat.com>
9176
9177         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
9178         reach .text instead of gp-relative relocs.
9179         * config/ia64/crtend.asm (.init): Likewise.
9180
9181 2001-02-22  Andreas Jaeger  <aj@suse.de>
9182
9183         * extend.texi (C++ Attributes): Fix typo.
9184
9185 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
9186
9187         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
9188         functions, drop current_function_args_info.words test.
9189         (ia64_compute_frame_size): Mark syscall_linkage functions as
9190         using eight input registers.
9191
9192 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
9193         Bruce Korb  <bkorb@gnu.org>
9194
9195         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
9196         * fixinc/README: Document how to convert sed substitutions
9197         to format style c_fix-es.
9198         * fixinc/fixincl.x: regen
9199
9200 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
9201
9202         * gcc.c: Add comment explaining how to add a command-line option.
9203         Add title to specs language comment.
9204
9205 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
9206
9207         * gcc.c (cc1_options): Add "-param".
9208         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
9209         (option_map): Likewise.
9210         * toplev.c (display_help): Add entry for "--param".
9211         (independent_decode_option): Fix typographical error.
9212
9213 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
9214                               Bernd Schmidt  <bernds@redhat.com>
9215                               Jan Hubicka  <jh@suse.cz>
9216
9217         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
9218         (function_arg): Likewise.
9219
9220 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
9221
9222         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
9223
9224 2001-02-21  Kazu Hirata  <kazu@hxi.com>
9225
9226         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
9227         character.
9228         (xorsi3): Likewise.
9229
9230 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
9231
9232         * flow.c (init_propagate_block_info): Canon address and use single_set
9233         for killing dead memory stores.
9234
9235 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
9236
9237         * Makefile.in (reorg.o): Add params.h dependence.
9238         * params.def: Fix typographical error in comment.
9239         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
9240         * params.h: Modify introductory comment.
9241         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
9242         * reorg.c: Add dependence on params.h.
9243         (redundant_insn): Add parameterized throttle for search.
9244         (fill_simple_delay_slots): Add a comment explaining a variable.
9245         Move conditional out of loop, simplifying code.
9246         (fill_eager_delay_slots): Fix typographical error in comment.
9247
9248 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
9249
9250         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
9251
9252         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
9253         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
9254
9255 2001-02-21  Jason Merrill  <jason@redhat.com>
9256
9257         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
9258         (struct tree_decl): Add uninlinable bitfield.
9259         * c-decl.c (duplicate_decls): Set it.
9260         * integrate.c (function_cannot_inline_p): Check it.
9261
9262         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
9263         DW_AT_MIPS_linkage_name to abstract methods.
9264         (dwarf2out_abstract_function): Emit class context before calling
9265         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
9266         (gen_subprogram_die): Remove obsolete code.
9267         (gen_member_die): Don't include clones in the member list.
9268         (gen_decl_die): Emit abstract info for clone origin.
9269         * dwarfout.c (output_type): Don't include clones in the member list.
9270         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
9271         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
9272         DECL_ABSTRACT on a function that already has it set.
9273
9274         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
9275         (get_subprogram_die): Pass it in.
9276
9277 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
9278
9279         * flow.c (mark_set_1): Make not_dead unsigned long.  For
9280         non-pseudos, use it as a bitmask of the hard regs that
9281         don't die.
9282
9283 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9284
9285         * cppfiles.c: Update comments.
9286         (_cpp_read_file): Don't check for NULL filenames any more.
9287         * cppinit.c (cpp_start_read): Don't do canonicalization of
9288         in_fname and out_fname.  Use the passed file name exclusively.
9289         (_cpp_handle_options): Don't treat "-" as a command line option,
9290         but as a normal filename.
9291         (_cpp_post_options): Canonicalize in_fname and out_fname.
9292         * cppmain.c (printer_init): Don't check out_fname for NULL.
9293         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
9294         (init_c_lex): Update, and use "" to represent stdin to CPP.
9295         (yyparse): Update.
9296
9297 2001-02-20  Will Cohen  <wcohen@redhat.com>
9298
9299         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
9300         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
9301         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
9302         fixunstfsi_libfunc.
9303
9304 2001-02-20  Stan Shebs  <shebs@apple.com>
9305
9306         * config/rs6000/rs6000.c (output_cbranch): Output branches
9307         on separate lines instead of using ';' to separate.
9308
9309 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
9310
9311         * cppinit.c (set_lang):  Move builtin handling to...
9312         (init_builtins): ...here.
9313         (_cpp_create_reader): Move call to set_lang.
9314
9315 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
9316
9317         * stmt.c (expand_return): If an attempt is made to return the
9318         error_mar_node, treat the return like a return without a value.
9319
9320 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
9321
9322         * sibcall.c (skip_copy_to_return_value): Call
9323         identify_call_return_value here, and return orig_insn if it
9324         returns zero.  Hardret and softret arguments now unnecessary.
9325         (call_ends_block_p): Don't call identify_call_return_value here.
9326
9327         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
9328         's' slots in RTXen.
9329         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
9330         * ggc.h (ggc_mark_if_gcable): Delete prototype.
9331
9332 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
9333
9334         * pa.c (move_operand): Accept code to load the address of a
9335         symbol out of the DLT as a valid move operand.
9336         (print_operand, case 'A'): New to handle generating a DLT
9337         reference for a LO_SUM expression.
9338         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
9339         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
9340
9341 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
9342
9343         * README, cpp.texi, gcc.texi, version.c: Update version number to
9344         3.1.
9345         * cpp.1, gcov.1, gcc.1: Regenerate.
9346
9347 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
9348
9349         * cppfiles.c (stack_include_file): Generate dependencies
9350         here, and manage include_count here too.
9351         (PRINT_THIS_DEP): Delete.
9352         (_cpp_execute_include): Do not generate dependencies here,
9353         apart from the case of a missing header.  Do not manage
9354         include_count.
9355         (_cpp_read_file): Leave dependency generation to
9356         stack_include_file.
9357
9358 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
9359
9360         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
9361         target_cpu_default.  Remove dead assignment to
9362         target_cpu_default.
9363
9364 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
9365
9366         * regclass.c (contains_reg_of_mode): Make global.
9367         (init_reg_sets): Remove contains_reg_of_mode; take into account
9368         CLASS_MAX_NREGS when looking for the proper mode.
9369         (dump_regclass): Dump only classes considered for the pseudo.
9370         (regclass): Use contains_reg_of_mode.
9371
9372 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9373
9374         * gcc.c (do_spec_1): 'n' for printing notices.
9375         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
9376
9377 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
9378
9379         * reg-stack.c (next_flags_user): Use current_block->end
9380         (swap_rtx_condition): Look for next user if flags don't die;
9381         give up on CALL_INSNs; use current_block->end.
9382
9383 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9384
9385         * sibcall.c (call_ends_block_p): New function.
9386         (optimize_sibling_and_tail_recursive_call): Use it.
9387
9388 2001-02-18  Kazu Hirata  <kazu@hxi.com>
9389
9390         * config/h8300/h8300.md: Update copyright.
9391         (andsi3): Do not output an extra newline character.
9392
9393 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9394
9395         * toplev.c (note_deferral_of_defined_inlined_function): Argument
9396         FNDECL may be unused.
9397
9398         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
9399         follow jumps after first run.
9400         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
9401         it doesn't change any jumps.
9402
9403 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
9404
9405         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
9406         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
9407         (mostlyclean): Corresponding changes.
9408         * rtlanal.c (hard-reg-set.h): Include.
9409         (rtx_unstable_p): Do not treat the argument pointer specially
9410         if it is not a fixed register.
9411         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
9412
9413 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9414
9415         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
9416         against last real insn in basic block.
9417         Rework to avoid gotos.
9418
9419         * Makefile.in (gcse.o): Now includes ggc.h.
9420         * gcse.c: Include ggc.h.
9421         (want_to_gcse_p): Verify expression can be in SET as valid insn.
9422         (try_replace_reg): Remove warning of uninitialize variable.
9423         (process_insert_insn): Call invalid_insn_p to validate insn.
9424         * recog.c (insn_invalid_p): Now global.
9425         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
9426         * recog.h (insn_invalid_p): New declaration.
9427
9428         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
9429
9430         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
9431         assignments from FP constants since 'Y' output code can't handle it.
9432         (eligible_for_sibcall_delay): Likewise.
9433
9434         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
9435         Call fancy_abort directly, passing args.
9436         (print_rtl_and_abort): Now a macro, like fancy_abort.
9437
9438         * final.c (output_operand_lossage): Use internal_error, not error.
9439
9440 2001-02-18  Shane Nay  <shane@agendacomputing.com>
9441
9442         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
9443         structure shift insns.
9444
9445 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
9446
9447         * invoke.texi (-fsquangle): Remove documentation.
9448         (-fname-mangling-version): Likewise.
9449
9450 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
9451
9452         * optabs.c (expand_abs): Remove reference to
9453         HAVE_contitional_arithmetic.
9454         * combine.c (simplify_set): Likewise.
9455
9456 2001-02-18  Richard Henderson  <rth@redhat.com>
9457
9458         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
9459         would be disrupted.
9460
9461 2001-02-18  Richard Henderson  <rth@redhat.com>
9462
9463         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
9464
9465         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
9466
9467         * reload1.c (reload_cse_simplify_set): Fix typo.
9468
9469 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9470
9471         * diagnostic.c (_fatal_insn): Decrement errorcount.
9472
9473         * invoke.texi (-I): Add note avoiding use for system header files.
9474
9475         * rtl.h (add_clobbers): Remove duplicate declaration.
9476         * recog.h (added_clobbers_hard_reg_p): New declaration.
9477         * genemit.c (struct clobber_pat): New field has_hard_reg.
9478         (gen_insn): Record if added clobbers clobber hard reg.
9479         (gen_split): Avoid unused warning if number of operands is 0.
9480         (output_added_clobbers_hard_reg_p): New function.
9481         (main): Call it.
9482
9483 2001-02-18  Alan Modra <alan@linuxcare.com.au>
9484
9485         * pa.c (hppa_expand_prologue): Simplify code storing return
9486         pointer.  For large (>=8k) frames with a post_store, adjust stack
9487         pointer by 8k-64 first rather than by 64.  When testing with
9488         VAL_14_BITS_P, always use the actual value rather than the value
9489         negated.  Add blockage to prevent scheduling of spills before
9490         stack frame has been created.
9491         (hppa_expand_epilogue): Simplify code loading return pointer.
9492         Allow a slightly larger range for merge_sp_adjust_with_load case.
9493         When testing with VAL_14_BITS_P, always use the actual value.
9494
9495         * pa.c (pa_adjust_insn_length): Check that block move
9496         pattern is a set before looking at operands.
9497
9498 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
9499
9500         * fold-const.c (fold_binary_op_with_conditional_arg): New
9501         function, split out from ...
9502         (fold): ... here.
9503         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
9504         conditional arms that throw exceptions.
9505
9506         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
9507         looking at a BLOCK.
9508
9509 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9510
9511         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
9512         define HAVE_DECL_* to 1 to mask potential backup declarations.
9513         * configure: Regenerated.
9514
9515 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
9516
9517         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
9518
9519 2001-02-17  Richard Henderson  <rth@redhat.com>
9520
9521         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
9522         when replacing a memory load with a register.
9523
9524 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9525                           Jan Hubicka  <jh@suse.cz>
9526
9527         * recog.c (validate_replace_src_1): New.
9528         (validate_replace_src_data): Likewise.
9529         (validate_replace_src): Use note_uses.
9530         * rtl.h (note_uses): Declare.
9531         * rtlanal.c (note_uses): New.
9532
9533 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
9534
9535         * reg-stack.c (stack_def): Make field reg unsigned.
9536         (remove_regno_note): Unsignetize parameter.
9537
9538 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
9539
9540         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
9541         shladd_operand() call.
9542
9543 2001-02-16  Bruce Korb  <bkorb@gnu.org>
9544             Rodney Brown  <RodneyBrown@mynd.com>
9545
9546         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
9547         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
9548         machine restrictions
9549         * fixinc/fixincl.x: regen
9550
9551 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9552
9553         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
9554         Don't CSE a nop.
9555         (hash_scan_insn): Clean up calls to hash_scan_set.
9556         (compute_kill_rd): REGNO now unsigned.
9557         (try_replace_reg): Rework to use simplify_replace_rtx.
9558         (cprop_jump, cprop_cc0_jump): Likewise.
9559         (cprop_insn): Call find_reg_equal_equiv_note.
9560         Reflect changes to cprop_jump and cprop_cc0_jump.
9561
9562         * recog.c (validate_replace_src): Replace in operands of
9563         ZERO_EXTRACT in SET_DEST.
9564
9565         * cse.c (new_label_ref): New variable.
9566         (insert): Set it instead of recorded_label_ref.
9567         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
9568         CODE_LABEL for this function, and not already in REG_LABEL note.
9569
9570 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
9571
9572         * resource.c (mark_referenced_resources): Fix typo in introductory
9573         comment.
9574         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
9575         string constant.
9576
9577 2001-02-16  Jason Merrill  <jason@redhat.com>
9578
9579         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
9580         NULL.
9581         (gen_subprogram_die): Don't abort on seeing a second definition if
9582         the previous one was abstract.  Don't replace an abstract instance
9583         in the lookup table.
9584
9585         * dwarf2out.c (dwarf2out_abstract_function): Rename from
9586         gen_abstract_function.
9587         * dwarf2out.h: Declare it.
9588         * toplev.c (note_outlining_of_inline_function): New fn.
9589         * toplev.h: Declare it.
9590         * integrate.c (output_inline_function): Call it.
9591         * c-decl.c (duplicate_decls): Call it when redefining an extern
9592         inline.  Don't inline the new defn.
9593
9594         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
9595
9596 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9597
9598         * .gdbinit: Rename to gdbinit.in.
9599         * gdbinit.in: New file,
9600         * configure.in: Generate .gdbinit from gdbinit.in.
9601         * configure: Regenerated.
9602         * Makefile.in (distclean): Always remove .gdbinit.
9603
9604 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
9605
9606         * objc/objc-act.c (start_class): Register implemented_classes with
9607         GC.
9608
9609 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9610
9611         * cppfiles.c (_cpp_make_system_header): Generate a file
9612         change callback.
9613
9614 2001-02-15  Jim Meyering  <meyering@lucent.com>
9615
9616         * Makefile.in (install-common): Don't depend on installdirs here.
9617         Instead, make each of the lang.install-common targets (e.g.,
9618         c++.install-common in cp/Make-lang.in) depend on it.
9619         (install-driver): Depend on installdirs.
9620
9621 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9622
9623         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
9624
9625         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
9626         do in memory.
9627
9628 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
9629
9630         * invoke.texi (--param): Document.
9631
9632 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
9633
9634         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
9635
9636 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
9637
9638         * i386.md (extendsfdf2_2): Fix constraints.
9639
9640 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
9641
9642         * i386.md (fop_df_3 splitter): Fix operand number.
9643
9644 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
9645
9646         * invoke.texi (-mreg-alloc): Nuke.
9647         * i386.c (ix86_reg_alloc_order, regs_allocated,
9648         order_regs_for_local_alloc): Nuke.
9649         (override_options): Kill reg_alloc code.
9650         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
9651         (REG_ALLOC_ORDER): SSE goes before I387.
9652         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
9653         (ix86_reg_alloc_order): Likewise.
9654         * i386-protos.h (ix86_reg_alloc_order): Kill.
9655
9656 2001-02-14  Richard Henderson  <rth@redhat.com>
9657
9658         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
9659
9660 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
9661
9662         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
9663
9664 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
9665
9666         * i386-protos.h (ix86_memory_move_cost): Move offline.
9667         * i386.c (ix86_register_move_cost): Compute properly cost of
9668         SSE, MMX and i387 instructions.
9669         (*_cost): Add costs of SSE/MMX moves.
9670         (ix86_memory_move_cost): Move offline from ....; Likewise.
9671         * i386.h (MEMORY_MOVE_COST): .... here;
9672         (struct processor costs): Add new fields to represent costs
9673         of SSE/MMX moves.
9674
9675 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
9676
9677         * regclass.c (init_reg_sets_1): Reinstall the optimization of
9678         move_cost together with Matt Kraai's fix.
9679
9680 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
9681
9682         * Makefile.in (OBJS): Add params.o.
9683
9684 2001-02-14  Richard Henderson  <rth@redhat.com>
9685             DJ Delorie  <dj@redhat.com>
9686
9687         * jump.c (jump_optimize_1): When we delete a conditional jump
9688         preceeding a non-conditional jump to effectively the same place,
9689         make sure that the combined jump skips any clobber insns between
9690         the two labels.
9691
9692 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
9693
9694         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
9695
9696 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
9697
9698         * Makefile.in (toplev.o): Depend on params.h.
9699         (intergate.o): Likewise.
9700         (params.o): New target.
9701         * flags.h (inline_max_insns): Remove.
9702         * integrate.c: Include params.h.
9703         Use MAX_INLINE_INSNS instead of inline_max_insns.
9704         * params.c: New file.
9705         * params.h: Likewise.
9706         * params.def: Likewise.
9707         * toplev.c: Include params.h.
9708         (lang_independent_params): New variable.
9709         (decode_f_option): Use the param machinery instead of setting
9710         max_inline_insns.
9711         (independent_decode_option): Handle "--param name=value".
9712         (main): Register language-independent parameters.
9713
9714 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
9715
9716         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
9717
9718 2001-02-14  Richard Henderson  <rth@redhat.com>
9719
9720         * regclass.c (init_reg_sets_1): Revert last two changes.
9721
9722 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
9723
9724         * stor-layout.c (is_pending_size, put_pending_size): New functions.
9725         (variable_size): Call put_pending_size.
9726         * tree.h (is_pending_size, put_pending_size): Add prototypes.
9727         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
9728         sizes list, put newly created SAVE_EXPR there as well.
9729
9730 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
9731
9732         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
9733         (errata_find_address_regs): load_group has only 2 entries.
9734         (errata_emit_nops): Likewise.  shladd is not problematic.
9735         Clear last_group if nop was emitted.
9736         (fixup_errata): load_group has only 2 entries.
9737         Optimize.
9738
9739 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
9740
9741         * c-lex.c (lex_number): Only warn traditionally for U suffix
9742         outside system macros.
9743         * cppexp.c (parse_number): Similarly.
9744         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
9745         * cppmacro.c (struct cpp_macro): New member node.
9746         (parse_args): Only warn about missing rest args if not
9747         a system macro.
9748         (funlike_invocation_p): Similarly for uninvoked funlike macros.
9749         (cpp_sys_objmacro_p): New.
9750         (_cpp_create_definition): Store the node with the macro defn.
9751         Remember if the macro is defined in a system header.
9752
9753 2001-02-13  DJ Delorie  <dj@redhat.com>
9754
9755         * configure.in (check_languages): determine languages to check
9756         * Makefile.in (check-c++): alias for check-g++
9757         (check-f77): alias for check-g77
9758         (CHECK_TARGETS): depend on configured languages
9759
9760 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
9761
9762         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9763         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9764         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9765         (sqrtextendsfdf2): Disable for SSE2.
9766
9767 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
9768
9769         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9770         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9771         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9772         (sqrtextendsfdf2): Disable for SSE2.
9773
9774 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
9775
9776         * i386.md (movsfcc_1): Support integer cmove instruction.
9777         (movdfcc_1): Likewise; new splitter.
9778
9779 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
9780
9781         * i386.c (output_fp_compare): Support SSE.
9782         (prepare_fp_compare_args): SSE comparisons always support memory.
9783         * i386.h (TARGET_CMOVE): SSE imply cmove.
9784         * i386.md (cmp?f2): Enable for SSE too.
9785         (cmpfp_i*): Support SSE.
9786         (cmpfp_i_sse): New.
9787         (cmpfp_i_sse_only): New.
9788         (s*, b* fp expanters): Enable for SSE too.
9789         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
9790         New patterns.
9791
9792 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
9793
9794         * regclass.c (init_reg_sets_1): Silence warning.
9795
9796 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
9797
9798         * i386.md (sqrt?f2): Change to expander.
9799         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
9800
9801 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9802
9803         * rtlanal.c (find_reg_equal_equiv_note): New function.
9804         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
9805         (simplify_gen_relational, simplify_replace_rtx): Likewise.
9806         * rtl.h: Add declarations for above functions.
9807
9808 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
9809
9810         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
9811         conditionals.
9812         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
9813         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
9814         * flow.c (mark_regs_live_at_end): Likewise.
9815         (calculate_global_regs_live): Likewise.
9816         * gcse.c (compute_hash_table): Likewise.
9817         (compute_kill_rd): Likewise.
9818         * resource.c (mark_target_live_regs): Likewise.
9819         * rtl.h (INVALID_REGNUM): New macro.
9820
9821 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
9822
9823         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
9824
9825 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
9826
9827         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
9828         for SSE.
9829
9830 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
9831
9832         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
9833         too.
9834         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
9835         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
9836         (fop_sf_1_sse, fop_df_1_sse): New patterns
9837         (fop_*): Disable float_extend and float patterns for SSE compilation.
9838         * i386.c (output_387_binary_op): Support SSE.
9839
9840 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
9841
9842         * i386.md (dummy_extendsfdf2): Support SSE2
9843         (extendsfdf2): Enable if 80387 or SSE2.
9844         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
9845         and no MIX_I387_SSE2
9846         (extendsfdf2_1_sse_only): New pattern.
9847         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
9848         of SSE.
9849         (truncdfsf2_1): Support SSE.
9850         (truncdfsf2_2): Support SSE.
9851         (truncdfsf2_2_1_sse): New pattern.
9852         (fixtruncsfsi2): Always use SSE if available.
9853         (fix_truncsfsi_sse): New pattern.
9854         (fix_truncdfsi_sse): New pattern.
9855         (floatsis?f2): Support SSE.
9856         (floatsidf2_i387): New pattern.
9857         (floatsidf2_sse): Likewise.
9858
9859 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9860
9861         * configure.in: Use "have_gnat" variable, not "gnat".
9862         * configure: Regenerated.
9863
9864         * config/sparc/sparc.c (function_value): Treat all non-record
9865         aggregate types like used to treat UNION_TYPE.
9866
9867 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
9868
9869         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
9870         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
9871         (MASK_SSE2): New.
9872         (MASK_MIX_SSE_I387): New.
9873         (TARGET_SSE): SSE2 imply SSE.
9874         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
9875         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
9876         (enum reg_class): Add new classes.
9877         (REG_CLASS_NAMES): Likewise.
9878         (REG_CLASS_CONTENTS): Likewise.
9879         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
9880         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
9881         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
9882         (CLASS_MAX_NREGS): Use new macros.
9883         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
9884         * i386.md (pushsf, movsf): Support SSE.
9885         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
9886         splitters to use ANY_FP_REGNO_P.
9887         (movdf_nointeger, movdf_integer): Likewise.
9888
9889 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9890
9891         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
9892         (try_combine): Use it.
9893
9894 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
9895
9896         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
9897         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
9898         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
9899         (REGISTER_MOVE_COST): Likewise.
9900         * i386-protos.h (ix86_secondary_memory_needed,
9901         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
9902         * i386.c (ix86_secondary_memory_needed,
9903         ix86_preferred_reload_class, ix86_register_move_cost): New function.
9904
9905 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
9906
9907         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
9908         (HARD_REGNO_MODE_OK): Move offline to ....
9909         * i386.c (ix86_hard_regno_mode_ok) ... here;
9910         refuse all incorrect modes.
9911         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
9912
9913 2001-02-13  Richard Henderson  <rth@redhat.com>
9914
9915         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
9916         entire operator; replicate that and match_dup the operands.
9917         (cmp_ccx_arith_op_set): Likewise.
9918         (cmp_cc_arith_op_not_set): Likewise.
9919         (cmp_ccx_arith_op_not_set): Likewise.
9920
9921 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9922
9923         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
9924
9925 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9926
9927         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
9928         (TARGET_NO_BITFIELD_WORD): New macro.
9929         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
9930         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
9931
9932 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9933
9934         * cselib.c: New file, from simplify-rtx.c.
9935         * simplify-rtx.c: Remove cselib parts.
9936         * Makefile.in: Add cselib.o.
9937
9938 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
9939
9940         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
9941         (setup_incoming_varargs): Remove warning.
9942
9943         * config/rs6000/rs6000.c (validate_condition_mode): When
9944         flag_fast_math, allow floating-point conditionals to be reversed.
9945         (rs6000_generate_compare): When flag_fast_math, don't generate
9946         cror operations for FP conditionals.
9947
9948         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
9949         -mcall-i960.
9950         (ASM_SPEC): Likewise.
9951         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
9952         (CC1_SPEC): Likewise.
9953         (LINK_TARGET_SPEC): Likewise.
9954         (CPP_ENDIAN_SPEC): Likewise.
9955         * Makefile.in (check-consistency): New target.
9956
9957 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
9958
9959         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
9960         "return type defaults" warning for functions with return type
9961         defaulting to int.
9962         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
9963         function declarations by default rather than only when pedantic.
9964
9965 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
9966
9967         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
9968         arrays.
9969
9970 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9971
9972         * extend.texi (Deprecated): Deprecate new initializer lists.
9973
9974 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
9975
9976         * mkdeps.c (deps_add_default_target): Robustify. Add
9977         basename component only.
9978         * cpp.texi (-M): Describe how default target is generated.
9979         * invoke.texi (-M): Likewise.
9980
9981 2001-02-12  Kazu Hirata  <kazu@hxi.com>
9982
9983         * toplev.c (push_float_handler): Remove.
9984         (pop_float_handler): Remove.
9985         * toplev.h: Remove prototypes for the above functions.
9986
9987 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
9988
9989         * c-common.c (constant_fits_type_p): New function.
9990         (convert_and_check): Use it.
9991
9992 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
9993
9994         * Makefile.in (GXX_ABI_FLAG): Don't define.
9995         * configure.in (--enable-new-gxx-abi): Remove option.
9996         * config.in: Regenerated.
9997         * configure: Likewise.
9998
9999 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
10000
10001         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
10002         basic block.
10003         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
10004         regular basic block, and arrange for all edges into it to switch
10005         to normal mode.
10006
10007 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10008
10009         * Makefile.in (distclean): Do not remove .gdbinit.
10010
10011 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
10012
10013         * Makefile.in (gcc.o): Fix typos.
10014         (protize.o): Likewise.
10015         (unprotoize.o): Likewise.
10016
10017 2001-02-11  Richard Henderson  <rth@redhat.com>
10018
10019         * tree.c (build1): Check for null operand in last change.
10020
10021 2001-02-11  Richard Henderson  <rth@redhat.com>
10022
10023         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
10024         (fold): Don't assume a constant isn't foldable.
10025         * tree.c (build): Set TREE_CONSTANT for an expression with no
10026         side-effects and constant operands.
10027         (build1): Likewise.
10028
10029 2001-02-10  Richard Henderson  <rth@redhat.com>
10030
10031         * jump.c (squeeze_notes): Revert 2000-05-12 change.
10032
10033 2001-02-10  Anthony Green  <green@redhat.com>
10034
10035         * cpp.texi (Standard Predefined): Add documentation for
10036         __OPTIMIZE_SIZE__.
10037
10038         * c-common.c (combine_strings): Improve warning message.
10039
10040 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
10041
10042         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
10043         --oformat.
10044         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
10045
10046 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
10047
10048         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
10049         CYGWIN_CROSS_DIR.
10050
10051 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
10052
10053         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
10054         fp_mode attribute.
10055
10056 2001-02-09  Nick Clifton  <nickc@redhat.com>
10057
10058         * config/arm/arm.md: Change output contraint on post inc
10059         load/store multiple patterns to be a read/write contraint.
10060
10061 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
10062
10063         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
10064         .o files when using the -M options.
10065
10066 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10067             David Edelsohn  <edelsohn@gnu.org>
10068
10069         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
10070         handle DImode constants.  Use one TOC entry for SImode and smaller
10071         constants, aligned properly.
10072
10073 2001-02-08  Jason Merrill  <jason@redhat.com>
10074
10075         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
10076         about the SP adjustment for saving the static chain pointer.
10077         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
10078         offset when setting a temporary CFA register.
10079
10080 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
10081
10082         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
10083         powerpc-*-chorusos* .
10084         * config/rs6000/chorus.h : New file.
10085         * config/i386/chorus.h : New file.
10086         * config/sparc/chorus.h : New file.
10087         * config/sparc/t-chorus-elf : New file.
10088
10089 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
10090
10091         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
10092         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
10093         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
10094         (__WCHAR_TYPE__): Correct macro name.
10095
10096 2001-02-08  Richard Henderson  <rth@redhat.com>
10097
10098         * config/i386/i386.c (ix86_frame_pointer_required): New.
10099         (ix86_setup_frame_addresses): New.
10100         (struct machine_funciton): Add accesses_prev_frame.
10101         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
10102         ix86_frame_pointer_required.
10103         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
10104         (SETUP_FRAME_ADDRESSES): New.
10105         * config/i386/i386-protos.h: Update.
10106         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
10107         from FRAME_POINTER_REQUIRED.
10108         * config/i386/svr3gas.h: Likewise.
10109         * config/i386/sysv3.h: Likewise.
10110         * config/i386/v3gas.h: Likewise.
10111
10112 2001-02-08  Richard Henderson  <rth@redhat.com>
10113
10114         * config/sparc/sparc.c (function_arg_record_value_3): Fix
10115         calculation of the number of integer registers required.
10116         (function_arg_record_value): Likewise.
10117
10118 2001-02-08  Jason Merrill  <jason@redhat.com>
10119
10120         * diagnostic.c (internal_error): Say "confused" after 1 error, not
10121         two.  Print file and line with "confused" message.
10122
10123         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
10124
10125 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10126
10127         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
10128
10129 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
10130
10131         * final.c (cleanup_subreg_operands): The address of a MEM can
10132         contain SUBREGs.
10133
10134         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
10135         for asms, too.
10136
10137 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
10138
10139         * gcc.texi (Incompatibilities): Update documentation of
10140         preprocessing numbers.
10141
10142 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
10143
10144         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
10145
10146 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
10147
10148         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
10149
10150         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
10151         * gcc.c (struct compiler): Add cpp_spec field.
10152         (input_file_compiler): New variable.
10153         (do_spec_1): Allow a particular compiler to handle `%C'
10154         specially.
10155         (main): Store the current compiler in input_file_compiler.
10156         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
10157
10158 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
10159
10160         * cpphash.h (struct spec_nodes): Add n_true and n_false.
10161         * cppinit.c (cpp_create_reader): Initialize them.
10162         (append_include_chain): cxx_aware arg might be unused.
10163         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
10164         keywords and give them their phase 7 meaning.  Pedwarn about
10165         this unless '__bool_true_false_are_defined' is defined.
10166
10167 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
10168
10169         * lcm.c (optimize_mode_switching): Emit mode_set before the
10170         JUMP_INSN of an abnormal edge.
10171
10172 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
10173
10174         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
10175         a scheduling barrier at the end.
10176
10177         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
10178
10179 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
10180
10181         * config/sh/sh.md (reload_outsf): Removed.
10182         (movsf_ie): Introduce constraints for FPUL loads and stores.
10183         (reload_insf): Broaden the output constraint.
10184
10185         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
10186         defined.
10187         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
10188         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
10189
10190 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
10191
10192         * final.c: Revert my previous changes.
10193         * output.h: Make profile_label_no extern.
10194         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
10195         for generating label.
10196
10197 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
10198
10199         * config/i386/djgpp.h: Add comments about standard paths.
10200         (MD_EXEC_PREFIX): Undefine before defining.
10201         (MD_STARTFILE_PREFIX): New.
10202
10203 2001-01-30  Bruce Korb  <bkorb@gnu.org>
10204
10205         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
10206         (load_file): do not rely on load_file_data() to close file pointer
10207         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
10208         fixinc/inclhack.def(irix_limits_const): add test_text
10209
10210 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10211
10212         * cppexp.c (parse_defined): Improve diagnostics for invalid
10213         syntax.
10214
10215 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
10216
10217         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
10218
10219 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
10220
10221         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
10222         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
10223         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
10224         (rs6000_output_symbol_ref): New function.
10225         (output_toc): Use VTABLE_NAME_P.
10226
10227 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10228
10229         * print-tree.c (print_node, case PARM_DECL):
10230         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
10231
10232         * stor-layout.c (reference_types_internal): New variable.
10233         (internal_reference_types): New function.
10234         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
10235         * tree.h (internal_reference_types): New declaration.
10236
10237         * cse.c (find_best_addr): Fix typo in computing cost.
10238
10239 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10240
10241         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
10242         and this is the sum of a pointer and a constant, we know the result
10243         did not overflow.
10244         (num_sign_bit_copies, case PLUS): Likewise.
10245         * explow.c (convert_memory_address): Remove opposite SUBREG.
10246         * function.c (instantiate_new_reg): New function (from common code).
10247         (instantiate_virtual_regs_1): Call it.
10248         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
10249         if pointers sign- or zero-extend.
10250         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
10251         If pointers extend unsigned, use inside of SUBREG.
10252         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
10253
10254 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
10255
10256         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
10257         subdir of gcc_gxx_include_dir.
10258         (gcc_gxx_target_include_dir): Remove.
10259
10260 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
10261
10262         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
10263         (dwarf2out_frame_debug_expr): Revise introductory comments to add
10264         a high-level description.
10265
10266 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
10267
10268         * final.c: Move the declaration of profile_label_no to ...
10269         * output.h: ... here.
10270         * function.c (expand_function_start): Call PROFILE_HOOK.
10271         * config/rs6000/aix.h: Define PROFILE_HOOK.
10272         * config/rs6000/rs6000-protos.h: output_profile_hook new.
10273         * config/rs6000/rs6000.c (output_profile_hook): Define.
10274         (output_prolog): Do nothing for ABI_AIX as it is taken care by
10275         output_profile_hook.
10276         tm.texi : Explain new macro PROFILE_HOOK.
10277
10278 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
10279
10280         * extend.texi (Extended Asm): Do not say that semicolon is always
10281         a valid line-breaking character for GNU assemblers.  Use
10282         newline-tab as the most commonly supported syntax.  Use
10283         newline-tab rather than semicolon in multi-insn examples.
10284
10285 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10286
10287         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
10288
10289 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10290             David Edelsohn  <edelsohn@gnu.org>
10291
10292         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
10293         code for AIX, even without flag_pic.
10294
10295 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
10296
10297         * c-typeck.c (common_type): push and pop binding level around
10298         calling common_type on function parameters.
10299
10300 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
10301
10302         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
10303
10304 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10305
10306         * config/mips/mips.c (override_options): Fix typo in last change.
10307         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
10308         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
10309
10310 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
10311
10312         * invoke.texi (-fdump-class-layout): Document.
10313         (-fdump-translation-unit): Use `=' as filename separator.
10314
10315 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
10316
10317         * Makefile.in (s-mlib): Don't build multilibs if
10318         --disable-multilib.
10319         (DRIVER_DEFINES): Adjust accordingly.
10320         (gcc.o): Likewise.
10321         (protoize.o): Likewise.
10322         (unprotoize.o): Likewise.
10323         * configure.in: Recognize --enable-multilib.
10324
10325 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
10326
10327         * Makefile.in (DRIVER_DEFINES): Fix quoting.
10328
10329         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
10330         * configure.in: Remove --enable-libstdcxx_v3 support.
10331         * configure: Regenerated.
10332
10333 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10334
10335         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
10336         Call abort instead of fatal.
10337         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
10338         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
10339         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
10340         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
10341         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
10342         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
10343
10344         * diagnostic.h (set_internal_error_function): Renamed.
10345         * toplev.h (internal_error): Renamed from fatal.
10346         (pfatal_with_name): Deleted.
10347         (fatal_io_error): Now has printf-style arguments.
10348         * diagnostic.c (pfatal_with_name): Deleted.
10349         (fatal_io_error): Rework to have args in printf-style.
10350         (set_internal_error_function): Renamed from set_fatal_function.
10351         (internal_error): Renamed from fatal.
10352         (error_recursion, fancy_abort): Call internal_error instead of fatal.
10353         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
10354         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
10355         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
10356         * flow.c (verify_flow_info): Likewise.
10357         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
10358         * config/mips/mips.c (save_restore_insns): Likewise.
10359
10360         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
10361         * flow.c (verify_flow_info): Likewise.
10362         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
10363         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
10364         (avr_normalize_condition): Likewise.
10365         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
10366         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
10367         (limit_reload_class, double_reg_to_memory): Likewise.
10368         (print_operand_address, emit_1600_code_shift): Likewise.
10369         (gen_tst_reg, gen_compare_reg): Likewise.
10370         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
10371         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
10372         Deleted.
10373         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
10374
10375         * c-parse.in (methoddef): Call fatal_error instead of fatal.
10376         * objc/objc-act.c (build_ivar_chain): Likewise.
10377         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
10378         pfatal_with_name.
10379         * graph.c (clean_graph_dump_file): Likewise.
10380         * profile.c (init_branch_prob): Likewise.
10381         * objc/objc-act.c (objc_init): Likewise.
10382
10383         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
10384         * config/avr/avr.c (avr_override_options): Likewise.
10385         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
10386         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
10387         * config/h8300/h8300.c (h8300_init_once): Likewise.
10388         * config/mips/mips.c (override_options): Likewise.
10389         * config/i386/i386.c (override_options): Likewise, rework.
10390         * config/m68k/m68k.c (override_options): Likewise.
10391
10392         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
10393         instead of fatal.
10394         * config/mips/mips.c (print_operand): Likewise.
10395         * hash.c (hash_allocate): Don't check for failure returns from
10396         obstack functions that can't fail.
10397         (hash_table_init_n, hash_table_init): Likewise; also now return void.
10398         * hash.h (hash_table_init_n, hash_table_init): Now return void.
10399         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
10400         (get_object_reference): Likewise.
10401
10402 2001-02-04  Nick Clifton  <nickc@redhat.com>
10403
10404         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
10405         StrongARM1110, 10TDMI, and 1020T.
10406
10407 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10408
10409         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
10410
10411 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
10412
10413         * config/sh/sh.md (movdf load split): Pass register number to
10414         FP_OR_XD_REGISTER_P.
10415
10416 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
10417
10418         * cppinit.c (BC): New macro.
10419         (builtin_array): Add __GXX_WEAK__.
10420         * cpplib.h (builtin_type): Add BT_WEAK.
10421         * cppmacro.c (builtin_macro): Handle BT_WEAK.
10422         * defaults.h (SUPPORTS_ONE_ONLY): Define.
10423         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
10424
10425 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
10426
10427         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
10428
10429 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
10430
10431         * cpphash.h: Rename _ALIGN POOL_ALIGN.
10432         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
10433
10434 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
10435
10436         * cpphash.h: Rename ALIGN _ALIGN.
10437         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
10438
10439 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
10440
10441         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
10442         compilation environment.
10443         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
10444         control over location of cygwin includes and libs.
10445
10446 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
10447
10448         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
10449
10450 2001-02-02  lars brinkhoff  <lars@nocrew.org>
10451
10452         * md.texi (Standard Names): remove reference to spur.md.
10453
10454 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
10455
10456         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
10457         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
10458         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
10459         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
10460         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
10461
10462 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10463
10464         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
10465         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
10466         number before reload.
10467         (c4x_adjust_cost): Return zero before reload.
10468         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
10469         split before reload.
10470
10471 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10472
10473         * c4x.c (c4x_hard_regno_rename_ok): New.
10474         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
10475         * c4x.h (HARD_REGNO_RENAME_OK): Define.
10476
10477 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10478
10479         * diagnostic.h: Add missing "extern" in all declarations.
10480
10481 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
10482
10483         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
10484         as for gcc_gxx_include_dir.
10485
10486 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
10487
10488         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
10489
10490 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
10491
10492         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
10493         label before alignment to be used as the braf base address.
10494         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
10495         branches.
10496         (casesi_jump_2): Require at least TARGET_SH2.
10497
10498         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
10499         truncation to 32-bit doubles on -m3e and -m4-single-only.
10500
10501 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
10502
10503         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
10504         the default when building a shared object.
10505         (init_spec): Use it.
10506         * testsuite/lib/g++.exp: Include the directory where libgcc
10507         is located to the LD_LIBRARY_PATH list.
10508         * invoke.texi (-shared-libgcc): Document the cases in which
10509         GCC defaults to using the shared libgcc.
10510
10511 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
10512
10513         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
10514         unsigned is wide enough.
10515         (BITS_PER_SI): New.
10516         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
10517         (si_to_float): Likewise.
10518         (float_to_si, float_to_usi): Use BITS_PER_SI.
10519
10520 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
10521
10522         * dwarf2out.c: Added explanation of abbreviations.
10523         (def_cfa_1): Added comments listing DWARF2 instructions.
10524         (cfa_temp_reg): Removed in favor of cfa_temp.
10525         (cfa_temp_value): Removed in favor of cfa_temp.
10526         (cfa_temp): New global variable.
10527         (dwarf2out_frame_debug_expr): Added extensive introductory
10528         comments explaining the function's transformations.  Revised to
10529         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
10530         (dwarf2out_frame_debug): Revised to use cfa_temp.
10531         (output_aranges): Cast as "unsigned" to avoid warning.
10532         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
10533         explain which instructions must be marked.
10534
10535 2001-02-01  Richard Henderson  <rth@redhat.com>
10536
10537         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
10538         new instruction.
10539
10540 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
10541
10542         * config/sh/crt1.asm (main_k): Modified so that start calls
10543         ___setup_argv_and_call_main.
10544
10545 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10546
10547         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
10548         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
10549         and AVOID_LPASTE is cleared on meeting an unescaped newline.
10550         * cppmacro.c (builtin_macro): Set builtin flags here.
10551         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
10552         (replace_args): Clarify intent.
10553         (cpp_get_token): Macro expansion tokens get the saved flags.
10554         Update.
10555         * cppmain.c (scan_buffer): Remove now-redundant print.printed
10556         check.
10557
10558 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
10559
10560         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
10561         2001-Jan-29.
10562
10563 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10564
10565         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
10566         returns Pmode pseudo, but we need ptr_mode.
10567         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
10568         Remove bogus conversions; use HOST_WIDE_INT for size.
10569         Don't use TARGET if wrong mode.
10570
10571         * config/i386/i386.c (ix86_compute_frame_size): Allow
10572         stack_alignment_needed to be non-default even if size is zero.
10573
10574 2001-01-31  Alan Modra <alan@linuxcare.com.au>
10575
10576         * pa.c (hppa_init_pic_save): New function.
10577         * pa.h (hppa_init_pic_save): Declare.
10578         * pa.md (call, call_value, sibcall, sibcall_value): Use
10579         the above instead of duplicated code.
10580
10581         * pa.c (hppa_encode_label): Correct size of alloca buffer
10582         so we don't overrun it.  Correct leading `*' case.
10583         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
10584         need to handle `*@'.
10585         (FUNCTION_NAME_P): Likewise.
10586
10587 2001-01-31  Richard Henderson  <rth@redhat.com>
10588
10589         * config.gcc (alpha-osf5): Use float-i128.h.
10590
10591         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
10592         * config/float-i32.h: Likewise.
10593         * config/float-i64.h: Likewise.
10594         * config/float-sh.h: Likewise.
10595         * config/float-sparc.h: Likewise.
10596
10597 2001-01-31  DJ Delorie  <dj@redhat.com>
10598
10599         * expmed.c (extract_bit_field): allow non-integral modes if we
10600         want to extract a whole register from itself.
10601
10602 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
10603
10604         * c-typeck.c (set_init_index): If first is equal to last, assume as
10605         if it was not a range at all.
10606
10607 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10608
10609         * config/fp-bit.c: Include tm.h.
10610         (float_to_si): Don't assume SImode is 32-bits wide.
10611         (float_to_usi): Likewise.
10612
10613 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
10614
10615         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
10616         incomplete type.
10617         (typename): Call pending_xref_error after parsing typed_typespecs.
10618         * c-decl.c (lookup_tag): Give error immediately rather than
10619         leaving it pending if the tag of the wrong type is in the same
10620         binding level.
10621         (xref_tag): Don't pedwarn for forward declarations of enum types
10622         here.
10623         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
10624         and enum tags.
10625
10626 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10627
10628         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
10629
10630 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10631
10632         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
10633         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
10634
10635 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10636
10637         * cpphash.h (struct cpp_reader): New saved_flags.
10638         * cppmacro.c (cpp_get_token): Use saved_flags to remember
10639         to avoid a paste after a pasted token.
10640
10641 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
10642
10643         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
10644         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
10645         Wtype_MIN instead of LONG_MIN.
10646
10647 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
10648
10649         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
10650         README file.
10651         * fixinc/fixincl.x: Regenerated.
10652         * fixinc/inclhack.def (irix_limits_const): New definition to
10653         convert "const" to "__const" in limits.h.
10654
10655 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
10656
10657         * fixinc/genfixes (AG): Fix "autogen4" thinko.
10658
10659 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
10660
10661         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
10662         when register dies in the insn.
10663
10664 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
10665
10666         * diagnostic.c (fatal): Fix word wrap.
10667
10668 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
10669
10670         * combine.c (try_combine): Fix SUBREG setting for
10671         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
10672
10673 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10674
10675         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
10676         comparison codes.
10677
10678 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
10679
10680         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
10681         is not NULL.
10682         * toplev.c (decode_W_option): Update warn_larger_than
10683         unconditionally for each processed switch.
10684
10685 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10686
10687         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
10688         to NULL_RTX.
10689         (hppa_expand_prologue): Delete code to save pic offset table register
10690         in the function prologue.
10691         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
10692         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
10693         table register at the beginning of the function after the prologue.
10694
10695 2001-01-29  lars brinkhoff  <lars@nocrew.org>
10696
10697         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
10698
10699 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10700             Jeff Law <law@redhat.com>
10701
10702         * pa.md (return): Revise comment for trivial return.
10703         (return_internal): Non-trivial return pattern for non-PIC code.
10704         (return_internal_pic): Non-trivial return pattern for PIC code.
10705         It uses the PIC register to ensure it is restored after
10706         function calls.
10707         (epilogue): Generate appropriate return for PIC and non-PIC code.
10708
10709 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
10710
10711         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
10712
10713 2001-01-29  DJ Delorie  <dj@redhat.com>
10714
10715         * combine.c (if_then_else_cond): Pass the correct mode to
10716         operand_subword() for constants.
10717
10718 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
10719
10720         * config/i386/cygwin.h: Add w32api to include search.  Search different
10721         directories in a cross-build environment.
10722
10723 2001-11-29  Tim Josling  <tej@melbpc.org.au>
10724
10725         * tree.h (TYPE_STUB_DECL): Add documentation.
10726
10727 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
10728
10729         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
10730         (sdbout_field_types): Likwise.  Fix use of host_integerp.
10731
10732 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
10733
10734         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
10735         cygwin.h.
10736
10737 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
10738
10739         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
10740         to use flag_gnu_linker.
10741
10742 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
10743
10744         * cpplib.c (T_BAD_DIRECTIVE): Remove.
10745         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
10746
10747 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
10748
10749         * tree.c, tree.h (build_parse_node): Remove; was identical to
10750         build_nt.
10751         * c-lang.c (start_cdtor), objc/objc-act.c
10752         (build_module_descriptor): Use build_nt instead of
10753         build_parse_node.
10754
10755 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
10756
10757         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
10758         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
10759         not have any upper bits set.
10760
10761 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
10762
10763         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
10764
10765 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10766
10767         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
10768
10769         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
10770
10771         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
10772         (integer_minus_one_node): Define.
10773
10774 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
10775
10776         * Makefile.in (bootstrap2-lean): Fix typo.
10777
10778 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10779
10780         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
10781         : Don't set fe_value.
10782         * cpplib.h (AVOID_LPASTE): New flag.
10783         (struct cpp_hashnode): Remove fe_value.
10784         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
10785         * cppmacro.c (builtin_macro): Don't set flags here.
10786         (replace_args): Set AVOID_LPASTE flag on first token of an
10787         argument, and the token following it.
10788         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
10789         macro expansion, and on the token following it.  Do it for
10790         builtins too.
10791         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
10792
10793 2001-01-27  Richard Henderson  <rth@redhat.com>
10794
10795         * config/alpha/t-ieee: Remove multilibbing.
10796         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
10797
10798 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10799
10800         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
10801
10802         * Makefile.in: Remove all dependencies on defaults.h.
10803         * builtins.c: Don't include defaults.h.
10804         * c-common.c: Likewise.
10805         * c-decl.c: Likewise.
10806         * c-pragma.c: Likewise.
10807         * c-typeck.c: Likewise.
10808         * combine.c: Likewise.
10809         * i386.c: Likewise.
10810         * frame-ia64.c: Likewise.
10811         * cppexp.c: Likewise.
10812         * crtstuff.c: Likewise.
10813         * dbxout.c: Likewise.
10814         * dwarf2out.c: Likewise.
10815         * dwarfout.c: Likewise.
10816         * emit-rtl.c: Likewise.
10817         * except.c: Likewise.
10818         * expr.c: Likewise.
10819         * final.c: Likewise.
10820         * frame-dwarf2.c: Likewise.
10821         * libgcc2.c: Likewise.
10822         * optabs.c: Likewise.
10823         * profile.c: Likewise.
10824         * sdbout.c: Likewise.
10825         * toplev.c: Likewise.
10826         * tradcif.y: Likewise.
10827         * tree.c: Likewise.
10828         * varasm.c: Likewise.
10829
10830 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10831
10832         * builtins.c (expand_builtin_fputs): Use size_one_node when
10833         transforming into fwrite.
10834
10835 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
10836
10837         * extend.texi (Attribute Syntax): New section.
10838
10839 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
10840
10841         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
10842         they didn't need fixing.
10843
10844 2001-01-27  Janis Johnson <janis@us.ibm.com>
10845
10846         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
10847         if appropriate.
10848         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
10849         to remove macro definitions that are duplicated from elfos.h.
10850
10851 2001-01-27  Richard Henderson  <rth@redhat.com>
10852
10853         * config/i386/sco5gas.h: Move ...
10854         * config/usegas.h: ... here.
10855         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
10856
10857 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
10858
10859         * c-typeck.c (struct constructor_stack): Add range_stack member.
10860         (really_start_incremental_init): Clear it.
10861         (push_init_level): Save constructor_range_stack and clear it if
10862         pushing explicit braces.
10863         (pop_init_level): abort if constructor_range_stack is non-zero at
10864         explicit closing brace.  Restore saved constructor_range_stack if
10865         not implicit.
10866
10867 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
10868
10869         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
10870         into register was forced into memory.
10871
10872 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
10873
10874         * Makefile.in: Remove uses of + before $(MAKE).
10875
10876 2001-01-26  Richard Henderson  <rth@redhat.com>
10877
10878         * stmt.c (cost_table): Remove.
10879         (COST_TABLE, cost_table_initialized): New.
10880         (estimate_case_costs): Use the later instead of the former.
10881         (balance_case_nodes): Likewise.
10882
10883 2001-01-26  Richard Henderson  <rth@redhat.com>
10884
10885         * alias.c (objects_must_conflict_p): Read-only slots may not
10886         conflict despite having the same type.
10887
10888 2001-01-27  Michael Hayes  <mhayes@redhat.com>
10889
10890         * loop.c (loop_giv_reduce_benefit): Copy mode size into
10891         int variable.
10892         (check_ext_dependant_givs): Initialise u_start_val and
10893         u_end_val.
10894         (load_mems): Make last_max_reg unsigned.
10895         (try_swap_copy_prop): Use INSN_P and initialise set.
10896
10897 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
10898
10899         * README.AVR : Removed.
10900
10901 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
10902
10903         * pa-64.h (text_section): Remove declaration.
10904
10905         * pa.md (return_internal): Remove mode on PIC register use.
10906
10907 2001-01-25  lars brinkhoff  <lars@nocrew.org>
10908
10909         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
10910         ASM_CLOSE_PAREN): fix typos.
10911
10912 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
10913
10914         * acconfig.h: Define `const' to the empty string if neither
10915         __STDC__ nor __cplusplus is defined.
10916         * config.in: Regenerated.
10917
10918 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
10919
10920         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
10921         * collect2.c (main): Delete importf.  Add ".obj" file extension.
10922         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
10923         (aix_std_libs): Add additional AIX libraries to skip.
10924         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
10925         * config/rs6000/aix51.h: New file.
10926
10927 2001-01-25  Michael Hayes  <mhayes@redhat.com>
10928
10929         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
10930         (loop_insn_emit_before): No longer static.
10931         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
10932         (loop_givs_rescan, load_mems): Likewise.
10933         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
10934         (maybe_eliminate_biv_1):
10935         (move_movables): Replace emit_call_insn_before with
10936         loop_call_insn_hoist.
10937         * loop.h (loop_insn_emit_before): Add.
10938         * unroll.c (copy_loop_body): Replace emit_insn_before with
10939         loop_insn_emit_before.
10940
10941 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10942
10943         * diagnostic.c (fatal): Request preprocessed source.
10944
10945 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
10946
10947         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
10948         olddecl has argument types and newdecl has none, use the argument
10949         types from olddecl.
10950
10951 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
10952
10953         * dwarf2out.c (prefix_of): New function.  Determine longest common
10954         prefix of the two arguments.  The units are whole path components.
10955         (output_file_names): When adding a new directory find the one entry
10956         with the longest common prefix already in the list.  Artificially
10957         generate entry if there is none for this prefix.
10958         Fix test to check whether the zeroth directory entry is used.
10959
10960 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
10961
10962         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
10963         Changed all callers.  Take it into account when deciding if a
10964         previously loaded value matches.
10965
10966 2001-01-24  Richard Henderson  <rth@redhat.com>
10967
10968         * reload.c (find_reloads_subreg_address): Fail the substitution
10969         if the resulting address is insufficiently aligned.
10970
10971 2001-01-24  DJ Delorie  <dj@redhat.com>
10972
10973         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
10974         check the original operand's mode also.
10975         * simplify-rtx.c (simplify_ternary_operation): Ditto.
10976
10977 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10978
10979         * c-parse.in (cast_expr): Move compound literals from here ...
10980         (primary): ... to here.  Use standard terminology "compound
10981         literal" instead of "constructor expression".
10982
10983 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
10984
10985         * gcc.1, cpp.1: Regenerate.
10986
10987 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
10988
10989         * calls.c (emit_library_call_value_1): Memory slot for
10990         pass-by-reference argument should have the mode of the argument,
10991         not of the pointer to it.
10992
10993 2001-01-24  Tom Tromey  <tromey@redhat.com>
10994
10995         * gcc.texi (G++ and GCC): Mention gcj manual.
10996         (Standards): Link to section of manual mentioning gcj/Java
10997         compatibility.
10998
10999 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
11000
11001         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
11002         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
11003         * tradcpp.c (main): Add -imacros or -include'd dependencies
11004         for -M*.
11005         * cpp.texi (-M, -MM): Document -M -include behaviour.
11006
11007 2001-01-24  Roger Collins <roger@ProProject.com>
11008
11009         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
11010
11011 2001-01-24  Will Cohen  <wcohen@redhat.com>
11012
11013         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
11014         whether registers are 32 bits or 64 bits in size.
11015
11016 2001-01-24  Ben Elliston  <bje@redhat.com>
11017
11018         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
11019
11020 2001-01-24  Richard Henderson  <rth@redhat.com>
11021
11022         * config/alpha/alpha.md (builtin_longjmp_internal): New.
11023         (builtin_longjmp): Use it instead of emit_indirect_jump.
11024
11025 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11026
11027         * bb-reorder.c (make_reorder_chain_1): Handle case where
11028         jump edge goes to the same block as the fallthru edge.
11029
11030 2001-01-23  Jim Wilson  <wilson@redhat.com>
11031
11032         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
11033         * frame.h (__ia64_personality_v1): Add prototype.
11034         * libgcc2.c (ia64_throw_helper): Change personality declaration to
11035         prototype form.  Add void * cast to first argument to personality
11036         call.
11037         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
11038         (asctoe113): Likewise.
11039         * config/ia64/frame-ia64.c: Include eh-common.h.
11040         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
11041         prototypes.
11042         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
11043         to dump parameter.
11044         (itanium_split_issue): Add prototype.
11045         (gen_nop_type): Ifdef out.
11046         (find_best_packet): Initialize best_packet.
11047         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
11048         result.
11049         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
11050         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
11051         (flushrs): Add explicit stop bit at end.
11052         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
11053         trailing \ to >.
11054
11055 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
11056
11057         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
11058         of EH symbols.
11059         * libgcc2.c (__terminate_func): Make variable static.
11060         (__terminate_set_func): New function to set __terminate_func.
11061         * libgcc2.h (__terminate_func_ptr): New typedef.
11062         (__terminate_set_func): New function.
11063
11064 2001-01-23  Richard Henderson  <rth@redhat.com>
11065
11066         * flow.c (init_propagate_block_info): Don't consider unchanging
11067         memories for dead frame store elimination.
11068
11069 2001-01-23  Richard Henderson  <rth@redhat.com>
11070
11071         * varasm.c (UNIQUE_SECTION): Move default implementation ...
11072         * defaults.h: ... here.
11073
11074 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11075
11076         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
11077
11078 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
11079
11080         * c-lex.c (lex_charconst): Fix typo: s/p/str.
11081
11082 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11083
11084         * rs6000.h (rs6000_return_addr): Move prototype from here...
11085         * rs6000-protos.h (rs6000_return_addr): ...to here.
11086         (rs6000_init_expanders): Delete prototype.
11087
11088 2001-01-23  Nick Clifton  <nickc@redhat.com>
11089
11090         * invoke.texi: Replace , with \, inside @gccoptlist macros.
11091         (Spec Files): Document %B and %j and %. and %v3 and %M and
11092         %{S*&T} spec switches.
11093
11094 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11095
11096         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
11097
11098 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
11099             Neil Booth  <neil@daikokuya.demon.co.uk>
11100
11101         * cpperror.c: Merge handlers of PEDWARN and WARNING.
11102         Have -Werror make pedantic warnings errors, like the
11103         rest of GCC.
11104
11105 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
11106
11107         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
11108
11109 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
11110
11111         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
11112         * integrate.c (expand_inline_function): Initialize them.
11113         (subst_constants): If changing COMPARE so that both its arguments
11114         will be VOIDmode and the comparison mode will be lost, note
11115         compare_mode.  Use the recorded compare_mode to optimize
11116         IF_THEN_ELSE.
11117
11118 2001-01-23  Jason Merrill  <jason@redhat.com>
11119
11120         * dwarf2out.c (new_die): Use xcalloc.
11121         (output_die): Abort rather than emit a local reference to offset 0.
11122
11123 2001-01-17  Andrew Haley  <aph@redhat.com>
11124
11125         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
11126         of a saved register; return NULL instead.
11127         (copy_reg): Take a pointer to a source register rather than a
11128         frame_state.
11129         (next_stack_level): Remember the address in the stack frame of all
11130         saved registers.
11131         Use the saved register pointer array as the source of the CFA.
11132         (throw_helper): Rewrite.  Unwind once rather than twice and keep
11133         track of saved registers as we go.
11134
11135 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11136
11137         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
11138         * c4x.c (c4x_legitimize_reload_address): Remove.
11139         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
11140         reload address for ldp(k) insn.
11141
11142 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
11143
11144         * pa.md (return_internal): Add a USE of the PIC register to ensure
11145         it is restored after each call.
11146         (return expander): Corresponding changes.
11147
11148 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11149
11150         * rs6000.h (INIT_EXPANDERS): Delete.
11151         (RETURN_ADDR_RTX): Call rs6000_return_addr().
11152         * rs6000.c (rs6000_override_options): Call *_machine_status from
11153         here...
11154         (rs6000_init_expanders): ...instead of here. Delete.
11155         (rs6000_mark_machine_status): New function.
11156         (rs6000_init_machine_status): Use xcalloc.
11157         (rs6000_return_addr): Generate RTX for the return address.
11158         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
11159         (rs6000_stack_info): Use it.
11160
11161 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
11162
11163         * gthr-win32.h: Include errno.h to get a declaration for
11164         EINVAL and _mingw.h if the target is mingw32.
11165
11166 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
11167
11168         * cpp.texi: Correct typos.
11169
11170 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11171
11172         * explow.c (probe_stack_range): Ensure value passed to
11173         stack_check_libfunc is ptr_mode, not Pmode.
11174
11175 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
11176
11177         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
11178         case, don't use operand_subword to calculate a SUBREG that is
11179         wider than a word.
11180
11181         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
11182
11183 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11184
11185         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
11186         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
11187         valid.  If not replace it by equivalent insns.
11188
11189 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11190
11191         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
11192         contains SYMBOL_REF, LABEL_REF and CONST_INT.
11193         (c4x_U_constraint, symbolic_address_operand): Likewise.
11194         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
11195         memory.
11196         (c4x_r11_set_p, c4x_check_laj_p): New functions.
11197         * c4x-protos.h (c4x_check_laj_p): Add prototype.
11198         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
11199         anulling slot because of silicon bug.
11200         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
11201
11202 2001-01-22  Alan Modra <alan@linuxcare.com.au>
11203
11204         * cppexp.c (parse_charconst):  Change `mask' type to agree
11205         with parse_escape.
11206
11207 2001-01-21  Richard Henderson  <rth@redhat.com>
11208
11209         * config/i386/i386.c (ix86_asm_file_end): Disable putting
11210         pic_label_name in a linkonce section.
11211
11212 2001-01-17  Philipp Thomas  <pthomas@suse.de>
11213
11214         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
11215         found in libintl.
11216         * configure: Regenerate.
11217
11218 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
11219
11220         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
11221         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
11222
11223 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
11224
11225         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
11226         If REVERSE nonzero then condition code in X must be reversed.
11227         (encode_section_info): Optimise if/else.
11228         (avr_function_value): Fix formatting.
11229
11230         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
11231         (difficult_branch): Likewise.
11232         (rvbranch): Likewise.
11233         (difficult_rvbranch): Likewise.
11234
11235         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
11236
11237         * config/avr/libgcc.S: Fix comment.
11238
11239 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11240
11241         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
11242
11243 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11244
11245         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
11246
11247 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
11248
11249         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
11250         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
11251         * configure, config.in: Regenerate.
11252         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
11253         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
11254         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
11255         (doprint.o): New rule.
11256
11257 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
11258
11259         * c-typeck.c (digest_init): Handle boolean types as scalars.
11260
11261 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11262
11263         * stmt.c (expand_return): Don't return anything if size is zero.
11264         Delete redundant assignment to BYTES.
11265         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
11266
11267 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
11268
11269         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
11270         the same as the default library function names.
11271         * config/avr/avr.md: Document special characters after '%'.
11272         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
11273         knowing which of the call-used registers are really clobbered.
11274         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
11275         New.  Both quotient and remainder from one libgcc.S call.
11276         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
11277         clobber as few registers as possible.
11278         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
11279
11280 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
11281
11282         * cppmacro.c (funlike_invocation_p): Don't move back up to the
11283         context of the top of the stack.
11284
11285 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
11286
11287         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
11288         (fixup_var_refs_insns): ...here.
11289
11290 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
11291
11292         * function.c (fixup_var_refs_insns): Break up into
11293         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
11294         [loop over entire insn list], and fixup_var_refs_insns_with_hash
11295         [loop over hash table entries].
11296         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
11297         fixup_var_refs_insns_with_hash, to match above changes.
11298
11299 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11300
11301         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
11302         (libgcc.a): Likewise.
11303         (stmp-multilib): Likewise.
11304         (STAGE2_FLAGS_TO_PASS): Likewise.
11305
11306 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
11307
11308         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
11309         temporary if no_new_pseudos.
11310
11311 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11312
11313         * cppinternals.texi: Update.
11314
11315 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
11316
11317         * arm.c (arm_init_builtins): Re-enable builtins.
11318
11319 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11320
11321         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
11322         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
11323         element to be null, and always expect an EXPR_LIST.
11324         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
11325         * sched-deps.c (sched_analyze_1): Likewise.
11326         * sched-rgn.c (check_live_1, update_live_1): Likewise.
11327
11328         * regclass.c (max_set_parallel): New variable.
11329         (reg_scan): Take it into account in computation of max_parallel.
11330         (reg_scan_mark_refs, case SET): Compute it.
11331
11332         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
11333         args are REG.
11334         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
11335         * function.c (assign_parms): Use INTVAL for a CONST_INT.
11336
11337 2001-01-19  Jason Merrill  <jason@redhat.com>
11338
11339         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
11340         for the abstract instance of an inline function.
11341
11342 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
11343                           J"orn Rennecke <amylaar@redhat.com>
11344
11345         * reload1.c (move2add_note_store): Treat all registers directly or
11346         indirectly derived from a base register as members of the same set
11347         of values.
11348         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
11349         of base register into account.
11350
11351 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
11352
11353         * alias.c (find_base_value): Recognize TRUNCATE.
11354         (record_set): In PLUS case, invalidate if other summand is also a
11355         base value.
11356
11357 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11358
11359         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
11360         entry to be EXPR_LIST.
11361         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
11362         be an EXPR_LIST (but not null, which other code doesn't allow).
11363         (note_stores): Properly handle PARALLEL in SET.
11364         Recursively call for top-level PARALLEL.
11365         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
11366         * sched-rgn.c (check_live_1, update_live_1): Likewise.
11367
11368         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
11369
11370 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
11371
11372         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
11373         not pfile->skipping (== 0).
11374
11375 2001-01-17  Nick Clifton  <nickc@redhat.com>
11376
11377         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
11378         machine_status.
11379
11380 2001-01-17  Jim Wilson  <wilson@redhat.com>
11381
11382         * invoke.texi (IA-64 options): Improve.
11383
11384 2001-01-17  Tom Tromey  <tromey@redhat.com>
11385
11386         * invoke.texi (Optimize Options): Use `{}' to around @samp
11387         argument.
11388
11389 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
11390
11391         * invoke.texi (-fno-guess-branch-probability): New option.
11392
11393 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11394
11395         * combine.c (try_combine): Don't set i3_subst_into_i2 for
11396         case of making new double-word constant.
11397         Revert last change: instead just test i3_subst_into_i2.
11398
11399 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
11400
11401         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
11402         Use q constraints instead of r.
11403
11404 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
11405
11406         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
11407         (machine_function): Define.
11408         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
11409         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
11410         pa_free_machine_status): New functions.
11411         (override_options): Set {init,mark,free}_machine_status to above.
11412         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
11413         PIC_OFFSET_TABLE_REGNUM_SAVED.
11414         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
11415         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
11416         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
11417         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
11418         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11419
11420 2001-01-15  DJ Delorie  <dj@redhat.com>
11421
11422         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
11423         (cpp.1): Ditto.
11424         (gcc.1): Ditto.
11425
11426 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11427
11428         * flow.c (propagate_one_insn): Make trying to delete a prologue
11429         or epilogue insn an ICE, not a warning.  Allow doing this if
11430         the current function returns with stack pointer depressed.
11431
11432         * combine.c (try_combine): If i3_subst_into_i2, properly check for
11433         I3 having more than one SET.
11434
11435 2001-01-16  Jim Wilson  <wilson@redhat.com>
11436
11437         * invoke.texi: Document IA-64 options.
11438
11439         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
11440         (fixup_errata): Delete TARGET_A_STEP use.
11441         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
11442         (TARGET_SWITCHES): Delete -ma-step option.
11443         * config/ia64/ia64.md (all FP patterns): Delete %B0.
11444         (movqicc_astep, movqi_internal_astep, movhicc_astep,
11445         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
11446         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
11447         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
11448         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
11449         Delete.
11450         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
11451         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
11452         cmovsi_internal): Delete ! TARGET_A_STEP check.
11453
11454 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11455
11456         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
11457         possibility to report bugs via postal mail. Change a URL and
11458         merge in a nearly duplicate statement...
11459         (Bug Reporting): ...from here.
11460         (Service): Refer to the Bug Reporting section instead of
11461         duplicating an URL.
11462         (Contributing): Remove trivial explanations concerning snapshots.
11463
11464 2001-01-16  Alan Modra <alan@linuxcare.com.au>
11465
11466         * cppmain.c (general_init): Don't use ANSI prototype.
11467
11468 2001-01-16  Tom Tromey  <tromey@redhat.com>
11469
11470         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
11471
11472 2001-01-16  Richard Henderson  <rth@redhat.com>
11473
11474         * config/i386/i386.h: Fix comment typo.
11475         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
11476         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
11477
11478 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
11479
11480         * gcc.c:  Revert previous -fsyntax-only-related change; move
11481         to cp/g++spec.c.
11482
11483 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
11484
11485         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
11486         inmode after checking GET_CODE (op).
11487
11488 2001-01-16  Richard Henderson  <rth@redhat.com>
11489
11490         * flow.c (struct propagate_block_info): Add mem_set_list_len.
11491         (MAX_MEM_SET_LIST_LEN): New.
11492         (propagate_one_insn): Update mem_set_list_len.
11493         (invalidate_mems_from_autoinc): Likewise.
11494         (invalidate_mems_from_set): Likewise.
11495         (mark_used_regs): Likewise.
11496         (init_propagate_block_info): Likewise.  Stop collecting memories
11497         when we reach MAX_MEM_SET_LIST_LEN.
11498         (mark_set_1): Likewise.
11499
11500 2001-01-16  Richard Henderson  <rth@redhat.com>
11501
11502         * unroll.c (precondition_loop_p): Fail if no iteration
11503         variable found.
11504
11505 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
11506
11507         * gcc.c:  When -fsyntax-only is given, do not complain about
11508         unused libraries.
11509
11510 2001-01-15  Richard Henderson  <rth@redhat.com>
11511
11512         * config/i386/i386.c (asm_output_function_prefix): Remove.
11513         (ix86_asm_file_end): New.
11514         (load_pic_register): Generate pic_label_name into a
11515         staticly allocated buffer.
11516         * config/i386/i386-protos.h: Update.
11517         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
11518         (ASM_FILE_END): New.
11519         * config/i386/i386afe.h: New file.
11520         * config.gcc (i?86-*-elf) [tm_file]: Use it.
11521         (i?86-*-{freebsd,linux*,moss*}): Likewise.
11522         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
11523         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
11524         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
11525         * config/i386/sco5.h (ASM_FILE_END): Likewise.
11526         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
11527
11528 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
11529
11530         * Makefile.in (install-man): Remove explicit dependency on
11531         $(srcdir)/gcc.1.
11532
11533         * configure.in, configure: Revert previous patch requiring perl
11534         5.6.0.
11535
11536 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
11537
11538         * toplev.c (flag_guess_branch_prob): New.
11539         (f_options): Add guess-branch-probability option.
11540         (rest_of_decl_compilation): Only estimate branch probability if
11541         flag set.
11542         (main): set flag_guess_branch_prob.
11543
11544         * flags.h (flag_guess_branch_prob): New.
11545
11546 2001-01-15  DJ Delorie  <dj@redhat.com>
11547
11548         * gcc.texi (Makefile): Add documentation for Makefile targets.
11549
11550 2001-01-15  Philip Blundell  <philb@gnu.org>
11551
11552         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
11553         (is_pic): Delete.
11554         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
11555         (is_pic): Delete declaration.
11556         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
11557         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
11558         * config/arm/arm.md (builtin_setjmp_receiver): New.
11559
11560 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11561
11562         * arm.c (use_return_insn): Don't try to determine the function type
11563         until after reload has completed.
11564         (arm_output_epilogue): Don't adjust the sp value recovered from the
11565         stack.
11566         (emit_multi_reg_push): Don't record dwarf information for the pc.
11567         * arm.md (eh_epilogue): The function type may have changed, so it
11568         needs to be recalculated.
11569         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
11570         unwind tables on arm/netbsd.
11571
11572 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11573
11574         * arm.md (cbranchsi4): Correct calculation of branch ranges.
11575         (negated_cbranchsi4): Likewise.
11576
11577 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
11578
11579         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
11580         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
11581         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
11582         pass -mapcs-* options to assembler.
11583         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
11584         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
11585         (ASM_SPEC): Call subtarget_extra_asm_spec.
11586
11587 2001-01-15  Andreas Jaeger  <aj@suse.de>
11588
11589         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
11590         warnings.
11591         (ix86_expand_builtin): Likewise.
11592
11593         * gencodes.c (output_predicate_decls): Make i size_t to avoid
11594         warning about comparison between signed and unsigned.
11595
11596 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
11597
11598         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
11599
11600 2001-01-14  Ralf Baechle <ralf@gnu.org>
11601
11602         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
11603         SUBTARGET_CPP_SPEC apropriatly.
11604
11605 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
11606
11607         * varasm.c (make_decl_rtl): Fix typo in last change.
11608
11609 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
11610
11611         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
11612         linker supports the init_priority C++ attribute.
11613         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
11614         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
11615         linker does not support init_priority C++ attribute.
11616
11617 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
11618
11619         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
11620
11621 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11622
11623         * c-parse.in (finish_parse): Add comment about cpp_destroy.
11624         * cp/lex.c (finish_parse): Similarly.
11625         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
11626         Return the number of errors encountered.
11627         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
11628         * cppmain.c (main): Don't call cpp_destroy.
11629
11630 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
11631
11632         * configure.in: Require at least perl 5.6.0 to regenerate
11633         manpages.
11634         * configure: Regenerate.
11635
11636 2001-01-14  Richard Henderson  <rth@redhat.com>
11637
11638         * genrecog.c (DT_veclen_ge): New.
11639         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
11640         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
11641         (nodes_identical_1): Handle DT_veclen_ge.
11642         (write_cond, debug_decision_2): Likewise.
11643
11644 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
11645
11646         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
11647         with ...
11648         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
11649
11650 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
11651
11652         * cppmain.c (do_preprocessing): New function; most of the old
11653         main.
11654         (main): Call it to do most of the work.
11655         (cb): Move from global scope to set_callbacks ().
11656         (setup_callbacks): Get the callback pointer.
11657         (general_init, printer_init): Clean up code and comments.
11658
11659 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
11660
11661         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
11662         compiling PIC.
11663
11664 2001-01-14  Kazu Hirata  <kazu@hxi.com>
11665
11666         * config/h8300/h8300.c (get_shift_alg): Update comments.
11667
11668 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11669
11670         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
11671         (alloc_page, ggc_alloc): Add casts to remove warnings.
11672
11673 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
11674
11675         * combine.c (simplify_comparison): Don't change `code' when
11676         can't reverse comparison.
11677
11678 2001-01-14  Richard Henderson  <rth@redhat.com>
11679
11680         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
11681         update all call sites.  Return true for all non-label constants.
11682
11683 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
11684
11685         * i386.c (ix86_expand_compare): Add bypass_test and second_test
11686         parameters.
11687         (ix86_expand_branch): Update.
11688         (ix86_expand_setcc): Update to handle multiple test conditions.
11689         (expand_int_movcc): Likewise.
11690         (expand_fp_movcc): Likewise.
11691         * i386-protos.h (ix86_expand_compare): New.
11692         * i386.md (andqi_?_slp, orqi_?_slp): New.
11693         (conditional trap expander): Update call to ix86_expand_compare.
11694
11695 2001-01-14  Richard Henderson  <rth@redhat.com>
11696
11697         * config/vax/vax.md: Use nonimmediate_operand instead of
11698         general_operand in destinations.
11699
11700         * config/vax/vax.md (indirect_jump): Use register_operand.
11701
11702         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
11703         * config/vax/vax.md (call_pop): Turn into an expander.
11704         (call_value_pop): Likewise.
11705         (call, call_value): New.
11706
11707 2001-01-14  Andreas Jaeger  <aj@suse.de>
11708
11709         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
11710         variables.
11711         (ix86_fp_compare_mode): Add unused attribute.
11712         (ix86_expand_fp_movcc): Remove unused variable.
11713         (ix86_expand_builtin): Make fcode unsigned.
11714
11715         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
11716         (expand_expr): Add cast to avoid signed warning.
11717         (store_field): Likewise.
11718         (store_constructor_field): Likewise.
11719         (store_constructor): Likewise.
11720         (store_expr): Likewise.
11721         (clear_storage): Likewise.
11722         (emit_group_store): Likewise.
11723         (emit_group_load): Likewise.
11724
11725 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11726
11727         * c-common.c: Move format checking code to ...
11728         * c-format.c: ... here.  New file.  Reorder some functions and
11729         declarations.
11730         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
11731         New functions.
11732         * c-common.h (decl_handle_format_attribute,
11733         decl_handle_format_arg_attribute): Declare.
11734         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
11735         (c-common.o): Adjust dependencies.
11736         (c-format.o): New list of dependencies.
11737
11738 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
11739
11740         * unroll.c (loop_iterations): If we cannot prove iteration variable
11741         is set once in each iteration, punt.
11742
11743 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
11744
11745         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
11746         (*strlenhi): Remove clobber (which was buggy) of output address.
11747
11748 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11749
11750         * Makefile.in (generated-manpages): Add gcc.1
11751         ($(srcdir)/gcc.1): New target.
11752         (maintainer-clean): Delete $(srcdir)/gcc.1.
11753         * gcc.texi: Add macros @gccoptlist and @gol.
11754         * invoke.texi: Include option summary in manpage.  Mark up option
11755         summary with @gccoptlist and @gol.  Use @r in one place where
11756         appropriate.
11757         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
11758         * gcc.1: Generate from invoke.texi.
11759
11760 2001-01-13  Richard Henderson  <rth@redhat.com>
11761
11762         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
11763         (struct page_entry): Add group member.
11764         (struct page_group): New.
11765         (struct globals): Add page_groups member.
11766         (alloc_anon): Only define for using mmap; remove valloc call.
11767         (page_group_index): New.
11768         (set_page_group_in_use): New.
11769         (clear_page_group_in_use): New.
11770         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
11771         (free_page, release_pages): Likewise.
11772         * configure.in (with-gc): Default to ggc-page always.
11773
11774 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
11775
11776         * reload1.c (replace_pseudos_in_call_usage): Use
11777         reg_equiv_constant and reg_equiv_address, and don't try
11778         regno_reg_rtx first.
11779
11780 2001-01-13  Richard Henderson  <rth@redhat.com>
11781
11782         * ggc-page.c (alloc_page): Round up allocation size to one page.
11783         Set e->order on extra pages.
11784
11785 2001-01-13  Richard Henderson  <rth@redhat.com>
11786
11787         * genrecog.c (nodes_identical): Expand commentary.
11788         (write_switch): Watch out for identical nodes.
11789
11790 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11791
11792         * cppfiles.c (_cpp_fake_include): New function.
11793         * cpphash.h (_cpp_fake_include): New.
11794         * cpplib.c (do_line): Call _cpp_fake_include when entering
11795         header files in preprocessed input.
11796         * cppmain.c (cb_pragma_implementation): Remove handling.
11797         (setup_callbacks): Don't register pragmas.
11798
11799 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11800
11801         * extend.texi: Udate for CPP.
11802
11803 2001-01-13  Andreas Jaeger  <aj@suse.de>
11804
11805         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
11806
11807         * regmove.c: Add prototype for replace_in_call_usage.
11808
11809 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11810
11811         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
11812         struct cpp_chunk, struct htab, struct toklist,
11813         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
11814         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
11815         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
11816         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
11817         (struct macro_args): Delete.
11818         * cpphash.h: See above.
11819
11820 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11821
11822         * cppmain.c (struct printer): Remove no_line_dirs.
11823         (options, cb): New.
11824         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
11825         : Use options rather than CPP_OPTION.
11826         (setup_callbacks): Use cb rather than pfile->cb.
11827         (main): No need to check for a buffer.  Use cpp_errors.
11828         (printer_init): Don't set no_line_dirs.
11829         (maybe_print_line): Use options not no_line_dirs.
11830         (cb_file_change): Don't call print_line if -P.
11831
11832 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11833
11834         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
11835         callbacks.
11836         * c-parse.in (finish_parse): Use cpp_errors.
11837         (__yylex): Use return value of cpp_pop_buffer.
11838         * cp/lex.c (finish_parse): Use cpp_errors.
11839         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
11840
11841 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
11842
11843         * README.AVR: URLs corrected.
11844
11845 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11846
11847         * c-decl.c (start_function): Don't warn if old prototype is builtin
11848         that's not in C's namespace.
11849         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
11850         (_bb): Add prototype for ctime.
11851         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
11852
11853 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
11854
11855         * i386.c (ix86_fp_comparison_arithmetics_cost,
11856         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
11857         ix86_fp_comparison_cost): New functions.
11858         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
11859         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
11860         two-branch sequences; make static.
11861         (ix86_use_fcomi_compare): Do decision according to the costs.
11862         (split_fp_branch): New.
11863         * i386.md (compare-and-branch patterns): Use split_fp_branch.
11864         * i386-protos.h (ix86_expand_fp_compare): Remove
11865         (ix86_split_fp_branch): Declare.
11866
11867         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
11868         and ix86_comparison_operator.
11869
11870         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
11871         to make it cheaper.
11872
11873         * i386.c (put_condition_code): Output properly the unordered/ordered
11874         compares in fp case.
11875         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
11876
11877         * tm.texi (REVERSE_CONDITION): Document.
11878         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
11879         in -ffast-math mode.
11880         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
11881
11882 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
11883
11884         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
11885
11886         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
11887         optimized away.
11888
11889         * config/sh/sh.c (mova_p): Fix test for mova_const.
11890
11891 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11892
11893         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
11894         cpp_get_options rather than dereferencing pfile and using
11895         CPP_OPTION.
11896         * scan-decls.c (scan_decls): Use return value of
11897         cpp_pop_buffer rather than CPP_BUFFER.
11898
11899 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
11900
11901         * cppinit.c (cpp_handle_option): help_only is now part of the
11902         cpp_options structure.
11903         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
11904         cpp_set_callbacks): New functions.
11905         * cpplib.h (cpp_callbacks): Break out as a named structure.
11906         (cpp_options): Move help_only here from cpp_reader.
11907         (CPP_FATAL_ERRORS): Update to use cpp_errors.
11908         (cpp_errors, cpp_get_options, cpp_get_callbacks,
11909         cpp_set_callbacks): New prototypes.
11910         * cppmain.c (main): Update for help_only.
11911
11912 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
11913
11914         * Makefile.in (info, maintainer-clean, install-info, uninstall):
11915         Also build and remove and install and uninstall c-tree.info and
11916         cppinternals.info.
11917         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
11918         ($(srcdir)/cppinternals.info): New target.
11919         * c-tree.texi: Change file name used when makeinfo used without -o
11920         from ir.info to c-tree.info.  Add info directory entry.
11921         * cppinternals.texi: Add info directory entry.
11922         * .cvsignore: Update.
11923
11924 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11925
11926         * c-typeck.c (store_init_value): Don't require constant initializer
11927         elements with -pedantic -std=c99.
11928         (digest_init): Change error about non-constant initializer elements
11929         into pedwarn.
11930         (constructor_range_end): Remove.
11931         (constructor_incremental, designator_depth,
11932         designator_errorneous): New variables.
11933         (struct constructor_stack): Remove range_end, add incremental.
11934         (struct constructor_range_stack, constructor_range_stack): New.
11935         (struct initializer_stack): Add constructor_range_stack.
11936         (finish_init): Set it.
11937         (start_init): Likewise.  require_constant_elements for non-static
11938         trees only if not flag_isoc99.
11939         (really_start_incremental_init): Remove constructor_range_end, add
11940         constructor_incremental.
11941         (pop_init_level): Likewise.
11942         (push_init_level): Likewise.  If implicit and the subobject had some
11943         value set already, preinitialize the level with it.
11944         Warn about missing braces only if not pushing due to designators.
11945         (set_designator, push_range_stack): New functions.
11946         (set_init_label): Use them.
11947         (set_init_index): Likewise.  Remove constructor_range_end.
11948         Error if designator index is outside of array bounds.
11949         (add_pending_init): Compare values of purpose index trees, not the
11950         trees themselves.  Allow overwriting of already initialized element.
11951         Issue a warning if it had side-effects.
11952         (set_nonincremental_init, set_nonincremental_init_from_string): New
11953         functions.
11954         (pending_init_member): Rename to...
11955         (find_init_member): ...this function.  Call set_nonincremental_init
11956         if necessary.  Compare values of purpose index trees, not the trees
11957         themselves.  Return the actual value, not just non-zero if something
11958         is found.
11959         (output_init_element): Remove checks for duplicates.
11960         If field has zero size, only check the initializer for correctness.
11961         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
11962         if constructor_incremental is zero.  Change error about initializers
11963         not computable at load time into pedwarn.
11964         (output_pending_init_elements): Compare bit positions, not
11965         FIELD_DECLs to take into account zero-sized fields.
11966         (process_init_element): Use constructor_range_stack to fill all
11967         ranges in the designator lists from current level up.
11968         * extend.texi: Update documentation for labeled elements.
11969
11970 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
11971
11972         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
11973         to function usage for arguments passed by reference.  Optimize
11974         callee-copied arguments.
11975         * regmove.c (replace_in_call_usage): New function.
11976         (fixup_match_1): Call it.
11977         * cse.c (cse_insn): Canonicalize registers in function usage.
11978         * reload1.c (replace_pseudos_in_call_usage): New function.
11979         (reload): Call it.
11980
11981         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
11982         right version.
11983
11984 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
11985
11986         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
11987         not XEXP (tmp, 0).
11988
11989 2001-01-12  DJ Delorie  <dj@redhat.com>
11990
11991         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
11992         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
11993         targets.
11994
11995 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
11996
11997         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
11998         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
11999         -std options alongside references to -ansi.  Update some
12000         documentation for C99.
12001         * cpp.1: Regenerate.
12002
12003 2001-01-12  Andreas Jaeger  <aj@suse.de>
12004
12005         * haifa-sched.c (restore_line_notes): Remove argument block B
12006         since it's unused.
12007         * sched-ebb.c (schedule_ebb): Change caller.
12008         * sched-rgn.c (schedule_region): Likewise.
12009         * sched-int.h (restore_line_notes): Adjust prototype.
12010
12011         * loop.h: Remove wrong declaration of doloop_condition_get.
12012
12013 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
12014
12015         * extend.texi:  Move C++-extension-related node from the C section
12016         into the C++ section.
12017
12018 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
12019
12020         * extend.texi: Refer to an array of pointers to functions instead
12021         of one of functions.
12022
12023 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
12024                               Jan Hubicka  <jh@suse.cz>
12025
12026         * combine.c (reversed_comparison): Fix typo in last patch.
12027         Check X for NULL.
12028         (combine_reversed_comparison_code): Make static to follow
12029         prototype declaration.
12030
12031 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
12032
12033         * install.texi:  Remove misplaced duplicate entry.
12034
12035 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
12036
12037         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
12038
12039 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
12040
12041         * final.c: (leaf_function_p): Fix typo.
12042
12043 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
12044
12045         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
12046         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
12047         which you have.
12048         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
12049         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
12050         mmap_anon, and valloc is available.
12051         * ggc-page.c: Restructure ifdef logic to match new autoconf
12052         spec.  Don't throw away the test page in init_ggc.
12053
12054         * configure, config.in: Regenerate.
12055
12056 2001-01-12  Michael Hayes  <mhayes@redhat.com>
12057
12058         * loop.h (total_biv_increment): Constify iv_class pointer.
12059         (struct induction): Replace `mem_mode' with `mem' rtx.
12060         * unroll.c (total_biv_increment): Constify iv_class pointer.
12061         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
12062         (find_mem_givs, combine_givs_p): Likewise.
12063         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
12064
12065 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
12066
12067         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
12068         LastError.
12069         (__gthread_getspecific): Ditto.
12070
12071 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
12072
12073         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
12074         put_condition_code): Convert fp comparison codes to integer
12075         before handling.
12076         (ix86_expand_fp_compare): Postnote the fp comparison code converison
12077         to final.
12078
12079         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
12080         * i386-protos.h (no_comparison_operator): Kill.
12081
12082         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
12083
12084         * combine.c (REVERSIBLE_CC_MODE): Remove.
12085         (reversible_comparison_p): Remove.
12086         (combine_reversed_comparison_code): New.
12087         (reversed_comparison): New.
12088         (combine_simplify_rtx): Use
12089         combine_reversed_comparison_code/reversed_comparison instead
12090         of reversible_comparison_p.
12091         (simplify_if_then_else): Likewise.
12092         (simplify_set): Likewise.
12093         (simplify_logical): Likewise.
12094         (if_then_else_cond): Likewise.
12095         (known_cond): Likewise.
12096         (simplify_comparison): Likewise.
12097
12098 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
12099
12100         * builtins.c (std_expand_builtin_va_start): Handle varargs when
12101         sizeof (int) is larger than sizeof(__word__).
12102
12103 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12104
12105         * cppinit.c (do_includes): Fix typo.
12106
12107 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12108
12109         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
12110         in S_REGS does not occur because not all sources are possible
12111         when a S_REGS is a destination (sometimes needs a clobber).
12112         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
12113         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
12114         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
12115         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
12116         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
12117         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
12118         (lshrdi_const1, lshrsi3_const16): Likewise.
12119         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
12120         (*movhi_68hc12, *movqi_68hc12): Likewise.
12121         (movstrictqi): Make sure reloading in D_REGS as a destination
12122         does not happen.
12123
12124 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12125
12126         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
12127
12128 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12129
12130         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
12131         -D, -U and -A, and don't initialize the builtins.
12132         (do_includes): Error if -include or -imacros with -fpreprocessed.
12133         * cppmain.c (cb_define, cb_undef): Unconditionally process
12134         the callback.
12135         * tradcpp.c (main): Fix typo.
12136
12137 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
12138
12139         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
12140         (read_name_map): Use IS_ABSOLUTE_PATH.
12141         * tradcpp.c (get_filename): Likewise.
12142
12143 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
12144
12145         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
12146         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
12147         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
12148         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
12149         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
12150         (cmphi_z_used): Don't use '@' for the output.
12151         (tstqi_z_used): Likewise.
12152         (cmpqi_z_used): Likewise.
12153         (one_cmplsi2): Likewise.
12154
12155 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
12156
12157         * config/sh/sh.c (barrier_align): Recognize branch around far
12158         branch and redundant insn.
12159
12160 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12161
12162         * invoke.texi: Restore documentation of the drivers' switches -MD
12163         and -MMD.
12164
12165 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
12166
12167         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
12168
12169         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
12170         check-objc//%): Support parallel testing of multilibs.
12171         (TESTSUITEDIR): Set to testsuite by default, but override for
12172         parallel testing.
12173         (check-gcc, check-g++, check-g77, check-objc): Enter
12174         $(TESTSUITEDIR).
12175
12176 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
12177
12178         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
12179         * sched-deps.c (deps_may_trap_p): Likewise.
12180         * basic-block.h: Remove a comment.
12181         * flow.c (PROP_POSTRELOAD): Remove.
12182         (update_life_info): Don't add it to prop_flags.
12183         (mark_set_1): Lose the code that was enabled by it.
12184
12185 2001-01-11  Michael Hayes  <mhayes@redhat.com>
12186
12187         * flow.c (flow_call_edges_add): New.
12188         * basic_block.h (flow_call_edges_add): New.
12189
12190 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
12191
12192         * reload1.c (move2add_note_store): Update reg_set_luid even if
12193         base reg remains the same.
12194
12195 2001-01-10  Nick Clifton  <nickc@redhat.com>
12196
12197         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
12198         machine_function structure to zero.
12199         Add prototypes for machine_status functions.
12200
12201 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
12202
12203         * c-common.h (CTI_VOID_LIST): Remove.
12204         (void_list_node): Likewise.
12205         * tree.h (TI_VOID_LIST_NODE): New enumeral.
12206         (void_list_node): New macro.
12207         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
12208         * config/i386/i386.c (ix86_init_builtins): Likewise.
12209         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
12210
12211 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
12212
12213         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
12214         * cppinit.c (cpp_start_read): Update comment, remove unneeded
12215         if statement.
12216         * tradcpp.c: Include mkdeps.h.
12217         (deps, print_deps_phony_targets, deps_append, output_deps,
12218         init_dependency_output, output_deps): New.
12219         (deps_buffer, deps_allocated_size, deps_size, deps_column,
12220         deps_output): Delete.
12221         (print_deps_missing_files): Rename deps_missing_files.
12222         (inhibit_output): Make global.
12223         (main): Delete inhibit_output, deps_stream, deps_target.
12224         Use mkdeps functionality in the same way as cpplib.  Remove
12225         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
12226         -M and -MM.  Remove old handling of deps via deps_out, and
12227         old reading of environment variables.
12228         (get_filename): Update to use deps_add_dep.
12229
12230 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
12231
12232         * output.h (make_function_rtl): Remove prototype.
12233         (make_decl_rtl): Likewise.
12234         * varasm.c (make_function_rtl): Remove.
12235         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
12236         than from a third parameter.
12237         * tree.h (make_decl_rtl): Remove last parameter.
12238         * c-decl.c (builtin_function): Remove last argument in call to
12239         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
12240         (start_function): Likewise.
12241         * except.c (call_get_eh_context): Likewise.
12242         * expr.c (emit_block_move): Likewise.
12243         (clear_storage): Likewise.
12244         * profile.c (output_func_start_profiler): Likewise.
12245         * toplev.c (rest_of_decl_compilation): Likewise.
12246         * objc/objc-act.c (create_builtin_decl): Likewise.
12247         (synth_module_prologue): Likewise.
12248         (generate_static_reference): Likewise.
12249         (build_selector_reference_decl): Likewise.
12250         (build_class_reference_decl): Likewise.
12251         (build_objc_string_decl): Likewise.
12252         (build_protocol_reference): Likewise.
12253
12254 2001-01-10  Richard Henderson  <rth@redhat.com>
12255
12256         * hwint.h: Revert yesterday's change.
12257
12258 2001-01-10  Nick Clifton  <nickc@redhat.com>
12259
12260         * function.h (save_machine_status): Delete.
12261         (restore_machine_status): Delete.
12262         Amend comment describing {init|mark|free}_machine_status.
12263
12264         * function.c (save_machine_status): Delete.
12265         (restore_machine_status): Delete.
12266         Amend comment describing {init|mark|free}_machine_status.
12267         (push_function_context_to): Remove invocation of
12268         save_machine_status.
12269         (pop_function_context_from): Remove invocation of
12270         restore_machine_status.
12271
12272         * emit-rtl.c (init_emit_once): Amend comment describing
12273         {init|mark|free}_machine_status.
12274
12275         * tm.texi (Per-Function Data): New node.  Describe the
12276         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
12277         function pointers.
12278
12279 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
12280
12281         * cppinit.c (OPT_g): Remove.
12282         (cpp_handle_option): Update for removed -g3.
12283         (print_help): Update.
12284         * cpplib.h (struct cpp_options): Remove debug_output.
12285         * cppmain.c (setup_callbacks, cb_define): Update.
12286         * gcc.c (cpp_options): Translate -g3 to -dD.
12287
12288 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
12289
12290         * config/i960/i960.md: Change modifier to + on the zero_extract
12291         pattern after the (rotate -2 reg) canonicalization pattern.
12292
12293 2001-01-10  Richard Henderson  <rth@redhat.com>
12294
12295         * config/alpha/alpha.c (alpha_free_machine_status): New.
12296         (override_options): Install it.
12297         (alpha_mark_machine_status): Verify machine non-null.
12298         * config/i386/i386.c (ix86_free_machine_status): New.
12299         (override_options): Install it.
12300         (ix86_init_machine_status): Use xcalloc.
12301         (ix86_mark_machine_status): Verify machine non-null.
12302         * config/ia64/ia64.c (ia64_free_machine_status): New.
12303         (ia64_override_options): Install it.
12304         (ia64_mark_machine_status): Verify machine non-null.
12305
12306 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
12307
12308         * function.c (instantiate_virtual_regs): Instantiate virtual
12309         registers found in CALL_INSN_FUNCTION_USAGE.
12310
12311 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
12312
12313         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
12314         equivalent to -ansi in disabling -Di386.
12315
12316 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
12317
12318         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
12319         new functions.
12320         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
12321
12322 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
12323
12324         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
12325
12326 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
12327
12328         * invoke.texi: Document that -fcond-mismatch isn't supported for
12329         C++.
12330
12331 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
12332
12333         * gcc.texi: Define macro gcctabopt.
12334         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
12335         @command, @env and @option in some places where appropriate.  Use
12336         @gcctabopt where appropriate.  Put URLs and email addresses inside
12337         @w.
12338
12339 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
12340
12341         * gcc.c (cpp_options): Set MD file name from output
12342         filename, if specified.
12343         (suffix_subst): New static variable.
12344         (do_spec): Clear it.
12345         (do_spec_1, case '.'): Handle new `%.suffix' spec.
12346         Clear it.
12347         (give_switch): Handle suffix_subst.
12348
12349 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
12350
12351         * invoke.texi:  Fix another typo.
12352
12353 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
12354
12355         * invoke.texi:  Fix typo.
12356
12357 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
12358
12359         * c-lang.c (lang_hooks): Update.
12360         (lang_decode_option): Remove.
12361         (lang_init_options): Rename c_init_options.
12362         * toplev.c (main): Use lang_hooks for lang_init_options
12363         and lang_decode_option.
12364         * toplev.h (lang_hooks): Add 2 new hooks.
12365         * tree.h: Remove lang_init_options and lang_decode_option.
12366         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
12367         * cp/decl2.c: Similarly.
12368         * cp/lex.c (lang_init_options): Rename cxx_init_options.
12369         (lang_hooks): Update.
12370         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
12371         for consistency.
12372         (lang_init_options): Rename ffe_init_options.
12373         (lang_hooks): Update.
12374         (lang_decode_option): Remove.
12375         * java/lang.c (lang_init_options): Rename java_init_options.
12376         (lang_decode_option): Rename java_decode_option.
12377         (lang_hooks): Update.
12378         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
12379         (lang_decode_option): Rename objc_decode_option.
12380         (lang_hooks): Update.
12381
12382 2001-01-09  Nick Clifton  <nickc@redhat.com>
12383
12384         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
12385         (d30v_return_addr_rtx): Delete.
12386         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
12387         cfun->machine structure.
12388         (struct machine_function): Move to d30v.h
12389         (d30v_save_machine_status): Delete.
12390         (d30v_restore_machine_status): Delete.
12391         (d30v_init_machine_status): New Function.
12392         (d30v_mark_machine_status): New Function.
12393         (d30v_free_machine_status): New Function.
12394         (d30v_init_expanders): Use new functions.
12395         (d30v_return_addr): Use ra_rtx field in cfun->machine.
12396         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
12397         d30v_return_addr_rtx.
12398
12399         * config/d30v/d30v.h (struct_machine): Move here.
12400         Add eh_epilogue_sp_ofs field.
12401
12402         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
12403         field in cfun->machine structure.
12404
12405 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12406
12407         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
12408         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
12409         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12410
12411 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
12412
12413         * objc/lang-options.h: Remove bogus reference to
12414         Java trademark.
12415
12416 2001-01-09  Kazu Hirata  <kazu@hxi.com>
12417
12418         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
12419         return the result.
12420
12421 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
12422
12423         * reload.c (find_reloads_address): Check for eliminable registers
12424         when substituting a constant expression for a pseudo.
12425
12426 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
12427
12428         * c-common.c (enum format_type): Add format_type_error.
12429         (decode_format_type): New function.
12430         (decl_attributes): Use it.
12431         (format_kind_info): Adjust comment.
12432
12433 2001-01-09  David O'Brien  <obrien@BSDi.com>
12434
12435         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
12436         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
12437         files in tm_file.
12438         * config/i386/gnu.h: Don't include required platform specific .h files,
12439         tm.h will do it instead.
12440         * config/i386/i386elf.h: Likewise.
12441         * config/i386/linux.h: Likewise.
12442         * config/i386/moss.h: Likewise.
12443         * config/mips/gnu.h: Likewise.
12444
12445 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12446
12447         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
12448         (rs6000-ibm-aix3.[01]*): Likewise.
12449         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
12450         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
12451         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
12452         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
12453         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
12454         (powerpc-*-eabiaix*): Likewise.
12455         (powerpc-*-eabisim*): Likewise.
12456         (powerpc-*-elf*): Likewise.
12457         (powerpc-*-eabi*): Likewise.
12458         (powerpc-*-rtems*): Likewise.
12459         (powerpc-*-linux*libc1): Likewise.
12460         (powerpc-*-linux*): Likewise.
12461         (powerpc-wrs-vxworks*): Likewise.
12462         (powerpcle-wrs-vxworks*): Likewise.
12463         (powerpcle-*-sysv*): Likewise.
12464         (powerpcle-*-elf*): Likewise.
12465         (powerpcle-*-eabisim*): Likewise.
12466         (powerpcle-*-eabi*): Likewise.
12467         (powerpcle-*-solaris2*): Likewise.
12468         * config/rs6000/aix31.h: Delete includes.
12469         * config/rs6000/aix3newas.h: Likewise.
12470         * config/rs6000/aix41.h: Likewise.
12471         * config/rs6000/aix43.h: Likewise.
12472         * config/rs6000/beos.h: Likewise.
12473         * config/rs6000/rtems.h: Likewise.
12474         * config/rs6000/sysv4.h: Likewise.
12475
12476 2001-01-09  Kazu Hirata  <kazu@hxi.com>
12477
12478         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
12479         Change an argument mode of machine_mode to shift_mode of
12480         shift_mode.  Remove an extra error check.
12481         (emit_a_shift): Adopt to the new calling prototype of
12482         get_shift_alg.
12483         (function_prologue): Fix code for a monitor
12484         function.  Support H8/S.
12485         (function_epilogue): Do not output pop for a monitor function.
12486
12487 2001-01-09  Nick Clifton  <nickc@redhat.com>
12488
12489         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
12490         (setup_incoming_varargs): Use sysv_varargs_p field of the
12491         cfun->machine structure.
12492         (struct machine_function): Move to rs6000.h
12493         (rs6000_save_machine_status): Delete.
12494         (rs6000_restore_machine_status): Delete.
12495         (rs6000_init_machine_status): New Function.
12496         (rs6000_free_machine_status): New Function.
12497         (rs6000_init_expanders): Use new functions.
12498
12499         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
12500         export.
12501         (struct machine_function): Move here.
12502
12503         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
12504         sysv_varargs_p field of the cfun->machine structure.
12505
12506         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
12507         Remove prototype.
12508         (rs6000_restore_machine_status): Remove prototype.
12509
12510 2001-01-09  Richard Henderson  <rth@redhat.com>
12511
12512         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
12513         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
12514         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
12515         (sched_analyze_2, sched_analyze_insn): Likewise.
12516         (sched_analyze, init_deps): Likewise.
12517         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
12518         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
12519         (compute_block_backward_dependences): Update propagate_deps call.
12520
12521 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
12522
12523         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
12524
12525 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12526
12527         * cppinit.c (OPT_MD, OPT_MMD): Restore.
12528         (cpp_handle_option): Handle them.
12529         (cpp_post_options): Ensure one of -M or -MM is specified with
12530         any other -M? option.
12531         (init_dependency_output): Suppress output with -MG.
12532
12533 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12534
12535         * cpp.texi: Update.
12536         * invoke.texi: Update.
12537
12538 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
12539
12540         * sh.md (reload_outsf): Generate recognizable patterns for
12541         TARGET_SH3E.
12542
12543 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12544
12545         * c-lang.c (lang_hooks): Update.
12546         (lang_init): Rename c_init.
12547         (lang_finish): Remove.
12548         * toplev.c (compile_file): Use lang_hooks for lang_init ()
12549         and lang_finish ().
12550         * toplev.h (lang_hooks): Add init () and finish ().
12551         * tree.h (lang_init, lang_finish): Remove.
12552         * cp/tree.h (lang_init, lang_finish): Remove.
12553         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
12554         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
12555         lang_hooks): New.
12556         (lang_init, lang_finish): Remove.
12557         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
12558         (lang_hooks): Update.
12559         * java/lang.c (lang_init): Rename java_init.
12560         (lang_finish): Remove.
12561         (lang_hooks): Update.
12562         * objc/objc-act.c (lang_init): Rename objc_init.
12563         (lang_finish): Remove.
12564         (lang_hoooks): Update.
12565
12566 20001-01-09  Graham Stott  <grahams@redhat.com>
12567
12568         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
12569         after `ptr` is initialised.
12570
12571 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
12572
12573         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
12574         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
12575         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
12576         stack adjusts, instead of r3.
12577
12578 2001-01-09  Michael Hayes  <mhayes@redhat.com>
12579
12580         * flow.c (flow_loop_scan): Break out of ...
12581         (flow_loops_find) ... here.
12582         * basic-block.h (flow_loop_scan): New.
12583         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
12584         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
12585
12586 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
12587
12588         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
12589         macro_buffer_len.
12590         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
12591         realloc()ing macro_buffer.
12592
12593         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
12594         if it's wider than long and the target's long is wider than the
12595         host's.
12596
12597 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
12598
12599         Remove support for using UWIN as a host machine.
12600         * configure.in: Issue an error message.
12601         * configure: Regenerated.
12602         * config.gcc: Remove xm_* UWIN configury.
12603         * config/i386/xm-uwin.h: Remove.
12604
12605 2001-01-08  Nick Clifton  <nickc@redhat.com>
12606
12607         * config/v850/v850.c (ra_rtx): Delete.
12608         (v850_save_machine_status): Delete.
12609         (v850_restore_machine_status): Delete.
12610         (v850_init_machine_status): New function.
12611         (v850_mark_machine_status): New function.
12612         (v850_free_machine_status): New function.
12613         (v850_return_addr): Use ra_rtx field in machine structure.
12614         (v850_init_expanders): Use new functions.
12615
12616         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
12617         * config/v850/v850.c: Change arguments to v850_output+* functions
12618         to take a const char *, to avoid compile time warning.
12619         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
12620         (USER_LABEL_PREFIX): Redefine.
12621
12622 2000-01-08  Jim Wilson  <wilson@redhat.com>
12623
12624         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
12625         1 to unsigned HOST_WIDE_INT before left shift.
12626
12627 2001-01-08  Nick Clifton  <nickc@redhat.com>
12628
12629         * config/arm/arm.c (arm_mark_machine_status): Check to see if
12630         the machine structure has been allocated.
12631         (arm_free_machine_status): New function: Free the machine
12632         specific function structure.
12633
12634 2001-01-08  Richard Henderson  <rth@redhat.com>
12635
12636         * jump.c (simplejump_p): Revert last change.
12637
12638 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
12639
12640         * cppinit.c (init): Rename init_library.
12641         (cpp_create_reader): Update.
12642         * gcc.c (cpp_options): If -o given, use it as the target of
12643         any -M options.
12644
12645 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
12646
12647         * arm.c (arm_arch5e): New variable.
12648         (all_cores): XScale is a 5TE device.
12649         (arm_override_options): Set arm_arch5e.
12650         (arm_init_builtins): __builtin_prefetch is in arch5e.
12651         * arm.h (arm_arch5e): Declare it.
12652
12653         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
12654
12655         * arm.md (define_constants): Add defines for UNSPEC and
12656         UNSPEC_VOLATILE insns.  Update all users.
12657         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
12658         * arm.c (multi_register_push, note_invalid_constants)
12659         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
12660         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
12661         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
12662
12663 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
12664
12665         * jump.c (jump_optimize_1): Use reversed_comparison_code
12666         instead of can_reverse_comparison_p.
12667         (jump_back_p): Likewise.
12668         (invert_exp_1): Likewise.
12669         (thread_jumps): Likewise.
12670         * simplify-rtx.c (simplify_unary_operation): Likewise.
12671         (simplify_ternary_operation): Likewise.
12672         * cse.c (find_comparison_args): Convert to use
12673         can_reverse_comparison_p.
12674         (record_jump_equiv): Likewise.
12675
12676 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
12677
12678         * arm.h (HARD_REGNO_RENAME_OK): Delete.
12679         (EPILOGUE_USES): Define.
12680         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
12681         automatically stack the LR if it isn't live.
12682
12683 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
12684
12685         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
12686         properly.
12687
12688 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
12689
12690         * ggc-page.c (max_alignment): New structure.
12691         (MAX_ALIGNMENT): New macro.
12692         (init_ggc): Use it to round up the sizes in the
12693         extra_order_size_table.
12694
12695 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12696
12697         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
12698         after reload.
12699
12700 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12701
12702         * builtins.def (BUILT_IN_FPRINTF): New entry.
12703
12704         * c-common.c (c_expand_builtin_fprintf): New function.
12705         (init_function_format_info): Handle __builtin_fprintf.
12706         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
12707         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
12708
12709         * c-decl.c (duplicate_decls): Adjust comment.
12710
12711         * extend.texi (fprintf): Document new builtin.
12712
12713 2001-01-07  Richard Henderson  <rth@redhat.com>
12714
12715         * jump.c (simplejump_p): Recognize any single_set jump
12716         of the proper form.
12717
12718 2001-01-07  Richard Henderson  <rth@redhat.com>
12719
12720         * configure.in (slibdir): Accept an --with-slibdir option.
12721         Use "test" not "[" in configure.  Default to $(libdir).
12722
12723         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
12724         fix typo in rm -f.
12725         * config/t-aix43 (SHLIB_INSTALL): Likewise.
12726         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
12727         (SHLIB_LINK): Create links for the soname.
12728         * config/mips/t-iris6: Likewise.
12729         * config/sparc/t-slibgcc: Likewise.
12730         * config/sparc/t-slibgcc-sld: Likewise.
12731
12732 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
12733
12734         * config/i386/i386.c (constant_call_address_operand): Accept
12735         (const (plus (symbol_ref) (const_int))).
12736         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
12737         constant_call_address_operand.
12738
12739 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12740
12741         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
12742         and LONG_LONG_TYPE_SIZE > 32.
12743
12744 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12745
12746         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
12747         the previous change.
12748
12749 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
12750
12751         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
12752         New.
12753         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
12754         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
12755         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
12756         Declare.
12757
12758 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12759
12760         * fix-header.c (read_scan_file): s/pfile/scan_in/.
12761
12762 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12763
12764         * c-lang.c (c_post_options): Call cpp_post_options.
12765         * objc/objc-act.c (objc_post_options): Similarly.
12766         * cppmain.c (main): Similarly.
12767         * fix-header.c (read_scan_file): Similarly.
12768         * cppinit.c (cpp_start_read): Move option consistency checks
12769         to cpp_post_options.  Don't call init_dependency_output.
12770         If needed, add default target and main file dependency.
12771         (OPT_MD, OPT_MMD): Remove.
12772         (OPT_MF): New.
12773         (cpp_handle_option): Update for OPT_* changes.
12774         (cpp_post_options): New.
12775         (init_dependency_output): Command line -MF overrides environment
12776         variables.  Don't set default target etc.  Suppress output
12777         if dependencies are going to stdout.
12778         (print_help): Update.
12779         * cpplib.h (cpp_post_options): New.
12780         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
12781
12782 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
12783
12784         * jump.c (comparison_dominates_p): Support unordered compares.
12785
12786 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
12787
12788         * simplify-rtx.c (simplify_relational_operation): Always simplify
12789         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
12790         and UNGE.
12791
12792 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
12793
12794         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
12795         (nonzero_bits): Likewise.
12796         (simplify_comparison): Likewise.
12797         (num_sign_bit_copies): Likewise; return more sane value depending
12798         on STORE_FLAG_VALUE.
12799         (known_cond): Do not assume EQ to be always true for equivalent
12800         operands.
12801
12802 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
12803
12804         * cse.c (fold_rtx): Handle unordered comparisons.
12805
12806 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
12807
12808         * rtlanal.c (set_of_1): New static function.
12809         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
12810          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
12811          reg_set_last_last_regno): Remove.
12812         (set_of): New global function.
12813         (set_of_data): New structure.
12814         (reg_set_p, reg_set_last): Revamp for set_of.
12815         * rtl.h (set_of): New.
12816
12817 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
12818
12819         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
12820         * extend.texi: Document _Exit builtin.
12821
12822 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12823
12824         * (initialize, initialize_builtins,
12825         initialize_dependency_output, initialize_standard_includes):
12826         Rename s/initialize/init. Update.
12827         (init_dependency_output): Move to after
12828         cpp_handle_options, the correct location temporally at least.
12829         (opt_comp): Move next to init (), its caller.  Fix prototype.
12830         (init): Make "initialized" local scope.
12831         (cpp_create_reader): Always call init ().
12832         (cpp_start_read): Update.
12833         (output_deps): New function, broken out of cpp_finish.
12834         (cpp_finish): Break out output_deps.
12835
12836 2001-01-07  Richard Henderson  <rth@redhat.com>
12837
12838         * collect2.c (COFF specific stuff): Revert 12-06 patch
12839         to prototype system functions.
12840
12841 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12842
12843         * hard-reg-set.h: Add multiple include guard.
12844         * basic-block.h (struct loop): Add `sink' field.
12845         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
12846         (emit_iv_add_mult): Delete.
12847         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
12848         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
12849         (unroll_loop): Remove end_insert_before argument.
12850         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
12851         (maybe_eliminate_biv_1): Likewise.
12852         (emit_iv_add_mult): Delete.
12853         (gen_add_mult, loop_regs_update): New.
12854         (loop_insn_emit_after, loop_insn_emit_before): New.
12855         (loop_insn_sink, loop_insn_sink_or_swim): New.
12856         (emit_iv_add_mult): Delete.
12857         (scan_loop): Set loop->sink.
12858         (loop_givs_reduce): Use loop_insn_sink and its ilk.
12859         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
12860         (maybe_eliminate_biv_1): Likewise.
12861         (maybe_eliminate_biv_1): Add basic block argument.
12862         * unroll.c (unroll_loop): Remove end_insert_before argument.
12863         (find_splittable_regs): Likewise.
12864         (find_splittable_regs): Use loop_insn_sink and its ilk.
12865         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
12866
12867 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12868
12869         * loop.h (loop_insn_hoist): New prototype.
12870         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
12871         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
12872         (check_dbra_loop, load_mems): Likewise.
12873         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
12874         (find_splittable_givs): Likewise.
12875
12876 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12877
12878         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
12879
12880 2001-01-07  Richard Henderson  <rth@redhat.com>
12881
12882         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
12883
12884 2001-01-07  Richard Henderson  <rth@redhat.com>
12885
12886         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
12887         NO_SHARED_LIBGCC_MULTILIB as required for the target.
12888         * gcc.c (init_spec): Massage the existing libgcc_spec into a
12889         variant that handles a shared libgcc.
12890         (process_command): Always validate -{static,shared}-libgcc.
12891         (do_spec_1): New 'M' case.
12892         * invoke.text (Link Options): Document -{static,shared}-libgcc.
12893
12894 2001-01-07  Richard Henderson  <rth@redhat.com>
12895
12896         * Makefile.in (slibdir): New variable.
12897         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
12898         (installdirs): Create slibdir.
12899         (install-libgcc, install-multilib): Defer to libgcc.mk.
12900         * configure.in (slibdir): Substitute.
12901         * mklibgcc.in (install): New target.
12902
12903         * config/t-linux (SHLIB_LINK): Create links for the soname.
12904         (SHLIB_INSTALL): New.
12905         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
12906         * config/mips/t-iris6 (SHLIB_INSTALL): New.
12907         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
12908         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
12909         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
12910
12911 2001-01-07  Richard Henderson  <rth@redhat.com>
12912
12913         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
12914         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
12915         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
12916
12917 2001-01-07  Michael Hayes  <mhayes@redhat.com>
12918
12919         * loop.c (count_loop_regs_set): Delete.
12920         (load_mems_and_recount_loop_regs_set): Delete.
12921         (loop_regs_scan): Merge common code from count_loop_regs_set,
12922         scan_loop, and load_mems_and_recount_loop_regs_set.
12923         (scan_loop): Call load_mems directly and loop_regs_scan
12924         again if new registers created.
12925
12926 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12927
12928         * toplev.c (main): Call the front-end specific post_options
12929         hook if one is given.
12930         * toplev.h (struct_lang_hooks, lang_hooks): New.
12931         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
12932         for the C front end.
12933         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
12934         lang_hooks for the C++ front end.
12935         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
12936         lang_hooks for the ObjC front end.
12937         * f/com.c (lang_hooks): Hooks for the Fortran front end.
12938         * java/lang.c (lang_hooks): Hooks for the Java front end.
12939
12940 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
12941
12942         * c-lex.c (init_c_lex): Request #define / #undef callbacks
12943         for verbose DWARF[2] debugging.
12944         (cb_define, cb_undef): The new callbacks.
12945         * toplev.h (debug_define, debug_undef): Make const correct.
12946         * toplev.c (debug_define, debug_undef): Similarly.  Do not
12947         perform the verbosity tests here anymore.
12948
12949 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
12950
12951         * reload.c (subst_reloads): Take INSN argument.  When
12952         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
12953         * reload.h (subst_reloads): Adjust prototype.
12954         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
12955         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
12956         present in JUMP_INSNs and copy them to JUMP_LABEL.
12957         * flow.c (find_label_refs, find_basic_blocks_1): Skip
12958         JUMP_INSNs and insns with REG_LABELs that are followed by
12959         JUMP_INSNs with the same REG_LABEL.
12960         * sched-rgn.c (is_cfg_nonregular): Likewise.
12961         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
12962         note is available.
12963         * unroll.c (unroll_loop): Look for REG_LABEL notes in
12964         JUMP_INSNs too.
12965         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
12966
12967 2001-01-06  Richard Henderson  <rth@redhat.com>
12968
12969         * loop.c (scan_loop): Use xcalloc for the regs array.
12970         (load_mems_and_recount_loop_regs_set): Zero the new memory
12971         received from xrealloc.
12972
12973 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
12974
12975         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
12976
12977 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
12978
12979         * integrate.c (copy_rtx_and_substitute): When copying
12980         an ignored return value, strip REG_FUNCTION_VALUE_P.
12981
12982 2001-01-06  Michael Hayes  <mhayes@redhat.com>
12983
12984         * loop.c (debug_biv, debug_giv): New.
12985         (loop_biv_dump): Break out from ...
12986         (record_biv): ... here.
12987         (loop_giv_dump): Break out from ...
12988         (record_giv): ... here.
12989         (loop_bivs_check): Use print_simple_rtl.
12990         * unroll.c (loop_iterations): Use print_simple_rtl.
12991
12992 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12993
12994         * pa.md (return, return_internal): Modify patterns to prevent regrename
12995         mucking with the return pointer.
12996
12997 2001-01-05  Richard Henderson  <rth@redhat.com>
12998
12999         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
13000
13001 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
13002
13003         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
13004         version supplied by Matteo Frigo.
13005
13006 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
13007
13008         * cpp.texi: Update for -MQ.
13009         * cppinit.c (cpp_create_reader): Always create pfile->deps.
13010         (cpp_cleanup): Always free pfile->deps.
13011         (initialize_dependency_output): Don't create pfile->deps.
13012         (cpp_handle_option): Similarly.
13013         (OPT_MQ): New.
13014         * gcc.c (cpp_options): Handle -MQ.
13015         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
13016         * mkdeps.c (base_name): Remove.
13017         (deps_init): Don't allocate vector space until it's needed.
13018         (deps_free): Only free vectors if allocated.
13019         (deps_add_target, deps_add_dep): Update for initial allocation.
13020         (deps_add_default_target): Don't strip to the base_name.
13021
13022 2001-01-05  DJ Delorie <dj@redhat.com>
13023
13024         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
13025         (INIT_EXPANDERS): Define.
13026
13027         * config/v850/v850.c (struct machine_function): Define.
13028         (v850_save_machine_status): New function.
13029         (v850_restore_machine_status): New function.
13030         (v850_return_addr): New function.
13031         (v850_init_expanders): New function.
13032
13033         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
13034         and v850_init_expanders.
13035
13036 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
13037
13038         * cpplib.h (struct cpp_reader): Add help_only field.
13039         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
13040         (cpp_handle_option): Set pfile->help_only if we see -h,
13041         --help, -target-help, or --version.  Print version string but
13042         do not set help_only if we see -v or -version.  Make text
13043         printed by -v match that printed by (-)-version.
13044
13045         * cppmain.c (main): Exit after option parsing if
13046         pfile->help_only is true.
13047
13048         * toplev.c (independent_decode_option): Call print_version,
13049         then exit, if we see --version (but not -version).
13050         (print_version): Split lengthy message into two lines.
13051
13052 2001-01-05  Nick Clifton  <nickc@redhat.com>
13053
13054         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
13055         temporary string for initialisation before calling ggc_alloc_string.
13056
13057 2001-01-06  Michael Hayes  <mhayes@redhat.com>
13058
13059         * rtl.h (print_simple_rtl): New.
13060         * print-rtl.c (print_simple_rtl): New.
13061         (flag_simple): New.
13062         (print_rtx): Disable printing of flags and modes, etc.,
13063         if `flag_simple` nonzero.
13064
13065 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
13066
13067         * function.c (fixup_var_refs): Use push_to_full_sequence where
13068         possible.
13069
13070 2001-01-05  Michael Meissner  <meissner@redhat.com>
13071
13072         * flags.h (flag_reorder_blocks): Add declaration.
13073         (flag_rename_block): Ditto.
13074
13075 2001-01-05  DJ Delorie  <dj@redhat.com>
13076
13077         * function.c (reorder_blocks): Make sure the flags are all reset
13078         before using them to mark blocks, else a second invocation will
13079         corrupt the block chain.
13080         (reorder_blocks_0): New, resets the flags.
13081
13082 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
13083
13084         * cse.c (find_comparison_args): Stop if the argument is known to
13085         be constant.
13086
13087 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
13088
13089         * config/sh/sh.md (movdf): When splitting load into pair of
13090         registers, don't clobber the register used in the address too
13091         early.
13092
13093 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
13094
13095         * varasm.c (mark_constant_pool): Improve initial comments.
13096         (mark_constants): Move marking of constants to mark_constant.
13097         (mark_constant): New function to recursively mark all constants
13098         referred to by a constant.
13099
13100 2001-01-05  Catherine Moore  <clm@redhat.com>
13101
13102         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
13103
13104 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
13105
13106         * cp/lang-options.h:  Bring comment in line with reality.
13107         * f/lang-options.h:  Likewise.
13108         * java/lang-options.h:  Likewise.
13109         * objc/lang-options.h:  Likewise.
13110         * ch/lang-options.h:  Likewise.
13111         * f/g77.texi:  And update the manual.
13112
13113 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
13114             Denis Chertykov  <denisc@overta.ru>
13115
13116         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
13117         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
13118         * config/avr/avr.md (all peepholes that request a scratch register):
13119         Call it, FAIL the peephole if not safe (in interrupt functions).
13120
13121 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
13122
13123         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
13124
13125 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
13126
13127         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
13128         Define.
13129         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
13130         BUILT_IN_CREAL and BUILT_IN_CIMAG.
13131         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
13132         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
13133         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
13134         BUILT_IN_CIMAG.
13135         * extend.texi: Document these builtins.
13136
13137 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
13138
13139         * c-common.c (lang_get_alias_set): Say we know nothing of
13140         VECTOR_TYPE aliasing.
13141
13142         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
13143
13144 2001-01-05  Bruce Korb  <bkorb@gnu.org>
13145
13146         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
13147         their x* equivalent versions for atexit-less systems
13148         * fixinc/fixincl.c(main): do not return from main() on atexit-less
13149         systems (or any other system any more).
13150
13151 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
13152
13153         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
13154         output operands.  Use arm_hard_register_operand for operand 4.
13155         (stmsi_postinc): Similarly.
13156         (ldmsi): Use arm_hard_register_operand for opernand 2.
13157         (stmsi): Similarly.
13158         * arm.c (arm_hard_register_operand): New function.
13159         * arm-protos.h (arm_hard_register_operand): Prototype it.
13160
13161         * arm.h (HARD_REGNO_RENAME_OK): Define.
13162
13163 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
13164
13165         * simplify-rtx.c (cfc_args): add "unordered" field.
13166         (check_fold_consts): Set unordered field.
13167         (simplify_relational_operation): Simplify the unordered
13168         comparisons.
13169
13170         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
13171         is valid.
13172
13173         * emit-rtl.c (try_split): Fix code to mark labels.
13174         * jump.c (mark_jump_label): Make global.
13175         * rtl.h (mark_jump_label): Declare.
13176
13177         * predict.c (estimate_probability): Handle unordred comparisons.
13178
13179 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
13180
13181         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
13182         * cppinit.c (initialize_dependency_output):  Update.
13183         (cpp_finish): Output dummy targets for -MP.
13184         (OPT_MP): New.
13185         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
13186         * cpplib.h (struct cpp_options): Add deps_phony_targets.
13187         * gcc.c (cpp_options): Update to handle -MP.
13188         * mkdeps.c (deps_add_target, deps_add_default_target): Update
13189         to quote only the default target.
13190         (deps_phony_targets): Insert a preceding newline.  Rename from
13191         deps_dummy_targets for consistency.
13192         * mkdeps.h: Update
13193
13194 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
13195
13196         * calls.c (emit_library_call_value_1): Support
13197         INIT_CUMULATIVE_LIBCALL_ARGS.
13198         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
13199
13200 2001-01-04  Richard Henderson  <rth@redhat.com>
13201
13202         * c-decl.c (finish_struct): Detect flexible array members
13203         used in an inappropriate context.
13204         * c-typeck.c (really_start_incremental_init): Special case
13205         constructor_max_index for zero length arrays.
13206         (pop_init_level): Allow initialization of flexible array
13207         members.  Deprecate initialization of zero length arrays.
13208         Don't issue missing initializer warning for flexible array
13209         members or zero length arrays.
13210         (process_init_element): Don't dereference null DECL_SIZE.
13211         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
13212         Don't abort for empty constructors.  Use size_binop
13213         (output_constructor): Add commentary regarding zero length
13214         array futures.  Abort if we try to initialize an array of
13215         unspecified length with a non-empty constructor in the middle
13216         of a structure.
13217
13218         * extend.texi (Zero Length): Update and clarify documentation
13219         on static initialization.
13220
13221 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13222
13223         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
13224         with more than 32767 words of local storage.
13225
13226 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
13227
13228         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
13229         for 'abs', 'labs', and 'fabs'.
13230         (c4x_expand_builtin): Likewise.
13231         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
13232
13233 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
13234
13235         * config/sh/sh.md (prget, prset): New insn types.
13236         (return delay slot): Dont' allow prset.
13237         (call, sfunc delay slot): Don't allow prget.
13238         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
13239         for prset and prget.
13240
13241 2001-01-05  Michael Hayes  <mhayes@redhat.com>
13242
13243         * loop.h (struct loop_reg): New.
13244         (struct loop_regs): Change to use array of `struct loop_reg'.
13245         * loop.c: Replace assortment of varrays with single regs array.
13246         (count_one_set): Delete may_not_move array argument
13247         and use regs array instead.  All caller's changed.
13248         (count_loop_regs_set): Delete may_not_move and single_usage
13249         arguments and use regs array instead.  All caller's changed.
13250         (find_single_use_in_loop): Replace usage array argument with pointer
13251         to regs structure.  All caller's changed.
13252         (loop_optimize): Delete `moved_once' array.
13253
13254 2001-01-05  Michael Hayes  <mhayes@redhat.com>
13255
13256         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
13257         Use it instead of loop_info->has_call for scanning loop mems.
13258         (check_dbra_loop): Replace loop_info->has_call test with
13259         loop_info->has_nonconst_call.
13260
13261 2000-01-04  Matthew Hiller  <hiller@redhat.com>
13262
13263         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
13264         for TARGET_SH3E.
13265
13266 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
13267
13268         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
13269         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
13270
13271 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
13272
13273         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
13274         (flag_short_double, flag_short_wchar): Define.
13275         (c_common_nodes_and_builtins): Create many tree nodes shared
13276         between C and C++ here instead of in cp/decl.c and ...
13277         * c-decl.c (init_decl_processing): ... here.
13278         (SIZE_TYPE, WCHAR_TYPE): Don't define.
13279         (flag_short_double, flag_short_wchar): Don't define.
13280         (record_builtin_type): New function.
13281         (build_void_list_node): New function.
13282         * c-common.h (flag_short_double, flag_short_wchar,
13283         record_builtin_type, build_void_list_node): Declare.
13284
13285 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
13286
13287         * integrate.c (expand_inline_function): Don't put a virtual
13288         register into the reg map.
13289
13290         * function.c (fixup_var_refs_1): If force_operand didn't put
13291         the address into the target, move it there.
13292
13293 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
13294
13295         Special-case tree_decl/tree_list allocations.
13296         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
13297         (OBJECT_SIZE): New macro.
13298         (NUM_EXTRA_ORDER): Likewise.
13299         (extra_order_size_table): New variable.
13300         (NUM_ORDERS): New macro.
13301         (objects_per_page_table): New variable.
13302         (object_size_table): New variable.
13303         (G.pages): Use NUM_ORDERS to bound the array.
13304         (G.page_tails): Likewise.
13305         (DIV_ROUND_UP): Remove.
13306         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
13307         (alloc_page): Use OBJECT_SIZE.
13308         (size_lookup): Don't make it const.
13309         (ggc_alloc): Use OBJECT_SIZE.
13310         (ggc_set_mark): Likewise.
13311         (ggc_get_size): Likewise.
13312         (init_ggc): Set up the object_size_table, objects_per_page_table,
13313         and adjust size_lookup.
13314         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
13315         (ggc_pop_context): Use NUM_ORDERS.
13316         (clear_marks): Likewise.
13317         (sweep_pages): Likewise.
13318         (poison_pages): Likewise.
13319         (ggc_print_statistics): Use OBJECT_SIZE.
13320
13321 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13322
13323         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
13324         Only call array_size_for_constructor if last field and array type
13325         with no upper bound.
13326
13327 2001-01-04  Philip Blundell  <philb@gnu.org>
13328
13329         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
13330         from bit 31 downwards, if this requires no more insns.
13331         (count_insns_for_constant): New helper function for above.
13332
13333 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
13334
13335         * gencodes.c (output_predicate_decls): Remove empty initializer.
13336
13337 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
13338
13339         * tree.c (copy_node): Remove documentation about obstacks.
13340         (buidl1): Check that nobody tries to build 2-argument nodes this
13341         way.
13342
13343 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13344
13345         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
13346         fp_high_losum_p.
13347
13348         * gencodes.c (output_predicate_decls): Fill empty initializer
13349         braces.
13350
13351 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
13352
13353         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
13354         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
13355         or -MM.
13356         (do_include): Handle missing headers like cpp0.
13357         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
13358         paths with first include pathname.  Don't strcat to uninitialized
13359         string.
13360
13361 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
13362
13363         * regrename.c (regrename_optimize): Don't rename from frame pointer
13364         if frame_pointer_needed.
13365         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
13366         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
13367         (ia64_reorg): Use it instead of scheduling if ! optimize.
13368         (errata_emit_nops): Properly call asm_noperands.
13369         (ia64_sched_reorder): Finish cycle if we see an asm.
13370         (ia64_variable_issue): Clear scheduling state after asms.
13371
13372 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
13373
13374         * cpp.texi: Update for -MT.
13375         * cppinit.c (initialize_dependency_output): Add a default
13376         target if none has been given already.
13377         (no_tgt, OPT_MT): New.
13378         (cpp_handle_option): Handle -MT.  Update -M etc.
13379         * cpplib.h (struct cpp_options): Remove deps_target.
13380         * gcc.c (cpp_options): Handle -MT.
13381         * mkdeps.c (struct deps): Move from mkdeps.h.
13382         (deps_calc_target): Rename deps_add_default_target.  Add a
13383         default target if none has been specified already.
13384         * mkdeps.h (struct deps): Move to mkdeps.c.
13385         (deps_calc_target): Rename deps_add_default_target.
13386
13387 2000-01-03  Richard Henderson  <rth@redhat.com>
13388
13389         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
13390         Remove dead code.
13391         * c-typeck.c (push_init_level): Move checks for flexible array
13392         members and zero length arrays ...
13393         (pop_init_level): ... here.  Silently discard empty initializations.
13394         Remove dead code.
13395         * varasm.c (output_constructor): Update for sizeof change to
13396         zero-length arrays.
13397
13398         * extend.texi (Zero Length): Clarify semantics.
13399
13400 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
13401
13402         * configure.in (tm.h): Include isns-codes.h last.
13403         * configure: Rebuilt.
13404
13405 2001-01-03  Richard Henderson  <rth@redhat.com>
13406
13407         * config/alpha/alpha.md (addvsi3, addvdi3): New.
13408         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
13409
13410 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13411
13412         * tradcpp.c (main): Make sure finclude() is called with a valid
13413         indepth value while handling -include.
13414
13415 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
13416
13417         * gencodes.c (output_predicate_decls): New function.
13418         (main): Call it.
13419         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
13420         even if it is not the first time machmode.h is #included.
13421         * config/sh/sh.c (fpul_operand): Declare MODE argument.
13422         * tm.texi (PREDICATE_CODES): Document predicate declarations.
13423         * gcc.texi (Copyright): Added 2001.
13424
13425 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13426
13427         * c-common.c (c_common_lang_init): New function.  Warn if format
13428         warning options which only have effects when used with -Wformat
13429         are used without -Wformat.
13430         * c-common.h (c_common_lang_init): Declare.
13431         * c-lang.c (lang_init): Call c_common_lang_init.
13432         * objc/objc-act.c (lang_init): Call c_common_lang_init.
13433
13434 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13435
13436         * configure.in: Check for the mktemp command.
13437         * configure: Regenerate.
13438         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
13439         $TEMP.  Create temporary files with mktemp, if available at
13440         configure time; otherwise use set -C.  Remove temporary files
13441         before exit.
13442
13443 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
13444
13445         * configure.in: Require at least texinfo 4.0.  Check for whether
13446         Pod::Man is sufficiently recent to regenerate GCC manpages.
13447         * configure:  Regenerate.
13448         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
13449         on #!.
13450         (GENERATED_MANPAGES): Define.
13451         (generated-manpages): New target.  Depend on cpp.1 as well as
13452         gcov.1.
13453         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
13454         configure to generated-manpages or empty) rather than on the
13455         manpages directly.  Remove execute permission from installed
13456         gcov.1 as well as cpp.1.
13457         * cpp.1, gcov.1: Regenerate.
13458
13459 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13460
13461         * builtins.c (expand_builtin_strncmp): Use host_integerp and
13462         tree_low_cst.  Allow using cmpstrsi in more cases.
13463
13464 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13465
13466         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
13467         sized types.
13468
13469 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
13470
13471         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
13472         * Makefile.in (HOST_CFLAGS): Mention build-make.
13473
13474 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13475
13476         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
13477         as JUMP_INSN.
13478
13479 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
13480
13481         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
13482         a REG rtx.
13483
13484         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
13485         callers changed.
13486
13487         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
13488         reg_base_value and reg_known_value arrays.
13489         (init_alias_analysis): Add more cases to detect known values.
13490         * sched-deps.c (deps_may_trap_p): New function.
13491         (sched_analyze_2): Use it.
13492
13493 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
13494
13495         * combine.c (simplify_shift_const): Even if we're sign-extracting,
13496         don't discard an ASHIFTRT if we're shifting in a wider mode.
13497
13498 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13499
13500         * toplev.c (rest_of_compilation): Don't print basic block information
13501         when CFG isn't up to date.
13502
13503 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
13504
13505         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
13506         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
13507         (UNALIGNED_SHORT_ASM_OP): Define.
13508         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
13509
13510 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
13511
13512         * fold-const.c (fold_convert): Fix typo.
13513
13514 2001-01-02  Richard Henderson  <rth@redhat.com>
13515
13516         * c-common.h (ASM_INPUT_P): New.
13517         * c-parse.in (asm): Set it when needed.
13518         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
13519         existance of an operand.
13520
13521 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
13522
13523         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
13524         (dwarf2out_frame_debug_expr): Likewise.
13525         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
13526
13527 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
13528
13529         * i386.c (ix86_split_to_parts): Return number of part required;
13530         handle TFmodes.
13531         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
13532         TFmodes.
13533         (ix86_split_long_move): Use number of part returned
13534         by ix86_split_to_parts
13535         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
13536         New macros.
13537         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
13538         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
13539         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
13540         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
13541         (ALIGN_MODE_128): Add TFmode.
13542         (IS_STACK_MODE): Likewise.
13543         (HARD_REGNO_NREGS): TFmode needs 3 registers.
13544         (HARD_REGNO_OK): Support TFmodes.
13545         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
13546         * i386.md (scheduler definitions): Use memory operand to determine
13547         fst/fld instructions; use mode attribute to determine real mode of
13548         the instruction.
13549         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
13550         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
13551
13552 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
13553
13554         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
13555
13556 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
13557
13558         * expr.c (store_constructor_field): Update ALIGN before calling
13559         store_constructor.
13560
13561 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
13562
13563         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
13564         host_integerp.
13565
13566 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
13567
13568         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
13569         incomplete type.
13570
13571 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
13572
13573         * c-decl.c (start_function): Don't warn on third parameter to main.
13574
13575 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13576
13577         * tsystem.h: Define HAVE_DECL_GETOPT.
13578
13579 2001-01-02  Philip Blundell  <pb@futuretv.com>
13580
13581         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
13582         of input operand.
13583
13584 2001-01-02  Richard Henderson  <rth@redhat.com>
13585
13586         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
13587
13588 2001-01-02  Andreas Jaeger  <aj@suse.de>
13589
13590         * c-decl.c (c_decode_option): Remove support of
13591         -Wmissing-noreturn.
13592
13593         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
13594         (W_options): Add -Wmissing-noreturn here.
13595
13596         * flow.c: Define lang_missing_noreturn_ok_p.
13597         (check_function_return_warnings): Use it.
13598
13599         * c-common.h: Declare lang_missing_noreturn_ok_p.
13600
13601         * c-lang.c (c_missing_noreturn_ok_p): New function.
13602         (lang_init): Set lang_missing_noreturn_ok_p.
13603
13604         * invoke.texi (Warning Options): Document this.
13605
13606 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
13607
13608         * extend.texi (C++ Extensions):  New node for C++ attributes;
13609         describe init_priority and com_interface.
13610         * invoke.texi:  Remove -finit-priority as it now has zero effect.
13611         * install.texi:  Fix xref syntax.
13612         * md.texi:  Likewise.
13613
13614 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13615
13616         * config.gcc (sparc64-wrs-vxworks*): New case.
13617         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
13618
13619         * config/sparc/sparc.c (sparc_override_options): Do support different
13620         pointer and architecture size.
13621         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
13622         (POINTERS_EXTEND_UNSIGNED): Define.
13623         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
13624         (FUNCTION_MODE): Define to be Pmode.
13625         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
13626
13627         * function.c (expand_function_end): Properly handle DECL_RESULT
13628         and copy when ptr_mode != Pmode.
13629         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
13630
13631 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13632
13633         * c-common.c (c_common_nodes_and_builtins): Set prototype
13634         parameters for __builtin_fputs, __builtin_fputc and
13635         __builtin_fwrite.  Don't declare plain fputc as a builtin.
13636
13637 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13638
13639         * loop.c (add_label_notes): Increment the label usage count when
13640         a note is added to an insn which refers to a CODE_LABEL.
13641         * gcse.c (add_label_notes): Likewise.
13642
13643 2001-01-01  Andreas Jaeger  <aj@suse.de>
13644
13645         * loop.c (scan_loop): Use xmalloc to allocate movables.
13646
13647 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
13648
13649         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
13650         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
13651         * reload1.c (REGISTER_MOVE_COST): Likewise.
13652         * regclass.c (REGISTER_MOVE_COST): Likewise.
13653         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
13654         dimension.  Adjust all users.
13655         (init_reg_sets_1): Iterate on all modes.
13656         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
13657         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
13658         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
13659         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
13660         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
13661         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
13662         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
13663         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
13664         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
13665         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
13666         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
13667         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
13668         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
13669         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
13670         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
13671         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
13672         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
13673         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
13674         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
13675         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
13676         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
13677         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
13678         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
13679         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
13680         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
13681         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
13682         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
13683
13684 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
13685
13686         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
13687         arg VARIES_P.  Call it with extra arg.
13688         (true_dependence): Likewise.
13689         * rtl.h (rtx_addr_can_trap_p): Declare.
13690         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
13691         prototypes.
13692         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
13693         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
13694         pic offset table register if it's zero.  All callers changed.
13695         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
13696
13697 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13698
13699         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
13700         STRING_POOL_ADDRESS_P.
13701
13702         * config/sparc/sparc.c (input_operand): Properly test for short op.
13703
13704         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
13705         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
13706         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
13707         * config/sparc/elf.h: No longer include sol2.h.
13708         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
13709         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
13710
13711         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
13712
13713 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13714
13715         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
13716         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
13717         (record_initial): Likewise.
13718         * unroll.c (copy_loop_body, loop_iterations): Likewise.
13719         (remap_split_bivs): Likewise.
13720
13721 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13722
13723         * loop.c (loop_ivs_free): New function.
13724         (strength_reduce): Break out from...
13725
13726 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13727
13728         * loop.h (struct iv): New.
13729         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
13730         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
13731         'reg_biv_class' fields with 'regs' and 'n_regs'.
13732         (struct ivs): Rename 'loop_iv_list' field to 'list'.
13733         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
13734         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
13735
13736 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
13737
13738         * resource.c (mark_referenced_resources): Abort() before
13739         attempting to mark a pseudo register.
13740         (mark_set_resources): Likewise.
13741
13742 2001-01-01  Michael Hayes  <mhayes@redhat.com>
13743
13744         * loop.h (REG_IV_CLASS): New accessor macro.
13745         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
13746         * unroll.c (REG_IV_CLASS): Likewise.
13747
13748 See ChangeLog.4 for earlier changes.