iris5.h (UNALIGNED_INT_ASM_OP, [...]): Define.
[gcc.git] / gcc / ChangeLog
1 2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2
3 * config/mips/iris5.h (UNALIGNED_INT_ASM_OP,
4 UNALIGNED_SHORT_ASM_OP): Define.
5 * config/mips/iris6.h (UNALIGNED_INT_ASM_OP,
6 UNALIGNED_SHORT_ASM_OP): Undef.
7
8 Tue Jun 26 12:40:12 CEST 2001 Jan Hubicka <jh@suse.cz>
9
10 * i386.md (float_truncate splitter, and to mov splitters): Add
11 reload_completed; fix operand predicate.
12
13 * haifa-sched.c (sched_init): Do not split insns.
14 * toplev.c (rest_of_compilation): Call split_all_insns before
15 sched1 pass; simplify condition of post-reload splitter;
16 call split_all_insn before sched2 pass.
17
18 2001-06-26 Gabriel Dos Reis <gdr@codesourcery.com>
19
20 * diagnostic.h (diagnostic_prefixing_rule_t): New enum type.
21 (set_message_prefixing_rule): Adjust prototype.
22 * diagnostic.c (current_prefixing_rule): Adjust type.
23
24 2001-06-26 Neil Booth <neil@daikokuya.demon.co.uk>
25
26 * defaults.h: Default escape sequences to ASCII.
27 * config/i370/i370.h: Adjust for ASCII default.
28 * config/1750a/1750a.h: Remove escape sequence definitions.
29 * config/a29k/a29k.h: Similarly.
30 * config/alpha/alpha.h: Similarly.
31 * config/arc/arc.h: Similarly.
32 * config/arm/arm.h: Similarly.
33 * config/avr/avr.h: Similarly.
34 * config/c4x/c4x.h: Similarly.
35 * config/clipper/clipper.h: Similarly.
36 * config/convex/convex.h: Similarly.
37 * config/d30v/d30v.h: Similarly.
38 * config/dsp16xx/dsp16xx.h: Similarly.
39 * config/elxsi/elxsi.h: Similarly.
40 * config/fr30/fr30.h: Similarly.
41 * config/h8300/h8300.h: Similarly.
42 * config/i386/i386.h: Similarly.
43 * config/i860/i860.h: Similarly.
44 * config/i960/i960.h: Similarly.
45 * config/ia64/ia64.h: Similarly.
46 * config/m32r/m32r.h: Similarly.
47 * config/m68hc11/m68hc11.h: Similarly.
48 * config/m68k/m68k.h: Similarly.
49 * config/m88k/m88k.h: Similarly.
50 * config/mcore/mcore.h: Similarly.
51 * config/mips/mips.h: Similarly.
52 * config/mn10200/mn10200.h: Similarly.
53 * config/mn10300/mn10300.h: Similarly.
54 * config/ns32k/ns32k.h: Similarly.
55 * config/pa/pa.h: Similarly.
56 * config/pdp11/pdp11.h: Similarly.
57 * config/pj/pj.h: Similarly.
58 * config/romp/romp.h: Similarly.
59 * config/rs6000/rs6000.h: Similarly.
60 * config/sh/sh.h: Similarly.
61 * config/sparc/sparc.h: Similarly.
62 * config/v850/v850.h: Similarly.
63 * config/vax/vax.h: Similarly.
64 * config/we32k/we32k.h: Similarly.
65 * doc/tm.texi: Update documentation.
66
67 2001-06-26 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
68
69 * diagnostic.c (digit_buffer): Remove as global. Move to...
70 * diagnostic.h (struct output_buffer): ... here.
71 * diagnostic.c (output_formatted_integer): Adjust use of digit_buffer.
72
73 2001-06-25 Steve Ellcey <sje@cup.hp.com>
74
75 * config.gcc (ia64*-*-hpux*): Add ia64/hpux_longdouble.h to tm_file.
76 Define tmake_file to include ia64/t-hpux.
77 * real.c (INTEL_EXTENDED_IEEE_FORMAT): Test for value instead of
78 testing to see if it is defined.
79 * real.h (INTEL_EXTENDED_IEEE_FORMAT): Likewise. Default to 0 if
80 undefined.
81 * config/ia64/hpux_longdouble.h: New.
82 * config/ia64/ia64.c (hfa_element_mode): Add comment about incorrect
83 handling of long doubles.
84 (ia64_function_arg, ia64_function_value): Add checks for TFmode
85 and INTEL_EXTENDED_IEEE_FORMAT.
86 * config/ia64/ia64.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
87 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, LIBCALL_VALUE): Add checks for
88 TFmode and INTEL_EXTENDED_IEEE_FORMAT.
89 * config/ia64/ia64.md (all TFmode patterns): Test
90 INTEL_EXTENDED_IEEE_FORMAT in condition.
91 (floatdidf2, floatdisf2): New, for !INTEL_EXTENDED_IEEE_FORMAT.
92 * config/ia64/quadlib.c: New.
93 * config/ia64/t-hpux: New.
94 * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
95
96 2001-06-25 Jim Wilson <wilson@redhat.com>
97
98 * config/i960/t-960bare (i960-c.o): Add missing header dependencies.
99 * config/i960/t-vxworks960: Likewise.
100
101 2001-06-25 Dale Johannesen <dalej@apple.com>
102
103 * bitmap.c (bitmap_last_bit_set): Fix a non-c89 usage (null actual
104 argument to macro).
105
106 Mon Jun 25 11:10:51 CEST 2001 Jan Hubicka <jh@suse.cz>
107
108 * i386.md (movsi_insv_1, movsi_insv_1_rex64): Fix constraints.
109
110 2001-06-25 Joseph S. Myers <jsm28@cam.ac.uk>
111
112 * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
113 doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
114 doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
115 the use of "GCC" and related terms.
116 * doc/gcc.1, doc/gcov.1: Regenerate.
117
118 2001-06-24 Joseph S. Myers <jsm28@cam.ac.uk>
119
120 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
121 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove
122 uses of @refill.
123
124 Sun Jun 24 21:21:49 CEST 2001 Jan Hubicka <jh@suse.cz>
125
126 * (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
127
128 2001-06-24 Richard Henderson <rth@redhat.com>
129
130 * builtins.c (expand_builtin_expect_jump): Disable if the
131 expression can't be re-evaluated.
132
133 2001-06-24 Nick Clifton <nickc@cambridge.redhat.com>
134
135 * config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt
136 handlers examine register r0-r7, for other interrupt handlers
137 examine r0-r12. If the interrupt handler is not a leaf function
138 save all call clobbered registers.
139 (arm_output_epilogue): If the prologue has pushed the IP register,
140 restore it here.
141 (Arm_expand_prologue): For interrupt functions that need the frame
142 pointer, push the IP register before it is corrupted.
143
144 * config/arm/arm.h (ARM_SIGN_EXTEND): Fix compile time warnings
145 about the use of signed and unsigned quantities in a conditional.
146
147 2001-06-23 Richard Henderson <rth@redhat.com>
148
149 * config/alpha/crtfastmath.c: New file.
150 * config/alpha/t-crtfm: New file.
151 * config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o.
152 * config/alpha/osf.h (ENDFILE_SPEC): Likewise.
153 * config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here.
154 * config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm;
155 do not set extra_parts here.
156
157 2001-06-24 Joseph S. Myers <jsm28@cam.ac.uk>
158
159 * doc/install-old.texi: Remove more documentation of configure
160 options.
161 * doc/install.texi: Add it here.
162
163 Sat Jun 23 19:40:05 CEST 2001 Jan Hubicka <jh@suse.cz>
164
165 * i386-protos.h (emit_i387_cw_initialization): Declare.
166 * i386.md (movsi_insv_1): Remove '*'.
167 (fix_trunc?f?i2): Revamp to use control word parameters.
168 (fix_trunc?i_1): Likewise; update splitters.
169 (fix splitter): Remove.
170 * i386.c (MAX_386_STACK_LOCALS): set to 3.
171 (emit_i387_cw_initialization): New function.
172 (output_fix_trunc): Do not initialize control word;
173 kill dead code; simplify.
174
175 2001-06-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
176
177 * cppmacro.c (make_string_token): Avoid warning.
178 (cpp_macro_definition): Prepend the macro name. Update
179 comments.
180 * cppmain.c (cb_define, dump_macro): Update for changes
181 to cpp_macro_definition.
182
183 Sat Jun 23 10:20:03 CEST 2001 Jan Hubicka <jh@suse.cz>
184
185 * flow.c (attempt_auto_inc, try_pre_increment_1): Fix typo.
186
187 Sat Jun 23 01:23:59 CEST 2001 Jan Hubicka <jh@suse.cz>
188
189 * flow.c (mark_set_1, attempt_auto_inc, mark_used_reg,
190 try_pre_increment_1): compute REG_FREQ using bb->frequency.
191
192 * regclass.c (loop_cost): Kill.
193 (frequency): New global variable.
194 (record_operand_costs): Replace loop_cost by frequency.
195 (scan_one_insn): Likewise.
196 (regclass): Likewise; set frequency according to bb->frequency.
197
198 * flow.c (split_edge): Set frequency.
199
200 Sat Jun 23 01:16:42 CEST 2001 Jan Hubicka <jh@suse.cz>
201
202 * predict.c (block_info_def): Add nvisited.
203 (propagate_freq): Count nvisited; re-queue delayed blocks; handle
204 irreducible regions.
205
206 * flow.c (dump_edge_info): Dump the probability of edge.
207 (combine_predictions_for_insn): Dump the basic block.
208
209 2001-06-22 Joseph S. Myers <jsm28@cam.ac.uk>
210
211 * doc/gcc.texi: Update documentation of source files of C
212 compiler.
213
214 2001-06-22 Richard Henderson <rth@redhat.com>
215
216 * doc/invoke.texi (-funsafe-math-optimizations): Document its
217 possible effects at link time.
218
219 2001-06-22 Diego Novillo <dnovillo@redhat.com>
220
221 * basic-block.h (dump_edge_info): Declare.
222 (clear_edges): Declare.
223 (mark_critical_edges): Declare.
224 * flow.c (dump_edge_info): Remove static declaration.
225 (clear_edges): Ditto.
226 (mark_critical_edges): Ditto.
227 (free_basic_block_vars): Only clear edges and free basic block
228 array if basic_block_info is not NULL.
229 * ssa.c (compute_dominance_frontiers): Remove static declaration.
230 * ssa.h (compute_dominance_frontiers): Declare.
231
232 2001-06-22 Toshiyasu Morita (toshiyasu.morita@hsa.hitachi.com)
233
234 * predict.c: (expected_value_to_br_prob): Check for const_true_rtx
235 instead of const1_rtx for true case.
236
237 2001-06-22 David Mosberger <davidm@hpl.hp.com>
238
239 * config/ia64/crtfastmath.c: New file.
240 * config/ia64/t-ia64 (EXTRA_PARTS): Include it.
241 * config/ia64/linux.h (ENDFILE_SPEC): New.
242
243 2001-06-22 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
244
245 * config/h8300/h8300.c (asm_file_start): Remove reference to
246 "release F-1".
247
248 2001-06-22 Joseph S. Myers <jsm28@cam.ac.uk>
249
250 * c-common.c (verify_tree): Check for x being NULL.
251 * doc/c-tree.texi: Document COMPOUND_BODY of an empty
252 COMPOUND_STMT.
253 Fixes PR c/3259.
254
255 2001-06-22 DJ Delorie <dj@redhat.com>
256
257 * config/arm/arm.h (struct machine_function): Remove ra_rtx.
258 * config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx.
259 (arm_return_addr): Use get_hard_reg_initial_val et al.
260 * config/d30v/d30v.h (struct machine_function): Remove ra_rtx.
261 * config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx.
262 (d30v_return_addr): Use get_hard_reg_initial_val et al.
263 * config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx.
264 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
265 mark_machine_status.
266 (rs6000_mark_machine_status): Remove.
267 (rs6000_return_addr): Use get_hard_reg_initial_val.
268 (rs6000_ra_ever_killed): Use has_hard_reg_initial_val.
269 * config/v850/v850.h (INIT_EXPANDERS): Delete.
270 * config/v850/v850.c (struct machine_function): Delete.
271 (v850_init_machine_status): Delete.
272 (v850_mark_machine_status): Delete.
273 (v850_free_machine_status): Delete.
274 (v850_return_addr): Use get_hard_reg_initial_val.
275 (v850_init_expanders): Delete.
276
277 Fri Jun 22 19:20:59 CEST 2001 Jan Hubicka <jh@suse.cz>
278
279 * predict.c (estimate_bb_frequencies): Do not handle conditional
280 jumps jumping to fallthru basic block as conditional jumps.
281
282 Fri Jun 22 19:11:28 CEST 2001 Jan Hubicka <jh@suse.cz>
283
284 * regs.h (struct reg_info_def): Add freq field.
285 (REG_N_REFS): Update comment.
286 (REG_FREQ): New.
287 * regclass.c (scan_one_insn): Update REG_FREQ.
288 * flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted.
289 (attempt_auto_inc): Likewise.
290 (mark_used_reg): Likewise.
291 (try_pre_increment_1): Likewise.
292 * local-alloc.c (struct qty): Add freq field.
293 (alloc_qty): Set freq.
294 (update_equiv_regs): Set REG_FREQ.
295 (QTY_CMP_PRI): Use freq.
296 (combine_regs): Update qty->freq.
297 * global.c (struct allocno): Update comment for n_refs;
298 add freq field.
299 (local_reg_freq): New array.
300 (global_alloc): Update freq field;
301 allocate and initialize local_reg_freq.
302 (allocno_compare): Use freq field.
303 (find_reg): Likewise.
304 * reload1.c (count_pseudo): Use freq isntead of n_refs.
305 (count_spilled_pseudo): Likewise.
306
307 * tm.texi (GCOV_TYPE_SIZE): Document.
308 * basic-block.h (gcov_type): Define.
309 (struct edge_def): Use gcov_type for count field.
310 (struct basic_block_def): Likewise.
311 * defaults.h (GCOV_TYPE_SIZE): Define.
312 * final.c (end_final): Use GCOV_TYPE_SIZE.
313 * flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields
314 using HOST_WIDEST_INT_PRINT_DEC.
315 * gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type,
316 __write_gcov_type): New.
317 (store_long): Remove.
318 * gcov.c (gcov_type): Set default.
319 (struct adj_list): Use gcov_type for arc_count.
320 (bb_info): Use gcov_type for succ_count, pred_count and exec_count.
321 (create_program_flow_graph): Read arc_count properly.
322 (solve_program_flow_graph): 'total' is gcov_type.
323 (output_data): Line_counts is gcov_type, print it properly.
324 * libgcc2.c (struct bb): Counts is gcov_type.
325 (__bb_exit_func): Use __read_gcov_type and __write_gcov_type.
326 * profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default.
327 (GCOV_TYPE_SIZE): Define.
328 (struct bb_info): succ_count and pred_count is gcov_type.
329 (compute_branch_probabilities): Use __read_gcov_type,
330 print read edges to the dump file.
331 (total): Is gcov_type.
332 (gen_edge_profiler): Use GCOV_TYPE_SIZE.
333
334 2001-06-14 Andrew Haley <aph@cambridge.redhat.com>
335
336 * optabs.c (emit_libcall_block): When using non-call exceptions,
337 don't mark libcalls never throwing.
338
339 2001-06-21 Stan Shebs <shebs@apple.com>
340
341 * objc/objc-act.c (hash_init): Use xcalloc.
342
343 2001-06-21 Richard Henderson <rth@redhat.com>
344
345 * flow.c (entry_exit_blocks): Initialize frequency.
346 (split_block): Copy it.
347 (dump_flow_info): Dump it.
348
349 Thu Jun 21 22:15:10 2001 J"orn Rennecke <amylaar@redhat.com>
350
351 * sh.c (barrier_align): Also recognize branch-around-a-jump-sequence
352 from machine-depedent_reorg for purposes of alignment supression
353 when no delay slot insn has been added.
354
355 2001-06-21 Neil Booth <neil@cat.daikokuya.demon.co.uk>
356
357 * cppmacro.c (make_string_token): Null terminate.
358
359 2001-06-21 DJ Delorie <dj@redhat.com>
360
361 * config/alpha/alpha.h (struct machine_function): Remove.
362 * config/alpha/alpha.c (integrate.h): Include.
363 (override_options): Don't set up machine_status hooks.
364 (alpha_init_machine_status): Remove.
365 (alpha_mark_machine_status): Remove.
366 (alpha_free_machine_status): Remove.
367 (alpha_return_addr): Use get_hard_reg_initial_val.
368 (alpha_gp_save_rtx): Likewise.
369 (alpha_ra_ever_killed): Use has_hard_reg_initial_val.
370
371 2001-06-20 Aldy Hernandez <aldyh@redhat.com>
372
373 * config/sh/sh.md (interrupt_function): Use
374 current_function_interrupt.
375 (define_delay): Schedule in delay slot if TARGET_SH3, even if it is
376 an interrupt function.
377
378 * config/sh/sh.h (current_function_interrupt): Define extern.
379
380 * config/sh/sh.c (current_function_interrupt): New global.
381 (sh_expand_prologue): Set current_function_interrupt.
382
383 2001-06-21 Phil Edwards <pme@sources.redhat.com>
384
385 * doc/install.texi: Add 'c' to list of --enable-languages choices.
386
387 2001-06-21 DJ Delorie <dj@redhat.com>
388
389 * integrate.c (mark_hard_reg_initial_vals): Check for NULL.
390
391 * integrate.c (ggc.h): Include.
392 (initial_value_pair, initial_value_struct,
393 setup_initial_hard_reg_value_integration): Add prototypes.
394 (expand_inline_function): Call
395 setup_initial_hard_reg_value_integration.
396 (has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
397 get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
398 to keep track of values present at the start of a function.
399 (mark_hard_reg_initial_vals): New, for gc.
400 (setup_initial_hard_reg_value_integration): New. Sets up pseudo
401 mappings for initial values.
402 (emit_initial_value_sets): New. Emits code to set initial value
403 pseudos.
404 * integrate.h: Add prototypes for new functions.
405 * function.h (struct function): Add hard_reg_initial_vals field.
406 * function.c (integrate.h): Include.
407 (mark_function_status): Call
408 mark_hard_reg_initial_vals.
409 * toplev.c (integrate.h): Include.
410 (rest_of_compilation): Call emit_initial_value_sets.
411
412 2001-06-21 Stan Shebs <shebs@apple.com>
413
414 * doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
415 doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
416 doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
417 everywhere instead of "Objective C".
418
419 2001-06-21 Joseph S. Myers <jsm28@cam.ac.uk>
420
421 * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
422 doc/gcc.texi, doc/install-old.texi, doc/install.texi,
423 doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and
424 "back end" as nouns and "front-end" and "back-end" as adjectives.
425
426 Wed Jun 20 21:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
427
428 * predict.c (estimate_probability): Fix loop bounds.
429
430 Wed Jun 20 19:10:48 CEST 2001 Jan Hubicka <jh@suse.cz>
431
432 * toplev.c (rest_of_compilation): Run mark_constant_function
433 before profile-arcs.
434
435 Wed Jun 20 19:08:18 CEST 2001 Jan Hubicka <jh@suse.cz>
436
437 * predict.c (estimate_loops_at_level, propagate_freq
438 estimate_bb_frequencies, count_to_freqs): New functions.
439 (estimate_probability): Call estimate_bb_frequencies.
440 * basic-block.h (basic_block_def): Add field "freq".
441 (BB_FREQ_MAX): New constant.
442
443 Wed Jun 20 17:02:50 2001 J"orn Rennecke <amylaar@redhat.com>
444
445 * sh.c (barrier_align): Don't ask for alignment when seeing a
446 branch-around-a-jump from machine_dependent_reorg.
447
448 Wed Jun 20 08:35:02 2001 Jeffrey A Law (law@cygnus.com)
449
450 * ssa.c (rename_block): Update parameter to remove_phi_alternative
451 (convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when
452 re-running life analysis.
453
454 2001-06-20 Stan Shebs <shebs@apple.com>
455
456 * objc/objc-act.c (hash_init): Assume xmalloc always succeeds,
457 also use memset to clear the hash tables.
458 (hash_enter): Assume xmalloc always succeeds.
459 (hash_add_attr): Ditto.
460 (continue_class): Ditto.
461
462 2001-06-20 Michael Meissner <meissner@redhat.com>
463
464 * builtins.c (predict.h): Include.
465 (expand_builtin_expect): Update comment.
466 (expand_builtin_expect_jump): New function to expand
467 __builtin_expect inside of a conditional jump expansion.
468
469 * expr.c (do_jump): Special case __builtin_expect (<test>, 0) and
470 __builtin_expect (<test>, 1).
471
472 * Makefile.in (builtins.o): Depend on $(PREDICT_H).
473
474 * rtl.h (expand_builtin_expect_jump): Add prototype.
475
476 2001-06-19 Geoffrey Keating <geoffk@redhat.com>
477
478 * doc/rtl.texi (Machine Modes): Correct description of
479 floating-point modes on machines with non-8-bit bytes.
480
481 2001-06-19 Bernd Schmidt <bernds@redhat.com>
482
483 * regmove.c (optimize_reg_copy_3): Do nothing if previous insn
484 carries a REG_EQUIV note. If it carries REG_EQUAL, delete the
485 note.
486
487 Tue Jun 19 07:53:52 2001 Jeffrey A Law (law@cygnus.com)
488
489 * ssa.c (remove_phi_alternative): Remove declaration. No longer
490 static. Second argument is a pointer to a basic block structure,
491 not a basic block index.
492 (convert_to_ssa): Do not remove dead code.
493 (convert_from_ssa): Do not remove dead code to create death notes.
494 * ssa.h (remove_phi_alternative): Declare.
495
496 * flow.c (delete_unreachable_blocks): Fix patch error in
497 previous change (call to find_unreachable_blocks was lost).
498
499 * ssa.c (ssa_uses): Remove definition.
500 (apply_delayed_renames): Don't grow ssa_uses.
501 (rename_block): Remove comment related to ssa_uses.
502 (rename_registers): Do not initialize ssa_uses.
503 (convert_from_ssa): Do not free ssa_uses.
504
505 * ssa-dce.c: Renamed from dce.c.
506 * Makefile.in (OBJS): Replace dce.o with ssa-dce.o
507 (dependencies): Replace dce.c with ssa-dce.c and dce.o with
508 ssa-dce.o.
509
510 2001-06-19 Eric Christopher <echristo@redhat.com>
511
512 * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode
513 and DFmode are UNITS_PER_WORD and 2*UNITS_PER_WORD. Use
514 GET_MODE_BITSIZE instead of GET_MODE_SIZE/UNITS_PER_WORD.
515
516 Tue Jun 19 01:52:27 2001 J"orn Rennecke <amylaar@redhat.com>
517
518 * sh.c (output_branch): Delete bogus code.
519
520 * sh.c (initial_elimination_offset):
521 Fix FROM == RETURN_ADDRESS_POINTER_REGNUM case.
522
523 Mon Jun 18 12:50:49 2001 Jeffrey A Law (law@cygnus.com)
524
525 * flow.c (find_unreachable_blocks): New function.
526 (delete_unreachable_blocks): Use find_unreachable_blocks.
527 * basic-block.h (find_unreachable_blocks): Declare.
528
529 * dce.c (eliminate_dead_code): Fix formatting glitch.
530
531 2001-06-18 Jason Merrill <jason_merrill@redhat.com>
532
533 * c-common.h (RETURN_NULLIFIED_P): New macro.
534 * c-semantics.c (genrtl_return_stmt): Check it.
535
536 * expr.c (clear_storage): Set TREE_NOTHROW on the decl for memset.
537 (emit_block_move): Likewise.
538
539 Mon Jun 18 17:27:24 CEST 2001 Jan Hubicka <jh@suse.cz>
540
541 * unroll.c: Include predict.h.
542 (unroll_loop): Drop prediction notes on preconditioning.
543 * predict.def (PRED_LOOP_PRECONDITIONG, PRED_LOOP_CONDITION):
544 New; add comments on the others.
545 * Makefile.in: (unroll.o): Add dependancy on predict.h.
546 * loop.c (strength_reduce): Fix branch prediction.
547
548 Mon Jun 18 17:26:56 CEST 2001 Jan Hubicka <jh@suse.cz>
549
550 * stmt.c (emit_case_nodes): Optimize test whether index is in given
551 interval.
552
553 Mon Jun 18 15:43:10 CEST 2001 Jan Hubicka <jh@suse.cz>
554
555 * predict.c (estimate_probability): Do not bail out early
556 when note is present.
557 (combine_predictions_for_insn): Fix note removal code.
558
559 2001-06-18 Ben Elliston <bje@redhat.com>
560
561 * except.c (resolve_fixup_regions): Initialise "cleanup".
562
563 2001-06-17 Neil Booth <neil@daikokuya.demon.co.uk>
564
565 * tm.texi: Document STDC_0_IN_SYSTEM_HEADERS.
566
567 Sat Jun 16 20:20:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
568
569 * expr.c (expand_expr, case ADDR_EXPR): If taking address of SAVE_EXPR,
570 use put_var_into_stack.
571
572 2001-06-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
573
574 * gccspec.c (lang_specific_driver): If compiling ObjC, add
575 -shared-libgcc when necessary.
576 * Makefile.in (gccspec.o): Compile with DRIVER_DEFINES.
577
578 2001-06-16 Daniel Berlin <dan@cgsoftware.com>
579
580 * bitmap.h: Add dump_bitmap, bitmap_zero, bitmap_union_of_diffs,
581 bitmap_a_or_b, bitmap_a_and_b, bitmap_first_set_bit,
582 bitmap_last_set_bit. All for compatibility with sbitmap's.
583
584 *bitmap.c (bitmap_zero): New function.
585 (bitmap_union_of_diffs): New function.
586 (bitmap_first_set_bit): New function.
587 (bitmap_last_set_bit): New function.
588
589 2001-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
590
591 * cpp.texi, invoke.texi: Update.
592 * cpp.1, gcc.1: Regenerate.
593
594 Sat Jun 16 12:45:20 CEST 2001 Jan Hubicka <jh@suse.cz>
595
596 * i386.md (minsf): Fix splitter. (PR fortran/3191)
597
598 2001-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
599
600 * doc/cpp.texi: Update.
601 * doc/cpp.1: Regenerate.
602
603 2001-06-15 Loren J. Rittle <ljrittle@acm.org>
604
605 * doc/install.texi: Use correct markup hints.
606
607 Fri Jun 15 18:05:22 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
608
609 * function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR.
610
611 * explow.c (expr_size): If DECL and size specified, use it.
612
613 2001-06-15 Zack Weinberg <zackw@stanford.edu>
614
615 * doc/cpp.texi: Formatting corrections.
616 Correct buggy example of use of __GNUC__ etc.
617 Clarify $ in identifiers.
618 * doc/cpp.1: Regenerate.
619
620 Fri Jun 15 19:35:38 CEST 2001 Jan Hubicka <jh@suse.cz>
621
622 * optabs.c (expand_twoval_binop): Avoid undefined behaviour.
623
624 2001-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
625
626 * doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
627 etc. spelling.
628 (Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
629 Added Tru64 UNIX V5.1 bootstrap hints.
630 (Specific, alpha*-*-osf*): Removed old section, obsolete.
631
632 2001-06-15 Andreas Jaeger <aj@suse.de>
633
634 * doc/install.texi (Specific): Mention that glibc cannot be
635 compiled with GCC 3.0.
636
637 2001-06-14 Andrew Haley <aph@cambridge.redhat.com>
638
639 * combine.c (nonzero_bits): Don't optimize away division by
640 zero.
641
642 2001-06-15 Zack Weinberg <zackw@stanford.edu>
643
644 * doc/cpp.texi: Revised and brought up to date.
645 * doc/cpp.1: Regenerate.
646
647 2001-06-15 Loren J. Rittle <ljrittle@acm.org>
648
649 * doc/install.texi: Update --enable-threads to match reality.
650
651 2001-06-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
652
653 * doc/install.texi: Update for C4x.
654 * README.C4X: Remove.
655
656 2001-06-14 Joseph S. Myers <jsm28@cam.ac.uk>
657
658 * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
659 doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
660 doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
661 Consistently use "built-in" and "bit-field". Minor logical markup
662 improvements.
663 * doc/gcc.1: Regenerate.
664
665 2001-06-14 Richard Henderson <rth@redhat.com>
666
667 * config/mips/mips.md (exception_receiver): New.
668
669 2001-06-14 Daniel J. Berlin <dan@cgsoftware.com>
670
671 * doc/gcc.texi: Update passes documentation to be more in tune
672 with reality.
673
674 Thu Jun 14 15:38:28 CEST 2001 Jan Hubicka <jh@suse.cz>
675
676 * i386.c (ix86_expand_prologue): Fix merging conflict.
677
678 2001-06-14 Joseph S. Myers <jsm28@cam.ac.uk>
679
680 * doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
681 doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
682 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
683 logical markup. Use TeX quotes and dashes. Use @dots{} and
684 @minus{}. Avoid spaces inside @var. Update last modification
685 date in gcc.texi.
686 * doc/gcc.1, doc/gcov.1: Regenerate.
687
688 Thu Jun 14 12:44:15 CEST 2001 Jan Hubicka <jh@suse.cz>
689
690 * i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move,
691 x86_epilogue_using_move): New global variables.
692 (override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred.
693 (ix86_emit_save_regs_using_mov): New static function.
694 (ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred.
695 * i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE,
696 MASK_MIX_SSE_I387): Renumber.
697 (MASK_NO_ACCUMULATE_OUTGOING_ARGS): New.
698 (x86_accumulate_outgoing_args, x86_prologue_using_move,
699 x86_epilogue_using_move): Declare.
700 (TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New.
701
702 2001-06-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
703
704 * inclhack.def (hpux10_cpp_pow_inline): New hack.
705
706 2001-06-13 Richard Henderson <rth@redhat.com>
707
708 * ifcvt.c (dead_or_predicable): Fix return value last patch.
709
710 2001-06-13 Mark Mitchell <mark@codesourcery.com>
711
712 * NEWS: Remove.
713
714 2001-06-13 Richard Henderson <rth@redhat.com>
715
716 * ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code.
717 (cond_exec_process_if_block, dead_or_predicable): Likewise.
718
719 2001-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
720
721 * mips-tfile.c (copy_object): Always pass indexNil for symbol
722 table index.
723
724 2001-06-13 Kazu Hirata <kazu@hxi.com>
725
726 * config/h8300/h8300.h (OK_FOR_T): Remove.
727 (EXTRA_CONSTRAINT): Do not use OK_FOR_T.
728 * config/h8300/h8300.md: Remove alternatives involving inc and dec
729 in the helper patterns for addhi3 and addsi3.
730
731 2001-06-13 Phil Edwards <pme@sources.redhat.com>
732
733 * doc/contrib.texi: Link to libstdc++'s thanks.html for now.
734
735 2001-06-13 Zack Weinberg <zackw@stanford.edu>
736
737 * Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
738 * libgcc-std.ver: Take out __bb* and __gcc_bcmp.
739
740 * config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
741 config/alpha/t-osf4, config/mips/t-iris6: Extract all
742 references to @shlib_map_file@, @shlib_objs@, or
743 @shlib_base_name@ to Makefile variables.
744 Bump soname version of libgcc to 1.
745
746 2001-06-13 Joseph S. Myers <jsm28@cam.ac.uk>
747
748 * doc/install.texi: Use more logical markup. Include @node
749 commands in the source when generating any non-HTML.
750
751 2001-06-13 Joseph S. Myers <jsm28@cam.ac.uk>
752
753 * README: Remove. Some of the contents moved to ../README.
754
755 2001-06-13 Alexandre Oliva <aoliva@redhat.com>
756
757 * doc/install.texi (--enable-shared): List package names
758 recognized by GCC.
759
760 2001-06-13 Alexandre Oliva <aoliva@redhat.com>
761
762 * doc/install.texi (ix86-*-solaris*): Removed, outdated.
763 (*-*-solaris*): Document problem in /bin/sh that affects
764 configuring libraries.
765 (sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
766 (*-sun-solaris2.8): Document linker problem that explains why
767 libjava is disabled by default.
768
769 2001-06-09 Mark Mitchell <mark@codesourcery.com>
770
771 Revert this patch:
772 * toplev.c (rest_of_compilation): Remove dead code before
773 purge_addressof.
774
775 2001-06-12 Alexandre Oliva <aoliva@redhat.com>
776
777 Reverted:
778 2001-06-07 Nathan Sidwell <nathan@codesourcery.com>
779 * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
780 * configure: Rebuilt.
781
782 2001-06-12 Jim Wilson <wilson@redhat.com>
783
784 * loop.c (strength_reduce): Move bl->all_reduced set before
785 check_ext_dependant_givs call.
786 (check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
787
788 2001-06-12 Alexandre Oliva <aoliva@redhat.com>
789
790 * doc/extend.texi (Function Attributes): Document SH's sp_switch
791 and trap_exit.
792
793 2001-06-13 Joseph S. Myers <jsm28@cam.ac.uk>
794
795 * doc/invoke.texi: Use more logical markup. Use TeX quotes,
796 dashes and @dots{}.
797
798 2001-06-12 Richard Henderson <rth@redhat.com>
799
800 * config/i386/i386.c (ix86_expand_prologue): Always use
801 gen_pro_epilogue_adjust_stack; update arguments.
802 (ix86_expand_epilogue): Likewise.
803 (ix86_emit_epilogue_esp_adjustment): Remove.
804 (ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
805 * config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
806 clobber of scratch memory instead of a modification of EBP as the
807 barrier. Update all peepholes to match.
808
809 2001-06-12 Joseph S. Myers <jsm28@cam.ac.uk>
810
811 * doc/gcc.texi: Change the font used for @def... commands to a
812 fixed width font.
813 * doc/extend.texi: Use more logical markup. Use "built-in"
814 instead of "builtin". Use @deftypefn to mark up built-in
815 functions; specify their types in the @deftypefn and not in the
816 descriptive text. Use TeX quotes and dashes. Add more index
817 entries.
818
819 2001-06-12 lars brinkhoff <lars@nocrew.org>
820
821 * gcc.texi (HOST_BITS_PER_LONGLONG): Document.
822 (DIR_SEPARATOR_2): Likewise.
823
824 2001-06-12 Joseph S. Myers <jsm28@cam.ac.uk>
825
826 * doc/install.texi (--exec-prefix, --bindir, --libdir,
827 --with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
828 Document.
829 (--enable-cpp): Change to document --disable-cpp instead; update
830 to reflect current default.
831 (--without-fast-fixincludes): Remove documentation.
832 (Final install): Document installation directories in more
833 detail. Document use of make dvi.
834
835 Tue Jun 12 19:01:43 CEST 2001 Jan Hubicka <jh@suse.cz>
836
837 * recog.c (validate_replace_rtx_1): Fix previous patch.
838
839 Tue Jun 12 17:25:39 CEST 2001 Jan Hubicka <jh@suse.cz>
840
841 * recog.c (validate_replace_rtx_1): Do plus_constant call always.
842
843 Tue Jun 12 17:24:07 CEST 2001 Jan Hubicka <jh@suse.cz>
844
845 * simplify-rtx.c (simplify_subreg): Allow volatile memory
846 to be subregged in case we don't have move instruction.
847
848 Tue Jun 12 12:20:12 CEST 2001 Jan Hubicka <jh@suse.cz>
849
850 * loop.c: Include predict.h
851 (strength_reduce): Drop branch prediction note in case
852 number of iterations is known.
853 * predict.def (PRED_LOOP_ITERATIONS): new.
854 * Makefile.in (loop.o): Add dependancy on predict.h
855
856 2001-06-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
857
858 * c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
859
860 * c-typeck.c (c_start_case): Likewise.
861
862 2001-06-12 Mark Mitchell <mark@codesourcery.com>
863
864 * expr.c (store_field): Don't set MEM_ALIAS_SET for a field
865 in a structure at a variable address.
866
867 2001-06-12 Joseph S. Myers <jsm28@cam.ac.uk>
868
869 * doc/gcov.texi: Use more logical markup.
870
871 2001-06-11 Mark Mitchell <mark@codesourcery.com>
872
873 * unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
874 REG_NOTE_KIND, not PUT_MODE and GET_MODE.
875 (final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
876 valid.
877
878 2001-06-11 Stan Shebs <shebs@apple.com>
879
880 * darwin.h (ASM_FILE_END): Remove decl of language_string.
881
882 2001-06-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
883
884 * config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber
885 as an early clobber to make sure it is not used by reload in
886 one of the operands.
887
888 2001-06-11 Mark Mitchell <mark@codesourcery.com>
889
890 * doc/c-tree.texi: Update information about flag_honor_std.
891 * doc/install.texi: Note that binutils is required on HPUX 11.
892 * doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
893 now the default.
894
895 * config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
896 variable-sized types.
897
898 2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
899
900 * doc/md.texi: Use TeX dashes and quotes.
901
902 2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
903
904 * doc/rtl.texi: Reference manual chapter about trees.
905
906 2001-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
907
908 * config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
909 (WINT_TYPE): Override.
910 (WINT_TYPE_SIZE): Likewise.
911 (SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
912
913 * config/sparc/sol2.h (WINT_TYPE): Define.
914 (WINT_TYPE_SIZE): Likewise.
915
916 * config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
917 (WINT_TYPE): Override.
918 (WINT_TYPE_SIZE): Likewise.
919 (CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
920 (CPP_ARCH64_SPEC): Likewise.
921
922 2001-06-11 Richard Henderson <rth@redhat.com>
923
924 * unwind-dw2-fde.c (__deregister_frame_info): Don't play games
925 with alias attribute.
926
927 * config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
928 * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
929
930 2001-06-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
931
932 * config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
933
934 2001-06-11 Stan Shebs <shebs@apple.com>
935
936 * darwin.c (darwin_encode_section_info): Rewrite to simplify
937 and fix coding mistakes.
938
939 2001-06-11 Nick Clifton <nickc@cambridge.redhat.com>
940
941 * config/m32r/m32r.md (movstrsi_internal): Do not expect a
942 return string from m32r_output_block_move.
943 * config/m32r/m32r-protos.h: Make m32r_output_block_move a
944 void function.
945 * config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
946 integer overflow.
947 (ROUND_ADVANCE): Remove signed/unsigned conflict.
948 * config/m32r/m32r.c: Declare prototypes for static functions.
949 (move_src_operand): Replace INT32_P with UINT32_P.
950 (function_arg_partial_nregs): Fixed signed/unsigned conflict
951 in initialisation of 'size'.
952 (m32r_sched_reord): Remove redundant declarations of 'code'.
953 (m32r_output_block_move): Change to a void function.
954 (m32r_encode_section_info): Cast return of
955 TREE_STRING_POINTER to avoid compile time warning.
956
957 2001-06-11 Richard Henderson <rth@redhat.com>
958
959 * config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
960 * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
961 (struct machine_function): Add gp_save_rtx.
962 * config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
963 (alpha_gp_save_rtx): New.
964 * config/alpha/alpha-protos.h: Declare it.
965 * config/alpha/alpha.md (exception_receiver): Make an expander.
966 Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
967
968 2001-06-11 Richard Henderson <rth@redhat.com>
969
970 * config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
971
972 2001-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
973
974 * configure.in: Align --help messages.
975 Remove trailing full stops.
976 Consistently use lower case.
977 Fix DWARF 2 spelling.
978 * configure: Rebuilt.
979
980 2001-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
981
982 * config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
983 variants for .cpp/.cp/.c++ files.
984 Move definition of __LANGUAGE_C_PLUS_PLUS ...
985 (CPLUSPLUS_CPP_SPEC): ... here.
986
987 Mon Jun 11 15:47:45 CEST 2001 Jan Hubicka <jh@suse.cz>
988
989 * jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
990
991 2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
992
993 * c-decl.c (store_parm_decls): When comparing types in an
994 old-style function declaration with those from a previous
995 prototype, compare the unqualified versions of parameter types.
996 Fixes PR c/3116.
997
998 2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
999
1000 * doc/objc.texi: Use more logical markup. Use TeX dashes.
1001
1002 2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
1003
1004 * doc/c-tree.texi: Use more logical markup.
1005
1006 2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
1007
1008 * c-decl.c (xref_tag): Don't return previous tags of wrong type.
1009
1010 2001-06-11 Aldy Hernandez <aldyh@redhat.com>
1011
1012 * loop.c (scan_loop): Do not combine asm statements.
1013
1014 2001-06-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1015
1016 * simplify-rtx.c (simplify_subreg): Fix offset calculation
1017 for complex values within a CONCAT.
1018
1019 2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
1020
1021 * doc/install.texi: Update details of what components are included
1022 in the GCC distribution. Update default directory for g++
1023 includes. Update documentation relating to old libio. Adjust
1024 documentation on DejaGnu environment variables. Remove
1025 documentation of --enable-cpplib.
1026
1027 2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
1028
1029 * doc/contrib.texi: Fix alphabetical order. Fix typos. Improve
1030 markup.
1031
1032 2001-06-10 Richard Henderson <rth@redhat.com>
1033
1034 * ifcvt.c (life_data_ok): New.
1035 (merge_if_block): Use it to determine whether to update
1036 global_live_at_end.
1037 (if_convert): Set it.
1038
1039 2001-06-10 Richard Henderson <rth@redhat.com>
1040
1041 * config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
1042
1043 2001-06-10 Alexandre Oliva <aoliva@redhat.com>
1044
1045 * doc/invoke.texi (MN10300 Options): Document -mno-crt0.
1046 (SH Options): Document -mieee.
1047 * doc/install.texi (Final install): Remove obsolete information
1048 about installing cross compilers.
1049 * doc/gcc.1: Rebuilt.
1050
1051 2001-06-10 Richard Henderson <rth@redhat.com>
1052
1053 * config/alpha/alpha.c (override_options): Set align_loops,
1054 align_jumps, and align_functions.
1055 * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
1056 (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.
1057
1058 2001-06-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1059
1060 * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
1061 are one and two words in size.
1062
1063 2001-06-10 Richard Henderson <rth@redhat.com>
1064
1065 * doc/invoke.texi (Optimization Options): Document -fpeephole2.
1066 (Code Generation Options): Document -fnon-call-exceptions.
1067
1068 2001-06-10 Mark Kettenis <kettenis@gnu.org>
1069
1070 * config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
1071
1072 2001-06-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1073
1074 * m68hc11.md (peepholes): Remove unused and wrong peepholes.
1075
1076 2001-06-10 Mark Mitchell <mark@codesourcery.com>
1077 Gabriel Dos Reis <gdr@codesourcery.com>
1078
1079 * Makefile.in (c-parse.o): Depend on diagnostic.h
1080 (dwarf2out.o): Likewise.
1081
1082 * dwarf2out.c: #include diagnostic.h
1083
1084 * toplev.h (warningcount, errorcount, sorrycount): Remove
1085 declarations.
1086
1087 * toplev.c (warningcount, errorcount, sorrycount): Remove
1088 definitions.
1089
1090 * diagnostic.h (struct output_buffer): Reorder fields.
1091 (diagnostic_kind_count): New macro.
1092 (errorcount, warningcount, sorrycount): Define as macros.
1093 (diagnostic_report_warnings_p): New macro.
1094 (output_state): Add diagnostic_count field.
1095
1096 * diagnostic.c (warningcount, errorcount, inhibit_warnings):
1097 Remove tentative declaration.
1098 (count_error): Use diagnostic_report_warnings_p.
1099
1100 * c-parse.in: #include diagnostic.h
1101
1102 2001-06-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1103
1104 * config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
1105 prefer a memory for operand 1.
1106 ("*addsi3"): Fix constraints, the '!' was too strong.
1107 ("*addsi3_split"): Accept soft register and split accordingly.
1108
1109 2001-06-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1110
1111 * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
1112 Move definition in the RTX_CODE section.
1113
1114 2001-06-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1115
1116 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return
1117 address as relative to the argument pointer.
1118
1119 Sun Jun 10 10:58:53 CEST 2001 Jan Hubicka <jh@suse.cz>
1120
1121 * predict.def (PRED_OPCODE): Place before call and error_return.
1122
1123 Sun Jun 10 10:00:17 CEST 2001 Jan Hubicka <jh@suse.cz>
1124
1125 * predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
1126 * predict.c (estimate_probability): Calculate dominance
1127 information; improve detection of NORETURN heuristics;
1128 add call/error_return heuiristics; tweak comparison heuristics
1129 to recognize -1.
1130
1131 2001-06-09 Alexandre Oliva <aoliva@redhat.com>
1132
1133 * doc/invoke.texi (C Dialect Options): Document -aux-info.
1134 (Debugging Options): Document -print-multi-directory and
1135 -print-multi-lib.
1136 * doc/gcc.1: Rebuilt.
1137
1138 * toplev.c (independent_decode_option): Require `=' between
1139 `-aux-info' and filename in the same argument.
1140 * gcc.c: Don't pass -aux-info=filename twice.
1141
1142 2001-06-09 Mark Mitchell <mark@codesourcery.com>
1143
1144 * expr.c (expand_expr, case ARRAY_REF): Do not replace
1145 an array element with the known initializing value if it has
1146 side-effects.
1147
1148 * toplev.c (rest_of_compilation): Remove dead code before
1149 purge_addressof.
1150
1151 2001-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
1152
1153 * cppinit.c (print_help): Document -fpreprocessed.
1154 * invoke.texi: Similarly.
1155
1156 Sun Jun 10 00:35:37 CEST 2001 Jan Hubicka <jh@suse.cz>
1157
1158 * predict.def: New file.
1159 * predict.h: New file.
1160 * predict.c: Include predict.h.
1161 (predictor_info): New structure and array.
1162 (predict_edge, predict_insn): Rewrite; make global.
1163 (predict_edge_def, predict_insn_def): New global functions.
1164 (dump_prediction, combine_predictions_for_insns): New
1165 static functions.
1166 (estimate_probability): Change calls to predict_edge
1167 to predict_edge_def and calls to predict_insn to predict_insn_def;
1168 combine probabilities.
1169 (expected_value_to_br_prob): Behave as predictor.
1170 * rtl.h (REG_BR_PRED): Update coment.
1171 (invert_br_probabilities): New.
1172 * jump.c: Include predict.h
1173 (duplicate_loop_exit_test): Drop branch prediction notes.
1174 (invert_jump): Use invert_br_probabilities.
1175 * Makefile.in: Add dependancy on predict.h for jump and predict pass.
1176 * ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
1177 * combine.c (distribute_notes): Handle BR_PRED.
1178
1179 Sat Jun 9 23:29:41 CEST 2001 Jan Hubicka <jh@suse.cz>
1180
1181 * predict.c (predict_insn, predict_edge): New static functions.
1182 (estimate_probability): Revamp to use new functions;
1183 fix loop header heruistics; add loop exist heruistics
1184
1185 2001-06-09 Alexandre Oliva <aoliva@redhat.com>
1186
1187 * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
1188
1189 2001-06-09 Peter Jakubek <pjak@snafu.de>
1190
1191 * config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
1192
1193 2001-06-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
1194
1195 * vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
1196 for integer operations that don't update C bit.
1197
1198 2001-06-09 Nicola Pero <nicola@brainstorm.co.uk>
1199
1200 * gthr-posix.h (__gthread_objc_init_thread_system): If
1201 pthread_key_create fails, it's not clear what the return value is.
1202 This obvious fix makes sure it always returns -1 if a problem
1203 occurs.
1204
1205 2001-06-09 Joseph S. Myers <jsm28@cam.ac.uk>
1206
1207 * doc/gcc.texi: Use @defcodeindex for the index of options. Add
1208 more index entries. Use more logical markup where appropriate.
1209 Use TeX quotes and dashes.
1210
1211 2001-06-09 Benjamin Kosnik <bkoz@redhat.com>
1212
1213 * unwind-pe.h: Conditionally qualify references to abort with
1214 std::.
1215
1216 2001-06-09 Julian Foad <julian_foad@hotmail.com>
1217
1218 * doc/invoke.texi: Remove superfluous text.
1219
1220 2001-06-08 Richard Henderson <rth@redhat.com>
1221
1222 * config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
1223 (LIB_SPEC): Mirror config/linux.h version.
1224
1225 2001-06-08 Richard Henderson <rth@redhat.com>
1226
1227 * except.c (get_exception_pointer, get_exception_filter): Take a
1228 struct function. Update all callers.
1229 * except.h (get_exception_pointer): Update declaration.
1230 * expr.c (expand_expr): Update get_exception_pointer call.
1231 * integrate.c (expand_inline_function): Remap the exception pointer
1232 from callee to caller.
1233
1234 2001-06-08 Mark Mitchell <mark@codesourcery.com>
1235
1236 * c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
1237 accurately reflect its cv-qualification.
1238 * c-typeck.c (type_lists_compatible_p): Ignore the top-levl
1239 cv-qualifiers on function types.
1240
1241 2001-06-08 Mark Mitchell <mark@codesourcery.com>
1242
1243 * basic-block.h: Improve comments.
1244 * except.c (expand_eh_region_end_allowed): Remove redundant call
1245 to do_pending_stack_adjust.
1246 * flow.c (life_analysis): Fix typo in comment.
1247 (calculate_global_regs_live): Add documentation.
1248 (mark_set_1): Likewise.
1249 (debug_regset): Likewise.
1250 * doc/rtl.texi (cond_exec): Document it.
1251
1252 Fri Jun 8 21:52:51 CEST 2001 Jan Hubicka <jh@suse.cz>
1253
1254 * i386.h (CONST_COSTS): set cost of constants representable in
1255 immediate fields to 0.
1256
1257 Fri Jun 8 21:34:54 CEST 2001 Jan Hubicka <jh@suse.cz>
1258
1259 * function.c (diddle_return_value): Kill code to determine
1260 return value before expand_function_end.
1261 (expand_function_end): Delay call to clobber_return_register
1262 after fucntion return value is computed.
1263
1264 Re-install temporary reverted patch:
1265 * toplev.c (rest_of_compilation): Call split_all_insns
1266 before reg-stack and shorten-branches. Do shorten-branches
1267 after reg-stack.
1268 * final.c (shorten_branches): Remove insn splitting code.
1269
1270 2001-06-08 Joseph S. Myers <jsm28@cam.ac.uk>
1271
1272 * doc/gcc.texi, doc/invoke.texi: Add index of command line
1273 options. Use @opindex to index them rather than other indexing
1274 commands. Use @var{...} instead of <...>. Avoid spaces in names
1275 inside @var. Don't use @kindex to index escape sequences in
1276 source code.
1277
1278 2001-06-08 Jason Merrill <jason_merrill@redhat.com>
1279
1280 * stmt.c (current_nesting_level): New fn.
1281 * tree.h: Declare it.
1282 * c-semantics.c (genrtl_compound_stmt): Use it.
1283
1284 * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
1285
1286 2001-06-08 Jakub Jelinek <jakub@redhat.com>
1287
1288 * jump.c (mark_modified_reg): Allow jump threading if condition
1289 codes are represented by a hard register.
1290
1291 2001-06-08 Jakub Jelinek <jakub@redhat.com>
1292
1293 * config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
1294 for complex floats passed to unprototyped functions.
1295
1296 2001-06-08 Mark Mitchell <mark@codesourcery.com>
1297
1298 * except.c (expand_eh_region_end_allowed): Call
1299 do_pending_stack_adjust as necessary.
1300
1301 Fri Jun 8 14:16:33 CEST 2001 Jan Hubicka <jh@suse.cz>
1302
1303 * function.c (clobber_return_register): Clobber the pseudo return
1304 register too.
1305
1306 * sibcall.c (skip_unreturned_value): New function.
1307 (call_ends_block_p): Use it.
1308
1309 * recog.c (split_insn): Break out from ...
1310 (split_all_insns): ... here; do not use basic block information
1311 when it is broken.
1312
1313 Thu Jun 7 18:27:53 CEST 2001 Jan Hubicka <jh@suse.cz>
1314
1315 * simplify-rtx.c (simplify_subreg): Fix verification of
1316 combined subreg.
1317
1318 2001-06-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1319
1320 * config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
1321 Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
1322 Move definition of _LANGUAGE_C_PLUS_PLUS ...
1323 (CPLUSPLUS_CPP_SPEC): ... here.
1324 Fixes PRs c++/3047, target/441.
1325
1326 2001-06-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1327
1328 * doc/install.texi2html (MAKEINFO): Keep value if set already.
1329
1330 2001-06-08 Joseph S. Myers <jsm28@cam.ac.uk>
1331
1332 * doc/gcc.texi: Add trailing slash to URL.
1333
1334 2001-06-07 Stan Shebs <shebs@apple.com>
1335
1336 * config/darwin.h (ENCODE_SECTION_INFO): Define.
1337 (REDO_SECTION_INFO_P): Ditto.
1338 (STRIP_NAME_ENCODING): Ditto.
1339 (ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
1340 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
1341 (ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
1342 (GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
1343 * config/darwin.c: No longer include c-tree.h.
1344 (machopic_classify_ident): Rewrite to use symbol encoding.
1345 (lookup_name_darwin): Remove.
1346 (machopic_non_lazy_ptr_name): Handle encoded symbols.
1347 (machopic_stub_name): Use STRIP_NAME_ENCODING.
1348 (machopic_validate_stub_or_non_lazy_ptr): Ditto.
1349 (machopic_finish): Ditto, remove test of decl.
1350 (update_non_lazy_ptrs): New function.
1351 (darwin_encode_section_info): New function.
1352 * config/darwin-protos.h: Declare it.
1353 * config/rs6000/rs6000.c (machopic_output_stub): Use
1354 STRIP_NAME_ENCODING.
1355
1356 2001-06-07 Mark Mitchell <mark@codesourcery.com>
1357
1358 * tree.h (DECL_SOURCE_FILE): Improve documentation.
1359 (DECL_SOURCE_LINE): Likewise.
1360
1361 2001-06-07 Loren J. Rittle <ljrittle@acm.org>
1362
1363 * config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
1364 from config/elfos.h.
1365
1366 2001-06-07 Phil Edwards <pme@sources.redhat.com>
1367
1368 * linux.h (CPLUSPLUS_CPP_SPEC): Move -D_GNU_SOURCE to here.
1369 * pa/pa-linux.h: Allow CPLUSPLUS_CPP_SPEC to remain.
1370
1371 2001-06-08 Joseph S. Myers <jsm28@cam.ac.uk>
1372
1373 * doc/contrib.texi: Add copyright notice.
1374
1375 2001-06-08 Joseph S. Myers <jsm28@cam.ac.uk>
1376
1377 * doc/md.texi: Use four digit years in copyright notice.
1378
1379 2001-06-08 Joseph S. Myers <jsm28@cam.ac.uk>
1380
1381 * config.gcc: For $target_alias of athlon-*, set
1382 target_cpu_default2=5.
1383
1384 Thu Jun 7 16:17:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1385
1386 * global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
1387 end of last block if last real insn is a JUMP_INSN.
1388
1389 2001-06-07 Joseph S. Myers <jsm28@cam.ac.uk>
1390
1391 * NEWS: Regenerate.
1392
1393 2001-06-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1394
1395 * gthr-posix.h (__gthread_objc_thread_detach): Simply cast
1396 pthread_t to objc_thread_t.
1397 (__gthread_objc_thread_id): Likewise.
1398
1399 2001-06-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1400
1401 * alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
1402 (ASM_OLDAS_SPEC): Likewise.
1403
1404 * alpha/osf.h (CPP_XFLOAT_SPEC): Define.
1405 (CPP_SUBTARGET_SPEC): Use it.
1406 (ASM_OLDAS_SPEC): Define.
1407 (ASM_SPEC): Use it.
1408 (SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
1409
1410 2001-06-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1411
1412 * config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
1413 passed by reference.
1414
1415 2001-06-07 Joseph S. Myers <jsm28@cam.ac.uk>
1416
1417 * doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
1418 Document use of N_(...), and show it in examples. Note that
1419 documentation should be added to invoke.texi. Avoid an overfull
1420 hbox.
1421
1422 Thu Jun 7 17:09:50 CEST 2001 Jan Hubicka <jh@suse.cz>
1423
1424 * toplev.c (rest_of_compilation): Revert previous patch.
1425 * final.c (shorten_branches): Likewise.
1426
1427 2001-06-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1428
1429 * pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
1430 Remove.
1431
1432 2001-06-07 Joseph S. Myers <jsm28@cam.ac.uk>
1433
1434 * doc/install-old.texi: Remove more obsolete documentation.
1435
1436 Thu Jun 7 13:20:14 CEST 2001 Jan Hubicka <jh@suse.cz>
1437
1438 * expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
1439
1440 Thu Jun 7 12:12:58 CEST 2001 Jan Hubicka <jh@suse.cz>
1441
1442 * toplev.c (rest_of_compilation): Call split_all_insns
1443 before reg-stack and shorten-branches. Do shorten-branches
1444 after reg-stack.
1445 * final.c (shorten_branches): Remove insn splitting code.
1446
1447 2001-06-07 Nathan Sidwell <nathan@codesourcery.com>
1448
1449 * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
1450 * configure: Rebuilt.
1451
1452 2001-06-07 Andreas Jaeger <aj@suse.de>
1453
1454 * emit-rtl.c (operand_subword): Remove unused variable.
1455
1456 Wed Jun 6 14:51:05 CEST 2001 Jan Hubicka <jh@suse.cz>
1457
1458 * i386.md (floatdi?f): Avoid usinf of SSE instructions
1459 if TARGET_64BIT is false.
1460 (floatdi?f_i386_only): New insn.
1461 (floatdi?f_i386): Disable for !TARGET_64BIT.
1462
1463 * (min?f, max?f splitters): Handle case where
1464 operands are cross-matched.
1465
1466 * i386.h (HI_REGISTER_NAMES): Remove redundant definition
1467 (MMX_REGISTER_NAMES): Kill.
1468 (PRINT_OPERAND): Fix comment.
1469 (PRINT_REG): Likewise.
1470 * i386.c (print_reg): Kill support for 'm' CODE; simplify.
1471 (print_operand): Update comment; kill 'm'.
1472
1473 * i386.c (x86_branch_hints): New global variable
1474 (print_operand): Support outputting of branch prediction hints.
1475 * i386.md (conditional jump patterns): Add branch prediction hints
1476 to the template.
1477 * i386.h (x86_branch_hints): Declare
1478 (TARGET_BRANCH_PREDICTION_HINTS): New macro.
1479 (PRINT_OPERAND_FUNCT_VALID_P): New.
1480 * final.c (final_forward_branch_p): New function.
1481
1482 2001-06-06 Richard Henderson <rth@redhat.com>
1483
1484 * flow.c (mark_used_reg): Clean up looping over multiple hard
1485 registers. Do conditional life bits across multiple hard regs.
1486
1487 2001-06-05 Jeffrey D. Oldham <oldham@codesourcery.com>
1488
1489 * reload1.c (reload): Revert Schmidt's change so all USEs are not
1490 deleted during reload.
1491
1492 2001-06-05 Mark Mitchell <mark@codesourcery.com>
1493
1494 * c-semantics.c (genrtl_scope_stmt): Write out nested inline
1495 functions here, instead of ...
1496 * c-decl.c (c_expand_body): ... here.
1497
1498 2001-06-05 David O'Brien <obrien@FreeBSD.org>
1499
1500 * config.gcc, config/sparc/bsd.h: Do not directly include
1501 sparc/sparc.h. Instead do it via tm_file.
1502
1503 2001-06-05 Richard Henderson <rth@redhat.com>
1504
1505 * dwarf2.h (DW_EH_PE_aligned): New.
1506 * dwarf2asm.c (eh_data_format_name): Name it.
1507 (dw2_asm_output_encoded_addr_rtx): Align for it.
1508 * dwarf2out.c (output_call_frame_info): Handle it for personality
1509 routine and LSDA pointers.
1510
1511 * unwind-pe.h (DW_EH_PE_aligned): New.
1512 (base_of_encoded_value): Handle it.
1513 (read_encoded_value_with_base): Likewise.
1514 * unwind-dw2-fde.c (base_from_object): Likewise.
1515 (get_cie_encoding): Likewise.
1516
1517 * config/alpha/elf.h: Remove ecoff commentary.
1518 * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1519
1520 2001-06-05 David O'Brien <obrien@FreeBSD.org>
1521
1522 * config.gcc, config/i386/bsd386.h: Do not directly include
1523 i386/386bsd.h. Instead do it via tm_file.
1524
1525 2001-06-05 David O'Brien <obrien@FreeBSD.org>
1526
1527 * elfos.h (USING_ELFOS_H): Identify the use of elfos.h in the same
1528 way svr4.h does.
1529
1530 2001-06-05 Pascal Obry <obry@act-europe.fr>
1531
1532 * configure.in: Quote $enable_win32_registry in case the value has
1533 spaces in it.
1534 * configure: Ditto.
1535
1536 2001-06-05 Mark Mitchell <mark@codesourcery.com>
1537
1538 * print-rtl.c (xspaces): Remove.
1539 (print_rtx): Use printf field-width, rather than xpsaces, to
1540 indent.
1541 * toplev.c (main): Disable sibling-call optimization if we are
1542 handling exceptions.
1543
1544 2001-06-05 Bernd Schmidt <bernds@redhat.com>
1545
1546 * reload1.c (reload): Delete all USEs generated during reload.
1547
1548 2001-06-05 scott snyder <snyder@fnal.gov>
1549
1550 * gccbug.in: Fix typo.
1551
1552 2001-06-05 Andreas Jaeger <aj@suse.de>
1553
1554 * builtins.def: Fix definition of __builtin_cosf, it uses float as
1555 parameter and return value.
1556
1557 2001-06-04 Anthony Green <green@redhat.com>
1558
1559 * config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
1560 machine. This is now done in sparc.h.
1561
1562 2001-06-05 Nathan Sidwell <nathan@codesourcery.com>
1563
1564 Correct CVS resurrection of invoke.texi.
1565 * doc/invoke.texi: Document new tree dump flags.
1566
1567 2001-06-05 Joseph S. Myers <jsm28@cam.ac.uk>
1568
1569 * c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
1570 for casting an aggregate to its own type. Fixes PR c/2735.
1571
1572 2001-06-05 Joseph S. Myers <jsm28@cam.ac.uk>
1573
1574 * doc/texinfo.tex: Update to version 2001-05-24.08.
1575
1576 2001-06-05 Nathan Sidwell <nathan@codesourcery.com>
1577
1578 * c-common.h (flag_dump_translation_unit): Remove.
1579 (enum tree_dump_index): Define.
1580 (TDF_ADDRESS, TDF_SLIM): New #defines.
1581 (dump_node_to_file): Remove.
1582 (dump_node): Make extern. Add flags.
1583 (dump_flag, dump_enabled_p, dump_begin, dump_end,
1584 dump_switch_p): Prototype.
1585 * c-common.c (flag_dump_translation_unit): Remove.
1586 * c-decl.c (c_decode_option): Remove -fdump-translation-unit
1587 logic. Use dump_switch_p.
1588 * c-dump.h (struct dump_info): Add node and user fields.
1589 (dump_pointer): Declare.
1590 * c-dump.c (dump_node): Make extern. Add flags.
1591 (SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
1592 (dump_new_line, dump_maybe_newline): Use them.
1593 (dump_pointer): New function.
1594 (dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
1595 chain or function's body. Dump address, if TDF_ADDRESS set.
1596 (dump_flag): Define.
1597 (dump_node_to_file): Remove.
1598 (struct dump_file_info): New struct.
1599 (dump_files): New array.
1600 (dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
1601 * c-lang.c (finish_file): Adjust dumping.
1602 * toplev.h (dump_base_name): Make extern.
1603 * invoke.texi: Document new flags.
1604
1605 2001-06-04 Mark Mitchell <mark@codesourcery.com>
1606
1607 * c-tree.h (lang_decl): Add pending_sizes fields.
1608 * c-decl.c (store_parm_decls): Save pending_sizes away for nested
1609 functions.
1610 (c_expand_body): Expand them.
1611 (lang_mark_tree): Mark lang_decl:pending_sizes.
1612 * function.c (expand_pending_sizes): New function, broken out
1613 from ...
1614 (expand_function_start): ... here.
1615 * tree.h (expand_pending_sizes): Declare it.
1616
1617 2001-06-04 Loren J. Rittle <ljrittle@acm.org>
1618
1619 * doc/install.texi: Update FreeBSD information. Generalize
1620 and update information for alpha-based platforms using ELF.
1621
1622 2001-06-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
1623
1624 * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
1625 (store_parm_decls): Likewise.
1626 * c-typeck.c (convert_arguments): Likewise.
1627
1628 2001-06-04 Richard Henderson <rth@redhat.com>
1629
1630 * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
1631 optimization if current_function_calls_setjmp.
1632
1633 2001-06-04 Joseph S. Myers <jsm28@cam.ac.uk>
1634
1635 * doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
1636 wide strings.
1637
1638 Mon Jun 4 20:44:25 CEST 2001 Jan Hubicka <jh@suse.cz>
1639
1640 * simplify-rtx.c (simplify_subreg): Fix combining of
1641 paradoxical subregs.
1642
1643 Mon Jun 4 20:15:25 CEST 2001 Jan Hubicka <jh@suse.cz>
1644
1645 * rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
1646 (no_labels_between_p): Short circuit case beg==end.
1647
1648 Mon Jun 4 20:03:05 CEST 2001 Jan Hubicka <jh@suse.cz>
1649
1650 * rtlanal.c (operand_preference): Fix preference for objects.
1651
1652 Mon Jun 4 20:00:40 CEST 2001 Jan Hubicka <jh@suse.cz>
1653
1654 * gcse.c (handle_avail_expr): Be prepared to handle single_set
1655 parallels.
1656
1657 Mon Jun 4 19:59:46 CEST 2001 Jan Hubicka <jh@suse.cz>
1658
1659 * combine.c (if_then_else_cond): Use simplify_subreg instead
1660 of operand_subword.
1661 * integreate.c (sub_constants): Likewise.
1662
1663 Mon Jun 4 19:59:12 CEST 2001 Jan Hubicka <jh@suse.cz>
1664
1665 * emit-rtl.c (constant_subword): Deprecate; remove most of code
1666 and use simplify_gen_subreg.
1667
1668 Mon Jun 4 19:55:23 CEST 2001 Lars Brinkhoff <lars@nocrew.org>
1669
1670 * sibcall.c (skip_copy_to_return_value): recognize the situation
1671 when the called function's return value is copied into an
1672 intermediate pseudo, and then into the calling functions return
1673 value register.
1674
1675 Mon Jun 4 16:50:33 CEST 2001 Jan Hubicka <jh@suse.cz>
1676
1677 * simplify_rtx.c (simplify_subreg): Keep subregs on return values,
1678 check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
1679 in case register wasn't OK previously, accept it now; allow
1680 subregs of frame pointer if reload completed and frame pointer
1681 is not needed.
1682
1683 * combine.c (sombine_simplify_rtx): Fix comment;
1684 use subreg_lowpart_offset instead of subreg_lowpart_p
1685 (gen_lowpart_for_combine): Use subreg_lowpart_offset.
1686 * rtl.h (subreg_lowpart_parts_p): Kill.
1687 (subreg_lowpart_offset, subreg_highpart_offset): Declare.
1688 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
1689 * emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
1690 (gen_lowpart_common): Likewise.
1691 (subreg_lowpart_p): Likewise.
1692 (subreg_lowpart_parts_p): Kill.
1693 (subreg_lowpart_offset, subreg_highpart_offset): New function.
1694
1695 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
1696 to simplify SUBREG and REG.
1697 (gen_highpart): Use simplify_gen_subreg for all simplifications.
1698
1699 * emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
1700 CONCAT specially.
1701
1702 * rtlanal.c (replace_regs): Use simplify_gen_subreg
1703
1704 Mon Jun 4 09:21:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1705
1706 * doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
1707 (ARRAY_RANGE_REF): Added description.
1708
1709 * tree.def (ARRAY_RANGE_REF): New code.
1710 * alias.c (handled_component_p, can_address_p): Handle it.
1711 * dwarf2out.c (loc_descriptor_from_tree): Likewise.
1712 * explow.c (set_mem_attributes): Likewise.
1713 * expr.c (expand_assignment, get_inner_reference): Likewise.
1714 (expand_expr, expand_expr_unaligned, do_jump): Likewise.
1715 * fold-const.c (operand_equal_p): Likewise.
1716 * tree.c (staticp, stabilize_reference): Likewise.
1717 * varasm.c (decode_addr_const): Likewise.
1718
1719 Sun Jun 3 21:59:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1720
1721 * reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
1722 (push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
1723
1724 2001-06-03 kaz Kojima <kkojima@rr.iij4u.or.jp>
1725
1726 * gcc/config/sh/sh.c (print_operand_address, print_operand): Call
1727 mark_constant_pool_use before output_addr_const.
1728 (struct pool_node): New field wend.
1729 (add_constant): Note a sequence of constants that are referenced
1730 by a given label.
1731 (pool_window_label, pool_window_last): New variables.
1732 (dump_table): Emit a unspec_volatile representing the end of a
1733 sequence of constants.
1734 (mark_constant_pool_use): New function.
1735 * gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
1736 (consttable_2): Add the second operand which flags whether
1737 this consttable entry was used or not.
1738 (consttable_4, consttable_8, consttable_sf, consttable_df):
1739 Likewise.
1740 (consttable_window_end): New insn.
1741
1742 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
1743
1744 * insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
1745 Reformat according to coding standards.
1746
1747 Warning removal.
1748 * config/sh/sh.c (print_operand_address): Cast INTVAL to int.
1749 (shl_and_kind): Cast wide constant.
1750 (gen_far_branch): Define as static, as in declaration.
1751 (barrier_align): Compute cache-line length as unsigned. Add
1752 parentheses in initial credit computation.
1753 (rounded_frame_size): Add parentheses.
1754 (permanent_obstack): Remove declaration. Include ggc.h for
1755 declaration of ggc_add_root_rtx().
1756 (get_free_reg): Removed declaration of unused variable reg.
1757 (legitimize_pic_address): Mark mode argument as unused.
1758
1759 2001-06-03 Igor Shevlyakov <igor@windriver.com>
1760
1761 * config/sh/sh.c (output_branch): Support for insn with lenght
1762 attr 12 & 16 which represents cond branches outside +-4096 range.
1763
1764 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
1765
1766 * config/sh/lib1funcs.asm (ic_invalidate): Align the
1767 cache-mirroring sequence. Add nops.
1768
1769 2001-06-03 Joseph S. Myers <jsm28@cam.ac.uk>
1770
1771 * doc/install-old.texi: Remove more old installation
1772 documentation.
1773 * doc/install.texi: Add relevant parts here.
1774
1775 2001-06-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1776
1777 * doc/install.texi2html: New script.
1778
1779 2001-06-03 David Edelsohn <edelsohn@gnu.org>
1780
1781 * doc/install.texi: Update AIX information again.
1782
1783 2001-06-02 Joseph S. Myers <jsm28@cam.ac.uk>
1784
1785 * doc/gcc.texi, doc/install-old.texi: Remove old system-specific
1786 installation documentation.
1787 * doc/install.texi: Move it to here.
1788
1789 2001-06-02 Joseph S. Myers <jsm28@cam.ac.uk>
1790
1791 * doc/install.texi: Clean up Texinfo markup.
1792
1793 2001-06-02 Joseph S. Myers <jsm28@cam.ac.uk>
1794
1795 * doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
1796 to just after title page.
1797
1798 2001-06-02 Joseph S. Myers <jsm28@cam.ac.uk>
1799
1800 * doc/install-old.texi: Remove documentation of some configuration
1801 options.
1802 * doc/install.texi: Add relevant parts of this documentation here.
1803
1804 2001-06-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1805
1806 * contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
1807 Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
1808
1809 Sat Jun 2 12:23:51 CEST 2001 Jan Hubicka <jh@suse.cz>
1810
1811 * i386.md (all uses of ext_register_operand): Make sure they are
1812 VOIDmode; replace all uses outside zero_extend.
1813 (and?i splitters): Use ext_register_operands.
1814 (test?i peep2): Remove ignored constraints.
1815 * i386.c (ext_register_operand): Check that operand is
1816 eighter pseudo or hard or 'Q' register.
1817
1818 Sat Jun 2 06:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1819
1820 * tree.h (struct record_layout_info_s): New field unpadded_align.
1821 (set_lang_adjust_rli): New declaration.
1822 * stor-layout.c (layout_decl): If DECL is packed, but at alignment
1823 it would have if not packed, do not downgrade DECL_ALIGN.
1824 (lang_adjust_rli, set_lang_adjust_rli): New.
1825 (start_record_layout): Initialize new field unpadded_align.
1826 (debug_rli): Display it.
1827 (place_union_field, place_field): Set it.
1828 (layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
1829
1830 * print-tree.c (print_node): Don't print "regdecl" when bit doesn't
1831 mean that; use proper names instead.
1832 Print DECL_NO_STATIC_CHAIN.
1833
1834 * except.c (expand_builtin_frob_return_addr): Add missing call
1835 to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
1836 (expand_builtin_eh_return): Likewise.
1837 (expand_eh_return): Clean up ptr_mode != Pmode cases.
1838
1839 2001-06-01 Jan van Male <jan.vanmale@fenk.wau.nl>
1840
1841 * doc/invoke.texi: Remove references to papers about sequence points
1842 to readings.html, refer to that page.
1843
1844 2001-06-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1845
1846 * README: Update references to installation instructions.
1847
1848 2001-06-01 Laurent Guerby <guerby@acm.org>
1849 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1850
1851 * doc/install.texi: Define srcdir when sources come from CVS.
1852 Significantly improve markup. Wrap overly long lines
1853
1854 2001-06-01 DJ Delorie <dj@redhat.com>
1855
1856 * c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
1857 extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
1858 objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
1859 gcov.1: Move to doc subdirectory.
1860 * install.texi: Move to doc/install-old.texi.
1861 * gcc.texi: Move to doc, refer to install-old.texi.
1862 * Makefile.in: Reflect move of docs to doc/.
1863 * f/Make-lang.in: Ditto.
1864 * java/Make-lang.in: Ditto.
1865 * doc/.cvsignore: New.
1866
1867 2001-05-31 Jan van Male <jan.vanmale@fenk.wau.nl>
1868
1869 * invoke.texi: use two spaces between command options, eliminate
1870 some 'overfull hboxes'
1871
1872 2001-06-01 Hans-Peter Nilsson <hp@axis.com>
1873
1874 * Makefile.in (s-mlib): Make backtick-commands always succeed.
1875 (DRIVER_DEFINES): Ditto.
1876
1877 2001-05-31 Richard Henderson <rth@redhat.com>
1878
1879 * gcc.c (init_gcc_specs): When linking against libgcc_s.so,
1880 also link against libgcc.a.
1881
1882 2001-05-31 Geoff Keating <geoffk@cygnus.com>
1883
1884 * config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
1885 * config/mips/mips.c (mips_output_ascii): New function.
1886 * config/mips/mips-protos.h (mips_output_ascii): Prototype.
1887
1888 * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
1889
1890 Thu May 31 19:09:53 CEST 2001 Jan Hubicka <jh@suse.cz>
1891
1892 * flow.c (set_block_for_new_insns): Remove bogus shortcut.
1893 * i386.c (ix86_expand_int_movcc): Force one of operands to be register.
1894
1895 2001-05-31 Rodney Brown <rbrown64@csc.com.au>
1896
1897 * install.texi (Configuration): Add html links for --with-gnu-as &
1898 --with-gnu-ld and refer to them from hppa & SCO triplets.
1899 (Specific): Link back to with-gnu-ld for all ELF platfoms.
1900 (Specific): Reword AVR binutils recommendation.
1901
1902 2001-05-30 Zack Weinberg <zackw@stanford.edu>
1903
1904 * ggc-page.c (size_lookup): Increase minimum allocation size
1905 to eight bytes.
1906 (ggc_print_statistics): Report size of each bin in bytes, not
1907 as its order; there is no longer a direct relationship.
1908
1909 2001-05-31 Jan van Male <jan.vanmale@fenk.wau.nl>
1910
1911 * extend.texi: Fix formating of examples, eliminate some
1912 'overfull hboxes'.
1913 * gcc.texi: Eliminate some 'overfull hboxes'.
1914 * invoke.texi: Use two spaces between command options, eliminate
1915 some 'overfull hboxes'.
1916
1917 2001-05-30 Richard Henderson <rth@redhat.com>
1918
1919 * dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
1920
1921 2001-05-30 Tom Tromey <tromey@redhat.com>
1922
1923 * gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
1924 use it in the new association.
1925
1926 2001-05-30 Loren J. Rittle <ljrittle@acm.org>
1927 John David Anglin <dave@hiauly1.hia.nrc.ca>
1928
1929 * gthr-posix.h (__gthread_active_ptr): Cast function pointer
1930 to target type to allow ISO C++ compiler to accept it.
1931 * gthr-dce.h (__gthread_active_ptr): Likewise.
1932 * gthr-solaris.h (__gthread_active_ptr): Likewise.
1933
1934 2001-05-30 Neil Booth <neil@daikokuya.demon.co.uk>
1935
1936 * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
1937 so that we do accept comments in preprocessed input.
1938
1939 2001-05-30 Neil Booth <neil@daikokuya.demon.co.uk>
1940
1941 * cpphash.c (alloc_node): Cast allocated pointer.
1942
1943 2001-05-30 Gordon Sadler <gbsadler1@lcisp.com>
1944
1945 * invoke.texi (Option Summary): Remove -isystem-c++ from options.
1946
1947 2001-05-29 Stan Shebs <shebs@apple.com>
1948
1949 * gcc.texi: Add links for information about Objective-C.
1950
1951 2001-05-29 Nathan Sidwell <nathan@codesourcery.com>
1952
1953 * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
1954 /bin/sed fails on [^\"]).
1955 (configargs.h): Likewise.
1956
1957 2001-05-29 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
1958
1959 * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
1960
1961 2001-05-28 Stan Shebs <shebs@apple.com>
1962
1963 * objc/objc.gperf: Remove, no longer used.
1964
1965 2001-05-28 Joseph S. Myers <jsm28@cam.ac.uk>
1966
1967 * c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
1968 gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
1969 Remove trailing whitespace.
1970
1971 2001-05-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1972
1973 * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
1974 became http://freeware.sgi.com/.
1975
1976 2001-05-27 Geoffrey Keating <geoffk@redhat.com>
1977
1978 * local-alloc.c (update_equiv_regs): Don't eliminate constant
1979 expressions at -O0.
1980
1981 2001-05-27 Stan Shebs <shebs@apple.com>
1982
1983 * objc/objc-act.c: Add/fix various comments.
1984 (init_selector): Remove, no longer used.
1985 (build_msg_pool_reference): Ditto.
1986 (objc_debug): Ditto.
1987
1988 2001-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
1989
1990 * c-decl.c (init_decl_processing):
1991 Don't call start_identifier_warnings.
1992 * flags.h (warn_id_clash, id_clash_len): Remove.
1993 * stringpool.c: Don't include flags.h.
1994 (scan_for_clashes, do_identifier_warnings,
1995 start_identifier_warnings): Remove.
1996 * toplev.c (warn_id_clash, id_clash_len): Remove.
1997 (display_help): Don't document -Wid-clash.
1998 (decode_W_option): Print warning on -Wid-clash.
1999 * tree.h (start_identifier_warnings): Remove.
2000 * invoke.texi: Remove documentation of -Wid-clash.
2001
2002 2001-05-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2003
2004 * fixinc/fixtests.c: Declare entries in ENV_TABLE.
2005
2006 2001-05-27 Bruce Korb <bkorb@gnu.org>
2007
2008 * fixinc/check.tpl(HACK) add and use a Scheme variable
2009 (has no test text): error out if no "test_text" is defined
2010 * fixinc/fixincl.tpl: likewise
2011 (FIXIDX): make it an enumeration so we minimize diffs
2012 * fixinc/inclhack.def: re-alphabetize and add sort instructions
2013 * fixinc/fixincl.x: regenerate
2014 * fixinc/tests/base/stdio.h: test output got moved due to
2015 the alphabetizing
2016 * README-fixinc: rewrite (mostly)
2017
2018 2001-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
2019
2020 * cpplib.c (run_directive): Set pfile->directive.
2021
2022 2001-05-23 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
2023
2024 * c-tree.texi: Reformat the manual as a single chapter now
2025 included by gcc.texi.
2026 * gcc.texi: Include c-tree.texi. Merge all indexes.
2027 * Makefile.in (dvi): Add generation for the cppinternals
2028 documentation. Added dependencies on fdl.texi and c-tree.texi
2029 where appropriate. Use TEXI2DVI instead of custom tex calls.
2030 (info): Added dependencies on fdl.texi and c-tree.texi where
2031 appropriate. Remove the target c-tree.info.
2032
2033 2001-05-27 Lars Brinkhoff <lars@nocrew.org>
2034
2035 * combine.c (try_combine): Fix typo in comment.
2036 * expr.c (expand_expr): Likewise.
2037 * config/i370/i370.md (untyped_call): Likewise.
2038
2039 2001-05-26 Bruce Korb <bkorb@gnu.org>
2040
2041 * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
2042 when fixincl is operating in test mode
2043 * fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
2044 (AAB_ultrix_limits): remove redundant text
2045 (AAB_ultrix_memory): ditto
2046 (AAB_ultrix_string): ditto
2047 (djgpp_wchar_h): fix the test text
2048 (irix_stdio_va_list): add test text
2049 (irix_limits_const): add a testing output file (limits.h is overwritten)
2050 (strict_ansi_not_ctd): put limits.h second in list for same reason
2051 (solaris27_mutex_init): test text needed selection text, too
2052
2053 * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
2054 when fixincl is operating in test mode
2055
2056 2001-05-26 Philip Blundell <philb@gnu.org>
2057
2058 * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
2059 * config/i960/i960-protos.h: Likewise.
2060 * config/i370/i370-protos.h: Likewise.
2061 * config/h8300/h8300-protos.h: Likewise,
2062 * config/sh/sh-protos.h: Likewise.
2063 * config/v850/v850-protos.h: Likewise.
2064
2065 2001-05-26 Philip Blundell <philb@gnu.org>
2066
2067 * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
2068
2069 2001-05-25 Zack Weinberg <zackw@stanford.edu>
2070
2071 * toplev.c (debug_args, f_options, W_options): Mark
2072 descriptions for translation.
2073 (display_help): Translate descriptions on output.
2074
2075 * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
2076 objc/lang-options.h: Mark descriptions for translation.
2077
2078 * aclocal.m4: Quote final argument of patsubst. Use
2079 3-argument form of AC_DEFINE. Restore quotes to [] while
2080 using AC_FD_CC.
2081 * configure.in: Remove unnecessary changequote calls.
2082 * configure, config.in: Regenerate.
2083
2084 2001-05-25 Sam TH <sam@uchicago.edu>
2085
2086 * basic-block.h: Fix header include guards.
2087 * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
2088 cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
2089 except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
2090 gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
2091 gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
2092 insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
2093 rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
2094 varray.h version.h: Likewise.
2095 * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
2096 config/arm/arm.h config/c4x/c4x-protos.h
2097 config/h8300/h8300-protos.h config/h8300/h8300.h
2098 config/i370/i370-protos.h config/i370/i370.h
2099 config/i960/i960-protos.h config/mcore/mcore.h
2100 config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
2101 config/v850/v850-protos.h config/v850/v850.h: Likewise.
2102 * fixinc/fixlib.h fixinc/server.h: Likewise.
2103
2104 2001-05-25 Stacey Sheldon <ssheldon@Catena.com>
2105
2106 * config/arc/initfini.c (.init): Fix typo.
2107
2108 2001-05-25 Geoffrey Keating <geoffk@redhat.com>
2109
2110 * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
2111
2112 2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2113
2114 * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
2115
2116 2001-05-25 Richard Henderson <rth@redhat.com>
2117
2118 * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
2119
2120 2001-05-25 Richard Henderson <rth@redhat.com>
2121
2122 * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
2123 (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
2124 (sparc*-*-solaris2): Likewise.
2125 * config/t-linux: Remove shared libgcc macros.
2126 * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
2127 * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
2128
2129 2001-05-25 Loren J. Rittle <ljrittle@acm.org>
2130
2131 * config.gcc (*-*-freebsd*): Report bad configuration.
2132
2133 2001-05-25 David Edelsohn <edelsohn@gnu.org>
2134
2135 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
2136
2137 * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
2138 any prefix.
2139 (ASM_OUTPUT_LABELREF): Delete.
2140
2141 2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2142
2143 * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
2144 strict_ansi_only): Don't run if stdc_0_in_system_headers.
2145 * fixinc/fixincl.x: Regenerate.
2146 * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
2147 (FIX_TEST_TABLE): Declare it.
2148 * fixinc/fixlib.h: Include config.h.
2149
2150 2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2151
2152 * fixinc/inclhack.def (alpha___assert): Change char * args to
2153 const char * on Tru64 UNIX to avoid excessive warnings from
2154 assert.h.
2155 * fixinc/fixincl.x: Regenerate.
2156
2157 2001-05-25 Geoff Keating <geoffk@redhat.com>
2158
2159 * dbxout.c (dbxout_symbol): Invert previous patch, which was
2160 outputting a tag only for variable-size records.
2161
2162 2001-05-25 Jeff Knaggs <jknaggs@redhat.com>
2163
2164 * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
2165 instead of rtx_equal_p for early clobber test.
2166
2167 2001-05-26 Mark Mitchell <mark@codesourcery.com>
2168
2169 * builtins.def: Encode additional information, such as names and
2170 types, here.
2171 * builtin-types.def: New file.
2172 * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
2173 (built_in_decls): Likewise. Don't explicitly initialize global
2174 data to NULL.
2175 (expand_builtin_mathfn): Handle float and long double variants of
2176 math builtins.
2177 (expand_builtin): Likewise.
2178 * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
2179 (expand_tree_builtin): Handle long, long long, float, and long
2180 double variants of math functions.
2181 * c-common.h (c_tree_index): Remove some unused nodes.
2182 (void_ftype): Remove.
2183 (void_type_ptr): Likewise.
2184 (int_ftype_int): Likewise.
2185 (ptr_ftype_sizetype): Likewise.
2186 * c-decl.c (init_decl_processing): Remove creation of DWARF
2187 builtins.
2188 * defaults.h (MD_INIT_BUILTINS): Provide default definition.
2189 * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
2190 * Makefile.in (c-common.o): Depend on builtin-types.def.
2191
2192 2001-05-25 Dale Johannesen <dalej@apple.com>
2193
2194 * config/rs6000/t-darwin: Fix dependencies for darwin.o.
2195
2196 2001-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
2197
2198 * c-parse.in (notype_initdcl): Remove redundant line.
2199
2200 2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2201
2202 * aclocal.m4: Fixed typo.
2203 (gcc_AC_HEADER_STDBOOL): Define.
2204 (gcc_AC_C__BOOL): Define.
2205 * configure.in: Use them.
2206 (AC_CHECK_HEADERS): Remove stdbool.h
2207 * configure, config.in: Regenerate.
2208
2209 2001-05-25 Richard Henderson <rth@redhat.com>
2210
2211 * function.c (expand_function_start): Don't abort on PARALLEL
2212 returns from hard_function_value.
2213
2214 2001-05-25 Richard Henderson <rth@redhat.com>
2215
2216 * config/i386/i386.md: Revert previous change. Do not apply
2217 the peephole if the components do not die after the sequence.
2218
2219 2001-05-25 Joseph S. Myers <jsm28@cam.ac.uk>
2220
2221 * c-parse.in (array_declarator): New. Handle C99 constructs.
2222 Don't restrict [*] declarators to C only.
2223 (after_type_declarator, parm_declarator_starttypename,
2224 parm_declarator_nostarttypename, notype_declarator,
2225 direct_absdcl1): Use it.
2226 * c-decl.c (build_array_declarator, set_array_declarator_type):
2227 New functions. Warn that [*] isn't properly implemented; pedwarn
2228 for [*] outside C99 mode if pedantic rather than giving a hard
2229 error.
2230 (grokdeclarator): Handle static and type qualifiers in parameter
2231 array declarators.
2232 * c-tree.h (build_array_declarator, set_array_declarator_type):
2233 Declare.
2234 * extend.texi (Attribute Syntax): Document attributes in parameter
2235 array declarators.
2236
2237 2001-05-25 Mark Mitchell <mark@codesourcery.com>
2238
2239 * config/i386/i386.md: Make sure cmpstr peepholes do not
2240 affect liveness information.
2241
2242 2001-05-24 Mark Mitchell <mark@codesourcery.com>
2243
2244 * c-typeck.c (digest_init): Issue error messages about
2245 invalid constants, not warnings.
2246
2247 2001-05-24 Mark Mitchell <mark@codesourcery.com>
2248
2249 * invoke.texi (-fno-builtin): Document that this is always on
2250 in C++.
2251
2252 2001-05-24 Philip Blundell <philb@gnu.org>
2253
2254 * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
2255 required.
2256
2257 2001-05-24 Philip Blundell <philb@gnu.org>
2258
2259 * config/arm/arm.c (output_return_instruction): Correctly handle
2260 interworking and interrupt functions.
2261
2262 2001-05-24 Philip Blundell <philb@gnu.org>
2263
2264 * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
2265 -m{no-}sched-prolog. Fix typos and improve formatting.
2266
2267 2001-05-24 Philip Blundell <philb@gnu.org>
2268
2269 * invoke.texi (ARM Options): Improve wording slightly. Add
2270 documentation for more options, including those for Thumb mode.
2271 Don't mention options that don't exist or are unimplemented.
2272 (Thumb Options): Delete; merged into above section.
2273
2274 2001-05-24 Geoff Keating <geoffk@redhat.com>
2275
2276 * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
2277 (MD_FALLBACK_FRAME_STATE_FOR): Use it.
2278
2279 Thu May 24 19:47:19 CEST 2001 Jan Hubicka <jh@suse.cz>
2280
2281 * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
2282 fix hard register simplification.
2283
2284 Thu May 24 00:15:17 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2285
2286 * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
2287 of just copying CPP_CPU_SPEC.
2288
2289 Thu May 24 15:56:48 CEST 2001 Jan Hubicka <jh@suse.cz>
2290
2291 * i386.c (incdec_operand): Accept only 1 and -1.
2292
2293 2001-05-23 Kelley Cook <kelley.cook@home.com>
2294
2295 * Makefile.in: Move many of the *_H definitions eariler in the
2296 file, so that rules in t-* files that use them for
2297 dependencies will work in a parallel build.
2298 * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
2299
2300 2001-05-23 Richard Henderson <rth@redhat.com>
2301
2302 * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
2303
2304 2001-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
2305
2306 * cpp.texi: Update for handling of charconsts.
2307 * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF. Update
2308 diagnostics. Skip to the end if the UCS is too short.
2309 (cpp_interpret_charconst): Long charconsts issue a warning
2310 not an error.
2311
2312 2001-05-23 Richard Henderson <rth@redhat.com>
2313
2314 * doc/install.texi (alpha-linux): Require binutils 2.11.
2315
2316 2001-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
2317
2318 * c-lex.c (read_escape, read_ucs): Delete.
2319 (lex_string): Use cpp_parse_escape.
2320 * cpplex.c (read_ucs): Rename maybe_read_ucs. Do nothing
2321 if not C++ or not C99. Warn if traditional.
2322 (parse_escape): Rename cpp_parse_escape. Make the bitmask
2323 unsigned. Warn for out-of-range escape sequences here.
2324 Update to use maybe_read_ucs.
2325 (cpp_interpret_charconst): Don't warn here.
2326 * cpplib.h (cpp_parse_escape): New exported function.
2327
2328 2001-05-23 Joseph S. Myers <jsm28@cam.ac.uk>
2329
2330 * extend.texi (Attribute Syntax): Clarify application of
2331 attributes to parameters declared as functions or arrays.
2332
2333 2001-05-23 Jason Merrill <jason_merrill@redhat.com>
2334
2335 * dbxout.c (dbxout_type_methods): Do still group methods by name.
2336
2337 2001-05-23 Zack Weinberg <zackw@stanford.edu>
2338
2339 * diagnostic.c (vnotice): Kill.
2340 (fnotice): Call vfprintf directly.
2341 (diagnostic_for_decl, output_do_verbatim, output_verbatim,
2342 verbatim, set_diagnostic_context): Rename string argument to
2343 indicate that it is run through gettext.
2344 (vbuild_message_string, build_message_string, output_do_printf):
2345 Rename string argument to indicate that it is NOT run through
2346 gettext.
2347 (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
2348 output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
2349 Run msgid argument through gettext.
2350 (default_print_error_function): Run constant strings through
2351 gettext when nothing else will.
2352 (fatal_error, internal_error, error_recursion): Use fnotice.
2353 Present complete sentences to gettext.
2354
2355 2001-05-23 Mark Mitchell <mark@codesourcery.com>
2356
2357 * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
2358
2359 2001-05-23 Richard Henderson <rth@redhat.com>
2360
2361 * function.c (expand_function_start): Always use a pseudo
2362 for the function result value.
2363
2364 2001-05-22 Richard Henderson <rth@redhat.com>
2365
2366 * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
2367 section pointer alignment.
2368
2369 * doc/install.texi (alpha-linux): Require binutils >= 2.10.
2370
2371 * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
2372 of __USER_LABEL_PREFIX__.
2373
2374 2001-05-22 Richard Henderson <rth@redhat.com>
2375
2376 * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
2377 (__deregister_frame_info_bases): New.
2378 * unwind-dw2-fde.h: Declare it.
2379 * libgcc-std.ver: Export it.
2380 * crtstuff.c (__do_global_dtors_aux): Call it if we would have
2381 called __register_frame_info_bases.
2382
2383 2001-05-22 Loren J. Rittle <ljrittle@acm.org>
2384
2385 * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
2386 instead of #elif (which is OK for this case but not in general).
2387
2388 2001-05-22 Andrew MacLeod <amacleod@redhat.com>
2389
2390 * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
2391 * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
2392 parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
2393 * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
2394 "r2" to the assembly file. Only issue allocs with non-zero parameters.
2395
2396 2001-05-22 Loren J. Rittle <ljrittle@acm.org>
2397 David O'Brien <obrien@freebsd.org>
2398
2399 * config/freebsd.h (LIB_SPEC): Key the exact setting to
2400 configure-time options and target version of FreeBSD. Set-up
2401 to match architectural change in threading support. Correctly
2402 report when -pthread option is not supported by configure-time
2403 options.
2404 (FBSD_CPP_PREDEFINES): Move from architecture-specific files
2405 and extend to encode target version number in run-time setting
2406 of __FreeBSD__ macro to match the system compiler.
2407 (CPP_PREDEFINES): Likewise.
2408 (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
2409
2410 * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
2411 * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
2412
2413 2001-05-22 Loren J. Rittle <ljrittle@acm.org>
2414 David O'Brien <obrien@freebsd.org>
2415
2416 * config.gcc (the unlabeled system switch statement): Add
2417 generic configuration section to handle *-*-freebsd*. Also,
2418 to match the system compiler, default to threading support (it
2419 may be disabled with the standard --disable-threads
2420 configuration-time switch).
2421 (i[34567]86-*-freebsd* in machine-specific section): Use it.
2422 (alpha*-*-freebsd* in machine-specific section): Likewise.
2423
2424 * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
2425 * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
2426 * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
2427 * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
2428 * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
2429
2430 2001-05-22 Loren J. Rittle <ljrittle@acm.org>
2431 David O'Brien <obrien@freebsd.org>
2432
2433 * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
2434 * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
2435 -pthread instead setting macro.
2436
2437 2001-05-22 Richard Henderson <rth@redhat.com>
2438
2439 * crtstuff.c (__register_frame_info_bases): Declare.
2440 (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
2441 (__do_global_dtors_aux, __do_global_dtors): Streamline.
2442
2443 * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
2444 (CRT_GET_RFIB_DATA): New.
2445 * config/i386/sysv4.h: Likewise.
2446 * config/i386/sco5.h: Likewise.
2447 (ASM_PREFERRED_EH_DATA_FORMAT): New.
2448
2449 2001-05-22 Richard Henderson <rth@redhat.com>
2450
2451 * rtl.c (read_string): Break out from ...
2452 (read_rtx): ... here.
2453
2454 2001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2455
2456 * doc/install.texi (Specific): Remove a bogus and duplicate part
2457 copied from the end of the document.
2458
2459 2001-05-22 Bernd Schmidt <bernds@redhat.com>
2460
2461 * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
2462
2463 2001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2464
2465 * install.texi: Remove obsolete information on SunOS as well as
2466 i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
2467 (Installing GNU CC on the Sun): Remove section.
2468
2469 2001-05-22 Alexandre Oliva <aoliva@redhat.com>
2470
2471 * cppfiles.c (remove_component_p): Don't assume lstat/stat will
2472 keep errno unchanged on success.
2473
2474 2001-05-22 Joseph S. Myers <jsm28@cam.ac.uk>
2475
2476 * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
2477 once for hexadecimal floats, whether or not they contain a decimal
2478 point. Don't let the setting of pedantic otherwise affect the
2479 parsing of hexadecimal floats.
2480
2481 2001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2482
2483 * README.ACORN: Remove obsolete file.
2484
2485 2001-05-22 Jan Hubicka <jh@suse.cz>
2486
2487 * combine.c (gen_binary): Use swap_commutative_operands_p
2488 (simplify_comparison): Likewise.
2489 * expmed.c (emit_store_flag): Likewise.
2490 * expr.c (compare_from_rtx): Likewise.
2491 (do_compare_rtx_and_jump): Likewise.
2492 * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
2493 if not emitting a branch and operands want swapping.
2494
2495 2001-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
2496
2497 * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
2498 * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
2499 (maybe_get_identifier): Update.
2500 * tree.h (make_identifier): Delete.
2501
2502 2001-05-21 Richard Henderson <rth@redhat.com>
2503
2504 * combine.c (subst): Do not substitute for a register as
2505 a destination subreg/strict_low_part/zero_extract.
2506
2507 * combine.c (simplify_comparison): Update op1 after constant
2508 extension.
2509 * recog.c (const_int_operand): Accept only constants valid
2510 for the given mode.
2511 * genrecog.c: Update comments wrt const_int_operand.
2512
2513 * emit-rtl.c (init_emit_once): Zero unused memory in a
2514 CONST_DOUBLE.
2515
2516 2001-05-21 Mark Mitchell <mark@codesourcery.com>
2517
2518 * tree.h (type_num_arguments): Declare it.
2519 * tree.c (type_num_arguments): New function.
2520
2521 2001-05-21 Richard Henderson <rth@redhat.com>
2522
2523 * dwarf2out.c (current_funcdef_number): Move outside dwarf2
2524 conditional ifdef.
2525
2526 2001-05-21 Geoff Keating <geoffk@redhat.com>
2527
2528 * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
2529 (maxsf3+1): Delete.
2530 (minsf3): Use rs6000_emit_minmax.
2531 (minsf3+1): Generalize to handle both SMIN and SMAX. Use
2532 rs6000_emit_minmax.
2533 (movsfcc): Use rs6000_emit_cmove.
2534 (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
2535 Don't generate emit_fselsfsf4.
2536 (fseldfsf4): Likewise.
2537 (maxdf3): Use rs6000_emit_minmax.
2538 (maxdf3+1): Delete.
2539 (mindf3): Use rs6000_emit_minmax.
2540 (mindf3+1): Generalize to handle both SMIN and SMAX. Use
2541 rs6000_emit_minmax.
2542 (movdfcc): Use rs6000_emit_cmove.
2543 (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
2544 Don't generate emit_fselsfsf4.
2545 (fselsfdf4): Likewise.
2546 * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
2547 (min_max_operator): New predicate.
2548 (rs6000_emit_cmove): New function.
2549 (rs6000_emit_minmax): New function.
2550 * config/rs6000/rs6000-protos.h: Prototype new functions.
2551 * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
2552 and min_max_operator.
2553
2554 * config/rs6000/rs6000.c (output_cbranch): Handle all
2555 conditional types in the switch statement.
2556
2557 2001-05-21 Mark Mitchell <mark@codesourcery.com>
2558
2559 * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
2560 non-register variables.
2561 * extend.texi: Document that asm-specifications do not make sense
2562 for non-static local variables.
2563
2564 2001-05-21 Jason Merrill <jason_merrill@redhat.com>
2565
2566 * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
2567 (dbxout_type_fields): Lose minimal_debug support.
2568 (dbxout_type_methods, dbxout_type): Likewise.
2569
2570 2001-05-17 Andrew Haley <aph@redhat.com>
2571
2572 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
2573
2574 2001-05-21 Richard Henderson <rth@redhat.com>
2575
2576 * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
2577 Update all users.
2578
2579 2001-05-20 Richard Henderson <rth@redhat.com>
2580
2581 * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
2582 DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
2583 DEBUG_STR_SECTION): Rename from s/DEBUG_//. Update all users.
2584 * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
2585 DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
2586 Likewise.
2587 * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
2588 DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
2589 DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
2590 (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
2591 * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
2592 DEBUG_PUBNAMES_SECTION): Rename as above.
2593 (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
2594
2595 2001-05-20 Richard Henderson <rth@redhat.com>
2596
2597 * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
2598 operands unless the operation is commutative.
2599
2600 2001-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2601
2602 * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
2603 cases.
2604
2605 2001-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
2606
2607 * extend.texi: Clarify documentation of extensions included in ISO
2608 C99. Prefer C99 terminology and syntax to old GNU terminology and
2609 syntax. Add more index entries. Document mixed declarations and
2610 code as an extension in C89 mode. Warn about future changes to
2611 semantics of inline functions. Fixes PR other/930.
2612
2613 Sun May 20 16:39:24 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2614
2615 * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
2616 access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
2617 (expand_expr, case COMPONENT_REF): Do copy if misaligned even
2618 if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
2619
2620 * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
2621
2622 2001-05-20 Richard Henderson <rth@redhat.com>
2623
2624 * sched-deps.c (sched_analyze_insn): Force volatile memory reads
2625 to be output before a branch.
2626
2627 2001-05-20 Richard Henderson <rth@redhat.com>
2628
2629 * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
2630
2631 2001-05-20 Richard Henderson <rth@redhat.com>
2632
2633 * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
2634 (ASM_DOUBLE): Remove.
2635 * config/i386/bsd.h, config/i386/sco5.h: Likewise.
2636 * config/i386/sun386.h: Likewise.
2637
2638 * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
2639 (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
2640
2641 * config/i386/cygwin.h (INT_ASM_OP): Remove.
2642 * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
2643 * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
2644 * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
2645
2646 * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
2647 * config/i386/djgpp.h, config/i386/i386.h: Likewise.
2648 * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
2649 * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
2650 * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
2651 * config/i386/win32.h: Likewise.
2652
2653 2001-05-20 Joseph S. Myers <jsm28@cam.ac.uk>
2654
2655 * invoke.texi: Add more options to summary list.
2656
2657 2001-05-20 Joseph S. Myers <jsm28@cam.ac.uk>
2658
2659 * invoke.texi: Document meaning of -pedantic when -std=gnu* is
2660 used. Fixes PR c/2291.
2661 * gcc.1: Regenerate.
2662
2663 2001-05-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2664
2665 * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
2666 the -fpic and -fPIC options, clear flag_pic.
2667
2668 2001-05-20 Neil Booth <neil@daikokuya.demon.co.uk>
2669
2670 * hashtable.c (calc_hash): Fix HASHSTEP definition.
2671 * stringpool.c (make_identifier): No statistics here anymore.
2672 * objc-act.c (steup_string_decl): Remove redundant check.
2673
2674 2001-05-20 Neil Booth <neil@daikokuya.demon.co.uk>
2675
2676 * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
2677 cpplib.o, cpphash.o, fix-header): Update.
2678 (hashtable.o): New target.
2679 * c-common.h: Include cpplib.h. Define C_RID_CODE and
2680 struct c_common_identifier here.
2681 * c-lang.c (c_init_options): Update. Call set_identifier_size.
2682 * c-lex.c (c_lex): Update.
2683 * c-pragma.h: Update.
2684 * c-tree.h (struct lang_identifier): Contain c_common_identifier.
2685 Delete rid_code.
2686 (C_RID_CODE): Delete.
2687 * cpphash.c: Rewrite to use hashtable.c.
2688 * cpphash.h: Update include guards.
2689 (struct cpp_reader): Remove hashtab.
2690 hash_ob and buffer_ob are no longer pointers. Add hash_table
2691 and our_hashtable.
2692 (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
2693 (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
2694 (_cpp_cleanup_stacks): Rename _cpp_init_directives.
2695 * cppinit.c (cpp_create_reader): Update.
2696 * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
2697 (cpp_interpret_charconst): Eliminate warning.
2698 * cpplib.c (do_pragma, do_endif, push_conditional,
2699 cpp_push_buffer, cpp_pop_buffer): Update.
2700 (_cpp_init_stacks): Rename cpp_init_directives.
2701 (_cpp_cleanup_stacks): Remove.
2702 * cpplib.h: Update include guards. Include tree-core.h and c-rid.h.
2703 (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
2704 cpp_forall_identifiers, cpp_create_reader): Update.
2705 (C_RID_CODE, cpp_make_node): New.
2706 (c_common_identifier): New identifier node for C front ends.
2707 * cppmain.c (main): Update.
2708 * fix-header.c (read_scan_file): Update.
2709 * flags.h (id_clash_len): Make unsigned.
2710 * ggc.h (ggc_mark_nonnull_tree): New.
2711 * hashtable.c: New.
2712 * hashtable.h: New.
2713 * stringpool.c: Update comments and copyright. Update to use
2714 hashtable.c.
2715 * toplev.c (approx_sqrt): Move to hashtable.c.
2716 (id_clash_len): Make unsigned.
2717 * toplev.h (ident_hash): New.
2718 * tree.c (gcc_obstack_init): Move to hashtable.c.
2719 * tree.h: Include hashtable.h.
2720 (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
2721 (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
2722 (struct tree_identifier): Update.
2723 (make_identifier): New.
2724 cp:
2725 * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
2726 (C_RID_CODE): Remove.
2727 * lex.c (cxx_init_options): Call set_identifier_size. Update.
2728 (init_parse): Don't do it here.
2729 objc:
2730 * objc-act.c (objc_init_options): Call set_identifier_size. Update.
2731
2732 Sat May 19 18:23:04 2001 Richard Henderson <rth@redhat.com>
2733
2734 * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
2735 as ncessary.
2736 (expand_eh_return): Convert between word_mode and Pmode.
2737 * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
2738 are the same size.
2739 (execute_stack_op): Likewise.
2740 (execute_cfa_program): Likewise.
2741 (uw_frame_state_for): Likewise.
2742 (uw_update_context_1): Likewise.
2743 * unwind.inc (_Unwind_Reason_Code): Likewise.
2744 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
2745 (EH_RETURN_STACKADJ_RTX): Likewise.
2746 * config/mips/mips.c (compute_frame_size): Make space for saving
2747 EH return registers.
2748 (mips_expand_epilogue): Handle EH stack adjustments.
2749 * config/mips/mips.md (eh_return): New pattern.
2750 (eh_set_lr_si): Likewise.
2751 (eh_set_lr_di): Likewise.
2752 Add splitter to perform EH return after reload.
2753
2754 2001-05-19 Mark Mitchell <mark@codesourcery.com>
2755
2756 * jump.c (mark_jump_label): Tidy previous change.
2757
2758 2001-05-19 Bruce Korb <bkorb@gnu.org>
2759
2760 * fixinc/genfixes: no need for two warnings
2761 * fixinc/Makefile.in: open stdin for those building with a closed one.
2762
2763 2001-05-19 Mark Mitchell <mark@codesourcery.com>
2764
2765 * jump.c (jump_optimize_1): Tidy.
2766 (mark_jump_label): When changing the label in a LABEL_REF, change
2767 update any REG_EQUAL notes as well.
2768
2769 2001-05-19 Joseph S. Myers <jsm28@cam.ac.uk>
2770
2771 * c-parse.in (parm_declarator): Split into
2772 parm_declarator_starttypename and parm_declarator_nostarttypename.
2773 (parm_declarator_starttypename, parm_declarator_nostarttypename):
2774 New. Allow parenthesised sub-declarators which don't begin with a
2775 TYPENAME. Fixes PR c/166.
2776
2777 2001-05-19 Mark Mitchell <mark@codesourcery.com>
2778
2779 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
2780 macro.
2781 * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
2782 Document it.
2783 * toplev.c (main): If the target does not allow profiling without
2784 a frame pointer, issue an error message.
2785 * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
2786 Define it to false.
2787
2788 Sat May 19 07:53:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2789
2790 * recog.c (general_operand): Modify last change to allow it if reload
2791 has completed.
2792
2793 Sat May 19 10:23:54 CEST 2001 Jan Hubicka <jh@suse.cz>
2794
2795 * recog.c (general_operand): Prohibit nonzero subreg bytes on
2796 subregs containing mem.
2797
2798 Sat May 19 09:40:45 2001 Denis Chertykov <denisc@overta.ru>
2799
2800 * regrename.c (regrename_optimize): frame pointer register can
2801 use a few hardregs.
2802
2803 2001-05-18 Jason Merrill <jason_merrill@redhat.com>
2804
2805 * README.DWARF: Move into dwarfout.c.
2806
2807 2001-05-18 Dale Johannesen <dalej@apple.com>
2808
2809 * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
2810 specific misuse of r0 as a reload address.
2811
2812 Fri May 18 22:42:04 CEST 2001 Jan Hubicka <jh@suse.cz>
2813
2814 * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
2815 suceeded.
2816
2817 Fri May 18 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2818
2819 * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
2820 (add_to_sequence): Make that decision type.
2821 (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
2822 (write_switch, write_cond, debug_decision_2): Likewise.
2823
2824 * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
2825 for INTEGER_TYPE.
2826 (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
2827 variable size.
2828
2829 2001-05-18 Stan Shebs <shebs@apple.com>
2830
2831 * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
2832 * configure: Regenerate.
2833
2834 2001-05-18 Per Bothner <per@bothner.com>
2835
2836 Changes needed for java/jvspec.c
2837 * gcc.h (n_infiles, outfiles): Add declarations.
2838 * gcc.c (n_infiles, outfiles): Mske no longer static.
2839
2840 Fri May 18 10:14:42 2001 Jeffrey A Law (law@cygnus.com)
2841
2842 * config/pa/som.h (EXCEPTION_SECTION): Define.
2843
2844 2001-05-18 Daniel Berlin <dan@cgsoftware.com>
2845
2846 * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
2847 list.
2848 Add have_location_lists, a variable to determine whether we need a
2849 .debug_loc section or not.
2850 (enum dw_val_class): Add dw_val_class_loc_list.
2851 (dw_val_struct): Add val_loc_list.
2852 (dw_loc_list_struct): New structure, represents location lists.
2853 (new_loc_list): New function, return a new location list, given
2854 the range and location expression.
2855 (add_loc_descr_to_loc_list): New function, add a location
2856 expression to a location list, given the expression and range.
2857 (output_loc_list): New function, output a location list.
2858 (gen_internal_sym): Modified to take symbol prefix, so we can
2859 reuse it for location list symbols.
2860 (add_AT_loc_list): New function, add a location list to a DIE at
2861 the named attribute.
2862 (AT_loc_list): New function, return the location list reference
2863 for a given attribute, if it's a location list.
2864 (print_die): Handle dw_val_class_loc_list.
2865 (size_of_die): Ditto.
2866 (value_format): Ditto.
2867 (output_die): Ditto.
2868 (output_location_lists): New function, output all of the location
2869 lists for a DIE and it's children.
2870 (dwarf2out_finish): Call output_location_lists if we have location
2871 lists.
2872
2873
2874 Fri May 18 15:39:16 CEST 2001 Jan Hubicka <jh@suse.cz>
2875
2876 * gcse.c (try_replace_reg): First try global replace, later try to
2877 simplify the expression.
2878
2879 * gcse.c (find_used_regs): Change calling convention; work via
2880 note_uses.
2881 (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
2882
2883 2001-05-18 Bernd Schmidt <bernds@redhat.com>
2884
2885 Revert
2886 2001-02-09 Nick Clifton <nickc@redhat.com>
2887 * config/arm/arm.md: Change output constraint on post inc
2888 load/store multiple patterns to be a read/write constraint.
2889
2890 2001-05-18 Mark Mitchell <mark@codesourcery.com>
2891
2892 * basic-block.h (struct basic_block_def): Add documentation about
2893 what a basic block is, and what the various fields are used for.
2894 * flow.c (calculate_globlal_regs_live): Add documentation about
2895 how the algorithm works, and how we know that it will terminate.
2896 Check that the the inductive assumption that guarantees
2897 termination actually holds.
2898 (mark_used_regs): Treat conditionally set registers as used.
2899 (debug_regset): Add comment.
2900 * rtl.texi (cond_exec): Add documentation.
2901
2902 * function.c (expand_function_start): Avoid creating BLKmode
2903 pseudos.
2904
2905 2001-05-17 Mark Mitchell <mark@codesourcery.com>
2906
2907 * dwarf2out.c (output_comp_unit): Always output a compilation-unit
2908 DIE, even if it has no children.
2909 (dwarf2out_finish): Always output the line-number table, even if
2910 it has no content.
2911
2912 2001-05-18 David Edelsohn <edelsohn@gnu.org>
2913
2914 * rs6000.md (movsfcc,movdfcc): Remove NE case.
2915
2916 2001-05-17 Bruce Korb <bkorb@gnu.org>
2917
2918 * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
2919 * fixinc/genfixes: emit a warning if AutoGen is out of date
2920
2921 2001-05-17 Brendan Conoboy <blc@cygnus.com>
2922 Bruce Korb <bkorb@gnu.org>
2923
2924 * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
2925 found in fixinc directory. Facilitates binary distributions.
2926
2927 2001-05-17 Jeffrey Oldham <oldham@codesourcery.com>
2928
2929 * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
2930 COMPLEX_TYPE.
2931
2932 Thu May 17 19:42:39 2001 Mark Kettenis <kettenis@wins.uva.nl>
2933
2934 * dwarf2out.c (modified_type_die): Equate qualified type to die.
2935
2936 Thu May 17 23:19:46 CEST 2001 Jan Hubicka <jh@suse.cz>
2937
2938 * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
2939 (simplify_subreg): Handle complex types represented as CONCAT.
2940
2941 * recog.c (validate_replace_rtx_1): Properly canonicalize expression
2942 * rtl.h (swap_commutative_operands_p): Declare.
2943 * rtlanal.c (swap_commutative_operands_p): New.
2944 (operand_preference): New static function.
2945
2946 * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
2947 (gen_binary): Likewise.
2948 * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
2949 * simplify-rtx.c (simplify_gen_binary,
2950 simplify_gen_relational): Likewise.
2951
2952 Thu May 17 20:43:36 CEST 2001 Jan Hubicka <jh@suse.cz>
2953
2954 * cse.c (fold_rtx): Use simplify_subreg.
2955
2956 * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
2957 (simplify_gen_subreg): New.
2958 (simplify_rtx): Use simplify_subreg.
2959 * rtl.h (simplify_gen_subreg): Declare.
2960
2961 2001-05-17 Mark Mitchell <mark@codesourcery.com>
2962
2963 * doc/install.texi: Update Solaris information.
2964
2965 * except.h (protect_cleanup_actions): Remove it.
2966 (lang_protect_cleanup_actions): Declare it.
2967 * except.c (protect_cleanup_actions): Remove it.
2968 (lang_protect_cleanup_actions): New variable.
2969 (init_eh): Don't make protect_cleanup_actions a GC root.
2970 (expand_eh_region_and_cleanup): Call
2971 lang_protect_cleanup_actions.
2972 (output_function_exception_table): Remove unused `align'
2973 variable.
2974 * varasm.c (assemble_external): Abort if we have not yet
2975 opened the assembly output file.
2976
2977 Thu May 17 11:54:50 2001 Jeffrey A Law (law@cygnus.com)
2978
2979 * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
2980 for eh_personality_libfunc.
2981
2982 Thu May 17 19:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
2983
2984 * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
2985 when calling simplify_subreg. This is needed to allow replacing
2986 of expression of one mode by expression of different mode.
2987
2988 Thu May 17 19:40:03 CEST 2001 Jan Hubicka <jh@suse.cz>
2989
2990 * simplify-rtx.c (simplify_subreg): Avoid creating of incorrect subregs.
2991
2992 2001-05-17 Bernd Schmidt <bernds@redhat.com>
2993
2994 * expr.c (protect_from_queue): Protect against subsequent calls to
2995 emit_queue.
2996 (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
2997 too clever.
2998
2999 Thu May 17 18:17:34 CEST 2001 Jan Hubicka <jh@suse.cz>
3000
3001 * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
3002
3003 2001-05-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3004
3005 * gccbug.in (CATEGORIES): Add "bootstrap".
3006
3007 Thu May 17 16:59:41 CEST 2001 Jan Hubicka <jh@suse.cz>
3008
3009 * simplify-rtx.c (simplify_subreg): Break out from ...
3010 * combine.c (combine_splify_rtx) ... here and ...
3011 * recog.c (validate_replace_rtx_1): ... here;
3012 * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
3013 * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
3014 (subreg_lowpart_p): ... here.
3015
3016 2001-05-17 Bernd Schmidt <bernds@redhat.com>
3017
3018 * stmt.c (expand_asm_operands): For inout operands, make sure
3019 the substitution of '=' for '+' makes it into the rtl.
3020
3021 * reload1.c (delete_output_reload): Call eliminate_regs on substed.
3022 (reload_as_needed): Call update_eliminable_offsets a bit later.
3023
3024 2001-05-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3025
3026 * gcc.texi (gccbug): Refer to the web pages for detailed information
3027 on GNATS.
3028
3029 2001-05-16 Zack Weinberg <zackw@stanford.edu>
3030
3031 * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
3032
3033 * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
3034 OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
3035 LIB1FUNCS, and LIB1FUNCS_EXTRA. Delete rules: libgcc1-test,
3036 libgcc1-test.o. Clarify commentary now that libgcc1 no longer exists.
3037 * cross-make: Don't set LIBGCC1.
3038 * mklibgcc.in: Delete all code for building from libgcc1.c.
3039 Always honor LIB1ASMFUNCS if set.
3040
3041 * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
3042 config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
3043 config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
3044 config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
3045 config/i386/uwin.asm, config/m68hc11/larith.asm,
3046 config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
3047 config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
3048 config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
3049 config/v850/lib1funcs.asm, config/c4x/libgcc.S:
3050 Delete or update references to libgcc1 in commentary.
3051
3052 * config/t-libc-ok, config/t-linux, config/t-linux-aout,
3053 config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
3054 config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
3055 config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
3056 config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
3057 config/arm/t-semi, config/arm/t-strongarm-coff,
3058 config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
3059 config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
3060 config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
3061 config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
3062 config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
3063 config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
3064 config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
3065 config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
3066 config/m68k/t-m68kbare, config/m68k/t-m68kelf,
3067 config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
3068 config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
3069 config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
3070 config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
3071 config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
3072 config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
3073 config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
3074 config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
3075 config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
3076 config/mips/t-ultrix, config/mn10200/t-mn10200,
3077 config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
3078 config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
3079 config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
3080 config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
3081 config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
3082 config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
3083 config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
3084 config/sparc/t-sparclite, config/sparc/t-splet,
3085 config/sparc/t-sunos41, config/sparc/t-vxsparc,
3086 config/sparc/t-vxsparc64, config/v850/t-v850:
3087 Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
3088
3089 * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
3090 Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
3091 * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
3092 FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
3093 nongcc_SI_type, nongcc_word_type, or perform_*
3094 * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
3095
3096 * config/i386/386bsd.h, config/i386/beos-elf.h,
3097 config/i386/linux-aout.h, config/i386/linux-oldld.h,
3098 config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
3099 config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
3100 Don't include i386/perform.h.
3101
3102 * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
3103 config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
3104 config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
3105 config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
3106 config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
3107 config/vax/t-openbsd, config/vax/t-vax: Delete.
3108
3109 * config.gcc: Remove references to deleted files.
3110 (arm-semi-aof): Use arm/t-semi for tmake_file.
3111
3112 * gcc.texi, install.texi, invoke.texi, tm.texi:
3113 Delete or rewrite text which is no longer relevant now that
3114 libgcc1 no longer exists.
3115
3116 * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
3117 No need to set INSTALL_ASSERT_H. (Missed in previous sweep.)
3118
3119 2001-05-16 Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
3120 Bruce Korb <bkorb@gnu.org>
3121
3122 * fixinc/inclhack.def(solaris27_mutex_init): Fix broken mutex
3123 initializer
3124
3125 2001-05-16 Zack Weinberg <zackw@stanford.edu>
3126
3127 * i386.md: Add two peepholes to clean up code generated by
3128 cmpstr* expanders.
3129
3130 2001-05-16 Richard Henderson <rth@redhat.com>
3131
3132 * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
3133 variants of non-absolute encodings.
3134
3135 * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3136
3137 * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
3138 __register_frame_info_table_bases): Export.
3139
3140 2001-05-16 Richard Henderson <rth@redhat.com>
3141
3142 * except.c (eh_data_format_name): Move to ...
3143 * dwarf2asm.c: ... here. Use designated initializers if available.
3144 (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
3145 * dwarf2asm.h: Update declarations.
3146 * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
3147 ASM_PREFERRED_EH_DATA_FORMAT.
3148 (output_call_frame_info): Likewise. Use 'L' augmentation for
3149 the LSDA encoding.
3150
3151 * unwind-dw2-fde.h (struct fde_vector): New.
3152 (struct old_object): Rename from struct object.
3153 (struct object): New.
3154 (__register_frame_info_bases): Declare.
3155 (__register_frame_info_table_bases): Declare.
3156 (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
3157 * unwind-dw2-fde.c (objects): Remove.
3158 (unseen_objects, seen_objects): New.
3159 (__register_frame_info_bases): New.
3160 (__register_frame_info): Use it.
3161 (__register_frame_info_table_bases): New.
3162 (__register_frame_info_table): Use it.
3163 (__deregister_frame_info): Rewrite for changed object struct.
3164 (base_from_object, get_cie_encoding, get_fde_encoding): New.
3165 (fde_unencoded_compare): Rename from fde_compare; uninline.
3166 (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
3167 (start_fde_sort): Adjust for new definition of fde_vector.
3168 (fde_insert): Likewise.
3169 (end_fde_sort): Likewise. Select comparison function based
3170 on properties of the object.
3171 (fde_split): Take object and fde_compare_t arguments.
3172 (frame_heapsort, fde_merge): Likewise.
3173 (classify_object_over_fdes): Rename from count_fdes. Handle
3174 encoded pointers. Collect encoding, mixed_encoding, and pc_begin
3175 for the object.
3176 (add_fdes): Handle encoded pointers.
3177 (init_object): Rename from frame_init. Update for new struct object.
3178 (linear_search_fdes): Rename from search_fdes. Handle encoded
3179 pointers.
3180 (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
3181 (binary_search_single_encoding_fdes): New.
3182 (binary_search_mixed_encoding_fdes): New.
3183 (search_object): New.
3184 (_Unwind_Find_FDE): Update for new struct object. Fill in
3185 the dwarf_eh_bases.
3186 * unwind-dw2.c: Include unwind-pe.h. Constify all pointers
3187 iterating over EH data.
3188 (_Unwind_FrameState): Remove saw_lsda, addr_encoding. Add
3189 fde_encoding, lsda_encoding.
3190 (read_uleb128, read_sleb128): Remove.
3191 (read_encoded_pointer): Remove. All callers use read_encoded_value.
3192 (extract_cie_info): Set lsda_encoding from 'L' augmentation.
3193 (uw_frame_state_for): Don't set bases.func. Handle encoded fde
3194 pointers.
3195 * unwind-pe.h: Add "struct" to _Unwind_Context references.
3196
3197 2001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
3198
3199 * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
3200 * cpphash.c (_cpp_lookup_with_hash): Similarly.
3201 * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
3202 cpp_spell_token, cpp_output_token): Similarly.
3203 * cpplib.c (lex_macro_node, do_undef, do_pragma,
3204 do_pragma_poison, parse_assertion, do_assert): Similarly.
3205 * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
3206 save_parameter, _cpp_create_definition, check_trad_stringification,
3207 cpp_macro_definition): Similarly.
3208 * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
3209 * c-lex.c (cb_undef, c_lex): Similarly.
3210 * fix-header.c (recognized_function): Similarly.
3211 * cpplib.h (NODE_LEN, NODE_NAME): New.
3212 (cpp_hashnode): Rename length len.
3213
3214 Wed May 16 13:41:10 2001 Jeffrey A Law (law@cygnus.com)
3215
3216 * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
3217 GPRs.
3218
3219 2001-05-16 Andreas Jaeger <aj@suse.de>
3220
3221 * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
3222
3223 * toplev.c: Include dwarf2asm.h for prototype of
3224 dw2_output_indirect_constants.
3225
3226 Wed May 16 19:53:53 CEST 2001 Jan Hubicka <jh@suse.cz>
3227
3228 * stmt.c (expand_asm_operands): Be able to offload addressof
3229 expression to memory. (PR optimization/185)
3230
3231 Wed May 16 18:53:23 CEST 2001 Jan Hubicka <jh@suse.cz>
3232
3233 * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
3234 applying distributive law.
3235
3236 2001-05-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
3237
3238 * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
3239
3240 * gthr-dce.h (UNUSED): Attribute unused macro.
3241 (__gthread_key_dtor): Make arguments UNUSED.
3242 (__gthread_key_delete): Revise for compatibility with DRAFT4
3243 implementation.
3244
3245 2001-05-16 David Edelsohn <edelsohn@gnu.org>
3246
3247 * doc/install.texi: Update AIX information.
3248 * README.RS6000: Remove obsolete file.
3249
3250 2001-05-16 Jakub Jelinek <jakub@redhat.com>
3251 Nathan Sidwell <nathan@codesourcery.com>
3252
3253 * gcc.c (give_switch): Don't write before start of string.
3254 Always append suffix.
3255
3256 2001-05-16 Nathan Sidwell <nathan@codesourcery.com>
3257
3258 * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
3259 after stage3.
3260
3261 2001-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3262
3263 * README.ALTOS: Remove obsolete file.
3264
3265 2001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
3266
3267 * c-lex.h (save_and_forget_protocol_qualifiers,
3268 forget_protocol_qualifiers, remember_protocol_qualifiers):
3269 Remove deleted functions' prototypes.
3270
3271 2001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
3272
3273 * c-parse.in (methodtype): New production.
3274 (methoddef, methodproto): Collapse separate '-' and '+'
3275 handlers into 1.
3276
3277 2001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
3278
3279 * c-common.h (RID_FIRST_PQ): New.
3280 * c-parse.in (objc_pq_context): New.
3281 (objc parser): Set objc_pq_context rather than calling
3282 remember_protocol_qualifiers and forget_protocol_qualifiers.
3283 Don't call save_and_forget_protocol_qualifiers.
3284 (yylexname): Handle objc protocol qualifiers here.
3285 * stringpool.c (struct str_header): Replace with sp_hashnode.
3286 (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
3287 (alloc_string): Rename alloc_ident. Use the SP_ accessors.
3288 Allocate an IDENTIFIER_NODE for each identifier.
3289 (FORALL_STRINGS, set_identifier): Delete.
3290 (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
3291 (ggc_alloc_string): Use an obstack.
3292 (get_identifier, maybe_get_identifier, mark_string_hash): Update.
3293 * tree.h: Update comments.
3294 (set_identifier): Delete.
3295 * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
3296 save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
3297 remember_protocol_qualifiers): Delete.
3298
3299 Tue May 15 22:14:09 2001 Jeffrey A Law (law@cygnus.com)
3300
3301 * flow.c (life_analysis): After life analysis is complete, do
3302 an optional scan over insns looking for REG_LABEL notes that
3303 reference a deleted label.
3304 (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
3305 before peeking at LABEL_NUSES.
3306
3307 2001-05-15 Richard Henderson <rth@redhat.com>
3308
3309 * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
3310 (_Unwind_GetTextRelBase): New.
3311
3312 2001-05-15 Mark Mitchell <mark@codesourcery.com>
3313
3314 * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
3315
3316 2001-05-15 Geoffrey Keating <geoffk@redhat.com>
3317
3318 * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
3319 so that CHOOSE_SECTION gets used.
3320
3321 * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
3322 TARGET_RELOCATABLE like flag_pic for now.
3323
3324 2001-05-15 David Edelsohn <edelsohn@gnu.org>
3325
3326 * rs6000.md (movdi splitter): Sign extend more efficiently.
3327 * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
3328 to "long long" valid on 32-bit and 64-bit hosts.
3329 (logical_operand): Cast trunc_int_for_mode return value.
3330 (rs6000_emit_move): Shift macro to encapsulate variable.
3331 (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
3332 (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
3333 plus_constant requires signed argument.
3334
3335 2001-05-15 Loren J. Rittle <ljrittle@acm.org>
3336
3337 * gthr-posix.h: Make additional pthread-* functions weak.
3338
3339 Tue May 15 13:51:32 CEST 2001 Jan Hubicka <jh@suse.cz>
3340
3341 * recog.c (apply_change_group): Avoid unneeded validating.
3342
3343 2001-05-14 David Edelsohn <edelsohn@gnu.org>
3344
3345 * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
3346 (num_insns_constant): CONST_INT can be 64-bits.
3347
3348 2001-05-14 Stan Shebs <shebs@apple.com>
3349
3350 * config/darwin.h (LIB_SPEC): Just use -lSystem.
3351 (LIBGCC_SPEC): Don't define.
3352
3353 2001-05-14 Richard Henderson <rth@redhat.com>
3354
3355 * configure.in (gcc_cv_as_eh_frame): New test.
3356 * config.in, configure: Rebuild.
3357 * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
3358
3359 2001-05-14 Andrew MacLeod <amacleod@redhat.com>
3360
3361 * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
3362 extended precision divide.
3363
3364 2001-05-14 Andrew MacLeod <amacleod@redhat.com>
3365
3366 * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
3367 for RETURNS as well.
3368
3369 Mon May 14 17:34:48 CEST 2001 Jan Hubicka <jh@suse.cz>
3370
3371 * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
3372 (CPP_CPU??_SIZE_TYPE): New.
3373 (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
3374 (CPP_CPU_SPEC): ... here; support choosing of CPU.
3375 (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
3376 (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
3377 compiler.
3378 * i386.c (override_options): Add sorry about not suported modes.
3379
3380 Mon May 14 08:56:47 2001 Jeffrey A Law (law@cygnus.com)
3381
3382 * config/pa/som.h (NM_FLAGS): Remove.
3383 (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
3384 (ASM_OUTPUT_SECTION_NAME): Remove.
3385 (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
3386
3387 2001-05-14 Mark Mitchell <mark@codesourcery.com>
3388
3389 * regrename.c (regrename_optimize): Do not rename registers to
3390 leaf registers.
3391
3392 2001-05-14 Alexandre Oliva <aoliva@redhat.com>
3393
3394 * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
3395 contain MEMs. Remove useless distinction about clobbering
3396 registers.
3397
3398 2001-05-13 Geoff Keating <geoffk@redhat.com>
3399
3400 * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
3401 * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
3402 * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
3403 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3404 (EXCEPTION_SECTION): Define.
3405
3406 2001-05-13 Zack Weinberg <zackw@stanford.edu>
3407
3408 * libgcc2.c, libgcc2.h: Restore __eprintf. Label as used for
3409 binary backward compat only.
3410 * Makefile.in (LIB2FUNCS_ST): New. Put _eprintf here, not
3411 in LIB2FUNCS. Pass it to mklibgcc.
3412 * mklibgcc.in: Handle LIB2FUNCS_ST.
3413
3414 * Makefile.in (installdirs): Don't create $(gcc_tooldir).
3415
3416 2001-05-13 Alexandre Oliva <aoliva@redhat.com>
3417
3418 * tm.texi (THREAD_MODEL_SPEC): Document it.
3419 * gcc.c (main): Use it.
3420 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
3421 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
3422
3423 2001-05-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3424
3425 * rtl.h (SYMBOL_REF_WEAK): New macro.
3426 * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
3427 * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
3428 * rtl.texi (SYMBOL_REF_WEAK): Document it.
3429 * gcc.texi: Remove wrong description.
3430
3431 2001-05-13 Mark Mitchell <mark@codesourcery.com>
3432
3433 * Makefile.in (STAMP): New macro.
3434 Replace all uses of `touch' with $(STAMP).
3435 * fixinc/Makefile.in: Likewise.
3436
3437 Sun May 13 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3438
3439 * configure.in: ldopen is never in -lexc, so don't test for it.
3440 Add test for exc_resume in -lexc for Ada.
3441 * configure: Regenerated.
3442
3443 2001-05-12 Richard Henderson <rth@redhat.com>
3444
3445 * dwarf2asm.c (size_of_encoded_value): New function.
3446 * dwarf2asm.h: Declare it.
3447 * except.c (output_function_exception_table): Align the TType
3448 array only as wide as the encoding.
3449
3450 2001-05-12 Zack Weinberg <zackw@stanford.edu>
3451
3452 * extend.texi: Document #pragma GCC java_exceptions.
3453
3454 2001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
3455
3456 * c-parse.in (bison parser, init_reswords): Remove uses of
3457 doing_objc_thang.
3458 * c-tree.h (doing_objc_thang): Remove.
3459
3460 2001-05-12 Neil Booth <neil@daikokuya.demon.co.uk>
3461
3462 * cpplex.c (_cpp_lex_token): Ensure we warn at most once
3463 about files not ending in newlines.
3464
3465 2001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
3466
3467 * dwarfout.c (dwarfout_init): Add cast.
3468 * sched-deps.c (sched_analyze_insn): Remove unused vars.
3469 * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
3470 cp:
3471 * method.c (build_mangled_C99_name): Remove unused prototype.
3472
3473 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
3474
3475 * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
3476
3477 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
3478
3479 * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
3480 * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
3481
3482 2001-05-11 Richard Henderson <rth@redhat.com>
3483
3484 * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3485 * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
3486 dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
3487 * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
3488 (dw2_output_indirect_constants): Prototype.
3489 * dwarf2out.c (dwarf2out_begin_prologue): Generate
3490 current_function_func_begin_label if we'll need it for EH. Exit
3491 early for IA64_UNWIND_INFO.
3492 * except.c: Get DW_EH_PE_* defines from dwarf2.h.
3493 (eh_data_format_name): Update for indirect references.
3494 (output_function_exception_table): Care for IA64_UNWIND_INFO.
3495 Handle ASM_PREFERRED_EH_DATA_FORMAT.
3496 * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
3497 define HAVE_eh_return etc.
3498 * final.c (final_start_function): Always call dwarf2out_begin_prologue.
3499 (final_end_function): Don't call output_function_exception_table.
3500 * toplev.c (compile_file): Call dw2_output_indirect_constants.
3501 (rest_of_compilation): Invoke output_function_exception_table
3502 for ia64 before assemble_end_function.
3503 * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
3504 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
3505
3506 * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
3507 * unwind.h: Declare them.
3508 * libgcc-std.ver: Export them.
3509 * unwind-pe.h: New file.
3510
3511 * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
3512
3513 * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
3514 instead of "fde".
3515 (find_fde_for_dso): Extract DT_PLTGOT.
3516 (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
3517 the segment and gp as well.
3518 * config/ia64/frame-ia64.c: Remove file.
3519 * config/ia64/frame-ia64.h: Remove file.
3520 * config/ia64/unwind-ia64.c: New file.
3521 * config/ia64/unwind-ia64.h: New file.
3522 * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
3523 (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
3524 (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
3525 (ASM_PREFERRED_EH_DATA_FORMAT): New.
3526 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
3527 (IA64_UNWIND_INFO): Re-enable.
3528 (HANDLER_SECTION): Remove.
3529 (EH_RETURN_DATA_REGNO): New.
3530 * config/ia64/ia64.md (exception_receiver): Remove.
3531 * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
3532 * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
3533
3534 2001-05-11 Richard Henderson <rth@redhat.com>
3535
3536 * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
3537 calls and jumps to be bundled together.
3538 (ia64_reorg): Emit a break after a noreturn call that ends
3539 a function.
3540 * config/ia64/ia64.md (break_f): New.
3541
3542 2001-05-12 Neil Booth <neil@daikokuya.demon.co.uk>
3543
3544 * c-lex.c (lex_charconst): Convert into a simple wrapper
3545 around cpp_interpret_charconst, to which most of the code
3546 body is moved.
3547 * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
3548 MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
3549 MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
3550 (lex): Use cpp_interpret_charconst.
3551 * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
3552 hex_digit_value): New functions.
3553 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
3554 * cpplib.h (cpp_interpret_charconst): New prototype.
3555 * Makefile.in: Update.
3556
3557 2001-05-12 Dean Wakerley <dean@wakerley.com>
3558
3559 * doc/install.texi: New file. Converted to texinfo from the HTML
3560 documentation in wwwdocs/htdocs/install.
3561
3562 Fri May 11 15:50:13 2001 Jeffrey A Law (law@cygnus.com)
3563
3564 * gcse.c (insert_insn_end_bb): Do not search for assignments to
3565 non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
3566
3567 * toplev.c (compile_file): Move comment for opening output
3568 file to just before the code that opens the output file.
3569
3570 2001-05-11 Jakub Jelinek <jakub@redhat.com>
3571
3572 * regmove.c (regmove_optimize): Suppress the optimization for
3573 unchanging destination register. Add comment above function.
3574
3575 2001-05-11 Zack Weinberg <zackw@stanford.edu>
3576
3577 * Makefile.in: Exterminate all references to assert.h.
3578 * cross-make: Likewise.
3579 * assert.h: Delete.
3580 * configure.in: Correct commentary.
3581 * configure: Regenerate.
3582
3583 * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
3584 Remove __eprintf.
3585
3586 * config/t-freebsd, config/t-linux, config/t-linux-aout,
3587 config/t-netbsd, config/t-rtems, config/x-linux,
3588 config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
3589 No need to override INSTALL_ASSERT_H.
3590
3591 * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
3592 fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
3593 fixinc/fixincl.sh: Don't install assert.h into objdir/include.
3594
3595 2001-05-11 Graham Stott <grahams@redhat.com>
3596
3597 * combine.c (simplify_comparison): Fix typo.
3598
3599 2001-05-11 Mark Mitchell <mark@codesourcery.com>
3600
3601 * loop.h (struct movables): Remove `num'.
3602 * loop.c (scan_loop): Don't set it. Use count_insns_in_loop.
3603 Adjust call to strength_reduce.
3604 (num_unmoved_movables): New function.
3605 (move_movables): Don't set movables->num.
3606 (strength_reduce): Compute the number of instructions in the loop
3607 here, rather than in the caller.
3608 (check_dbra_loop): Always clear reversible_mem_store if there
3609 are any memory sets.
3610 (loop_regs_scan): Don't count instructions here.
3611 (count_insn_in_loop): New function.
3612
3613 2001-05-11 Mark Mitchell <mark@codesourcery.com>
3614
3615 * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
3616
3617 2001-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
3618
3619 * c-common.c (finish_label_expr): New function, lifted from
3620 from cp/semantics.c.
3621 * c-common.h (finish_label_expr, lookup_label): New prototypes.
3622 * c-parse.in: Move 3 blocks of parser code into new functions.
3623 * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
3624 * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
3625 (lookup_label): Remove.
3626
3627 2001-05-11 Alexandre Oliva <aoliva@redhat.com>
3628
3629 * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
3630 FLOAT_BIT_ORDER_MISMATCH.
3631
3632 2001-05-10 David Edelsohn <edelsohn@gnu.org>
3633
3634 * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
3635 bytes. Reported by Kazu Hirata <kazu@hxi.com>.
3636
3637 2001-05-10 David Edelsohn <edelsohn@gnu.org>
3638
3639 * expr.c (emit_group_load): extract_bit_field requires a REG or
3640 MEM as an argument.
3641
3642 Thu May 10 14:45:44 2001 Jeffrey A Law (law@cygnus.com)
3643
3644 * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
3645 a computed jump into an unconditional jump.
3646 In second hunk of code for collapsing computed and conditional jumps
3647 into unconditional jumps, reemit the jump in additional cases.
3648
3649 * jump.c (jump_optimize_1): Do not wrap the new jump target
3650 inside a LABEL_REF; gen_jump will do that automatically.
3651
3652 2001-05-10 Toon Moene <toon@moene.indiv.nluug.nl>
3653
3654 * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
3655 contents for a SYMBOL_REF in case of floating point constants.
3656
3657 2001-05-10 DJ Delorie <dj@redhat.com>
3658
3659 * c-common.c (combine_strings): Widen strings in a
3660 host-endian-independent way.
3661
3662 2001-05-10 Joseph S. Myers <jsm28@cam.ac.uk>
3663
3664 * c-parse.in: Remove many shift/reduce conflicts. Update
3665 %expect values.
3666 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
3667 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
3668 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
3669 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
3670 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
3671 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
3672 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
3673 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
3674 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
3675 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
3676 maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
3677 typespec_reserved_nonattr, typespec_reserved_attr,
3678 typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
3679 structsp_nonattr, components_notype, component_notype_declarator,
3680 absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
3681 firstparm, setspecs_fp): New
3682 (typed_declspecs, reserved_declspecs, typed_typespecs,
3683 reserved_typespecquals, declmods, typespec, typespecqual_reserved,
3684 typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
3685 declmods_no_prefix_attr, nonempty_type_quals, structsp,
3686 type_quals): Remove. Users updated.
3687 (initdecls, notype_initdecls, after_type_declarator,
3688 parm_declarator, notype_declarator, absdcl1, components, ivars):
3689 Don't allow attributes at the start of a declarator; include them
3690 in the production containing the declarator instead. Always
3691 require type specifiers before trying to redeclare a typedef name.
3692 (typename): Allow for attributes but warn that they are ignored.
3693 (parmlist, firstparm, setspecs_fp): Include attributes in
3694 parmlist; suck them off the parser stack in firstparm using
3695 setspecs_fp.
3696
3697 Thu May 10 09:17:42 2001 Jeffrey A Law (law@cygnus.com)
3698
3699 * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
3700 to determine if a block has an unconditional jump at its end.
3701
3702 * jump.c (jump_optimize_1): When converting a conditional jump
3703 to an unconditional jump, build the jump using gen_jump instead
3704 of just modify operands in-place.
3705
3706 2001-05-09 Zack Weinberg <zackw@stanford.edu>
3707
3708 * cppinit.c (cpp_post_options): Shut off macro expansion if
3709 -fpreprocessed.
3710 * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
3711 IN_I directives only if the # is in column 1 and the directive
3712 name begins in column 2.
3713 * cppmain.c (scan_buffer): Insert a space between # and an
3714 identifier, when that identifier is a directive name.
3715
3716 * tradcpp.c (struct file_buf): Add a pointer to the next entry
3717 in the header search path.
3718 (enum node_type): Add T_INCLUDE_NEXT.
3719 (directive_table): Add entry for include_next.
3720 (do_include_next): New function.
3721 (process_include): New routine, broken out of do_include.
3722 (finclude): Insert 'nhd' argument, to be copied into
3723 next_header_dir of the new buffer.
3724 (main): Adjust to match.
3725 * gsyslimits.h, limity.h: Un-indent #include_next.
3726
3727 2001-05-09 Joseph S. Myers <jsm28@cam.ac.uk>
3728
3729 * objc.texi: Move from ../libobjc/objc-features.texi. Adjust for
3730 inclusion as a chapter of the GCC manual.
3731 * gcc.texi: Include objc.texi.
3732 * fdl.texi: Use @unnumberedsec for the addendum.
3733 * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
3734
3735 Wed May 9 16:01:41 CEST 2001 Jan Hubicka <jh@suse.cz>
3736
3737 * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
3738
3739 Wed May 9 10:40:25 2001 Alexandre Oliva <aoliva@redhat.com>
3740
3741 * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
3742 handling of two-address insns.
3743
3744 Wed May 9 10:36:18 2001 Alexandre Oliva <aoliva@redhat.com>
3745
3746 * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
3747 ../binutils/nm-new instead of ../binutils/nm.
3748
3749 Wed May 9 12:15:46 CEST 2001 Jan Hubicka <jh@suse.cz>
3750
3751 * i386.md (movdi splitter): Fix the splitting condition
3752 (float_extenddftf splitter): Fix mode.
3753
3754 Wed May 9 12:05:39 CEST 2001 Jan Hubicka <jh@suse.cz>
3755
3756 * genrecog.c (write_switch): Avoid outputting of switch for
3757 types wider than int.
3758
3759 2001-05-03 Andrew Haley <aph@cambridge.redhat.com>
3760
3761 * reload1.c (copy_eh_notes): New function.
3762 (emit_input_reload_insns): Call it.
3763 (emit_output_reload_insns): Call it.
3764
3765 2001-05-07 Zack Weinberg <zackw@stanford.edu>
3766
3767 * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
3768 Delete stanzas.
3769 * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
3770 config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
3771
3772 * optabs.c: Delete #ifdef BROKEN_LDEXP block.
3773
3774 2001-05-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
3775
3776 * pa.md (interspace_jump): Revise comment.
3777 (builtin_longjmp): Block initial setup insns from delay slot of
3778 interspace branch.
3779 (builtin_setjmp_receiver): New expander to save and restore PIC
3780 register.
3781
3782 * som.h (NM_FLAGS): Remove `-n' sort option. Revise comment.
3783
3784 Mon May 7 09:30:14 2001 Jeffrey A Law (law@cygnus.com)
3785
3786 * toplev.c (compile_file): Set up the output file before we call
3787 the various initializers for the compiler.
3788
3789 * except.c (sjlj_mark_call_sites): Do not search for assignments to
3790 non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
3791
3792 * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
3793 * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
3794
3795 2001-05-06 Zack Weinberg <zackw@stanford.edu>
3796
3797 * Makefile.in (tradcpp0): Correct typo in dependency list.
3798
3799 2001-05-06 Geoff Keating <geoffk@redhat.com>
3800
3801 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
3802 the link register if we're not going to use it.
3803
3804 * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
3805 (output_function_profiler): Likewise.
3806
3807 2001-05-07 Alan Modra <amodra@one.net.au>
3808
3809 * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
3810
3811 2001-05-06 Alexandre Oliva <aoliva@redhat.com>
3812
3813 * unroll.c (loop_iterations): Don't sign-extend abs_diff;
3814 zero-extend it. Make abs_inc unsigned.
3815
3816 * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
3817 widest mode in narrowing and widening operations.
3818
3819 * config/mips/mips.md: Sign extend CONST_INTs.
3820
3821 2001-05-06 Andreas Jaeger <aj@suse.de>
3822
3823 * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
3824 (i386 Options): Document -momit-leaf-frame-pointer.
3825
3826 2001-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
3827
3828 * c-typeck.c (internal_build_compound_expr): Check for
3829 array to pointer conversion just once.
3830
3831 2001-05-05 Richard Henderson <rth@redhat.com>
3832
3833 * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
3834
3835 2001-05-05 Richard Henderson <rth@redhat.com>
3836
3837 * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
3838 to the parent of the fixup region.
3839
3840 2001-05-05 Jakub Jelinek <jakub@redhat.com>
3841
3842 * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
3843 "inline" keyword.
3844 * cpp.texi (__NO_INLINE): Document it.
3845
3846 2001-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
3847
3848 * cppfiles.c (struct include_file): New member err_no.
3849 (find_or_create_entry): Set it.
3850 (open_file): Don't set fds to -2. Instead, use err_no to
3851 remember previous errors, if any.
3852
3853 2001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3854
3855 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
3856 between X and Y by using sequences of xgdx and xgdy.
3857
3858 2001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3859
3860 * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
3861 of '!' for the 'D' alternative ('!' is too strong).
3862 ("*logicalsi3_silshl16"): Likewise.
3863 ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
3864 ("movstrictsi"): Remove spurious '+'.
3865 ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
3866 ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
3867 ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
3868 a reload to them.
3869
3870 2001-05-04 David Edelsohn <edelsohn@gnu.org>
3871
3872 * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
3873
3874 2001-05-04 Lars Brinkhoff <lars@nocrew.org>
3875
3876 * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
3877 into -a.
3878
3879 2001-05-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3880
3881 * config/rs6000/rs6000.md (ashldi3 splits): Guard with
3882 TARGET_POWERPC64.
3883
3884 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3885
3886 * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
3887 soft register, use ror instead of rol.
3888
3889 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3890
3891 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
3892 into account pre/post increment decrement for 68HC12.
3893 Fix other problems in replacement and fix call to reg_mentioned_p.
3894
3895 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3896
3897 * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
3898 Put the soft registers in bss for 68HC12.
3899 (L_regs_d3_4): New for _.d3 and _.d4.
3900 (L_regs_d5_6): Likewise.
3901 (L_regs_d1_2): Likewise.
3902 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
3903
3904 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3905
3906 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
3907 to the pre-processor when -fshort-double is specified.
3908 * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
3909
3910 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3911
3912 * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
3913 (__mulsi3): Rewrite for 68HC12.
3914 * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
3915 Mark 'x' constraint with earlyclobber to prevent a
3916 RELOAD_FOR_OTHER_ADDRESS to go in it.
3917 (mulhi3_m68hc12): New pattern.
3918 (mulhi3_m68hc11): Rename of mulhi3.
3919 (mulhi3): New expand for 68HC12 optimisation.
3920 (umulhisi3, mulhisi3): New patterns for 68HC12.
3921
3922 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3923
3924 * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
3925 (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
3926 (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
3927
3928 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3929
3930 * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
3931 constants cheap after reload.
3932 * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
3933 are cheap.
3934 (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
3935 so that gcc prefers a shift by 16.
3936 (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
3937
3938 2001-05-04 Nick Clifton <nickc@cambridge.redhat.com>
3939
3940 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
3941
3942 2001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3943
3944 * alpha.h: NULL_PTR -> NULL.
3945 * arm.c: Likewise.
3946 * arm.h: Likewise.
3947 * avr.h: Likewise.
3948 * c4x.c: Likewise.
3949 * c4x.h: Likewise.
3950 * i386.c: Likewise.
3951 * i386.md: Likewise.
3952 * i860.c: Likewise.
3953 * ia64.c: Likewise.
3954 * m68hc11.h: Likewise.
3955 * rs6000.h: Likewise.
3956 * sh.c: Likewise.
3957 * sh.h: Likewise.
3958 * sparc.h: Likewise.
3959 * v850.c: Likewise.
3960
3961 * expr.c: Likewise.
3962 * final.c: Likewise.
3963 * gcc.c: Likewise.
3964 * recog.c: Likewise.
3965
3966 2001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3967
3968 * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
3969 `bool' parameter to `int'.
3970
3971 * hash.c (hash_lookup): Likewise.
3972
3973 * hash.h (hash_lookup): Likewise.
3974
3975 * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
3976
3977 Fri May 4 13:10:03 CEST 2001 Jan Hubicka <jh@suse.cz>
3978
3979 * i386.c (x86_initialize_trampoline): Fix mode of constant.
3980
3981 2001-05-03 Geoff Keating <geoffk@redhat.com>
3982
3983 * invoke.texi (i386 Options): Delete references to -malign-jumps,
3984 -malign-loops, -malign-functions.
3985 * i386.c (ix86_align_funcs): Delete.
3986 (ix86_align_loops): Delete.
3987 (ix86_align_jumps): Delete.
3988 (override_options): Mark -malign-* as obsolete. Emulate their
3989 behaviour with the -falign-* options. Default -falign-* from
3990 the processor table.
3991 * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
3992 patch of Wed May 2 13:09:36 2001.
3993 (LOOP_ALIGN): Delete.
3994 (LOOP_ALIGN_MAX_SKIP): Delete.
3995 (LABEL_ALIGN_AFTER_BARRIER): Delete.
3996 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
3997
3998 2001-05-04 Andreas Jaeger <aj@suse.de>
3999
4000 * except.h: Add prototype declaration for
4001 expand_builtin_init_dwarf_reg_sizes.
4002
4003 2001-05-03 Geoffrey Keating <geoffk@redhat.com>
4004
4005 * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
4006
4007 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4008
4009 * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
4010 instruction.
4011 ("bitcmpqi2"): New pattern for bit-extract and test.
4012 ("bitcmphi"): New pattern for bitb/bita instructions.
4013
4014 2001-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
4015
4016 * gccbug.in: Use a temporary directory when the mktemp command is
4017 not available.
4018
4019 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4020
4021 * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
4022 instead of _.d1.
4023 (INITIALIZE_TRAMPOLINE): Call it.
4024 (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
4025 (TRAMPOLINE_TEMPLATE): Remove.
4026 * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
4027 * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
4028 Declare.
4029
4030 2001-05-03 David O'Brien <obrien@FreeBSD.org>
4031
4032 * config/t-freebsd: Don't install "assert.h" in gcc. Compile crtbeginS.o
4033 and crtendS.o with PIC.
4034
4035 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4036
4037 * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
4038 negative numbers.
4039 (___subdi3, ___adddi3): Use x instead of y as index register.
4040 (__init_bss_section, __map_data_section): Optimize for 68HC12.
4041 (__memset, __memcpy): Likewise.
4042 (regs): Put the soft registers in bss for 68HC12.
4043 (abort): Use trap to abort for 68hc12.
4044 (__mulhi3, __mulhi32): Use emul for 68hc12.
4045 (__mulsi3): Avoid to use the tmp soft register for 68hc12.
4046
4047 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4048
4049 * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
4050 * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
4051 * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
4052 (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
4053 Set 68HC12 min offset to -65536.
4054 (print_operand): Put parenthesis arround the operand if it refers
4055 to a symbol having the same name as a register.
4056 (m68hc11_z_replacement): When z register is replaced by its
4057 equivalent soft register, force the insn to be re-recognized.
4058 (m68hc11_check_z_replacement): Fix the test when destination is
4059 the index register and z dies in the insn.
4060 (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
4061
4062 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4063
4064 * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
4065 costs according to processor variant.
4066 (m68hc11_shift_cost): New function to compute shift costs.
4067 (m68hc11_rtx_costs): Define costs according to processor variant.
4068 (m6811_cost): Costs for 68HC11.
4069 (m6812_cost): Costs for 68HC12.
4070 (COSTS_N_INSNS): Remove.
4071
4072 * config/m68hc11/m68hc11.h (RTX_COSTS): New.
4073 (DEFAULT_RTX_COSTS): Remove.
4074 (CONST_COSTS): Define costs according to OUTER_CODE.
4075 (processor_costs): New struct to define costs.
4076 (m68hc11_cost): Pointer to current costs.
4077
4078 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4079
4080 * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
4081 and use m68hc11_notice_keep_cc when using leax/leay.
4082 (addhi3 split): Reject split if the insn is handled by
4083 leax/leay above.
4084 * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
4085 push must be handled in a special way if the source operand uses
4086 sp as index register.
4087 (m68hc11_notice_keep_cc): New function.
4088 (m68hc11_gen_movhi): Use it when an insn changes a register but
4089 not the flags.
4090 (m68hc11_gen_movqi): Fix move for 68HC12.
4091 * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
4092
4093 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4094
4095 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
4096 and don't pass operands[0] to emit_library_call_value.
4097
4098 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4099
4100 * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
4101 (zero_extendsi split): Simplify and use (zero_extendhi).
4102 (*addhi3): Remove 'w' constraint since stack pointer is handled
4103 by (addhi3_sp).
4104 (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
4105 (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
4106 (*ashrhi3_const): Fix shift by 7.
4107 (*lshrsi3_const16): Fix template.
4108 (call, call_value): Fix constraint and predicate.
4109
4110 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4111
4112 * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
4113 (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
4114 (CC_REGNUM): Likewise.
4115 (*unnamed splits): Use above constants instead of hard coded numbers.
4116 (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
4117 (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
4118 (*return_16bit, *unnamed peepholes): Likewise.
4119
4120 2001-05-03 David O'Brien <obrien@FreeBSD.org>
4121
4122 * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix): Do not include
4123 rs6000/rs6000.h twice.
4124
4125 2001-05-03 Mark Elbrecht <snowball3@bigfoot.com>
4126
4127 * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
4128 (CPP_SPEC): Conditionally define MSDOS and GO32.
4129 (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
4130 (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
4131 ignored.
4132 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
4133
4134 2001-05-03 Alexandre Oliva <aoliva@redhat.com>
4135
4136 * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
4137
4138 2001-05-03 Mark Mitchell <mark@codesourcery.com>
4139
4140 * integrate.h (struct inline_remap): Add leaf_reg_map table.
4141 * integrate.c (expand_inline_function): Use xcalloc to allocate
4142 memory.
4143 (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
4144 registers.
4145
4146 2001-05-03 Mark Mitchell <mark@codesourcery.com>
4147
4148 * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
4149 if it is not set.
4150
4151 2001-05-03 Alexandre Oliva <aoliva@redhat.com>
4152
4153 * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
4154 linker if -mrelax is given.
4155 (TARGET_SWITCHES): Document -mrelax.
4156
4157 Re-installed 2001-01-09's patch:
4158 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
4159 if it's wider than long and the target's long is wider than the
4160 host's.
4161
4162 2001-05-02 David O'Brien <obrien@FreeBSD.org>
4163
4164 * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h: Do not
4165 directly include rs6000/rs6000.h. Instead do it in tm.h.
4166
4167 2001-05-02 Stan Shebs <shebs@apple.com>
4168
4169 * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
4170 NSConstantString for NeXT-style runtimes.
4171 (STRING_OBJECT_GLOBAL_NAME): New macro.
4172 (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
4173 OCTI_STRING_CLASS_DECL.
4174 (constant_string_global_id): New macro.
4175 (string_class_decl): Ditto.
4176 (setup_string_decl): New function.
4177 (build_objc_string_object): Use it to build a NeXT runtime
4178 compatible string initializer.
4179
4180 2001-05-02 Jakub Jelinek <jakub@redhat.com>
4181
4182 * tradcpp.c (do_define): Make sure we don't walk past limit.
4183
4184 2000-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4185
4186 * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
4187 offsets if not REG_OK_STRICT.
4188
4189 * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
4190 (INT_REG_OK_FOR_INDEX_P): Likewise.
4191 (INT_REG_OK_FOR_BASE_P): Likewise.
4192 (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
4193 (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
4194 (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
4195 INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
4196 REG_OK_FOR_BASE_P. Take an additional parameter.
4197 (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
4198 (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
4199 (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
4200 (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
4201 rs6000_legitimate_address() and use it.
4202 * config/rs6000/rs6000.c: Update all callers.
4203 (rs6000_legitimate_address): New function.
4204
4205 2001-05-02 David Edelsohn <edelsohn@gnu.org>
4206
4207 * config/rs6000/rs6000.c (rs6000_emit_move): Merge
4208 special_constant conditional blocks together.
4209
4210 2001-05-02 Dale Johannesen <dalej@apple.com>
4211
4212 * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
4213 parameter.
4214 (STRICT_ARGUMENT_NAMING): Define.
4215 * config/rs6000/rs6000.c (function_arg_advance, function_arg,
4216 function_arg_partial_nregs, setup_incoming_varargs): Remove
4217 args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
4218 is defined.
4219
4220 Wed May 2 13:09:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4221
4222 * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
4223
4224 * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
4225 for replacement.
4226
4227 * expr.c (store_field): Do nothing except elaborate side-effects if
4228 zero-bit field.
4229
4230 2001-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4231
4232 * c-lex.c: NULL_PTR -> NULL.
4233 * cse.c: Likewise.
4234 * emit-rtl.c: Likewise.
4235 * gcse.c: Likewise.
4236 * genpeep.c: Likewise.
4237 * jump.c: Likewise.
4238 * mips-tdump.c: Likewise.
4239 * reload1.c: Likewise.
4240 * rtlanal.c: Likewise.
4241 * stmt.c: Likewise.
4242 * stor-layout.c: Likewise.
4243 * toplev.c: Likewise.
4244
4245 2001-05-01 Per Bothner <per@bothner.com>
4246
4247 * expr.c (expand_expr): When compiling LABELED_BLOCK_EXPR,
4248 call do_pending_stack_adjust before emiting label.
4249
4250 2001-05-01 Mark Mitchell <mark@codesourcery.com>
4251
4252 * extend.texi: Fix typo.
4253
4254 2001-05-01 Stan Shebs <shebs@apple.com>
4255
4256 * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
4257 of UOBJC_MODULES_decl.
4258 (generate_strings): Clear DECL_CONTEXT of new decl nodes.
4259 (generate_descriptor_table): Ditto.
4260 (generate_protocols): Ditto.
4261 (generate_protocol_list): Ditto.
4262 (generate_classref_translation_entry): Ditto.
4263
4264 2001-05-01 Jeffrey Oldham <oldham@codesourcery.com>
4265
4266 * invoke.texi (Optimize Options): Add documentation for `--param
4267 max-delay-slot-insn-search' and `--param
4268 max-delay-slot-live-search' and reorder --param section.
4269 * params.def: Modify initial comment.
4270 * params.h (param_info): Add `help' member.
4271 * toplev.c (lang_independent_params): Include `help' description.
4272 (display_help): Print --param parameters.
4273
4274 2001-05-01 Zack Weinberg <zackw@stanford.edu>
4275
4276 * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
4277 Remove references to deleted files.
4278 (*-*-openbsd): No need to override xmake_file.
4279 (*-*-sysv4): Treat like *-*-sysv.
4280
4281 * configure.in: Probe for ldopen in various places, and set up
4282 collect2 to be linked with them if found.
4283 Don't dink with Windows registry stuff unless $host_os is a
4284 Win32 os name. Check to see if we need -ladvapi32.
4285 * configure: Regenerate.
4286
4287 * Makefile: Get rid of CLIB and HOST_CLIB.
4288 Substitute in COLLECT2_LIBS and link collect2 against its contents.
4289 * build-make: Get rid of HOST_CLIB.
4290
4291 * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
4292 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
4293 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
4294 config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
4295 config/rs6000/x-rs6000: Delete.
4296
4297 * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
4298 Don't set CLIB.
4299
4300 24 x-host fragments remain, 0 x-cpu, 3 top level.
4301
4302 2001-05-01 Zack Weinberg <zackw@stanford.edu>
4303
4304 * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
4305 * configure: Regenerate.
4306
4307 2001-05-01 Angela Marie Thomas <angela@cygnus.com>
4308
4309 * Makefile.in (install-headers): Remove redundant dependency.
4310
4311 2001-05-01 Nathan Sidwell <nathan@codesourcery.com>
4312
4313 * c-tree.texi (USING_STMT): Document.
4314
4315 2001-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4316
4317 * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
4318 * c-common.c: Likewise.
4319 * c-decl.c: Likewise.
4320 * combine.c: Likewise.
4321 * rs6000.c: Likewise.
4322 * except.c: Likewise.
4323 * explow.c: Likewise.
4324 * expr.c: Likewise.
4325 * fold-const.c: Likewise.
4326 * function.c: Likewise.
4327 * gcc.c: Likewise.
4328 * gcse.c: Likewise.
4329 * integrate.c: Likewise.
4330 * loop.c: Likewise.
4331 * objc/objc-act.c: Likewise.
4332 * recog.c: Likewise.
4333 * reg-stack.c: Likewise.
4334 * reload.c: Likewise.
4335 * reload1.c: Likewise.
4336 * simplify-rtx.c: Likewise.
4337 * stmt.c: Likewise.
4338 * varasm.c: Likewise.
4339
4340 2001-05-01 Gabriel Dos Reis <gdr@codesourcery.com>
4341
4342 * diagnostic.def: New file.
4343 * diagnostic.h (diagnostic_t): New enum.
4344 * Makefile.in (diagnostic.o): Depend on diagnostic.def
4345
4346 2001-04-30 Zack Weinberg <zackw@stanford.edu>
4347
4348 * tsystem.h: Test only POSIX for availability of string.h
4349 and time.h.
4350 * config.gcc (all systems): If USG appeared in xm_defines,
4351 change it to POSIX. If both USG and POSIX appeared, just
4352 delete USG. Remove unnecessary quotes around xm_defines
4353 settings.
4354 (m68k-crds-unos*): Don't #define unos - tested nowhere.
4355 (m68k-apple-aux*): Don't #define AUX - tested nowhere.
4356 (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
4357 powerpc-*-linux*): No need to set xm_defines - handled by
4358 global settings for *-*-linux*.
4359
4360 2001-04-30 Zack Weinberg <zackw@stanford.edu>
4361
4362 * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
4363 Always include gstab.h, not system stab.h. Don't provide
4364 default definitions of N_CATCH or N_OPT. Always use the
4365 gstab.h variant of STAB_CODE_TYPE.
4366 * final.c: Don't include stab.h/gstab.h at all, or provide
4367 defaults for N_SLINE and N_SOL.
4368
4369 * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
4370 N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
4371 available.
4372 * sdbout.c: Always include gsyms.h instead of system syms.h.
4373
4374 * configure.in: No need to check for stab.h.
4375 * configure, config.in: Regenerate.
4376 * Makefile.in (final.o): Don't depend on gstab.h.
4377
4378 2001-04-30 Mark Mitchell <mark@codesourcery.com>
4379 Richard Henderson <rth@redhat.com>
4380
4381 * extend.texi: Improve documentation of volatile asms.
4382
4383 2001-04-30 Mark Mitchell <mark@codesourcery.com>
4384
4385 * c-tree.texi: Fix thinko.
4386 * gcc.texi: Likewise.
4387
4388 2001-04-30 Richard Henderson <rth@redhat.com>
4389
4390 * c-common.c (c_promoting_integer_type_p): New function, from the
4391 corpse of old macro. Properly promote too-small enumerations and
4392 booleans. Adjust all callers.
4393 * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
4394 (c_promoting_integer_type_p): Declare.
4395 * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
4396 * c-typeck.c: Likewise.
4397 (default_conversion): Remove now redundant boolean check.
4398
4399 2001-04-30 Jan Hubicka <jh@suse.cz>
4400 Richard Henderson <rth@redhat.com>
4401
4402 * regmove.c (try_apply_stack_adjustment): Remove now redundant
4403 sanity checks.
4404 (combine_stack_adjustments_for_block): Don't combine stack
4405 allocation followed by deallocations. Handle grow-up stacks.
4406
4407 2001-04-30 Mark Mitchell <mark@codesourcery.com>
4408
4409 * fdl.texi: New file.
4410 * c-tree.texi: Use the GFDL.
4411 * gcc.texi: Likewise.
4412
4413 2001-04-30 Stan Shebs <shebs@apple.com>
4414
4415 * invoke.texi: Add a section documenting Objective-C options.
4416
4417 2001-04-27 Andrew Haley <aph@cambridge.redhat.com>
4418
4419 * emit-rtl.c (try_split): Copy EH notes to sequence.
4420
4421 2001-04-30 Mark Mitchell <mark@codesourcery.com>
4422
4423 * regmove.c (record_stack_memrefs): Catch all references to the
4424 stack pointer.
4425
4426 2001-04-29 Toomas Rosin <toomas at ns dot tklabor dot ee>
4427
4428 * Makefile.in (stmp-fixinc): quote shell assignment values
4429
4430 2001-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4431
4432 * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
4433
4434 * gcc.c: Likewise.
4435
4436 * prefix.c: Likewise.
4437
4438 2001-04-28 Stan Shebs <shebs@apple.com>
4439
4440 * objc/objc-act.c (handle_class_ref): Rewrite to flush target
4441 specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
4442 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
4443 * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
4444
4445 * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
4446 (NEXT_OBJC_RUNTIME): Define.
4447
4448 Sat Apr 28 21:02:58 CEST 2001 Jan Hubicka <jh@suse.cz>
4449
4450 * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
4451 * simplify-rtx.c (simplify_gen_relational): Likewise.
4452
4453 * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
4454
4455 * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
4456 * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
4457
4458 * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
4459 registers in SSE case; fix handling of the immediates.
4460 (negsf2_ifs, abssf2_ifs): Tweak constraints; require
4461 operands to be in regsiters before reload.
4462 (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
4463 (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
4464 (abstf,absxf,negtf,negxf splitters): Compute
4465 properly the regnum for x86_64.
4466 (avsdf2_if_rex64): New.
4467
4468 Sat Apr 28 10:36:23 2001 Jeffrey A Law (law@cygnus.com)
4469
4470 * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
4471 and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
4472 into the constant pool.
4473 * jump.c (jump_optimize_1): Remove barrier successors after all
4474 the LABEL_NUSES counds have been computed.
4475 (delete_barrier_successors): When deleting a tablejump insn, also
4476 delete the jump table it uses.
4477 * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
4478 label into memory.
4479
4480 2001-04-28 Martin Kalen <martin.kalen@todaysystems.com.au>
4481
4482 * pa.c (FRP): Remove erroneous white space in macro definition.
4483
4484 2001-04-28 Andreas Jaeger <aj@suse.de>
4485
4486 * invoke.texi: Use XX-bit instead of XXbit or XX bit where
4487 appropriate.
4488 * extend.texi: Likewise.
4489 * tm.texi: Likewise.
4490
4491 2001-04-28 Andreas Jaeger <aj@suse.de>
4492
4493 * md.texi: Use XX-bit instead of XXbit or XX bit where
4494 appropriate.
4495
4496 2001-04-28 Jens Schweikhardt <schweikh@schweikhardt.net>
4497
4498 * gcc.c (process_command): Allow -l lib in addition to -llib
4499 for POSIX compliance. This fixes PR c/2347.
4500
4501 * invoke.texi: Update section on Link Options accordingly.
4502
4503 2001-04-27 Zack Weinberg <zackw@stanford.edu>
4504
4505 * function.c (purge_addressof_1): Remove the duplicate
4506 if (code == SET) block. Fold the two if (code == ADDRESSOF)
4507 blocks together.
4508
4509 2001-04-28 Jason Merrill <jason_merrill@redhat.com>
4510
4511 * except.c (expand_eh_region_start): Don't start a new block.
4512 (expand_eh_region_end): Don't end a block.
4513 * stmt.c (expand_end_bindings): Don't end EH blocks.
4514 (expand_decl_cleanup): Starting an EH region won't change the block.
4515 (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
4516 (is_eh_region): Lose.
4517 * tree.h: Adjust.
4518
4519 2001-04-27 Jeffrey Oldham <oldham@codesourcery.com>
4520
4521 * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
4522
4523 * collect2.c (main): Add `-L' case to remove duplicate entries.
4524 (is_in_args): New function to check for a duplicate argument.
4525 * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
4526 * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
4527 * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
4528 Define to be nonzero.
4529
4530 2001-04-27 Andreas Jaeger <aj@suse.de>
4531 Richard Henderson <rth@redhat.com>
4532
4533 * md.texi (Machine Constraints): Document additional i386
4534 constraints and fix description of "A".
4535
4536 Fri Apr 27 10:43:49 2001 Jeffrey A Law (law@cygnus.com)
4537
4538 * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
4539
4540 2001-04-27 Jason Merrill <jason_merrill@redhat.com>
4541
4542 * except.c (get_exception_filter): word_mode, not Pmode.
4543
4544 2001-04-26 Geoffrey Keating <geoffk@redhat.com>
4545
4546 * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
4547 common to other movsf patterns. Move up so that in future
4548 people who change the other patterns will change it too.
4549 (movsf_lo_sum): Allow even for soft-float; add appropriate
4550 constraints.
4551 (movsf_high): Likewise.
4552 (movsf_high+1): Allow even for soft-float.
4553
4554 * function.c (expand_function_end): Always clobber the
4555 return registers, even if there is no return label.
4556
4557 Thu Apr 26 20:28:21 CEST 2001 Jan Hubicka <jh@suse.cz>
4558
4559 * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
4560
4561 Thu Apr 26 19:20:28 CEST 2001 Jan Hubicka <jh@suse.cz>
4562
4563 * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
4564 (pushqi2_rex64, pushhi2_rex64): Add.
4565
4566 2001-04-26 Andrew Haley <aph@cambridge.redhat.com>
4567
4568 * except.c (expand_eh_region_end_cleanup): Force pending stack
4569 adjust before emitting label that branches around cleanup code.
4570
4571 2001-04-26 H.J. Lu (hjl@gnu.org)
4572
4573 * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
4574
4575 * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
4576 define.
4577 * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
4578 (ASM_OUTPUT_SECTION_NAME): Likewise.
4579 (ASM_WEAKEN_LABEL): Likewise.
4580 (UNIQUE_SECTION): Likewise.
4581 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
4582 (ASM_OUTPUT_DESTRUCTOR): Likewise.
4583 * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
4584 (ASM_OUTPUT_SECTION_NAME): Likewise.
4585 (ASM_WEAKEN_LABEL): Likewise.
4586 (UNIQUE_SECTION): Likewise.
4587 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
4588 (ASM_OUTPUT_DESTRUCTOR): Likewise.
4589 * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
4590 * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
4591 (ASM_FILE_START): Likewise.
4592 (ASM_OUTPUT_SOURCE_LINE): Likewise.
4593 (ASM_DECLARE_OBJECT_NAME): Likewise.
4594 (ASM_FILE_END): Likewise.
4595 (ASM_DECLARE_FUNCTION_NAME): Likewise.
4596 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
4597 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4598 (ASM_OUTPUT_CASE_LABEL): Likewise.
4599 (ASM_OUTPUT_SKIP): Likewise.
4600 (ASM_OUTPUT_ASCII): Likewise.
4601 (ASM_OUTPUT_IDENT): Likewise.
4602 (READONLY_DATA_SECTION): Likewise.
4603 (EXTRA_SECTIONS): Likewise.
4604 (EXTRA_SECTION_FUNCTIONS): Likewise.
4605 (SELECT_RTX_SECTION): Likewise.
4606 (SELECT_SECTION): Likewise.
4607
4608 * config/mips/linux.h (INVOKE__main): Undefine.
4609 (CTOR_LIST_BEGIN): Likewise.
4610 (CTOR_LIST_END): Likewise.
4611 (DTOR_LIST_BEGIN): Likewise.
4612 (DTOR_LIST_END): Likewise.
4613 (SET_ASM_OP): Defined it to ".dummy".
4614 (ASM_OUTPUT_DEF): Defined.
4615 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
4616
4617 2001-04-26 Nick Clifton <nickc@cambridge.redhat.com>
4618
4619 * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
4620 assembler supports .p2align.
4621
4622 2001-04-26 Nathan Sidwell <nathan@codesourcery.com>
4623
4624 * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
4625
4626 2001-04-26 Jakub Jelinek <jakub@redhat.com>
4627
4628 * integrate.c (expand_inline_function): Check for error_mark_node
4629 in actual argument.
4630
4631 2001-04-26 Jakub Jelinek <jakub@redhat.com>
4632
4633 * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
4634 -m386 and -m486.
4635
4636 2001-04-26 Alexandre Oliva <aoliva@redhat.com>
4637
4638 * configure.in (configargs.h): Define thread_model.
4639 * configure: Rebuilt.
4640 * gcc.c (main): Print it with -v.
4641
4642 2001-04-25 Joseph S. Myers <jsm28@cam.ac.uk>
4643
4644 * invoke.texi: Document -Wmissing-braces, -dumpspecs,
4645 -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
4646 * gcc.1: Regenerate.
4647
4648 2001-04-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4649
4650 * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
4651 is_redundant_typedef): Use static inline instead of inline static.
4652
4653 Wed Apr 25 18:21:01 2001 Christopher Faylor <cgf@cygnus.com>
4654
4655 * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
4656 this directory is always searched.
4657
4658 2001-04-25 Richard Henderson <rth@redhat.com>
4659
4660 * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
4661 of registers to restore along non eh_return path.
4662
4663 2001-04-25 Jakub Jelinek <jakub@redhat.com>
4664
4665 * c-format.c (check_format_info_recurse): Handle
4666 PLUS_EXPR for format string.
4667
4668 2001-04-25 Jakub Jelinek <jakub@redhat.com>
4669
4670 * config/ia64/ia64.h (CC1_SPEC): Define.
4671 * config/ia64/linux.h (CC1_SPEC): Define.
4672
4673 Wed Apr 25 17:09:50 2001 J"orn Rennecke <amylaar@redhat.com>
4674
4675 * emit-rtl.c (constant_subword): Also do sign extension in
4676 BITS_PER_WORD == 16 case.
4677
4678 2001-04-25 Jason Merrill <jason_merrill@redhat.com>
4679
4680 * loop.c (try_swap_copy_prop): Go back to checking insn.
4681
4682 2001-04-25 Jakub Jelinek <jakub@redhat.com>
4683
4684 * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
4685 if check_mode is non-zero.
4686
4687 2001-04-25 Jakub Jelinek <jakub@redhat.com>
4688
4689 * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
4690 out and comparison sequence has been detected, put result into
4691 proper temporary pseudo.
4692
4693 2001-04-24 Zack Weinberg <zackw@stanford.edu>
4694
4695 * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
4696 * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
4697 * libgcc2.c: Remove __dummy and __builtin_saveregs.
4698 * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
4699 * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
4700 for future reference.
4701
4702 2001-04-24 Jason Merrill <jason_merrill@redhat.com>
4703
4704 * except.c (reachable_handlers): Step out one level from a RESX.
4705
4706 * except.c (struct eh_region): Rename 'last' to 'resume'.
4707 (mark_eh_region, duplicate_eh_region_1): Adjust.
4708 (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
4709 (build_post_landing_pads): Likewise.
4710 (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
4711 (expand_eh_region_end_must_not_throw): Likewise.
4712 (connect_post_landing_pads): Thread (only) regions with non-deleted
4713 resume insns.
4714
4715 * except.c (expand_eh_region_end_cleanup): Save the EH return data
4716 registers around the cleanup.
4717 (get_exception_filter): New fn.
4718 (finish_eh_generation): Use it.
4719
4720 2001-04-24 Nathan Sidwell <nathan@codesourcery.com>
4721
4722 * c-semantics.c (add_scope_stmt): Don't call
4723 current_scope_stmt_stack multiple times.
4724
4725 2001-04-24 Zack Weinberg <zackw@stanford.edu>
4726 Nathan Sidwell <nathan@codesourcery.com>
4727
4728 Lazy __FUNCTION__ generation.
4729 * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
4730 RID_C99_FUNCTION_NAME): New _RIDs.
4731 (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
4732 (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
4733 CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
4734 global tree slots.
4735 (function_id_node, pretty_function_id_node, func_id_node): Remove.
4736 (c99_function_name_decl_node, function_name_decl_node,
4737 pretty_function_name_decl_node, saved_function_name_decls):
4738 Declare.
4739 (struct language_function): Remove x_function_name_declared_p.
4740 (make_fname_decl): Remove a parameter.
4741 (declare_function_names): Remove prototype.
4742 (start_fname_decls, finish_fname_decls): Prototype.
4743 (fname_as_string): Likewise.
4744 (fname_string, fname_decl): Likewise.
4745 * c-common.c (make_fname_decl): Adjust.
4746 (struct fname_var_t): New struct.
4747 (fname_vars): New static array.
4748 (declare_function_name): Remove.
4749 (start_fname_decls, finish_fname_decls): New functions.
4750 (fname_as_string): New function from remnants of
4751 declare_function_name.
4752 (fname_string, fname_decl): New functions.
4753
4754 * c-decl.c (c_function_name_declared_p): Remove.
4755 (init_decl_processing): Don't generate __FUNCTION__ et al ids,
4756 don't call declare_function_name. Call start_fname_decls.
4757 (c_make_fname_decl): Adjust parameters. Generate the name. Don't
4758 clobber the line number. Call finish_decl.
4759 (start_function): Call start_fname_decls.
4760 (finish_function): Call finish_fname_decls.
4761 Remove c_function_name_declared_p.
4762 (push_c_function_context): Don't push c_function_name_declared_p.
4763 (pop_c_function_context): Don't pop c_function_name_declared_p.
4764 (c_begin_compound_stmt): Don't check c_function_name_declared_p.
4765 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
4766 (program): Call finish_fname_decls for C.
4767 (primary): Add VAR_FUNC_NAME.
4768 (reswords): Add slots for __FUNCTION__ et al.
4769 (rid_to_yy): Add mappings for __FUNCTION__ et al.
4770 (yylexname): If it's a STRING_FUNC_NAME generate the function name
4771 now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
4772 * c-semantics.c (prune_unused_decls): Remove.
4773 (finish_stmt_tree): Don't call prune_unused_decls.
4774 (genrtl_decl_stmt): Don't prune unused decls here.
4775
4776 2001-04-24 Nick Clifton <nickc@cambridge.redhat.com>
4777
4778 * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
4779 constant pool, use the pool's SYMBOL_REF instead.
4780
4781 * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
4782 v850e.
4783
4784 2001-04-23 Joseph S. Myers <jsm28@cam.ac.uk>
4785
4786 * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
4787 passing nested NOP_EXPRs to fold.
4788
4789 Mon Apr 23 14:32:12 CEST 2001 Jan Hubicka <jh@suse.cz>
4790
4791 * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
4792
4793 2001-04-22 Mark Mitchell <mark@codesourcery.com>
4794
4795 * loop.c (loop_delete_insns): Add prototype.
4796
4797 2001-04-23 Phil Edwards <pme@sources.redhat.com>
4798
4799 * configure.in: Remove ENABLE_STD_NAMESPACE.
4800 * config.in: Regenerated.
4801 * configure: Regenerated.
4802
4803 2001-04-22 Stan Shebs <shebs@apple.com>
4804
4805 * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
4806 into xm_defines.
4807 * config/rs6000/xm-darwin.h: Remove file.
4808
4809 2001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4810
4811 * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
4812 (write_c_file_stat): Likewise.
4813
4814 * dbxout.c (dbxout_init): Likewise.
4815
4816 * profile.c (output_func_start_profiler): Likewise.
4817
4818 2001-04-22 Philipp Thomas <pthomas@suse.de>
4819
4820 * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
4821 require it instead of the CVS version.
4822 * cpperror.c (v_message): Put a blank before the macro
4823 body to not confuse exgettext.
4824
4825 2001-04-21 Mark Mitchell <mark@codesourcery.com>
4826
4827 * flow.c (proagate_one_insn): Remove useless assignment.
4828 * jump.c (delete_insn): Tidy.
4829 * loop.c (try_copy_prop): When deleting an instruction with a
4830 REG_RETVAL note, delete the entire libcall sequence.
4831 (loop_delete_insns): New function.
4832 * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
4833 we're not substituting into them yet.
4834
4835 2001-04-21 Kazu Hirata <kazu@hxi.com>
4836
4837 * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
4838
4839 * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
4840 Fix a comment typo.
4841 * config/i960/i960.c (signed_arith_operand): Likewise.
4842
4843 * calls.c (expand_call): Fix a comment typo.
4844
4845 2001-04-20 Zack Weinberg <zackw@stanford.edu>
4846
4847 * configure.in: Probe for times, clock, struct tms, and clock_t.
4848 * configure, config.in: Regenerate.
4849 * timevar.c: Replace ifdef forest in get_time with (relatively)
4850 straightforward series of checks based on autoconf's probes.
4851
4852 Fri Apr 20 12:24:50 2001 Jeffrey A Law (law@cygnus.com)
4853
4854 * config/pa/som.h (NM_FLAGS): Define.
4855
4856 2001-04-20 Bernd Schmidt <bernds@redhat.com>
4857
4858 * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
4859 function.
4860 * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
4861 * ia64.c (nop_cycles_until): New function.
4862 (prev_cycle, prev_first, last_issued): New static variables.
4863 (ia64_sched_reorder): Additional arg for clock.
4864 On final scheduling pass, emit extra NOPs as needed.
4865 Set prev_first and prev_cycle.
4866 (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
4867 (ia64_variable_issue): Set last_issued.
4868
4869 2001-04-20 Alexandre Oliva <aoliva@redhat.com>
4870
4871 * config/i386/i386.c (ix86_expand_int_movcc,
4872 ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
4873
4874 2001-04-20 Geoff Keating <geoffk@redhat.com>
4875
4876 * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
4877 ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
4878 ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
4879 ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
4880 ctrdi_internal6): In the short-branch case, this insn is only 4
4881 bytes long. Reported by Reza Yazdani <reza@apple.com>.
4882
4883 2001-04-20 Jakub Jelinek <jakub@redhat.com>
4884
4885 * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
4886 "=u" is used together with "st" resp. "st(1)" clobber.
4887
4888 2001-04-20 Jakub Jelinek <jakub@redhat.com>
4889
4890 * gcse.c (gcse_main): Fix comment typo.
4891 (delete_null_pointer_check): Likewise.
4892 (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
4893 * cse.c (cse_insn): Likewise.
4894 * function.c (fixup_var_refs_insns_with_hash): The sequence is
4895 toplevel.
4896
4897 2001-04-19 Zack Weinberg <zackw@stanford.edu>
4898
4899 * toplev.c: Excise all code for the undocumented -dm option.
4900 (float_signal): Call signal just once, unconditionally.
4901
4902 2001-04-19 Geoff Keating <geoffk@redhat.com>
4903
4904 * fold-const.c (fold): Use first_rtl_op rather than
4905 TREE_CODE_LENGTH when looping over parameters of a tree.
4906 Correct strange grouping in test for evaluated SAVE_EXPR.
4907
4908 Thu Apr 19 19:15:26 2001 Jeffrey A Law (law@cygnus.com)
4909
4910 * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
4911 * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
4912
4913 * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
4914 name at 32 total characters.
4915 (ASM_OUTPUT_SECTION_NAME): Similarly. Also, only support placing
4916 functions in named sections -- data items can still go into unique
4917 sections, but they have normal names (ie $LIT$ and $DATA$).
4918
4919 * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
4920 INIT_PRIORITY.
4921
4922 2001-04-19 DJ Delorie <dj@redhat.com>
4923
4924 * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
4925 to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
4926 * config/i386/cygwin.h: Likewise.
4927 * config/i386/mingw32.h: Likewise.
4928 * config/vax/vms.h: Likewise.
4929 * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
4930
4931 * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
4932 to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
4933 * config/i386/xm-cygwin.h: Likewise.
4934 * config/i386/xm-djgpp.h: Likewise.
4935 * config/i386/xm-mingw32.h: Likewise.
4936 * config/vax/xm-vms.h: Likewise.
4937
4938 * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
4939 instead of OBJECT_SUFFIX.
4940 * collect2.c (find_a_file): Look for files matching the extension
4941 HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
4942 * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
4943 TARGET_EXECUTABLE_SUFFIX.
4944 (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
4945 (make_relative_prefix): Likewise.
4946 (convert_filename): Use TARGET_ suffixes throughout. Remove
4947 NO_AUTO_EXE_SUFFIX.
4948 (process_command): Likewise.
4949 (do_spec_1): Likewise.
4950 * java/lang.c (init_parse): Likewise.
4951
4952 * gcc.texi : Document four new options matching the pattern
4953 (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX. Remove documentation
4954 for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX. Remove
4955 documentation for NO_AUTO_EXE_SUFFIX.
4956
4957 2001-04-19 Mark Mitchell <mark@codesourcery.com>
4958
4959 * toplev.h (struct lang_hooks): Allow decode_option to indicate
4960 that language-independent processing should not be done.
4961 * toplev.c (main): Adjust accordingly.
4962
4963 * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
4964 * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
4965
4966 * mips.md (reload_outputdi): Require that operand0 be a
4967 general_operand.
4968
4969 2001-04-19 Jakub Jelinek <jakub@redhat.com>
4970
4971 * invoke.texi (-Wshadow): Clarify.
4972
4973 2001-04-18 Mark Mitchell <mark@codesourcery.com>
4974
4975 * loop.c (load_mems): Examine all the instructions in the loop
4976 before concluding that all jumps branch to the first instruction
4977 after the loop.
4978
4979 Wed Apr 18 20:32:03 2001 Christopher Faylor <cgf@cygnus.com>
4980
4981 * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
4982
4983 2001-04-18 Jakub Jelinek <jakub@redhat.com>
4984
4985 * cpp.texi (-Wwhite-space): Remove.
4986 (-Wall): -Wall does not imply -Wwhite-space.
4987
4988 2001-04-17 Zack Weinberg <zackw@stanford.edu>
4989
4990 * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
4991 use it instead of blindly generating a .stabs.
4992 * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
4993 in the right place.
4994 * xcoffout.c: Don't bother defining default for N_CATCH.
4995 (UNKNOWN_STAB): Use internal_error.
4996 (stab_to_sclass): Remove now-unnecessary aborts.
4997 Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block.
4998
4999 Tue Apr 17 21:41:11 2001 Jeffrey A Law (law@cygnus.com)
5000
5001 * jump.c (mark_all_labels): Canonicalize the tail recursion
5002 label attached to CALL_PLACEHOLDER insns.
5003
5004 2001-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5005
5006 * output.h (dump_flow_info, free_basic_block_vars,
5007 which_alternative): Delete redundant prototypes.
5008
5009 * rtl.h (bss_section): Likewise.
5010
5011 2001-04-17 Loren J. Rittle <ljrittle@acm.org>
5012
5013 * dbxout.c (N_OPT): Define if not available from <stab.h>
5014
5015 2001-04-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
5016
5017 * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
5018 libraries and native K&R compilers.
5019
5020 2001-04-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5021
5022 * c-typeck.c (convert_arguments): Don't check for width changes
5023 with -Wtraditional.
5024
5025 * invoke.texi (-Wtraditional): Update documentation.
5026
5027 2001-04-16 Zack Weinberg <zackw@stanford.edu>
5028
5029 * toplev.c (output_lang_identify): Delete.
5030 (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
5031 Don't generate gcc2_compiled. label. Don't emit a nop if profiling.
5032 If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
5033 after calling ASM_FILE_END.
5034
5035 * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
5036 Instead, unconditionally emit an N_OPT stab with string equal
5037 to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
5038
5039 * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
5040
5041 * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
5042 config/psos.h, config/ptx4.h, config/1750a/1750a.h,
5043 config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
5044 config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
5045 config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
5046 config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
5047 config/i370/i370.h, config/i386/beos-elf.h,
5048 config/i386/osf1elf.h, config/i386/osfrose.h,
5049 config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
5050 config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
5051 config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
5052 config/m68k/tower-as.h, config/mcore/mcore-elf.h,
5053 config/mips/iris6.h, config/mips/osfrose.h,
5054 config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
5055 config/sparc/sp64-elf.h:
5056 Delete definitions of any or all of: ASM_IDENTIFY_GCC,
5057 ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
5058
5059 * config/elfos.h, config/freebsd.h, config/linux.h,
5060 config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
5061 config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
5062 config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
5063 of ASM_FILE_START which merely emit a .version directive. Delete
5064 definitions of ASM_FILE_END which merely emit an .ident directive.
5065
5066 * config/avr/avr.h, config/vax/vax.h: Delete definition of
5067 ASM_IDENTIFY_GCC and move part of its logic into
5068 ASM_FILE_START.
5069
5070 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
5071 config/sparc/linux-aout.h: Don't emit .version directive in
5072 ASM_FILE_START.
5073
5074 * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
5075 (output_file_start): Correct comment.
5076
5077 * config/i386/osfrose.h: Don't emit trailing .ident directive.
5078 * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
5079 to match gdb.
5080 * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
5081 * config/rs6000/aix.h: Correct comment.
5082
5083 * config/i386/i386afe.h: Delete.
5084 * config.gcc: Remove references to i386afe.h.
5085
5086 * tm.texi: Delete documentation of ASM_IDENTIFY_GCC. The
5087 other macros deleted by this patch were undocumented.
5088
5089 Mon Apr 16 08:03:48 2001 Jeffrey A Law (law@cygnus.com)
5090
5091 * pa.md (reload_outdi): Operand 0 must be a non hard register.
5092
5093 * pa.c (secondary_reload_class): SAR<->FP copies require a
5094 secondary register.
5095
5096 * install.texi (mips-mips-bsd): Update list of functions
5097 required to include memmove.
5098 * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
5099 used functions to include memmove.
5100
5101 2001-04-15 Toon Moene <toon@moene.indiv.nluug.nl>
5102
5103 * i386.md (sqrtdf2): SFmode should be DFmode.
5104
5105 2001-04-15 Alexandre Oliva <aoliva@redhat.com>
5106
5107 * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
5108 (find_moveable_store): Likewise.
5109
5110 2001-04-15 Jim Wilson <wilson@redhat.com>
5111
5112 * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
5113
5114 Sat Apr 14 16:24:19 CEST 2001 Jan Hubicka <jh@suse.cz>
5115
5116 * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
5117 (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
5118
5119 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
5120
5121 * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
5122 first alternative.
5123
5124 2001-04-14 Alan Modra <amodra@one.net.au>
5125
5126 * pa.c (force_mode): New function.
5127 (emit_move_sequence): Use it instead of generating new rtx_REGs.
5128
5129 2001-04-13 Jim Wilson <wilson@redhat.com>
5130
5131 * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
5132 (first_instruction): New static variable.
5133 (rtx_needs_barrier): Return 1 for alloc.
5134 (init_insn_group_barriers): Set first_instruction.
5135 (rws_sum): Delete duplicate definition.
5136 (group_barrier_needed_p): Return 0 when first_instruction true.
5137 (safe_group_barrier_needed_p): Save and restore first_instruction
5138 around group_barrier_needed_p call.
5139
5140 Fri Apr 13 21:40:28 2001 Loren J. Rittle <ljrittle@acm.org>
5141
5142 * expr.h (enum libfunc_index): Add LTI_memmove.
5143 (memmove_libfunc): Define macro.
5144 * optabs.c (init_optabs): Initialize memmove_libfunc.
5145 * expr.c (expand_assignment): Use memmove_libfunc instead of
5146 memcpy_libfunc.
5147
5148 2001-04-13 Alan Modra <alan@linuxcare.com.au>
5149
5150 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
5151 fp mode addresses.
5152
5153 2001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5154
5155 * Makefile.in (reg-stack.o): Depend on reload.h.
5156 (insn-attrtab.o): Depend on flags.h.
5157
5158 * genattrtab (main): Include flags.h in insn-attrtab.c.
5159
5160 * reg-stack.c: Include reload.h.
5161
5162 * sparc.h (flag_pic): Delete redundant declaration.
5163
5164 * output.h (flag_pic): Likewise.
5165
5166 * tree.h (pedantic): Likewise.
5167
5168 2001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5169
5170 * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
5171
5172 * jump.c, regmove.c, toplev.c: Include reload.h.
5173
5174 * reload.h (reload_cse_regs): Declare.
5175
5176 * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
5177 reload_cse_regs, init_reload, mark_home_live, reload,
5178 init_caller_save): Delete redundant prototypes.
5179
5180 2001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5181
5182 * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
5183
5184 * regclass.c, ssa.c: Include expr.h.
5185
5186 * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
5187 gen_move_insn): Delete redundant declarations.
5188
5189 2001-04-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5190
5191 * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
5192 (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
5193 MAKEINFO and MAKEINFOFLAGS too.
5194 (stage4_build): Correctly order -B flags.
5195
5196 2001-04-13 Alan Modra <amodra@one.net.au>
5197
5198 * pa.c (hppa_init_pic_save): Set rtx_unchanging for
5199 PIC_OFFSET_TABLE_SAVE_RTX.
5200 (zdepi_cint_p): Describe zdepi insn.
5201 Formatting and white space fixes throughout file.
5202
5203 * pa.c (uint32_operand): Don't use long constant >= 2^32.
5204 (emit_move_sequence): Use HOST_WIDE_INT constants. Don't worry
5205 about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
5206 (compute_movstrsi_length): Make `align' unsigned to avoid warning.
5207 (output_64bit_and): Use plain `int's for shift counts.
5208 (output_64bit_ior): Likewise.
5209 (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
5210 * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
5211 `N', and simplify.
5212
5213 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
5214 * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
5215 * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
5216 NEW_HP_ASSEMBLER into one. Kill warnings.
5217
5218 * pa-gas.h: Delete file.
5219 * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
5220 Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*. Update
5221 hppa*-*-linux*. For all pa targets, remove pa/gas.h from tm_file,
5222 instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
5223
5224 * config/pa/mill32.S: New file.
5225 * config/pa/mill64.S: New file.
5226 * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
5227 LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
5228 * config/pa/t-linux64: New file.
5229 * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
5230 (LIB1ASMFUNCS, LIB1ASMSRC): Define.
5231 (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
5232
5233 * elfos.h (SELECT_SECTION): Undef before defining.
5234 * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
5235 (LIB_SPEC): Remove -lmilli.
5236 (DBX_REGISTER_NUMBER): Remove.
5237 (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5238 (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
5239 NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
5240 DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5241 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
5242 ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
5243 ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
5244 TARGET_GAS): Define.
5245 * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
5246 (function_arg): If TARGET_ELF32, pass fp args in both general and fp
5247 regs if we don't have a prototype.
5248 * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
5249 * pa.h (TARGET_ELF32): Default to 0 if undefined.
5250 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
5251 EH_RETURN_HANDLER_RTX): Define.
5252 * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
5253 (DWARF_FRAME_REGNUM): Define.
5254 * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
5255 * pa32-linux.h: New file.
5256 * pa64-linux.h: New file.
5257
5258 * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
5259 (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
5260 (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
5261 NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
5262 DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
5263 DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
5264 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
5265 FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
5266 READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
5267 DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
5268 UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
5269 ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
5270 TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
5271 * pa64-hpux.h: New file.
5272 (ASM_FILE_START): Correct typo.
5273 (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
5274 * config.gcc: Modify for above.
5275
5276 Fri Apr 13 00:09:22 EDT 2001 John Wehle (john@feith.com)
5277
5278 * jump.c (jump_optimize_1): Don't delete dead stores here.
5279 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
5280 prior to running jump optimize before cse2.
5281
5282 2001-04-12 Richard Henderson <rth@redhat.com>
5283
5284 * Makefile.in (regmove.o): Depend on except.h.
5285 * regmove.c: Include it.
5286
5287 2001-04-12 Stan Shebs <shebs@apple.com>
5288
5289 * objc/objc-act.c: Remove all code ifdefed with the never-used
5290 macro OBJC_INT_SELECTORS.
5291 * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
5292 * tm.texi: Remove doc for OBJC_INT_SELECTORS.
5293
5294 Thu Apr 12 18:13:37 2001 Rodney Brown <RodneyBrown@mynd.com>
5295
5296 * config/pa/quadlib.c: Add prototypes.
5297
5298 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5299
5300 * bitmap.h (debug_bitmap): Delete redundant prototype.
5301
5302 * rtl.h (get_frame_size): Likewise.
5303
5304 2001-04-12 Jim Wilson <wilson@redhat.com>
5305
5306 * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
5307 to just emit an fnorm.
5308
5309 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5310
5311 * c-common.h (truthvalue_conversion, type_for_mode,
5312 type_for_size): Delete redundant declarations.
5313
5314 * c-lex.h (is_class_name): Likewise.
5315
5316 * c-tree.h (pedantic, convert, getdecls, gettags,
5317 global_bindings_p, init_decl_processing, insert_block,
5318 maybe_build_cleanup, poplevel, print_lang_decl,
5319 print_lang_identifier, print_lang_type, pushdecl, pushlevel,
5320 set_block, incomplete_type_error, build_function_call,
5321 lvalue_or_else, mark_addressable): Likewise.
5322
5323 * expr.h (expand_tree_builtin): Likewise.
5324
5325 2001-04-12 Mark Mitchell <mark@codesourcery.com>
5326
5327 * invoke.texi: Document --param max-gcse-memory.
5328
5329 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5330
5331 * configure.in (errno): Check for declaration.
5332 * configure, config.in: Regenerated.
5333
5334 * system.h (errno): Only declare if not already done.
5335
5336 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
5337
5338 * recog.c (general_operand, immediate_operand,
5339 nonmemory_operand): Require CONST_INTs to be sign-extended
5340 values for their modes.
5341
5342 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
5343
5344 * expmed.c (store_bit_field): Truncate CONST_INTs.
5345 (expand_mult_highpart, expand_divmod): Likewise.
5346 * expr.c (convert_modes, store_field): Likewise.
5347 * integrate.c (expand_inline_function): Use promote_mode() to
5348 determine whether to convert_modes() an argument as signed
5349 or unsigned.
5350 * optabs.c (expand_binop): Get CONST_INT operands
5351 sign-extended for their appropriate modes.
5352 * stmt.c (emit_case_nodes): Convert node values to the
5353 appropriate mode.
5354 (expand_end_case): Convert minval and range to the appropriate
5355 mode.
5356 * unroll.c (loop_iterations): Truncate abs_diff to the mode of
5357 the iteration variable.
5358 * varasm.c (immed_double_const): Don't require words to be
5359 narrower than host wide ints to properly sign-extend
5360 CONST_INTs.
5361
5362 2001-04-12 kaz Kojima <kkojima@rr.iij4u.or.jp>
5363
5364 * sh.md (builtin_setjmp_receiver): New expander.
5365
5366 2001-04-12 David Edelsohn <dje@watson.ibm.com>
5367
5368 * config/rs6000/rs6000.c (rs6000_emit_move): Do not
5369 special-case HOST_BITS_PER_WIDE_INT != 32. Use same criteria
5370 for generating CONST_INT and CONST_DOUBLE.
5371
5372 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
5373
5374 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
5375 already sign-extended.
5376 (rs6000_emit_prologue): Make register iterator signed.
5377 (rs6000_emit_epilogue): Likewise.
5378 * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
5379 and low.
5380 (movsf split, movdf split): Sign-extend CONST_INTs.
5381 (movdi splits): Likewise.
5382
5383 2001-04-12 Kelley Cook <kelley.cook@home.com>
5384
5385 * config-lang.in (lang_dirs): Add in zlib.
5386
5387 2001-04-11 Alexandre Oliva <aoliva@redhat.com>
5388
5389 * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
5390 operands that make it to RTL.
5391
5392 2001-04-11 Stan Shebs <shebs@apple.com>
5393
5394 Add Darwin (Mac OS X kernel) native support.
5395 * config.gcc (powerpc-*-darwin*): Add native bits.
5396 * config/darwin.c: New file, generic Darwin support functions.
5397 * config/darwin.h: New file, generic Darwin definitions.
5398 * config/darwin-protos.h: New file, generic Darwin prototypes.
5399 * rs6000/darwin.h: New file, Darwin for PowerPC.
5400 * rs6000/t-darwin: New file, Darwin makefile fragment.
5401 * rs6000/rs6000.h (OBJECT_MACHO): New macro.
5402 (TARGET_MACHO): Ditto.
5403 (rs6000_abi): Add ABI_DARWIN.
5404 (RS6000_REG_SAVE): Add ABI_DARWIN case.
5405 (RS6000_SAVE_AREA): Ditto.
5406 (FP_ARG_MAX_REG): Ditto.
5407 (RETURN_ADDRESS_OFFSET): Ditto.
5408 * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
5409 cases.
5410 (rs6000_emit_move): Add ABI_DARWIN cases.
5411 (print_operand): Ditto.
5412 (first_reg_to_save): Ditto.
5413 (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
5414 (debug_stack_info): Ditto.
5415 (rs6000_emit_prologue): Ditto.
5416 (rs6000_emit_epilogue): Ditto.
5417 (output_profiler_hook): Ditto.
5418 (output_function_profiler): Ditto.
5419 (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
5420 (output_mi_thunk): Add TARGET_MACHO case.
5421 (add_compiler_stub): Ditto.
5422 (output_compiler_stub): Ditto.
5423 (no_previous_def): Ditto.
5424 (output_call): Ditto.
5425 (machopic_output_stub): Ditto.
5426 (rs6000_machopic_legitimize_pic_address): Ditto.
5427 (toc_section): Ditto.
5428 * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
5429 (macho_high): Ditto.
5430 (macho_low): Ditto.
5431 (movsi_low): Ditto.
5432 (load_macho_picbase): Ditto.
5433 (call): Add TARGET_MACHO case to modify function.
5434 (call_value): Ditto.
5435 (call_nonlocal_sysv): Add ABI_DARWIN case.
5436 (call_value_nonlocal_sysv): Ditto.
5437 * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
5438 Add prototype.
5439 (machopic_output_stub): Ditto.
5440 * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
5441
5442 2001-04-11 Mark Mitchell <mark@codesourcery.com>
5443
5444 * dwarf2out.c (modified_type_die): Don't create new types here.
5445 * tree.h (get_qualified_type): New function.
5446 (build_qualified_type): Adjust comment.
5447 * tree.c (get_qualified_type): New function.
5448 (build_qualified_type): Use it.
5449
5450 2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5451
5452 * cpp.texi (-Wtraditional): Update description.
5453
5454 * invoke.texi (-Wtraditional): Likewise.
5455
5456 2001-04-11 Jim Wilson <wilson@redhat.com>
5457
5458 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
5459 requires more than 64 bits of alignment.
5460
5461 2001-04-11 Neil Booth <neil@daikokuya.demon.co.uk>
5462
5463 * cpplib.c (do_line): Sanity check iff enable checking.
5464
5465 2001-04-11 Richard Henderson <rth@redhat.com>
5466
5467 * Makefile.in (insn-recog.o): Depend on toplev.h.
5468 (insn-emit.o, doloop.o): Likewise.
5469 * genrecog.c, genemit.c: Include toplev.h in generated file.
5470 * doloop.c: Include toplev.h.
5471
5472 2001-04-11 Mark Mitchell <mark@codesourcery.com>
5473
5474 * Makefile.in (gcse.o): Depend on params.h.
5475 * gcse.c: Include params.h.
5476 (gcse_main): Don't do GCSE if doing so will take inordinate
5477 amounts of memory.
5478 * params.def (PARAM_MAX_GCSE_MEMORY): New parameter.
5479 * params.h (MAX_GCSE_MEMORY): New macro.
5480
5481 2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5482
5483 * Makefile.in (insn-output.o): Depend on $(EXPR_H).
5484
5485 * genoutput.c (output_prologue): Include expr.h in insn-output.c.
5486
5487 2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5488
5489 * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
5490
5491 * real.h (ereal_atof, real_value_truncate, target_isnan,
5492 target_isinf, target_negative, assemble_real, debug_real): Delete
5493 redundant prototypes.
5494
5495 * Makefile.in (ifcvt.o): Depend on toplev.h.
5496
5497 * c-semantics.c: Include expr.h.
5498
5499 * ifcvt.c: Include toplev.h.
5500
5501 * expr.h (rtx_equal_p): Delete prototype.
5502
5503 * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
5504 protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
5505 eliminate_constant_term, expand_complex_abs, find_single_use,
5506 make_tree, init_expr_once, init_optabs, supports_one_only):
5507 Likewise.
5508
5509 * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
5510 rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
5511 expand_assignment, store_expr, emit_line_note_after,
5512 emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
5513
5514 * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
5515
5516 * sparc-protos.h: Delete redundant prototypes.
5517
5518 2001-04-11 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
5519
5520 * reload.c (push_reload): Add condition missed in SUBREG byte
5521 offset patch.
5522
5523 Wed Apr 4 00:28:23 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5524
5525 * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
5526
5527 Wed Apr 11 14:06:10 CEST 2001 Jan Hubicka <jh@suse.cz>
5528
5529 * i386.md (floatsisf_sse): Fix output template
5530 * i386.c (ix86_expand_fp_movcc)
5531
5532 * reg-stack.c (emit_pop_insn): Handle complex modes.
5533 (move_for_stack_reg): Emit proper move mode.
5534 (subst_stack_regs_pat): Handle complex modes.
5535
5536 2001-04-11 Jakub Jelinek <jakub@redhat.com>
5537
5538 * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
5539
5540 2001-04-10 Richard Henderson <rth@redhat.com>
5541
5542 * libgcc2.h (__terminate_func_ptr): Remove typedef.
5543 (__pure_virtual, __terminate, __terminate_set_func,
5544 __default_terminate, __throw_type_match, __empty,
5545 __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
5546 __eh_rtime_match, __unwinding_cleanup, __rethrow,
5547 __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
5548 Remove prototypes of deleted functions.
5549
5550 2001-04-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5551
5552 * c-typeck.c (convert_arguments): -Wtraditional now activates
5553 -Wconversion warnings, except for changes in signed-ness.
5554 Detect complex<->int & int<->complex conversions as well.
5555
5556 * invoke.texi (-Wtraditional): Document it.
5557
5558 Tue Apr 10 17:45:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5559
5560 * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
5561 * flow.c (set_block_for_new_insns): Remove needless cast and
5562 properly check for unset block number.
5563
5564 2001-04-10 Andrew MacLeod <amacleod@redhat.com>
5565
5566 * function.c (purge_single_hard_subreg_set): Only check REGNO if
5567 the subreg was a hard register. Pseudos are left as subregs.
5568
5569 2001-04-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5570
5571 * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
5572 (LIB2ADD_ST): New macro, pass it to mklibgcc.
5573 * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
5574 (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
5575 * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
5576
5577 2001-04-09 Bo Thorsen <bo@suse.co.uk>
5578
5579 * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
5580
5581 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
5582
5583 * output.h (set_block_num): Missed it earlier, remove deprecated
5584 prototype.
5585
5586 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
5587
5588 * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
5589 (load_killed_in_block_p): Change bb parameter from int to basic_block.
5590 (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
5591 (handle_rd_kill_set): Change bb parameter from int to basic_block.
5592 (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
5593 (expr_killed_p): Change bb parameter from int to basic_block, pass
5594 basic_blocks instead of ints as parameters.
5595 (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
5596 (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
5597 from int to basic_block, pass basic_blocks instead of ints as parms.
5598 (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
5599 parameter from int to basic_block, pass basic_blocks instead of ints.
5600 (process_insert_insn): Pass basic_blocks instead of ints as parameters.
5601 (insert_insn_end_bb): Change bb parameter from int to basic_block,
5602 pass basic_blocks instead of ints.
5603 (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
5604 basic_blocks instead of ints as parameters.
5605 (pre_delete): Pass basic_blocks instead of ints as parameters.
5606 (hoist_expr_reaches_here_p): Change bb parameter from int to
5607 basic_block, pass basic_blocks instead of ints.
5608 (hoist_code): Pass basic_blocks instead of ints as parameters.
5609 (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
5610 Change bb parameter from int to basic_block.
5611 (build_store_vectors): Pass basic_blocks instead of ints as parameters.
5612 (insert_insn_start_bb): Change bb parameter from int to basic_block,
5613 pass basic_blocks instead of ints.
5614 (insert_store): Pass basic_blocks instead of ints as parameters.
5615 (replace_store_insn, delete_store): Change bb parameter from int to
5616 basic_block, pass basic_blocks instead of ints.
5617 (store_motion): Pass basic_blocks instead of ints as parameters.
5618
5619 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
5620
5621 * basic-block.h (set_new_block_for_insns): New Prototype.
5622 (set_block_num): Delete prototype.
5623 * flow.c (set_block_num): Remove obsolete function.
5624 (set_block_for_new_insns): Set BB for single or multiple insns.
5625 * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
5626 (process_insn_end_bb): Use set_block_for_new_insns or
5627 set_block_for_insn instead of set_block_num.
5628 (pre_insert_copy_insn): Use set_block_for_new_insns.
5629 (update_ld_motion_stores): Use set_block_for_new_insns.
5630 (insert_insn_start_bb): Use set_block_for_new_insns.
5631 (replace_store_insn): Use set_block_for_new_insns.
5632
5633 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
5634 Jeff Law <law@redhat.com>
5635
5636 * alias.c (get_addr): Externalize.
5637 (canon_true_dependence): New function. Behaves like true_dependance
5638 except it already assumes a MEM has been canonicalized.
5639 * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
5640 * gcse.c (struct ls_expr): Add load/store expressions structure.
5641 (modify_mem_list, canon_modify_mem_list): New variable.
5642 (gcse_main): Initialize & finalize alias analysis. Use enhanced
5643 load motion and store motion if requested.
5644 (alloc_gcse_mem): Allocate space for modify_mem_list array.
5645 (free_gcse_mem): Free the modify_mem_list array.
5646 (oprs_unchanged_p): Use load_killed_in_block_p.
5647 (gcse_mems_conflict_p, gcse_mem_operand): New variables.
5648 (mems_conflict_for_gcse_p): New function. Don't kill loads
5649 with stores to themselves if its in the load/store expression list.
5650 (load_killed_in_block_p): New function.
5651 (canon_list_insert): New Function.
5652 (record_last_mem_set_info): Keep a list of all instructions which
5653 can modify memory for each basic block.
5654 (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
5655 (oprs_not_set_p): Use load_killed_in_block_p.
5656 (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
5657 (expr_killed_p): Use load_killed_in_block_p.
5658 (compute_transp): Do not pessimize memory references.
5659 (pre_edge_insert): Update stores for a load motion expression.
5660 (one_pre_gcse_pass): Check loads/stores for extra load motion.
5661 (ldst_entry): Find or create a ldst_expr structure.
5662 (free_ldst_entry): Free memory for an individual item.
5663 (free_ldst_mems): Free entire load/store expression list.
5664 (print_ldst_list): Print debug info.
5665 (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
5666 (enumerate_ldsts): Assign integer values to each entry in list.
5667 (first_ls_expr): First expression in the list.
5668 (next_ls_expr): Next expression in the list.
5669 (simple_mem): Check if expression qualifies for ld/st expression list.
5670 (invalidate_any_buried_refs): Remove from expression list if its
5671 used in some other way we dont understand.
5672 (compute_ld_motion_mems): Find all potential enhanced load motion
5673 expression.
5674 (trim_ld_motion_mems): Remove any expressions which are invalid.
5675 (update_ld_motion_stores): Copy store values to registers for loads
5676 which have been moved.
5677 (regvec, st_antloc, num_store): New global statics.
5678 (reg_set_info): Marks registers as set.
5679 (store_ops_ok): Verfies registers expressions are valid in a block.
5680 (find_moveable_store): Look for moveable stores in a pattern.
5681 (compute_store_table): Find stores in a function worth moving, maybe.
5682 (load_kills_store): Check dependance of a load and store.
5683 (find_loads): Find any loads in a pattern.
5684 (store_killed_in_insn): Check if a store is killed in an insn.
5685 (store_killed_after): Check is store killed after an insn in a block.
5686 (store_killed_before): Check is store killed before an insn in a block.
5687 (build_store_vectors): Generate the antic and avail vectors.
5688 (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
5689 (insert_store): Add a store to an edge.
5690 (replace_store_insn): Replace a store with a SET insn.
5691 (delete_store): Delete a store insn.
5692 (free_store_memory): Free memory.
5693 (store_motion): Perform store motion.
5694 * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
5695 * rtl.h (get_addr, canon_true_dependence): Add prototypes.
5696 * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
5697 (f_options): Add gcse-lm and gcse-sm.
5698
5699 Mon Apr 9 16:18:03 CEST 2001 Jan Hubicka <jh@suse.cz>
5700
5701 * i386.c (expand_fp_movcc): Fix condition reversal code.
5702
5703 * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
5704 * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
5705 (CLASS_MAX_NREGS): Use it.
5706
5707 * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
5708 handle properly complex values.
5709 (CLASS_MAX_NREGS): Likewise; update comment.
5710
5711 2001-04-05 Bernd Schmidt <bernds@redhat.com>
5712
5713 * ia64.c (ia64_flag_schedule_insns2): New variable.
5714 (ia64_override_options): Initialize it. Clear
5715 flag_schedule_insns_after_reload.
5716 (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
5717
5718 Mon Apr 9 15:09:13 CEST 2001 Jan Hubicka <jh@suse.cz>
5719
5720 * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
5721 Do not require source to match destination anymore;
5722 Add abort to the nontrivial cases that should be handled by split.
5723 (fix_trunc?fdi): Add SSE case for x86_64.
5724 (floatdi?f): Likewise.
5725 (floatdi?f_sse): New.
5726 (fix_trunc?fdi_sse): New.
5727
5728 2001-04-09 Richard Sandiford <rsandifo@redhat.com>
5729
5730 * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
5731 (DEBUG_ARANGES_END_LABEL): Ditto.
5732 (dwarfout_init): Generate length and version fields at the start
5733 of the .debug_aranges info. Insert DEBUG_ARANGES_BEGIN_LABEL
5734 after the length field.
5735 (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
5736 the .debug_aranges info.
5737
5738 Sun Apr 8 00:43:27 CEST 2001 Jan Hubicka <jh@suse.cz>
5739
5740 * i386.c (call, call_value): Make sure that resulting call_insn
5741 does have proper second operand.
5742
5743 Sun Apr 8 22:50:49 2001 Christopher Faylor <cgf@cygnus.com>
5744
5745 * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
5746 function. Remove include of sys/cygwin.h.
5747
5748 Sun Apr 8 22:20:27 2001 Christopher Faylor <cgf@cygnus.com>
5749
5750 * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
5751 (CPP_SPEC): Always search */include/w32api for header files.
5752 (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
5753 (LINK_SPEC): Add "cyg" to the library search prefixes.
5754
5755 2001-04-08 Philip Blundell <philb@gnu.org>
5756
5757 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
5758
5759 2001-04-08 Neil Booth <neil@daikokuya.demon.co.uk>
5760
5761 * cpperror.c (print_location): Don't special case <stdin>.
5762 (_cpp_begin_message): Handle WARNING_SYSHDR the same as
5763 WARNING, but we don't check if we're in system headers.
5764 * cpplib.h (enum error_type): WARNING_SYSHDR: New.
5765 * cpplib.c (do_warning): Warn in system headers.
5766
5767 2001-04-07 Mumit Khan <khan@NanoTech.Wisc.EDU>
5768
5769 * mbchar.c: Include config.h first.
5770
5771 2001-04-07 Zack Weinberg <zackw@stanford.edu>
5772
5773 * config.gcc: Set default for xmake_file at top, not bottom.
5774 Change places that set xmake_file to "none" to set to the
5775 empty string instead, or remove them entirely if there is no
5776 default xmake_file for this cpu_type. Remove references to
5777 deleted files.
5778
5779 * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
5780 config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
5781 config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
5782 config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
5783 config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
5784 config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
5785 config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
5786 config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
5787 config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
5788 config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
5789 Delete.
5790
5791 * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
5792 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
5793 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
5794 config/mips/x-sysv, config/rs6000/x-aix31:
5795 Just set CLIB to -lld or -lmld, as appropriate.
5796
5797 * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
5798 config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
5799 config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
5800 config/mips/x-iris, config/pa/x-pa:
5801 Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
5802 OTHER_FIXINCLUDES_DIRS.
5803
5804 * config/i386/x-djgpp: Don't set LN or LN_S.
5805 * config/m88k/x-dolph: Don't define __m88k__.
5806 * config/m88k/x-tekXD88: Don't set AR_FLAGS.
5807 * config/pa/x-pa-mpeix: Just set up quadlib.asm.
5808 * config/i860/fx2800.h: No need to #undef SVR4.
5809
5810 38 x-host fragments remain, 2 x-cpu.
5811
5812 2001-04-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5813
5814 * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
5815
5816 2001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
5817
5818 * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
5819
5820 2001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
5821
5822 * configure.in: Add check for lstat.
5823 * configure, config.in: Regenerate.
5824 * cppinit.c (append_include_chain): Make empty path ".".
5825 * cpplib.c (do_line): Don't simplify #line paths.
5826 * cppfiles.c (remove_component_p): New function.
5827 (find_or_create_entry): Acknowledge stat () errors during
5828 path simplification.
5829 (handle_missing_header): Don't simplify paths.
5830 (_cpp_simplify_pathname): Don't simplify VMS paths. Return
5831 the empty path untouched. Don't leave a trailing '/'.
5832
5833 2001-04-06 Benjamin Kosnik <bkoz@redhat.com>
5834
5835 * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
5836 * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
5837
5838 2001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
5839
5840 * cppfiles.c (open_file): Fail directories silently, but
5841 with an errno of NOENT set.
5842 (read_include_file): Move the common exit code to the sole
5843 caller. Return an int indicating success or failure. Let
5844 open_file handle directories.
5845 (stack_include_file): If read_include_file fails,
5846 push a "null" buffer.
5847
5848 2001-04-05 DJ Delorie <dj@redhat.com>
5849
5850 * function.h (virtuals_instantiated): Declare.
5851 * function.c: (virtuals_instantiated): Make global.
5852 * calls.c (emit_library_call_value_1): Use
5853 virtual_outgoing_args_rtx only if it hasn't been instantiated.
5854 Otherwise, use the stack pointer directly.
5855
5856 Thu Apr 5 19:13:33 CEST 2001 Jan Hubicka <jh@suse.cz>
5857
5858 * i386.c (x86_initialize_trampoline): New global function.
5859 * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
5860 (INITIALIZE_TRAMPOLINE): Move offline.
5861 * i386-protos.h (x86_initialize_trampoline): Declare.
5862
5863 Thu Apr 5 19:02:15 CEST 2001 Jan Hubicka <jh@suse.cz>
5864
5865 * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
5866 (lea_0): Rename to lea_1.
5867 (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
5868 (lea_general_?): Allow SImodes on TARGET_64BIT
5869 (lea_general_?_zext): New patterns.
5870 (call_1, call_1_rex64): Fix.
5871
5872 Thu Apr 5 19:00:15 CEST 2001 Jan Hubicka <jh@suse.cz>
5873
5874 * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
5875
5876 Thu Apr 5 18:25:56 CEST 2001 Jan Hubicka <jh@suse.cz>
5877
5878 * i386.c (function_arg): Return constm1_rtx for last argument.
5879 (ix86_expand_prologue): Update gen_call calls.
5880 * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
5881 * i386.md (call_pop): Likewise.
5882 (call): Second operand is VOIDmode.
5883 (call_0): Likewise; Support 64bits.
5884 (call_exp): New expander.
5885 (call_1): Get to the sync.
5886 (call_1_exp): New pattern.
5887 (call_value): Support 64bit.
5888 (call_value_exp): New pattern.
5889 (untyped_call): Update gen_call call.
5890 (call_value_pop): Disable for 64bit.
5891 (call_value_0_rex64): New pattern.
5892 (call_value_1_rex64): Likewise.
5893
5894 2001-04-05 Bo Thorsen <bo@suse.de>
5895
5896 * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
5897
5898 Thu Apr 5 13:44:17 2001 J"orn Rennecke <amylaar@redhat.com>
5899
5900 * i386.md (*andsi_1+3): If used after reload, make sure the operand
5901 satisfies ANY_QI_REG_P.
5902
5903 2001-04-05 Bernd Schmidt <bernds@redhat.com>
5904
5905 * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
5906 ASM_OPERAND.
5907
5908 * sched-deps.c (sched_analyze_insn): Revert more of the March 27
5909 change.
5910
5911 2001-04-04 Zack Weinberg <zackw@stanford.edu>
5912
5913 * config.gcc: Remove default for xm_file. Clean up local
5914 machine type handling. Remove settings of xm_file to
5915 something that doesn't exist. In the big switch, set xm_file,
5916 don't append to it (the value before the big switch is always
5917 null). Don't force build_xm_file or host_xm_file to have a value.
5918 * configure.in: Remove default for xm_file. Do not special
5919 case $cpu/xm-$cpu.h not existing.
5920 * configure: Regenerate.
5921
5922 2001-04-04 Diego Novillo <dnovillo@redhat.com>
5923
5924 * simplify-rtx.c (simplify_binary_operation): Check for overflow
5925 when folding integer division and modulo operations.
5926
5927 2001-04-04 Andrew MacLeod <amacleod@redhat.com>
5928
5929 * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
5930 instead of DWARF2_ADDR_SIZE for EH addresses.
5931 (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
5932 EH addresses.
5933
5934 2001-04-04 Richard Henderson <rth@redhat.com>
5935
5936 * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
5937 * config/ia64/t-glibc (LIB2ADDEH): Disable.
5938 * config/ia64/t-ia64 (LIB2ADDEH): Disable.
5939
5940 2001-04-04 Richard Henderson <rth@redhat.com>
5941
5942 * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
5943 * configure: Rebuilt.
5944
5945 2001-04-04 Jakub Jelinek <jakub@redhat.com>
5946
5947 * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
5948 push insns to delete to it instead of deleting them.
5949 (delete_null_pointer_checks): Delete insns from delete_list after
5950 all delete_null_pointer_checks_1 passes are done.
5951
5952 2001-04-04 Richard Henderson <rth@redhat.com>
5953
5954 * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
5955 * configure: Rebuilt.
5956
5957 2001-04-04 Zack Weinberg <zackw@stanford.edu>
5958
5959 * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
5960 * config/romp/xm-romp.h: Delete.
5961
5962 2001-04-04 Bernd Schmidt <bernds@redhat.com>
5963
5964 * sched-deps.c (sched_analyze_insn): Partially revert March 27
5965 change.
5966
5967 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5968
5969 * emit-rtl.c (mark_label_nuses) Increment the label uses for
5970 all labels present in rtx.
5971 (try_split) Call new function for all split insns.
5972
5973 2001-04-04 Jakub Jelinek <jakub@redhat.com>
5974
5975 * recog.c (validate_replace_rtx_1): Instead of aborting just make
5976 sure the change won't be validated.
5977
5978 Wed Apr 4 00:45:38 EDT 2001 John Wehle (john@feith.com)
5979
5980 * rtl.h (set_noop_p): Declare.
5981 * flow.c (set_noop_p): Move from here ...
5982 * rtlanal.c (set_noop_p): ... to here and enhance.
5983 * cse.c (delete_trivially_dead_insns): Use it.
5984 * gcse.c (hash_scan_set): Likewise.
5985 * jump.c (delete_noop_moves): Likewise.
5986 * recog.c (split_all_insns): Likewise.
5987
5988 2001-04-04 Alan Modra <alan@linuxcare.com.au>
5989
5990 * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
5991 stack pointer via a LO_SUM. Ditto for setting a temp register
5992 used to save to the stack. Set cfa_temp when setting fp, and
5993 allow matches to cfa_temp in addition to cfa_store when saving
5994 regs. Handle POST_INC and LO_SUM register stores. Document the
5995 changes and errors in rule 12 doco.
5996
5997 * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
5998 (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
5999 (load_reg): Move closer to epilogue code.
6000 (DO_FRAME_NOTES): Define to control the following..
6001 (FRP): Define to set RTX_FRAME_RELATED_P on insns.
6002 (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
6003 notes as necessary.
6004 (hppa_expand_epilogue): Likewise.
6005
6006 2001-04-03 Richard Henderson <rth@redhat.com>
6007
6008 * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
6009 * configure: Rebuild.
6010
6011 2001-04-03 Richard Henderson <rth@redhat.com>
6012
6013 * rtl.h (LCT_THROW): New.
6014 * calls.c (emit_library_call_value_1): Handle it.
6015 * except.c (connect_post_landing_pads): Use it.
6016
6017 2001-04-03 Zack Weinberg <zackw@stanford.edu>
6018
6019 * gansidecl.h: Delete file.
6020 * configure.in: Change all refs to gansidecl.h to use
6021 ansidecl.h. Adjust *_file_list so they know where ansidecl.h
6022 lives.
6023 * configure: Regenerate.
6024
6025 * Makefile.in (intl.o): Don't depend on gansidecl.h.
6026 * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
6027 * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
6028 Don't include gansidecl.h.
6029 * intl.c, main.c, version.c, fixinc/fixlib.h,
6030 fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
6031 gansidecl.h.
6032
6033 Tue Apr 3 19:41:21 CEST 2001 Jan Hubicka <jh@suse.cz>
6034
6035 * i386.c (ix86_force_to_memory, ix86_free_from_memory):
6036 Update for 64bit.
6037
6038 2001-04-03 Zack Weinberg <zackw@stanford.edu>
6039
6040 * config/i386/xm-beos.h, config/i386/xm-isc.h,
6041 config/i386/xm-next.h, config/i386/xm-sco.h,
6042 config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
6043 config/m88k/xm-m88k.h: Delete.
6044
6045 * config/i386/xm-djgpp.h: Don't define __MSDOS__.
6046 * config/romp/xm-romp.h: Don't define bcopy.
6047 * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
6048 HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
6049
6050 * config.gcc: Remove references to deleted files.
6051
6052 14 xm-host.h remain, 1 xm-cpu.h.
6053
6054 2001-04-03 Jakub Jelinek <jakub@redhat.com>
6055 David S. Miller <davem@pierdol.cobaltmicro.com>
6056 Andrew MacLeod <amacleod@redhat.com>
6057
6058 Use byte offsets in SUBREGs instead of words.
6059
6060 * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
6061 * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
6062 to pass new argument.
6063 (add_stored_regs): Use subreg_regno_offset function.
6064 * calls.c (expand_call): For non-paradoxical SUBREG take endianess
6065 into account.
6066 (precompute_arguments): Use gen_lowpart_SUBREG.
6067 * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
6068 (combine_simplify_rtx): Rework to use SUBREG_BYTE.
6069 (simplify_set): Rework to use SUBREG_BYTE.
6070 (expand_field_assignment): Use SUBREG_BYTE.
6071 (make_extraction): Use SUBREG_BYTE.
6072 (if_then_else_cond): Use SUBREG_BYTE.
6073 (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
6074 (gen_lowpart_for_combine): Compute full byte offset.
6075 * cse.c (mention_regs): Use SUBREG_BYTE.
6076 (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
6077 (canon_hash): Use SUBREG_BYTE.
6078 (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
6079 (gen_lowpart_if_possible): Formatting.
6080 * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
6081 correctly.
6082 * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
6083 (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6084 (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6085 * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
6086 (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6087 (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
6088 * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
6089 certain invariants about SUBREGs the compiler creates.
6090 (gen_lowpart_SUBREG): New function.
6091 (subreg_hard_regno): New function to get the final register number.
6092 (gen_lowpart_common): Use SUBREG_BYTE.
6093 (gen_imagpart): Spacing nits.
6094 (subreg_realpart_p): Use SUBREG_BYTE.
6095 (gen_highpart): Use SUBREG_BYTE.
6096 (subreg_lowpart_p): Always compute endian corrected goal offset,
6097 even at the byte level, then compare against that.
6098 (constant_subword): New function, pulled out all constant cases
6099 from operand_subword and changed second argument name to offset.
6100 (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
6101 and call constant_subword to do the work. Return const0_rtx if
6102 looking for a word outside of OP.
6103 (operand_subword_force): Change second arg name to offset.
6104 * expmed.c (store_bit_field): Use SUBREG_BYTE.
6105 (store_split_bit_field): Use SUBREG_BYTE.
6106 (extract_bit_field): Use SUBREG_BYTE.
6107 (extract_split_bit_field): Use SUBREG_BYTE.
6108 (expand_shift): Use SUBREG_BYTE.
6109 * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
6110 * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
6111 * flow.c (set_noop_p): Use SUBREG_BYTE.
6112 (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
6113 * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
6114 (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
6115 correction code.
6116 (optimize_bit_field): Use SUBREG_BYTE.
6117 (purge_addressof_1): Use SUBREG_BYTE.
6118 (purge_single_hard_subreg_set): Use subreg_regno_offset function.
6119 (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
6120 actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
6121 * gengenrtl.c (special_rtx): Add SUBREG.
6122 * global.c (mark_reg_store): Use SUBREG_BYTE.
6123 (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
6124 * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
6125 * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
6126 final byte offset is congruent to subreg's mode size.
6127 (subst_constants): Use SUBREG_BYTE.
6128 (mark_stores): Use subreg_regno_offset function.
6129 * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
6130 function and SUBREG_BYTE.
6131 * local-alloc.c (combine_regs): Use subreg_regno_offset function.
6132 (reg_is_born): Use subreg_hard_regno.
6133 * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
6134 endian correction code. Don't combine subregs unless resulting
6135 offset aligns with type. Fix subreg constant extraction for DImode.
6136 Simplify SUBREG of VOIDmode CONST_DOUBLE.
6137 (general_operand): Remove dead mode_altering_drug code.
6138 (indirect_operand): Use SUBREG_BYTE.
6139 (constrain_operands): Use subreg_regno_offset function.
6140 * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
6141 * regmove.c (regmove_optimize): Use SUBREG_BYTE.
6142 (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
6143 * regs.h (REG_SIZE): Allow target to override.
6144 (REGMODE_NATURAL_SIZE): New macro which target can override.
6145 * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
6146 on the entire subreg rtx.
6147 (push_reload): Use SUBREG_BYTE in comments and code.
6148 (find_dummy_reload): Use subreg_regno_offset. Only adjust offsets
6149 for hard registers inside subregs.
6150 (operands_match_p): Use subreg_regno_offset.
6151 (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
6152 containing hard regs.
6153 (find_reload_toplev): Use SUBREG_BYTE. Remove byte endian
6154 corrections when fixing up MEM subregs.
6155 (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
6156 subreg_regno_offset where appropriate.
6157 (find_reloads_subreg_address): Use SUBREG_BYTE. Remove
6158 byte endian corrections when fixing up MEM subregs.
6159 (subst_reloads): When combining two subregs, make sure final
6160 offset is congruent to subreg's mode size.
6161 (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
6162 (refers_to_regno_for_reload_p): Use subreg_regno.
6163 (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
6164 * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
6165 correction code for memory subreg fixups.
6166 (forget_old_reload_1): Use subreg_regno_offset.
6167 (choose_reload_regs): Use subreg_regno.
6168 (emit_input_reload_insns): Use SUBREG_BYTE.
6169 (reload_combine_note_store): Use subreg_regno_offset.
6170 (move2add_note_store): Use subreg_regno_offset.
6171 * resource.c (update_live_status, mark_referenced_resources): Use
6172 subreg_regno function.
6173 (mark_set_resources): Use subreg_regno function.
6174 * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
6175 (subreg_regno_offset, subreg_regno): Define prototypes.
6176 (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
6177 (gen_lowpart_SUBREG): Add prototype.
6178 * rtl.texi (subreg): Update to reflect new byte offset representation.
6179 Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
6180 * rtlanal.c (refers_to_regno_p): Use subreg_regno.
6181 (reg_overlap_mentioned_p): Use subreg_regno.
6182 (replace_regs); Make sure final offset of combined subreg is
6183 congruent to size of subreg's mode.
6184 (subreg_regno_offset): New function.
6185 (subreg_regno): New function.
6186 * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
6187 * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
6188 * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
6189 * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
6190 (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
6191 * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
6192 (a29k_get_reloaded_address): Use SUBREG_BYTE.
6193 (print_operand): Use SUBREG_BYTE.
6194 * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
6195 * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
6196 (arm_reload_out_hi): Use SUBREG_BYTE.
6197 * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
6198 instead of SUBREG_WORD.
6199 (d30v_print_operand_memory_reference): Use subreg_regno_offset.
6200 * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
6201 SUBREG creation to use byte offset.
6202 * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
6203 inverted load insns): Fix explicit rtl subregs to use byte
6204 offsets.
6205 * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
6206 udivsi3, umodsi3): Generate SUBREGs with byte offsets.
6207 * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
6208 * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
6209 to use byte offsets.
6210 (unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
6211 * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
6212 offsets, also make sure it is congruent to SUBREG's mode size.
6213 (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
6214 unnamed ldob insn): Generate SUBREGs with byte offset.
6215 (zero_extendqihi2): SUBREG's are byte offsets.
6216 * config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
6217 (m68hc11_gen_highpart): Use SUBREG_BYTE.
6218 * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
6219 zero-extendqisi2): Generate SUBREGs with byte offset.
6220 (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
6221 subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
6222 subregs in rtl to use byte offsets.
6223 * config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
6224 * config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
6225 (mips_move_2words): Use subreg_regno_offset.
6226 (mips_secondary_reload_class): Use subreg_regno_offset.
6227 * config/mips/mips.md (DImode plus, minus, move, and logical op
6228 splits): Fixup explicit subregs in rtl to use byte offsets.
6229 * config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
6230 * config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
6231 * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
6232 rtl to use byte offsets.
6233 * config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
6234 * config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
6235 subregs to use byte offsets.
6236 * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
6237 Fixup explicit subregs in rtl to use byte offsets.
6238 * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
6239 and remove byte endian correction code.
6240 * config/sh/sh.c (output_movedouble): Use subreg_regno.
6241 (gen_ashift_hi): Use SUBREG_BYTE.
6242 (regs_used): Use subreg_regno_offset.
6243 (machine_dependent_reorg): Use subreg_regno_offset.
6244 * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
6245 * config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
6246 (movdf_i4): Subregs are byte offsets now.
6247 * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
6248 * config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
6249 (REGMODE_NATURAL_SIZE): Override.
6250 (REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
6251 * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
6252 with byte offsets.
6253 (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
6254 extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
6255 extendqidi2): Generate SUBREGs with byte offsets, also make sure
6256 it is congruent to SUBREG's mode size.
6257 (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
6258 offsets.
6259 (cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
6260 cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
6261 lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
6262 SUBREG_BYTE offset for non-paradoxical subregs in patterns.
6263 * config/v850/v850.c (print_operand, output_move_double): Use
6264 subreg_regno function.
6265
6266 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
6267
6268 * configure.in (target_subdir): Use target_alias, not target.
6269 * configure: Rebuilt.
6270
6271 * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
6272 other way round.
6273 * config/sh/crti.asm: Fix typos in comments.
6274
6275 2001-04-03 Alan Modra <alan@linuxcare.com.au>
6276
6277 * pa.h: Revise comments for TARGET_NO_SPACE_REGS and
6278 TARGET_FAST_INDIRECT_CALLS.
6279 * pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
6280 -fPIC. Don't warn.
6281 (return_addr_rtx): Short circuit export stub matching when
6282 TARGET_NO_SPACE_REGS.
6283 (output_millicode_call): For out of range calls, make -fPIC
6284 take precedence, then TARGET_PORTABLE_RUNTIME, then ble. Don't
6285 return before delay slot checks when TARGET_PORTABLE_RUNTIME.
6286 * pa.md: Modify length attr calculation of all millicode insns to
6287 match above.
6288
6289 2001-04-02 Geoffrey Keating <geoffk@redhat.com>
6290
6291 * configure.in (gcc_cv_as_leb128): Correct name of cache variable.
6292 Require at least 2.11 in the version test. Specifically check
6293 for and reject GAS version 2.10.90.
6294 * configure: regenerate.
6295
6296 2001-04-03 Alan Modra <alan@linuxcare.com.au>
6297
6298 * pa.c (override_options): Remove PIC profiling warning.
6299 (hp_profile_labelno): Delete.
6300 (hp_profile_label_rtx): Delete.
6301 (hp_profile_label_name): Delete.
6302 (pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
6303 (output_function_prologue): Remove profiling code and all tests on
6304 profile_flag. Move store of PIC_OFFSET_TABLE_REGNUM now that
6305 merge_sp_adjust_with_store can work for PIC and profiling.
6306 (hppa_expand_epilogue): Remove profile_flag test.
6307 (hppa_can_use_return_insn_p): Likewise.
6308 (hppa_init_pic_save): Emit before tail_recursion_reentry, and
6309 cater for PROFILE_HOOK.
6310 (hppa_profile_hook): New function.
6311 * pa.h (FUNCTION_PROFILER): Now does nothing.
6312 (PROFILE_HOOK): Define.
6313 (hppa_profile_hook): Declare.
6314 (PROFILE_BEFORE_PROLOGUE): Delete.
6315 (ASM_OUTPUT_REG_PUSH): Delete.
6316 (ASM_OUTPUT_REG_POP): Delete.
6317 * pa.md (call_profiler): Turn it into a call insn, and don't `use'
6318 r24. Accept function name operand, and use this and a locally
6319 generated label to calculate pc-rel offset to func start.
6320
6321 2001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6322
6323 * $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
6324 ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
6325 $(SYSTEM_H).
6326
6327 2001-04-03 Alan Modra <alan@linuxcare.com.au>
6328
6329 * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
6330 LO_SUM cases to where they belong.
6331
6332 2001-04-02 Richard Henderson <rth@redhat.com>
6333
6334 * except.h (lang_eh_type_covers): Mark extern.
6335 (lang_eh_runtime_type): Likewise.
6336
6337 2001-04-02 Zack Weinberg <zackw@stanford.edu>
6338
6339 * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
6340 gengenrtl.c: Wrap generated header in multiple-include guard.
6341 Improve error checking.
6342
6343 2001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6344
6345 * configure.in: Don't check for putenv.
6346 * configure: Regenerate.
6347 * gcc.c (putenv): Don't define.
6348 * vax/xm-vms.h: Handle putenv.
6349
6350 2001-04-02 Jakub Jelinek <jakub@redhat.com>
6351
6352 * ifcvt.c (noce_emit_move_insn): New.
6353 (noce_try_store_flag, noce_try_store_flag_constants,
6354 noce_try_store_flag_inc, noce_try_store_flag_mask,
6355 noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
6356 noce_try_abs): Use it.
6357 (noce_process_if_block): Likewise.
6358 For STRICT_LOW_PART, take mode from its SUBREG.
6359
6360 2001-04-02 Jakub Jelinek <jakub@redhat.com>
6361
6362 * fold-const.c (fold): Before optimizing unsigned comparison with
6363 0x7fffffffU, make sure arg0 is integral type.
6364
6365 2001-04-02 Joseph S. Myers <jsm28@cam.ac.uk>
6366
6367 * c-tree.texi: Document representation of wide strings.
6368
6369 2001-04-01 Richard Henderson <rth@redhat.com>
6370
6371 * except.h (expand_builtin_dwarf_fp_regnum): Declare.
6372
6373 Sun Apr 1 11:49:05 CEST 2001 Jan Hubicka <jH@suse.cz>
6374
6375 * i386.md: remove obsoleted comments.
6376 (adddi_?): Rename to adddi_?_rex64; disable for 32bit.
6377 (x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
6378 fix output template.
6379
6380 2001-03-31 Marek Michalkiewicz <marekm@linux.org.pl>
6381
6382 * config/avr/libgcc.S (__mulhi3): Optimize previous change.
6383
6384 2001-03-30 Bernd Schmidt <bernds@redhat.com>
6385
6386 * loop.c (load_mems): When generating a load from a pseudo, update
6387 REGNO_LAST_UID.
6388
6389 Fri Mar 30 17:36:43 CEST 2001 Jan Hubicka <jh@suse.cz>
6390
6391 * i386.c (ix86_split_long_move): Use change address to compensate
6392 stack pointer change in push instruction.
6393
6394 Fri Mar 30 00:31:00 CEST 2001 Jan Hubicka <jh@suse.cz>
6395
6396 * i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
6397 instead of rtx_equal_p; fix the output template.
6398
6399 Fri Mar 30 00:21:41 CEST 2001 Jan Hubicka <jh@suse.cz>
6400
6401 * i386.c (ix86_expand_setcc): Support 64bit.
6402 (ix86_expand_int_movcc): Likewise.
6403 * i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
6404 New patterns.
6405
6406 * i386.md (allocate_stack_worker): Turn to expander.
6407 (allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
6408
6409 * i386.c (print_reg): Do not print x86_64 style regs on IA-32
6410
6411 2001-03-29 Richard Henderson <rth@redhat.com>
6412
6413 * libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
6414
6415 2001-03-28 Matthew Hiller <hiller@redhat.com>
6416
6417 * config/mn10300/mn10300.md (cmpsi): Fix first alternative's
6418 output template.
6419
6420 * MAINTAINERS: Added self.
6421
6422 2001-03-28 Richard Henderson <rth@redhat.com>
6423
6424 * Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
6425 Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
6426
6427 2001-03-28 Jim Wilson <wilson@redhat.com>
6428
6429 * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
6430 operand_subword.
6431
6432 2001-03-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6433
6434 * toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
6435
6436 * tradcif.y (yyerror): Likewise. Add format specifier in call to
6437 `error'.
6438
6439 * tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
6440
6441 2001-03-28 DJ Delorie <dj@redhat.com>
6442
6443 * Makefile.in (stage1_build): Revert CFLAGS patch.
6444
6445 2001-03-28 Marek Michalkiewicz <marekm@linux.org.pl>
6446
6447 * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
6448 when multiplier or multiplicand is zero.
6449
6450 2001-03-28 Bernd Schmidt <bernds@redhat.com>
6451
6452 * cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
6453
6454 * config/ia64/ia64.c (update_set_flags): New function, broken out of
6455 rtx_needs_barrier.
6456 (set_src_needs_barrier): Likewise.
6457 (rtx_needs_barrier): For SET case, use these two functions. Rework
6458 PARALLEL case to handle all inputs before all outputs.
6459 (emit_insn_group_barriers): Call init_insn_group_barriers only if we
6460 saw a label and no stop bit since then.
6461 (maybe_rotate, process_epilogue): Add prototypes.
6462
6463 2001-03-28 Richard Henderson <rth@redhat.com>
6464
6465 * config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
6466 not TARGET_TOC for special toc restore handling.
6467 * config/rs6000/rs6000.md (eh_return): Likewise.
6468
6469 2001-03-28 Richard Henderson <rth@redhat.com>
6470
6471 * config/sparc/sparc.c (eligible_for_epilogue_delay): False if
6472 current_function_calls_eh_return.
6473 (output_function_epilogue): Handle eh_return.
6474 * config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
6475 (EH_RETURN_DATA_REGNO): New.
6476 (EH_RETURN_STACKADJ_RTX): New.
6477 (EH_RETURN_HANDLER_RTX): New.
6478 * config/sparc/sparc.md (call/short branch peepholes): Check
6479 can_throw_internal instead of in_same_eh_region.
6480
6481 * config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
6482 for eh_return data registers.
6483 (rs6000_emit_prologue): Save eh_return data registers.
6484 (rs6000_emit_epilogue): Force inline restores if eh_return.
6485 Restore eh_return data registers. Mind EH_RETURN_STACKADJ_RTX.
6486 * config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
6487 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
6488 (EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
6489 the target uses one.
6490 * config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
6491 (return_eh_si, return_eh_di): Remove.
6492 (eh_return): New, from corpse of eh_epilogue.
6493 (eh_set_lr_si, eh_set_lr_di): New.
6494
6495 * config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
6496 (ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
6497 True for pic register if current_function_calls_eh_return.
6498 (ix86_expand_epilogue): Change "emit_return" argument into "style".
6499 Handle eh_return requirements.
6500 * config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
6501 (EH_RETURN_STACKADJ_RTX): New.
6502 * config/i386/i386.md (exception_receiver): Remove.
6503 (eh_return, eh_return_1): New.
6504 * config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
6505
6506 * config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
6507 (alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
6508 (alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
6509 * config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
6510 (EH_RETURN_DATA_REGNO): New.
6511 (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
6512 * config/alpha/alpha.md (eh_epilogue): Remove.
6513 (exception_receiver): Use $26 for ldgp input.
6514 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
6515
6516 2001-03-28 Richard Henderson <rth@redhat.com>
6517
6518 * except.c: Rewrite entirely for IA-64 ABI exception handling.
6519 * except.h: Likewise.
6520
6521 * Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
6522 (LIB2ADDEHDEP): New.
6523 (LIB2FUNCS_EH): Remove.
6524 (LIB2ADD): Remove LIB2ADDEH.
6525 (libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
6526 (LIBGCC_DEPS): Use LIB2ADDEHDEP.
6527 (crt{begin,end}[S].o): Likewise.
6528 (except.o): Update includes.
6529 * mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
6530 (libgcc2_c_dep): Use LIB2ADDEHDEP.
6531
6532 * basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
6533 * bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
6534 * builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
6535 * builtins.c (expand_builtin): Implement it.
6536 [BUILT_IN_EH_RETURN]: Update for nr arguments change.
6537 * c-common.c (c_common_nodes_and_builtins): Declare it.
6538 * c-decl.c (init_decl_processing): Update __builtin_eh_return.
6539 * calls.c (libfunc_nothrow): Remove.
6540 (emit_library_call_value_1): Don't call it.
6541 * crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
6542 * dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
6543 (DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
6544 * dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
6545 (current_funcdef_number): Globalize.
6546 (output_call_frame_info): Emit frame data if an lsda is needed.
6547 Generate augmentation for personality routine. Don't play with
6548 difference symbols.
6549 (dwarf2out_begin_prologue): Record funcdef_number.
6550 * dwarf2out.h (current_funcdef_number): Declare.
6551 * expr.c (expand_expr): Update for except.h name changes.
6552 Remove POPDCC_EXPR, POPDHC_EXPR. Add EXC_PTR_EXPR.
6553 * expr.h (LTI_throw, LTI_rethrow): Remove.
6554 (LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
6555 (LTI_eh_rtime_match): Remove.
6556 (LTI_unwind_resume, LTI_eh_personality): Add.
6557 (LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
6558 * final.c (final): Don't call check_exception_handler_labels,
6559 init_insn_eh_region, or free_insn_eh_region.
6560 (final_scan_insn): Always emit debug labels for
6561 NOTE_INSN_EH_REGION notes.
6562 * flags.h (flag_new_exceptions): Remove.
6563 * flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
6564 (record_active_eh_regions): Remove.
6565 (count_basic_blocks): Check all instructions for REG_EH_REGION.
6566 Use can_throw_internal.
6567 (find_basic_blocks_1): Likewise.
6568 (move_stray_eh_region_notes): Remove.
6569 (find_label_refs): No eh_return_stub_label.
6570 (make_edges): Likewise. No init/free_eh_nesting_info. Handle RESX.
6571 (make_eh_edge): No eh_nest_info. Update for reachable_handlers
6572 changes.
6573 (delete_unreachable_blocks): Don't track deleted handlers.
6574 (flow_delete_block): Use maybe_remove_eh_handler.
6575 (delete_eh_regions): Remove.
6576 (merge_blocks): Don't check for eh region match.
6577 (mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
6578 EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
6579 (init_propagate_block_info): Disable dead frame store optimization
6580 when current_function_calls_eh_return.
6581 (dump_bb): Don't print eh_beg, eh_end.
6582 * function.c (fixup_var_refs): No catch_clauses.
6583 (expand_function_end): Likewise. Call expand_eh_return before
6584 the return register use. Call sjlj_emit_function_exit_after.
6585 (expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
6586 * function.h (struct function): Add calls_eh_return, uses_eh_lsda.
6587 * ifcvt.c (dead_or_predicable): Remove eh region check.
6588 * integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
6589 Don't check for EH vs parameters.
6590 (expand_inline_function_eh_labelmap, eif_eh_map): Remove.
6591 (expand_inline_function): Call duplicate_eh_regions.
6592 (copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
6593 (copy_insn_notes): Remap REG_EH_REGION notes.
6594 (copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
6595 * integrate.h (struct inline_remap): Add local_return_label.
6596 * jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
6597 check_exception_handler_labels, nor exception_optimize.
6598 (find_cross_jump): No EH region check.
6599 * optabs.c (init_optabs): Update for changed eh libfuncs.
6600 * rtl.def (RESX): New.
6601 * rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
6602 * stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
6603 checks. Update for except.h name changes.
6604 (expand_cleanups): Likewise.
6605 (expand_dcc_cleanup, expand_dhc_cleanup): Remove.
6606 * toplev.c (dump_file_index, dump_file): Add .02.eh dump.
6607 (compile_file): Call init_eh before init_optabs. Don't
6608 output_exception_table here.
6609 (rest_of_compilation): Call convert_from_eh_region_ranges,
6610 convert_to_eh_region_ranges, output_function_exception_table.
6611 Don't emit_eh_context.
6612 * tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
6613 (EXC_PTR_EXPR): New.
6614
6615 * md.texi (eh_epilogue): Remove.
6616 (eh_return): Document.
6617 * tm.texi (EH_RETURN_DATA_REGNO): Document.
6618 (EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
6619
6620 * eh-common.h: Remove file.
6621 * frame-dwarf2.c, frame.c, frame.h: Remove files.
6622 * libgcc2.c (L_eh): Remove.
6623
6624 * unwind-dw2-fde.c: New file, largely copied from frame.c.
6625 * unwind-dw2-fde.h: New file.
6626 * unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
6627 * unwind-sjlj.c, unwind.h, unwind.inc: New files.
6628 * libgcc-std.ver: Update for eh symbols.
6629
6630 2001-03-27 Richard Henderson <rth@redhat.com>
6631
6632 * regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
6633 reduce false positives.
6634 (regmove_optimize): Disable if flag_non_call_exceptions.
6635
6636 * stmt.c (expand_return): Remove always true predicate.
6637 (expand_decl_cleanup_no_eh): Remove dead code.
6638
6639 * sched-deps.c (sched_analyze_insn): Consolidate scheduling
6640 barrier code. Add a scheduling barrier if a non-call insn
6641 can throw internally.
6642
6643 * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
6644 Auto-inc addresses trap only if their base register does.
6645
6646 * except.c (can_throw_internal): Rename from can_throw.
6647 * except.h, resource.c: Update references.
6648
6649 * integrate.c (copy_insn_list): Use returnjump_p.
6650 (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
6651
6652 * function.h (struct function): Move all boolean valued fields
6653 to single bit fields at the end of the struct.
6654
6655 * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
6656 jump.c, toplev.c:
6657 Rename asynchronous_exceptions to flag_non_call_exceptions.
6658
6659 * gthr-single.h (UNUSED): New. Distinguish between how C
6660 and C++ mark unused function arguments. Use throughout.
6661
6662 * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
6663 value to target configuration header.
6664 * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
6665 * config.in, configure: Rebuild.
6666 * except.h (USING_SJLJ_EXCEPTIONS): New. Define based on
6667 configuration and target defines.
6668 (exceptions_via_longjmp): Remove.
6669 * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
6670 Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
6671
6672 * except.h (flag_non_call_exceptions): Move ...
6673 * flags.h: ... here.
6674
6675 * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
6676 exceptions, put the note on the trapping instruction.
6677
6678 * flags.h (flag_new_exceptions): Remove.
6679 * toplev.c: Don't set it.
6680 * final.c: Don't check it.
6681 * except.c: Provide stub definition.
6682
6683 * flow.c (tidy_fallthru_edges): Don't combine complex edges.
6684 (calculate_global_regs_live): Kill call-clobbered registers
6685 across exception edges.
6686 * reg-stack.c (convert_regs_1): Kill the entire target stack
6687 across non-call exception edges.
6688
6689 * flow.c (cleanup_cfg): Take no argument.
6690 * output.h, sibcall.c, toplev.c: Update all calls.
6691
6692 2001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6693
6694 * configure.in: Don't check for bcopy.
6695 * configure, config.in: Regenerate.
6696
6697 * system.h: Don't define or prototype bcopy, instead poison it.
6698
6699 2001-03-27 Richard Henderson <rth@redhat.com>
6700
6701 * function.c (expand_function_start): Set DECL_REGISTER on
6702 a pseudo used for DECL_RESULT.
6703
6704 * rtl.h (LCT_NORETURN): New.
6705 * calls.c (emit_library_call_value_1): Handle it.
6706
6707 2001-03-27 Stan Shebs <shebs@apple.com>
6708
6709 * objc/objc-act.c (objc_init): Use dump_base_name.
6710 (gen_declaration): Clear the buffer arg.
6711 (gen_declaration_1): New function, body of gen_declaration.
6712 (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
6713 (gen_method_decl): Ditto, plus always clear buffer arg.
6714 (error_with_ivar): Simplify.
6715 (warn_with_method): Ditto.
6716 (build_message_expr): Don't clear buffers.
6717 (dump_interface): Ditto.
6718 (objc_debug): Ditto.
6719 (build_keyword_selector): Clear the buffer by only zeroing
6720 the first element.
6721 (objc_implementation_context): Declare.
6722 (start_class): Warn about missing @end.
6723 (finish_objc): Ditto.
6724
6725 2001-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
6726
6727 * reload1.c (eliminate_regs): Don't abort on MEM USEs.
6728
6729 2001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6730
6731 * Makefile.in (SYSTEM_H): Define.
6732 Depend on $(SYSTEM_H), not system.h.
6733
6734 * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
6735
6736 2001-03-27 Jim Wilson <wilson@redhat.com>
6737
6738 * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
6739 IA64_UNWIND_EMIT.
6740 * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
6741 (process_epilogue): New static function.
6742 (process_set): Call process_epilogue instead of emitting .restore
6743 directly.
6744 (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
6745
6746 * flow.c (struct reg_cond_life_info): New fields orig_condition
6747 and stores.
6748 (init_propagate_block_info): Set new fields.
6749 (mark_regno_cond_dead): Set and use new fields.
6750 (flush_reg_cond_reg_1): Likewise.
6751 (and_reg_cond, case AND): Check for redundant AND conditions.
6752 (mark_used_reg): Delete unnecessary clears before freeing splay trees.
6753 Set new fields.
6754
6755 2001-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
6756
6757 * cppmacro.c (stringify_arg): Null terminate strings.
6758
6759 2001-03-27 Zack Weinberg <zackw@stanford.edu>
6760
6761 * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
6762 inclusion style. xm-m68hc11.h no longer exists.
6763 * config/m68hc11/xm-m68hc11.h: Delete file.
6764 * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
6765
6766 * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
6767 Don't define GCC_VERSION, N_, or PARAMS; don't include
6768 gansidecl.h or stdio.h. Define inhibit_libc here.
6769 Make code conditioned on #if GCC_VERSION > 2095 unconditional.
6770 Delete code conditioned on #if GCC_VERSION == 2095.
6771
6772 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
6773 Make code conditioned on #if GCC_VERSION > 2095 unconditional.
6774 Delete code conditioned on #if GCC_VERSION == 2095.
6775
6776 2001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6777
6778 * system.h: Include symcat.h.
6779 (STRINGIFY): Don't define.
6780
6781 * configure.in: Adjust comment.
6782
6783 * builtins.c: Use STRINGX, not STRINGIFY.
6784 * gencheck.c: Likewise.
6785 * gengenrtl.c: Likewise.
6786 * protoize.c: Likewise.
6787
6788 * cpplex.c: Don't include symcat.h.
6789 * cpplib.c: Likewise.
6790
6791 * gansidecl.h (HAVE_STRINGIZE): Don't define.
6792
6793 2001-03-27 Alan Modra <alan@linuxcare.com.au>
6794
6795 * c-typeck.c (digest_init): Fold init expression.
6796
6797 2001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6798
6799 * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
6800
6801 2001-03-27 Alan Modra <alan@linuxcare.com.au>
6802
6803 * except.c (eh_regs): Save results of build_pointer_type to a temp
6804 as FUNCTION_VALUE macro may evaluate its args multiple times.
6805
6806 2001-03-26 Mark Mitchell <mark@codesourcery.com>
6807
6808 * c-common.h (DECL_NUM_STMTS): New macro.
6809 * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
6810 DECL_FRAME_SIZE.
6811 (pushdecl): Likewise.
6812 * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
6813 * integrate.c (expand_inline_function): Don't check
6814 DECL_FRAME_SIZE.
6815 * print-tree.c (print_node): Don't print it.
6816 * toplev.c (rest_of_compilation): Don't try to inline when
6817 flag_no_inline is on.
6818 * tree.h (DECL_FRAME_SIZE): Remove.
6819 (tree_decl): Adjust accordingly.
6820
6821 2001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6822
6823 * combine.c (try_combine): Use memcpy, not bcopy.
6824
6825 * genattrtab.c (expand_units): Likewise.
6826
6827 Mon Mar 26 15:55:08 CEST 2001 Jan Hubicka <jh@suse.cz>
6828
6829 * i386.md (push mem DI peep2): New.
6830 (mov 0, mov -1 peep2): Handle 64bit.
6831 (lea to arithmetics peep2): Handle 64bit leas.
6832 (rsp arithmetics to push/pop peep2s): New.
6833
6834 * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
6835
6836 Mon Mar 26 14:35:18 CEST 2001 Jan Hubicka <jh@suse.cz>
6837
6838 * i386.c (struct machine_function): Add save_varrargs_registers.
6839 (ix86_save_varrargs_registers): New macro.
6840 (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
6841 (ix86_expand_prologue): Likewise.
6842 (ix86_emit_epilogue_esp_adjustement): Likewise.
6843 (ix86_expand_epilogue): Likewise.
6844 * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
6845 (pro_epilogue_adjust_stack_1): New insn.
6846 (pro_epilogue_adjust_stack_rex64): Likewise.
6847 * i386.h (MASK_NO_RED_ZONE): New constant.
6848 (TARGET_RED_ZONE): New macro.
6849 (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
6850 (RED_ZONE_SIZE): New constant.
6851 (RED_ZONE_RESERVE): New constant.
6852
6853 2001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6854
6855 * toplev.c (set_float_handler): Use memcpy, not bcopy.
6856
6857 2001-03-25 Kazu Hirata <kazu@hxi.com>
6858
6859 * config/h8300/h8300.md (umodqi3): Output a tab instead of a
6860 space.
6861 (modqi3): Likewise.
6862 (umodhi3): Likewise.
6863 (modhi3): Likewise.
6864
6865 2001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6866
6867 * mkconfig.sh (DEFINES): Handle entries with '='.
6868
6869 * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
6870 Set xm_defines to MACRO=value instead.
6871
6872 * i370/xm-mvs.h: Delete.
6873
6874 * ns32k/xm-pc532-min.h: Likewise.
6875
6876 Sun Mar 25 15:01:40 CEST 2001 Jan Hubicka <jh@suse.cz>
6877
6878 * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
6879 shiftdi_operand;
6880 use ix86_expand_binary_operator
6881 (?sh??i_?): Disable for 64bit.
6882 * i386.h (PREDICATE_CODES): Add shiftdi_operand.
6883 * i386.c (shiftdi_operand): New predicate.
6884
6885 * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
6886 ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
6887 ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
6888 ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
6889 ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
6890 lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
6891 lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
6892 rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
6893 rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
6894 rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
6895 (rotldi3, rotrdi3): New expanders.
6896
6897 Sun Mar 25 14:25:33 CEST 2001 Jan Hubicka <jh@suse.cz>
6898
6899 * i386.md (movstrsi): Move offline.
6900 (movstrdi): New.
6901 (strmovdi_rex64): New.
6902 (strmov?i): Accept 64bit.
6903 (strmov?i_rex64): New.
6904 (strmov?i_rex_1): New.
6905 (strmov?i_1): Disable for 64bit.
6906 (rep_mov?i_rex64): New.
6907 (rep_mov?i): Disable for 64bit.
6908 (clrstrsi): Move offline.
6909 (strset?i_rex64): New.
6910 (strset?i: Accept 64bit.
6911 (rep_stos?i): Disable for 64bit.
6912 (rep_stos?i_rex64): New.
6913 (strset?i_rex_1): New.
6914 (strset?i_1): Disable for 64bit.
6915 (cmpstrsi): Accept 64bit.
6916 (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
6917 (cmpstrqi_nz_rex_1): New.
6918 (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
6919 (strlensi): Move offline.
6920 (strlendi): New.
6921 (strlenqi_1): Disable for 64bit; fix constraints.
6922 (strlenqi_rex_1): New.
6923 * i386.c (ix86_adjust_counter): New static function.
6924 (ix86_zero_extend_to_Pmode): Likewise.
6925 (ix86_expand_aligntest): Likweise.
6926 (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
6927 (ix86_expand_movstr): New global function.
6928 (ix86_expand_clrstr): New global function.
6929 (ix86_expand_strlen): New global function.
6930 * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
6931 ix86_expand_strlen): Declare.
6932 (ix86_expand_strlensi_unroll_1): Delete.
6933
6934 Sat Mar 24 23:15:19 CET 2001 Jan Hubicka <jh@suse.cz>
6935
6936 * i386.md (cmpdi): Fix operand predicates.
6937 (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
6938 cmpdi_1_insn_rex64): New patterns.
6939 (adddi3): Turn to expander.
6940 (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
6941 (addsi3_carry_zext): New pattern.
6942 (adddi_?_rex64): New patterns and splitters.
6943 (addsi_?_zext): New patterns.
6944 (subsi3_carry_zext): New pattern.
6945 (subdi_?_rex64): New patterns and splitters.
6946 (iorsi_?_zext): New patterns.
6947 (iordi_?_rex64): New patterns and splitters.
6948 (iorsi_?_zext): New patterns.
6949 (iorsi_?_zext_imm): New patterns.
6950 (xorsi_?_zext): New patterns.
6951 (xordi_?_rex64): New patterns and splitters.
6952 (xorsi_?_zext): New patterns.
6953 (negdi*): New patterns.
6954 (one_cmpldi*): Likewise.
6955 (one_cmplsi*_zext, negsi*_zext): Likewise.
6956 (testqi_ext_3_rex64): New pattern.
6957
6958 Sat Mar 24 21:13:28 CET 2001 Jan Hubicka <jh@suse.cz>
6959
6960 * i386-protos.h (ix86_split_long_move): Return void.
6961 * i386.c (ix86_split_to_parts): Handle 64bit target.
6962 (ix86_split_long_move): Likewise.
6963 * i386.md (all calls to ix86_split_long_move): Update.
6964
6965 2001-03-23 Richard Henderson <rth@redhat.com>
6966
6967 * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
6968 to avoid shadowing arguments.
6969
6970 2001-03-23 Jakub Jelinek <jakub@redhat.com>
6971
6972 * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
6973 to variable names where DECL_NAME is different from
6974 DECL_ASSEMBLER_NAME.
6975
6976 2001-03-23 Jim Wilson <wilson@redhat.com>
6977
6978 * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
6979 (assemble_alias): Call make_decl_rtl.
6980
6981 Fri Mar 23 16:59:08 2001 J"orn Rennecke <amylaar@redhat.com>
6982
6983 * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
6984
6985 2001-03-23 Bryce McKinlay <bryce@albatross.co.nz>
6986
6987 * extend.texi: Document the "java_interface" attribute.
6988
6989 2001-03-22 Zack Weinberg <zackw@stanford.edu>
6990
6991 * mkconfig.sh: Use a subshell with redirected stdout,
6992 instead of closing stdout and confusing commands that run
6993 afterward. Throw away output of cmp.
6994
6995 2001-03-22 Gordon Sadler <gbsadler1@lcisp.com>
6996
6997 * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
6998
6999 Thu Mar 22 22:15:59 CET 2001 Jan Hubicka <jh@suse.cz>
7000
7001 * i386.md (zero_extendsidi2_32): Break out from ...
7002 (zero_extendsidi2): ... here ; turn to expander.
7003 (zero_extendsidi2_rex64): New.
7004 (extendsidi2_32): Break out from ...
7005 (extendsidi2): ... here ; turn to expander.
7006 (extendsidi2_rex64): New.
7007 (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
7008 (trunc?f?f splitters): Add 64bit versions.
7009
7010 Thu Mar 22 21:41:16 CET 2001 Jan Hubicka <jh@suse.cz>
7011
7012 * i386.md (pushsi, pushsi2_prologue): Disable.
7013 (pushsi2_rex64): New.
7014 (movabs?i_1_rex64, movabs?i_2_rex64): New.
7015 (movqi_ext_1): Disable for 64bit.
7016 (movqi_ext_1_rex64): New.
7017 (pushdi2_rex64): New pattern, peep2s and splitter.
7018 (pushdi2_prologue_rex64): New pattern.
7019 (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
7020 Likewise.
7021 (movdi splitters): Disable for 64bit.
7022 (movdi_1_rex64): New pattern, peep2s and splitters.
7023 (swapdi): New pattern.
7024 (pushsf): Disable for 64bit.
7025 (pushsf_rex64): New pattern and splitter.
7026 (pushdf_nointeger): Disable for 64bit.
7027 (pushdf_integer): Handle the 64bit case.
7028 (pushtf): Likewise; update splitters.
7029
7030 2001-03-22 Richard Henderson <rth@redhat.com>
7031
7032 * mkconfig.sh: Include insn-flags.h.
7033 * Makefile.in (CONFIG_H): Include insn-flags.h.
7034 (lots of objects): Remove insn-codes.h and insn-flags.h.
7035
7036 * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
7037 integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
7038 regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
7039 avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
7040 dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
7041 i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
7042 m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
7043 mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
7044 pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
7045 v850/v850.c, vax/vax.c:
7046 Don't include insn-flags.h.
7047
7048 * diagnostic.c, expr.h, reload.c, toplev.c:
7049 Don't include insn-codes.h.
7050
7051 * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
7052 final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
7053 c4x/c4x.c, i960/i960.c, mips/mips.c:
7054 Don't include insn-codes.h or insn-flags.h.
7055
7056 * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
7057 or insn-flags.h in the generated code.
7058 * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
7059 (main): Forward declare struct rtx_def.
7060
7061 2001-03-22 Joseph S. Myers <jsm28@cam.ac.uk>
7062
7063 * invoke.texi (-ffast-math): Remove duplicate line about
7064 __FAST_MATH__.
7065
7066 * gcc.texi: Remove more obsolete documentation of bugs and
7067 installation problems.
7068
7069 2001-03-21 Kazu Hirata <kazu@hxi.com>
7070
7071 * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
7072 into two parts.
7073
7074 2001-03-20 Jason Merrill <jason@redhat.com>
7075
7076 * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
7077 not '.' or '$'.
7078 * tree.c (FILE_FUNCTION_FORMAT): Likewise.
7079 * varasm.c (CHKR_PREFIX): Likewise.
7080
7081 Wed Mar 21 14:27:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7082
7083 * gcse.c (hash_scan_set): An expression is not anticipatible if it
7084 is part of a multi-SET insn.
7085
7086 * cse.c (find_comparison_args): Remove previous change.
7087 * ifcvt.c (noce_process_if_block): When moving an insn, remove any
7088 REG_EQUAL notes.
7089
7090 * config/i386/i386.md (conditional_trap): Remove warning.
7091
7092 * recog.c (push_operand): Fix error in last change that caused
7093 undefined symbol on many targets.
7094
7095 * sdbout.c: #include ggc.h.
7096 (sdbout_init): Move to end of file.
7097 Call ggc_add_tree_root for anonymous_types.
7098 (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
7099 (sdbout_one_type): Use DECL_NAME for field name.
7100 * Makefile.in (sdbout.o): Show includes ggc.h.
7101
7102 Wed Mar 21 20:33:26 CET 2001 Jan Hubicka <jh@suse.cz>
7103
7104 * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
7105 (override_options): Use properlimits for preferred_stack_boundary.
7106 (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
7107 on x86_64.
7108 (ext_register_operand): Accept DImode.
7109 (load_pic_register): Abort on 64bit.
7110 (gen_push): Use Pmode instead of SImode.
7111 (ix86_save_reg): Pic reg is never used on 64bit.
7112 (ix86_expand_prologue): Likewise.
7113 (ix86_emit_save_regs): Use Pmode instead of SImode.
7114 (legitimate_address_p): Check displacement for 64bit.
7115 (print_operand): Avoid outputting of (%rip) on 64bit.
7116 (print_operand_address): Output (%rip) where possible.
7117 (split_di): Abort on 64bit registers.
7118 (ix86_expand_branch): DImode comparison is simple for x86_64.
7119 (memory_address_length): Recognize memory addresses formed using
7120 PRE/POST modify.
7121 (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
7122 for x86_64.
7123 * i386.h (TARGET_USE_SAHF): Disable for 64bit.
7124
7125 Wed Mar 21 18:51:19 CET 2001 Jan Hubicka <jh@suse.cz>
7126
7127 * recog.c (push_operand): Recognize new format of push instructions.
7128
7129 Wed Mar 21 10:53:57 CET 2001 Jan Hubicka <jh@suse.cz>
7130
7131 * i386.md (pushqi1): New.
7132 * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
7133 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
7134 x86_64_immediate_operand, x86_64_immediate_operand,
7135 x86_64_zext_immediate_operand): Declare.
7136 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
7137 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
7138 x86_64_immediate_operand, x86_64_immediate_operand,
7139 x86_64_zext_immediate_operand): define.
7140 * i386.h (PREDICATE_CODES): Add new predicates.
7141
7142 Wed Mar 21 10:25:13 CET 2001 Jan Hubicka <jh@suse.cz>
7143
7144 * i386.md (pophi1, popqi1, pushqi1): Remove.
7145
7146 * expr.c (emit_single_push_insn): New function.
7147 (move_by_pieces): Accept NULL as destination for push instructions.
7148 (gen_push_operand): Kill.
7149 (emit_push_insn): Pass NULL when pushing; avoid updating of
7150 stack_pointer_delta.
7151 * expr.h (gen_push_operand): Kill.
7152
7153 Tue Mar 20 20:15:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7154
7155 * rtl.texi (COMPARE): Clarify documentation and reference section
7156 on comparisons.
7157
7158 2001-03-20 Stan Shebs <shebs@apple.com>
7159
7160 * objc/objc-act.c (get_static_reference): Use NULL_TREE.
7161 (get_object_reference): Ditto.
7162 (error_with_ivar): Use error_with_file_and_line.
7163 (warn_with_method): Use warning_with_file_and_line.
7164
7165 2001-03-20 Tom Tromey <tromey@redhat.com>
7166
7167 * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
7168
7169 2001-03-20 Mark Mitchell <mark@codesourcery.com>
7170
7171 * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
7172 variables that are TREE_PUBLIC, even if not TREE_STATIC.
7173
7174 2001-03-20 DJ Delorie <dj@redhat.com>
7175
7176 * Makefile.in (install-libgcc): Pass complete list of variables.
7177 (install-multilib): Ditto.
7178
7179 2001-03-20 David Billinghurst <David.Billinghurst@riotinto.com>
7180
7181 * config/i386/cygwin.h: Declare ctor_section, dtor_section
7182 drectve_section, switch_to_section.
7183
7184 * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
7185 i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
7186 i386_pe_mark_dllimport.
7187
7188 2001-03-20 David Billinghurst <David.Billinghurst@riotinto.com>
7189
7190 * config/i386/cygwin.h: Include <stdio.h> Declare and constify
7191 functions i386_pe_*.
7192
7193 * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
7194 i386_pe_* functions with char * arguments.
7195
7196 2001-03-20 Alexandre Oliva <aoliva@redhat.com>
7197
7198 * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
7199 and store.
7200 (movsi_ie): Introduce fpul store.
7201
7202 2001-03-20 Alan Modra <alan@linuxcare.com.au>
7203
7204 * Makefile.in (OBJS): Remove hashtab.o.
7205
7206 2001-03-19 Stan Shebs <shebs@apple.com>
7207
7208 * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
7209 * c-lang.c (maybe_objc_method_name): Ditto.
7210 * c-tree.h (maybe_objc_method_name): Remove decl.
7211
7212 2001-03-19 Tom Tromey <tromey@redhat.com>
7213
7214 * gcc.c (init_gcc_specs): Fix comment.
7215
7216 2001-03-19 Mark Mitchell <mark@codesourcery.com>
7217
7218 Compute DECL_ASSEMBLER_NAME lazily.
7219 * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
7220 (DECL_ASSEMBLER_NAME_SET_P): New macro.
7221 (SET_DECL_ASSEMBLER_NAME): Likewise.
7222 (COPY_DECL_ASSEMBLER_NAME): Likewise.
7223 (set_decl_assembler_name): Declare.
7224 (lang_set_decl_assembler_name): Likewise.
7225 * tree.c (lang_set_decl_assembler_name): New variab.e
7226 (set_decl_assembler_name): New function.
7227 (init_obstacks): Set lang_set_decl_assembler_name.
7228 (build_decl): Don't set DECL_ASSEMBLER_NAME.
7229 * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
7230 COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
7231 where it's not necessary.
7232 (builtin_function): Likewise.
7233 (finish_decl): Likewise.
7234 * dbxout.c (dbxout_type_methods): Likewise.
7235 * ggc-common.c (ggc_mark_trees): Likewise.
7236 * profile.c (output_func_start_profiler): Likewise.
7237 * varasm.c (make_decl_rtl): Likewise.
7238
7239 * cse.c (find_comparison_args): Update documentation. Fix
7240 mishandling of COMPARE operations.
7241
7242 * tree.def (ABS_EXPR): Add documentation.
7243 * fold-const.c (fold): Improve folding of ABS_EXPRs.
7244
7245 2001-03-19 Zack Weinberg <zackw@stanford.edu>
7246
7247 * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
7248
7249 2001-03-19 Jakub Jelinek <jakub@redhat.com>
7250
7251 * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
7252 Remove ia32 linux PIC kludge and move it...
7253 * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
7254
7255 Mon Mar 19 18:53:54 CET 2001 Jan Hubicka <jh@suse.cz>
7256
7257 * i386.md (absdf2 expander): Fix 64bit case.
7258
7259 2001-03-19 Brad Lucier <lucier@math.purdue.edu>
7260
7261 * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
7262
7263 2001-03-16 Andrew Haley <aph@cambridge.redhat.com>
7264
7265 * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
7266
7267 2001-03-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7268
7269 * README.X11: Remove obsolete file.
7270
7271 2001-03-18 Anthony Green <green@redhat.com>
7272
7273 * config/pj/pj.h: Remove some trailing commas.
7274 (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
7275
7276 2001-03-18 Richard Henderson <rth@redhat.com>
7277
7278 * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
7279 * calls.c: ... here.
7280 * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
7281 defaults for them here.
7282
7283 2001-03-17 Anthony Green <green@redhat.com>
7284
7285 * config/pj/lib1funcs.S: Fix broken comment.
7286 * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
7287 labels with '.'.
7288
7289 2001-03-18 Joseph S. Myers <jsm28@cam.ac.uk>
7290
7291 * gcc.texi: Remove obsolete information relating to build and
7292 installation problems with enquire or the Pyramid C compiler.
7293
7294 2001-03-17 Richard Henderson <rth@redhat.com>
7295
7296 * dwarf2out.c (queue_reg_save): New.
7297 (flush_queued_reg_saves, clobbers_queued_reg_save): New.
7298 (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
7299 dwarf2out_reg_save.
7300 (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
7301 (cfa, cfa_store, cfa_temp): Make static.
7302 * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
7303
7304 2001-03-17 Richard Henderson <rth@redhat.com>
7305
7306 * integrate.h (struct inline_remap): Add local_return_label.
7307 * integrate.c (expand_inline_function): Initialize it and emit
7308 it after copy_insn_notes.
7309 (copy_insn_list): Don't store local_return_label here.
7310 (copy_insn_notes): New function split out from copy_insn_list.
7311
7312 2001-03-17 Richard Henderson <rth@redhat.com>
7313
7314 * dwarf2out.c (lookup_filename): Emit .file if the assembler
7315 is generating .debug_line.
7316 (dwarf2out_init): Add main_input_filename to the file table first.
7317 * configure.in (as_dwarf2_debug_line): Test with file number 1
7318 instead of file number 0.
7319
7320 Sat Mar 17 11:52:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7321
7322 * combine.c (undobuf): Remove field previous_undos; all refs deleted.
7323 (gen_rtx_combine): Deleted; all references changed as appropriate.
7324 (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
7325
7326 * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
7327
7328 2001-03-17 David Billinghurst <David.Billinghurst@riotinto.com>
7329
7330 * config/i386/xm-cygwin.h: Include <sys/cygwin.h. Remove unused
7331 variable.
7332
7333 2001-03-16 Jim Wilson <wilson@redhat.com>
7334
7335 * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
7336 then set it to LOC_REG (79) instead of aborting.
7337
7338 2001-03-16 Phil Edwards <pme@sources.redhat.com>
7339
7340 * gccbug.in: Remove high priority.
7341
7342 2001-03-16 Richard Henerson <rth@redhat.com>
7343
7344 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
7345 output with a space instead of deleting it.
7346 * configure: Regenerate.
7347
7348 2001-03-16 Zack Weinberg <zackw@stanford.edu>
7349
7350 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
7351 handles the gory details of converting an object file into
7352 something that's safe to grep.
7353 (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
7354 gcc_AC_C_COMPILE_ENDIAN. Use gcc_AC_EXAMINE_OBJECT. Put
7355 newlines at either end of the string we're looking for.
7356 Make 'checking ...' message less stilted.
7357 (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT. Handle
7358 ARM in-memory layout and its hypothetical converse. Don't
7359 define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
7360 HOST_WORDS_BIG_ENDIAN.
7361
7362 * configure.in: Adjust for renamed macro. Move
7363 gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
7364 * configure, config.in: Regenerate.
7365
7366 2001-03-16 Laurynas Biveinis <lauras@softhome.net>
7367
7368 * fixinc/Makefile.in: Set SHELL.
7369
7370 2001-03-16 Laurynas Biveinis <lauras@softhome.net>
7371
7372 * fixinc/fixincl.c (fix_with_system): Quote file names before
7373 passing them to shell.
7374
7375 2001-03-16 Laurynas Biveinis <lauras@softhome.net>
7376
7377 * Makefile.in: Use fix-header$(build_exeext) instead
7378 of fix-header.
7379
7380 2001-03-16 Richard Henderson <rth@redhat.com>
7381
7382 * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
7383 (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
7384 (size_of_line_prolog): Remove.
7385 (output_line_info): Compute prologue size via label difference.
7386 (lookup_filename): Return "unspecified" for <internal> and <built-in>.
7387
7388 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
7389 assembler error when redefining file numbers.
7390 * config.in, configure: Rebuild.
7391
7392 * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
7393 (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
7394 (dw2_asm_output_delta_uleb128): Likewise.
7395 (dw2_asm_output_delta_sleb128): Similarly.
7396 (dw2_asm_output_data_sleb128): Similarly. Print number in decimal.
7397
7398 2001-03-16 Michael Meissner <meissner@redhat.com>
7399
7400 * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
7401 warnings.
7402 (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
7403 warnings.
7404 (BITMASK_LOWER16): Replacement for 0x0000ffff.
7405
7406 * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
7407 instead of 0xffff0000/0x0000ffff to avoid warnings about constants
7408 being unsigned in ISO C and signed in traditional.
7409 (expand_prologue): Ditto.
7410 (RA_MASK): Use BITMASK_HIGH to avoid warnings.
7411
7412 * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
7413 warnings.
7414 (divsi3,divdi3): Ditto.
7415 (modsi3,moddi3): Ditto.
7416 (fix_truncdfsi2,fix_truncdfdi2): Ditto.
7417 (fix_truncsfsi2,fix_truncsfdi2): Ditto.
7418 (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
7419 warnings.
7420
7421 Fri Mar 16 14:47:57 CET 2001 Jan Hubicka <jh@suse.cz>
7422
7423 * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
7424 SSE based conditional moves on LTGT/UNEQ conditions;
7425 Canonicalize EQ to NE.
7426 * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
7427 (sse_mov?fcc_ne): New.
7428
7429 * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
7430
7431 2001-03-16 Alexandre Oliva <aoliva@redhat.com>
7432
7433 * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
7434 register may be dead.
7435
7436 2001-03-16 Brad Lucier <lucier@math.purdue.edu>
7437
7438 * Makefile.in (hash.o): Depend on CONFIG_H.
7439
7440 2001-03-15 Mark Mitchell <mark@codesourcery.com>
7441
7442 * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
7443
7444 2001-03-15 Richard Henderson <rth@redhat.com>
7445
7446 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
7447 (ASM_OUTPUT_DWARF_PCREL): New.
7448 * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
7449
7450 2001-03-16 Alexandre Oliva <aoliva@redhat.com>
7451
7452 * cppfiles.c (stack_include_file): Use MAX of sysp.
7453
7454 2001-03-15 Steve Ellcey <sje@cup.hp.com>
7455
7456 * config.gcc (ia64*-*-hpux*): New case.
7457 * config/ia64/hpux.h: New file for HP-UX support.
7458 * config/ia64/t-hpux: New file for HP-UX support.
7459
7460 2001-03-16 Bruce Korb <bkorb@gnu.org>, Alexandre Oliva <aoliva@redhat.com>
7461
7462 * fixinc/inclhack.def (irix_stdio_va_list): New.
7463 * fixinc/fixincl.x: Rebuilt.
7464
7465 2001-03-15 Richard Henderson <rth@redhat.com>
7466
7467 * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
7468 if provided by the target.
7469 (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
7470 (dw2_asm_output_addr): New.
7471 * dwarf2asm.h (dw2_asm_output_addr): Declare.
7472 * dwarf2out.c (output_cfi): Use it for program addresses.
7473 (output_call_frame_info, output_die): Likewise.
7474 (output_aranges, output_line_info): Likewise.
7475
7476 2001-03-15 Bruce Korb <bkorb@gnu.org>
7477
7478 * gcc.c(main): make more rigorous
7479 * collect2.c(main): guard against ignoring SIGCHLD
7480 * protoize.c(main): ditto
7481 * gcc/fixinc/fixincl.c(initialize): ditto
7482
7483 2001-03-15 Mark Mitchell <mark@codesourcery.com>
7484
7485 * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
7486 (sdbout_parms): Likewise.
7487
7488 Thu Mar 15 12:57:14 2001 Jeffrey A Law (law@cygnus.com)
7489
7490 * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
7491 "widen" a destination that is already wider than a word. Also do
7492 not widen if LOAD_EXTEND_OP is NIL for the given mode.
7493
7494 2001-03-15 Bernd Schmidt <bernds@redhat.com>
7495
7496 * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
7497
7498 Thu Mar 15 11:30:31 EST 2001 John Wehle (john@feith.com)
7499
7500 * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
7501
7502 Thu Mar 15 11:24:29 EST 2001 John Wehle (john@feith.com)
7503
7504 * i960.h (i960_maxbitalignment,
7505 i960_last_maxbitalignment): Declare.
7506 * i960.c (i960_maxbitalignment,
7507 i960_last_maxbitalignment): Make global.
7508 (process_pragma): Delete.
7509 (i960_pr_align, i960_pr_noalign): Move from here ...
7510 * i960-c.c: ... to this new file.
7511 * t-960bare (i960-c.o): New rule.
7512 * t-vxworks960 (i960-c.o): Likewise.
7513 * config.gcc (i960-*-*): Define c_target_objs and
7514 cxx_target_objs.
7515
7516 2001-03-15 Bernd Schmidt <bernds@redhat.com>
7517
7518 * cselib.c (hash_rtx): For REG and MEM, just use value of expression
7519 without adding in rtx code and mode.
7520
7521 * alias.c (init_alias_analysis): Don't use any rtx whose value
7522 varies as a known value.
7523 Delete a superfluous test.
7524
7525 * config/ia64/ia64.c (maybe_rotate): New function, broken out of
7526 ia64_sched_reorder.
7527 (ia64_sched_reorder): Call maybe_rotate; also rotate after
7528 scheduling a stop bit.
7529 (ia64_emit_nops): Correctly handle ASMs.
7530
7531 2001-03-15 Mark Mitchell <mark@codesourcery.com>
7532
7533 * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
7534
7535 2001-03-15 Neil Booth <neil@daikokuya.demon.co.uk>
7536
7537 * cpp.texi: Update documentation for -include and -imacros.
7538 * cppfiles.c (struct include_file): Remove "defined" memeber.
7539 (find_or_create_entry): Make a copy of the file name, and
7540 simplify it.
7541 (open_file): Update to ensure we use the simplified filename.
7542 (stack_include_file): Don't set search_from.
7543 (cpp_included): Don't simplify the path name here.
7544 (find_include_file): New prototype. Call search_from to
7545 get the start of the "" include chain. Don't simplify the
7546 filenames here.
7547 (_cpp_execute_include): New prototype. Move diagnostics to
7548 do_include_common. Update.
7549 (_cpp_pop_file_buffer): Don't set defined.
7550 (search_from): New prototype. Use the preprocessor's cwd
7551 for files included from the command line.
7552 (read_name_map): Don't simplify the pathname here.
7553 * cpphash.h (enum include_type): New.
7554 (struct buffer): Delete search from. New search_cached.
7555 (_cpp_execute_include): Update prototype.
7556 * cppinit.c (do_includes): Use _cpp_execute_include.
7557 * cpplib.c (do_include_common): New function.
7558 (do_include, do_include_next, do_import): Use it.
7559
7560 2001-03-14 Mark Mitchell <mark@codesourcery.com>
7561
7562 * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
7563 contents of the RTL, to determine the name of the object.
7564
7565 2001-03-14 Mark Mitchell <mark@codesourcery.com>
7566
7567 * tree.h (DECL_RTL): Allocate RTL lazily.
7568 (SET_DECL_RTL): New macro.
7569 (DECL_RTL_SET_P): Likewise.
7570 (COPY_DECL_RTL): Likewise.
7571 (DECL_RTL_IF_SET): Likewise.
7572 * varasm.c (make_decl_rtl): Add assertions about the kind of
7573 declaration we are processing.
7574 * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
7575 (start_decl): Likewise.
7576 (finish_decl): Likewise.
7577 * c-semantics.c (emit_local_var): Likewise.
7578 * calls.c (expand_call): Likewise.
7579 * dbxout.c (dbxout_symbol): Likewise.
7580 * emit-rtl.c (unshare_all_rtl): Likewise.
7581 (unshare_all_decls): Likewise.
7582 (reset_used_decls): Likewise.
7583 * expr.c (store_constructor): Likewise.
7584 (safe_from_p): Likewise.
7585 (expand_expr): Likewise.
7586 * function.c (put_var_into_stack): Likewise.
7587 (instantiate_decls_1): Likewise.
7588 (assign_parms): Likewise.
7589 (expand_function_start): Likewise.
7590 (expand_function_end): Likewise.
7591 * ggc-common.c (gcc_mark_trees): Likewise.
7592 * integrate.c (function_cannot_inline_p): Likewise.
7593 (copy_decl_for_inlining): Likewise.
7594 (expand_inline_function): Likewise.
7595 (integrate_parm_decls): Likewise.
7596 (integrate_decl_tree): Likewise.
7597 * print-tree.c (print_node): Likewise.
7598 * reg-stack.c (stack_result): Likewise.
7599 * stmt.c (label_rtx): Likewise.
7600 (expand_return): Likewise.
7601 (expand_decl): Likewise.
7602 (expand_decl_cleanup): Likewise.
7603 (expand_anon_union_decl): Likewise.
7604 * toplev.c (check_global_declarations): Likewise.
7605 (rest_of_decl_compilation): Likewise.
7606 * tree.c (simple_cst_equal): Likewise.
7607 * objc/objc-act.c (generate_static_references): Likewise.
7608
7609 2001-03-14 Zack Weinberg <zackw@stanford.edu>
7610
7611 * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
7612 gcc_AC_C_FLOAT_FORMAT): New macros.
7613 * configure.in: Add AC_PROG_CPP after CC tests;
7614 gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
7615 tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
7616 * configure, config.in: Regenerate.
7617
7618 * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
7619 config/arm/xm-arm.h, config/c4x/xm-c4x.h,
7620 config/convex/xm-convex.h, config/d30v/xm-d30v.h,
7621 config/i370/xm-linux.h, config/i370/xm-oe.h,
7622 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
7623 config/m68k/xm-m68k.h, config/mips/xm-mips.h,
7624 config/pa/xm-linux.h, config/pa/xm-pa.h,
7625 config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
7626 config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
7627 config/sparc/xm-sparc.h, config/vax/xm-vax.h,
7628 config/we32k/xm-we32k.h: Delete.
7629
7630 * config/i370/xm-mvs.h, config/m88k/m88k.h,
7631 config/romp/xm-romp.h, config/rs6000/xm-beos.h,
7632 config/vax/xm-vms.h: Don't define any of:
7633 HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
7634
7635 * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
7636
7637 * config.gcc: Remove references to deleted files.
7638 (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
7639 FATAL_EXIT_CODE, which is the same between oe and mvs).
7640
7641 2001-03-14 DJ Delorie <dj@redhat.com>
7642 Vladimir Makarov <vmakarov@redhat.com>
7643
7644 * config/i960/i960.c (i960_function_prologue): Compute size of
7645 frame according to number of registers actually saved there.
7646
7647 2001-03-14 Richard Henderson <rth@redhat.com>
7648
7649 * expr.c (emit_move_insn_1): Fix else if around #endif.
7650
7651 Wed Mar 14 22:39:12 CET 2001 Jan Hubicka <jh@suse.cz>
7652 Vojtech Pavlik
7653
7654 * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
7655 constraints.
7656
7657 Wed Mar 14 22:26:10 CET 2001 Jan Hubicka <jh@suse.cz>
7658
7659 * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
7660 (override_options): Parse cmodel string.
7661 (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
7662 * i386.h (TARGET_OPTIONS): Add "cmodel".
7663 (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
7664 (enum cmodel): New.
7665 (ix86_cmodel_string, ix86_cmodel): Declare.
7666
7667 Wed Mar 14 22:26:54 CET 2001 Jan Hubicka <jh@suse.cz>
7668
7669 Spot by Matt Kraai:
7670 * i386.h (GENERAL_REG_P): Add missing REG_P.
7671
7672 2001-03-14 Laurynas Biveinis <lauras@softhome.net>
7673
7674 * configure.in: Use $gcc_cv_as instead of $as.
7675 * configure: Regenerated.
7676
7677 2001-03-14 Neil Booth <neil@daikokuya.demon.co.uk>
7678
7679 * cppfiles.c (stack_include_file): Only increase the include
7680 count if we actually process the file properly, as opposed
7681 to treating it as length zero. Only call read_include_file
7682 if not DO_NOT_REREAD. Handle the -H include file output
7683 here.
7684 (read_include_file): Remove now redundant DO_NOT_REREAD check.
7685 (cpp_included, find_include_file): Simplify pathnames after
7686 remapping them. If remapping, don't use the remapped file
7687 name's buffer as our scratch buffer.
7688 (cpp_pop_file_buffer): Replace the multiple include macro
7689 only if it isn't yet set.
7690 (read_name_map): Simplify remapped names when reading in.
7691 (remap_filename): Move code to code path that uses it.
7692 (_cpp_simplify_pathname): Return the input pointer.
7693 * cpphash.h (_cpp_simplify_pathname): Update prototype.
7694
7695 2001-03-14 Mark Mitchell <mark@codesourcery.com>
7696
7697 * expr.c (expand_expr): Revove bogus conditional.
7698
7699 Wed Mar 14 19:29:50 CET 2001 Jan Hubicka <jh@suse.cz>
7700
7701 * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
7702
7703 2001-03-14 Jakub Jelinek <jakub@redhat.com>
7704
7705 * reg-stack.c (stack_result): Unconditionally use
7706 FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
7707
7708 Wed Mar 14 16:36:25 CET 2001 Jan Hubicka <jh@suse.cz>
7709
7710 * expr.c (emit_move_insn_1): Split push of complex value when
7711 no suitable push instruction exist.
7712
7713 * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
7714 instead of QI_REG_P.
7715
7716 Tue Mar 13 22:22:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7717
7718 * alias.c (handled_component_p, can_address_p): New functions.
7719 (get_alias_set): Use them.
7720
7721 2001-03-13 Jim Wilson <wilson@redhat.com>
7722
7723 * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
7724 from 80 in try_locals code.
7725 (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
7726
7727 2001-03-13 Zack Weinberg <zackw@stanford.edu>
7728
7729 * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
7730 gcc_AC_C_LONG_LONG): New.
7731 * configure.in: Use them. Probe the size of short, int, long,
7732 and long long/__int64 if we have them. Move all the AC_C_*
7733 checks together, except gcc_AC_C_CHAR_BIT which has to go
7734 after AC_CHECK_HEADERS(limits.h).
7735 Take hwint.h out of host_xm_file and build_xm_file.
7736
7737 * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
7738 HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
7739 and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
7740 Move the HOST_WIDEST_INT setup logic here from system.h.
7741 Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
7742 defined.
7743 * system.h: Include hwint.h after limits.h. HOST_WIDEST_INT
7744 is now handled by hwint.h.
7745
7746 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
7747 config/c4x/xm-c4x.h, config/i370/xm-oe.h,
7748 config/ia64/xm-ia64.h: Don't define any of:
7749 HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
7750 HOST_BITS_PER_LONGLONG.
7751
7752 * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
7753 config/h8300/xm-h8300.h, config/mips/iris6.h,
7754 config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
7755 config/sparc/xm-sp64.h: Delete.
7756 * config.gcc: Remove references to deleted files.
7757
7758 * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
7759 HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
7760 * config/i370/xm-linux.h: Clarify floating-point situation in
7761 a comment.
7762
7763 2001-03-13 Neil Booth <neil@daikokuya.demon.co.uk>
7764
7765 * cppfiles.c (NO_INCLUDE_PATH): New macro.
7766 (find_include_file): Decide here which part of the include
7767 chain to start the search. Complain about an empty include
7768 chain in all cases apart from an abolsute file name.
7769 (_cpp_execute_include): Don't choose the search chain here.
7770 Don't call handle_missing_include in the case of an empty
7771 include chain.
7772 (_cpp_compare_file_date): Don't choose the search chain here.
7773 * cpplib.c (do_include_next): Move the in-main-file diagnostic
7774 here from _cpp_execute_include. Behave like #include if
7775 we're in the main file.
7776
7777 2001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7778
7779 * system.h (malloc, realloc, calloc, strdup): Only poison these
7780 tokens when IN_GCC is defined.
7781
7782 Tue Mar 13 14:38:44 CET 2001 Jan Hubicka <jh@suse.cz>
7783
7784 * i386.md (abs?f expander): Support SSE case.
7785 (abd?f_if): Add new "USE"; add splitters.
7786
7787 2001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7788
7789 * cpp.texi (poison): Explain the macro expansion exception.
7790
7791 2001-03-13 Jakub Jelinek <jakub@redhat.com>
7792
7793 * expr.c (store_expr): Add dont_store_target. If temp is already in
7794 target before copying to reg, don't store it into target again.
7795
7796 2001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
7797
7798 * cppinternals.texi: Update for file handling.
7799
7800 2001-03-12 Jeffrey Oldham <oldham@codesourcery.com>
7801
7802 * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
7803 2001-02-24 which broke building the Java library.
7804 * function.c (identify_blocks): Likewise.
7805 (all_blocks): Likewise.
7806 * integrate.c (integrate_decl_tree): Likewise.
7807 * print-tree.c (print_node): Likewise.
7808 * tree.h (BLOCK_NUMBER): Likewise.
7809 (struct tree_block): Likewise.
7810
7811 2001-03-12 David Edelsohn <edelsohn@gnu.org>
7812
7813 * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
7814 __WCHAR_TYPE__ definition.
7815 (WCHAR_TYPE_SIZE): #undef before #define.
7816
7817 2001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
7818
7819 * cppfiles.c: Update comments.
7820 (destroy_include_file_node): Rename destroy_node.
7821 (find_or_create_entry): New function.
7822 (open_file, _cpp_fake_include): Use it.
7823 (handle_missing_header): New function, broken out of
7824 _cpp_execute include. Don't segfault if there is no
7825 system or quoted path.
7826 (_cpp_execute_include): Use handle_missing_header.
7827
7828 2001-03-12 Jeffrey Oldham <oldham@codesourcery.com>
7829
7830 * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
7831 2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
7832
7833 Mon Mar 12 14:05:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7834
7835 * flow.c (insn_dead_p): Don't consider two memrefs equivalent
7836 unless anti_dependence says they are.
7837 * alias.c (objects_must_conflict): If neither has a type specified,
7838 they must conflict.
7839
7840 2001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
7841 David Billinghurst <David.Billinghurst@riotinto.com>
7842
7843 * config/mips/iris5.h: Change WCHAR_TYPE to int.
7844
7845 Mon Mar 12 16:32:21 CET 2001 Jan Hubicka <jh@suse.cz>
7846
7847 * i386.md (trunctfdf2_2): Rename missnamed pattern.
7848 (*_one_bit): Remove type on the match_operand in attributes.
7849
7850 Mon Mar 12 16:27:56 CET 2001 Jan Hubicka <jh@suse.cz>
7851
7852 * i386.c: Commit forgotten hunk in previous patch.
7853 (regclass_map): Add extended registers.
7854 (dbx_register_map): Add missing frame register.
7855
7856 Mon Mar 12 15:41:08 CET 2001 Jan Hubicka <jh@suse.cz>
7857
7858 * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
7859
7860 * i386.md (x86_sahf_1): Disable for 64bit.
7861 (popsi*, pophi*): Likewise.
7862 (pushqi, pushhi): Likewise.
7863 (movdi, pushdi): Likewise.
7864 (zero extend DImode splitter): Likewise.
7865 (adddi, minusdi splitter): Likewise.
7866 (umulsidi): Likewise.
7867 (umulsi): New.
7868 (mulsidi): Disable for 64bit
7869 (lshift:DI/ashift:DI): Disable for 64bit.
7870 (loop patterns): Likewise.
7871 (call_pop, call_value_pop expanders and patterns): Likewise.
7872 (prologue_get_pc): Likewise.
7873 (leave): Likewise.
7874 (fcmovDI pattern and splitter): Likewise.
7875 (movdfcc_1_rex64): New.
7876
7877 Mon Mar 12 15:16:36 CET 2001 Jan Hubicka <jh@suse.cz>
7878
7879 * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
7880 (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
7881 (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
7882 (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
7883 (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
7884 (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
7885 (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
7886 (PUSH_ROUNDING): x86_64 rounds to 64bits.
7887 (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
7888 (REGPARM_MAX): Set to 6 for x86_64.
7889 (SSE_REGPARM_MAX): Set to 16 for x86_64.
7890 * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
7891 registers.
7892
7893 * (patterns that does use upper halves): Update constraints
7894 'q' to 'Q' and 'r' to 'R'.
7895 (cmpqi_ext_1): Disable for 64bit.
7896 (cmpqi_ext_3_insn): Likewise.
7897 (movqi_extzv_1): Likewsie.
7898 (addqi_ext_1): Liekwsie
7899 (testqi_ext_1): Liekwsie
7900 (andqi_ext_1): Liekwsie
7901 (xorqi_ext_1): Liekwsie
7902 (cmpqi_ext_1_rex64): New.
7903 (cmpqi_ext_3_insn_rex64): Likewise.
7904 (movqi_extzv_1_rex64): Likewsie.
7905 (addqi_ext_1_rex64): Liekwsie
7906 (testqi_ext_1_rex64): Liekwsie
7907 (andqi_ext_1_rex64): Liekwsie
7908 (xorqi_ext_1_rex64): Liekwsie
7909
7910 2001-03-11 Zack Weinberg <zackw@stanford.edu>
7911
7912 * configure.in: Move check for unsigned enumerated bitfields
7913 to macro in aclocal.m4. Disable it for now.
7914 * configure, config.in: Regenerate.
7915 * system.h: Don't do anything with ONLY_INT_FIELDS. Use the
7916 unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
7917 * varasm.c (struct rtx_const): Use ENUM_BITFIELD(). Move enum
7918 kind above its first use.
7919
7920 * config/xm-interix.h, config/alpha/xm-alpha.h,
7921 config/i370/xm-linux.h, config/i386/xm-beos.h,
7922 config/i386/xm-mingw32.h, config/mips/xm-mips.h,
7923 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
7924 config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
7925 Don't define ONLY_INT_FIELDS under any circumstances.
7926
7927 * config/pa/xm-pa.h: Don't define __BSD_NET2__.
7928
7929 * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
7930 config/sparc/xm-sysv4.h: Delete - now identical with some
7931 other xm header.
7932 * config.gcc (hppa targets): Replace xm-pahpux.h and
7933 xm-papro.h with implicit xm-pa.h.
7934 (sparc targets): Replace xm-sysv4.h with implicit or explicit
7935 xm-sparc.h.
7936
7937 2001-03-12 Aldy Hernandez <aldyh@redhat.com>
7938
7939 * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
7940 before reload_cse_noop_set_p.
7941
7942 2001-03-11 Zack Weinberg <zackw@stanford.edu>
7943
7944 * config.gcc: Where xm-host.h used to include another
7945 xm-host.h, list the nested header directly in xm_file. Remove
7946 references to deleted files. Can now use sparc/xm-sp64.h for
7947 sparcv9-*-solaris*.
7948
7949 * config/xm-linux.h, config/arm/xm-linux.h,
7950 config/i386/xm-dos.h, config/i386/xm-gnu.h,
7951 config/i386/xm-linux.h, config/i386/xm-openbsd.h,
7952 config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
7953 config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
7954 config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
7955 Delete.
7956
7957 * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
7958 * config/mips/xm-iris5.h: Don't include mips/xm-mips.h. Don't
7959 bother to wrap #undef in #ifdef.
7960 * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
7961 Don't include xm-linux.h.
7962 * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
7963
7964 * configure.in: Wrap regexps using [] in changequote block.
7965 Use expr : not echo | grep. Simplify regexps.
7966 * configure: Regenerate.
7967
7968 56 xm-files remain, 22 xm-arch.
7969
7970 2001-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7971
7972 * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
7973 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7974 (local_index, local_rindex): Delete, use strchr/strrchr instead.
7975 (copy_object): Fix format specifier vs argument mismatch.
7976
7977 * mips-tdump.c: Make local functions static.
7978 (rindex): Don't #undef.
7979 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
7980 (fatal, fancy_abort): Delete.
7981 (read_seek): Avoid signed/unsigned compare.
7982
7983 Sun Mar 11 17:01:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7984
7985 * combine.c (try_combine): Fix error in change to try original
7986 register.
7987 (gen_rtx_combine): Do same as gen_rtx for now.
7988
7989 2001-03-11 Zack Weinberg <zackw@stanford.edu>
7990
7991 * configure.in: AC_SUBST xm_defines.
7992 * configure: Regenerate.
7993 * Makefile.in: Set DEFINES=$(xm_defines) when building
7994 tconfig.h.
7995
7996 2001-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
7997
7998 * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
7999 (cpp_included, find_include_file): Update.
8000 (_cpp_compare_file_date): Make else unconditional.
8001
8002 2001-03-10 kaz Kojima <kkojima@rr.iij4u.or.jp>
8003
8004 * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
8005
8006 2001-03-10 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
8007
8008 * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
8009 * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
8010
8011 Sat Mar 10 22:42:05 2001 Alexandre Oliva <aoliva@redhat.com>
8012
8013 * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
8014 if it's a record type.
8015
8016 Sat Mar 10 17:52:54 2001 Christopher Faylor <cgf@cygnus.com>
8017
8018 * config/i386/cygwin.h: Make ../w32api a system directory. Reorganize
8019 mingw includes slightly.
8020
8021 2001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8022
8023 * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
8024 #undef token before poisoning it.
8025
8026 2001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8027
8028 * alpha.c (check_float_value): Use memcpy, not bcopy.
8029
8030 * m32r.c (m32r_sched_reorder): Likewise.
8031
8032 * vax.c (check_float_value): Likewise.
8033
8034 2001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
8035
8036 * toplev.c (file_name_nondirectory): Remove.
8037 * toplev.h: Similarly.
8038 * dwarf2out.c (compute_section_prefix): Use lbasename instead
8039 of file_name_nondirectory.
8040
8041 Sat Mar 10 10:36:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8042
8043 * mips-tdump.c (read_seek): Call xmalloc, not malloc.
8044 * mips-tfile.c: Don't #undef rindex; not used.
8045
8046 Sat Mar 10 14:34:59 CET 2001 Jan Hubicka <jh@suse.cz>
8047
8048 * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
8049 (dbx64_register_map): Declare.
8050 (RETURN_ADDR_RTX): Fix for 64bit.
8051 (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
8052 (INCOMING_FRAME_SP_OFFSET): Set to 8.
8053 * i386.c (dbx64_register_map): New global array.
8054 * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
8055 linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
8056 for 64bits.
8057
8058 2001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
8059
8060 * cppfiles.c (search_from): Use lbasename.
8061 * mkdeps.c (deps_add_default_target): Use lbasename.
8062
8063 2001-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8064
8065 * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
8066 xcalloc in lieu of malloc, realloc & calloc.
8067
8068 * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
8069
8070 * gengenrtl.c (xmalloc): Likewise.
8071
8072 * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
8073 really_call_* memory allocation routines.
8074
8075 * stmt.c (check_for_full_enumeration_handling): Use
8076 really_call_calloc, not calloc.
8077
8078 * system.h (really_call_malloc, really_call_calloc,
8079 really_call_realloc): Define.
8080 (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
8081
8082 Fri Mar 9 18:39:19 2001 Jeffrey A Law (law@cygnus.com)
8083
8084 * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
8085
8086 2001-03-09 Nicola Pero <n.pero@mi.flashnet.it>
8087
8088 * configure: Rebuilt.
8089 * configure.in: Only use `lang_requires' for languages athat are
8090 actually enabled.
8091
8092 2001-03-09 Joseph S. Myers <jsm28@cam.ac.uk>
8093
8094 * invoke.texi: Fix typo.
8095 * gcc.1: Regenerate.
8096
8097 2001-03-09 Zack Weinberg <zackw@stanford.edu>
8098
8099 * configure.in: Prune nonexistent files from build_xm_file,
8100 xm_file, and host_xm_file lists. Warn unless they're
8101 $cpu/xm-$cpu.h.
8102 Don't generate *config.h here.
8103 AC_SUBST all variables needed to generate *config.h.
8104 * configure: Regenerate.
8105 * mkconfig.sh: New helper script, from code removed from
8106 configure.in.
8107 * Makefile.in: Zap all MALLOC variables - no longer used
8108 anywhere, and malloc.c doesn't exist.
8109 Substitute in variables needed to generate *config.h.
8110 Stop lying about the dependencies contained in CONFIG_H and
8111 GCONFIG_H.
8112 (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
8113 (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
8114 cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
8115 (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
8116 $(TM_P_H), etc. as appropriate.
8117
8118 * config.gcc: Zap references to deleted files.
8119 * ggc-none.c: Don't include rtl.h or tm_p.h.
8120
8121 * config/i386/xm-beos.h, config/i386/xm-dgux.h,
8122 config/i386/xm-djgpp.h, config/i386/xm-dos.h,
8123 config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
8124 config/i386/xm-linux.h, config/i386/xm-linux.h,
8125 config/i386/xm-next.h, config/i386/xm-openbsd.h,
8126 config/i386/xm-sun.h, config/i386/xm-sysv3.h:
8127 Don't include i386/xm-i386.h.
8128
8129 * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
8130 config/i386/xm-i386.h, config/i860/xm-i860.h,
8131 config/i960/xm-i960.h, config/mcore/xm-mcore.h,
8132 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8133 config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
8134 Delete (empty except comments, #includes of other deleted
8135 files, and macros used nowhere).
8136
8137 Fri Mar 9 20:05:27 CET 2001 Jan Hubicka <jh@suse.cz>
8138
8139 * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
8140 independent on TARGET_FLAGS.
8141
8142 Fri Mar 9 19:52:52 CET 2001 Jan Hubicka <jh@suse.cz>
8143
8144 * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
8145
8146 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
8147 extended ones.
8148 (CONDITIONAL_REGISTER_USAGE): Set proper values according to
8149 TARGET_64BIT.
8150 (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
8151 LAST_REX_SSE_REG): define.
8152 (enum reg_class): Add 'LEGACY_REGS'
8153 (REG_CLASS_CONTENTS): Likewise; add extended registers.
8154 (SSE_REGNO_P): Recognize extended registers.
8155 (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
8156 (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
8157 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
8158 REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
8159 (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
8160 REG_OK_FOR_STRREG_P): Remove.
8161 (HI_REGISTER_NAMES): Add extended registers.
8162 (ADDITIONAL_REGISTER_NAMES): Likewise.
8163 (QI_REGISTER_NAMES): Add 8bit extended registers.
8164 (DEBUG_REG): Support extended registers.
8165 * i386.c (regclass_map): Add extended registers.
8166 (dbx_register-map): Likewise.
8167 (svr4_dbx_register_map): Likewise.
8168 (print_reg): Support extended registers.
8169 (print_operand): Support 64bit operands.
8170
8171 Fri Mar 9 19:37:46 CET 2001 Jan Hubicka <jh@suse.cz>
8172
8173 * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
8174 (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
8175 FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
8176 DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
8177 (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
8178 STACK_BOUNDARY): Set properly for 64bits.
8179 (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
8180 (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
8181 (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
8182 (MOVE_MAX): Set to 16.
8183 (MOVE_MAX_PIECES): 8 for 64bit.
8184 (Pmode): Set to SImode.
8185
8186 Fri Mar 9 09:00:36 2001 Mike Stump <mrs@wrs.com>
8187
8188 * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
8189
8190 Fri Mar 9 17:38:08 CET 2001 Jan Hubicka <jh@suse.cz>
8191
8192 * i386.h (mask_64bit): New constant.
8193 (target_64bit): New macro.
8194 (target_options): Add '64'/'32'
8195 (target_default): Define.
8196 * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
8197 isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
8198 unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
8199
8200 Thu Mar 8 23:36:56 2001 Jeffrey A Law (law@cygnus.com)
8201
8202 * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
8203
8204 Thu Mar 8 23:29:37 2001 John Wehle (john@feith.com)
8205
8206 * rtlanal.c (rtx_varies_p): Check operand 0 of a
8207 LO_SUM unless for_alias is set.
8208
8209 2001-03-08 Stan Shebs <shebs@apple.com>
8210
8211 * objc/objc-act.c: Fix old typos in comments, add comments for
8212 various functions.
8213 (hash_init): Fix file name in error message.
8214 (hash_enter): Ditto.
8215 (hash_add_attr): Ditto.
8216 (continue_class): Ditto.
8217
8218 2001-03-08 Bruce Korb <bkorb@gnu.org>
8219
8220 gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
8221 wait4() can receive the signal.
8222
8223 Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8224
8225 * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
8226 entities.
8227 * fixinc/fixincl.x: Regenerate.
8228
8229 Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8230
8231 * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
8232 on Tru64 UNIX.
8233 * fixinc/fixincl.x: Regenerate.
8234
8235 2001-03-08 Richard Henderson <rth@redhat.com>
8236
8237 * configure.in (HAVE_AS_LEB128): New assembler check.
8238 * configure, config.in: Rebuilt.
8239
8240 Thu Mar 8 19:54:04 CET 2001 Jan Hubicka <jh@suse.cz>
8241
8242 * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
8243 TFmode too.
8244
8245 2001-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8246
8247 * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
8248 references to the MAXPATHLEN macro.
8249
8250 * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
8251 config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
8252 the POSIX macro.
8253
8254 * config/i386/xm-gnu.h, config/xm-gnu.h,
8255 config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
8256 config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
8257 config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
8258 and/or unused files.
8259
8260 * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
8261 doing so in various xm-*.h files.
8262
8263 Thu Mar 8 06:32:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8264
8265 * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
8266
8267 2001-03-08 Alexandre Oliva <aoliva@redhat.com>
8268
8269 * configure.in (enable_shared): Support per-package shared-library
8270 enabling.
8271 * configure: Rebuilt.
8272
8273 2001-03-07 David Edelsohn <edelsohn@gnu.org>
8274
8275 * rs6000.md (cr logic): Add original POWER mnemonic alternative
8276 for crnot. Set operands[5] in splitter.
8277
8278 2001-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8279
8280 * config/i370/xm-mvs.h, config/i370/xm-oe.h,
8281 config/i386/xm-beos.h, config/i386/xm-mingw32.h,
8282 config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
8283 config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
8284 config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
8285 config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
8286 config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
8287 to the USG macro.
8288
8289 * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
8290 config/i370/xm-i370.h, config/i386/xm-dgux.h,
8291 config/i386/xm-sun.h, config/i386/xm-sysv3.h,
8292 config/m68k/xm-tower.h, config/m68k/xm-aux.h,
8293 config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
8294 config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
8295 config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
8296 config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
8297 config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
8298 config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
8299 Delete unused and/or empty files.
8300
8301 * config.gcc: Define USG in xm_defines as appropriate. Define
8302 POSIX in lieu of xm-svr4.h. Delete all references to the SVR3
8303 macro. Remove deleted xm-* files from $xm_files variable.
8304
8305 2001-03-07 Tom Tromey <tromey@redhat.com>
8306
8307 * configure: Rebuilt.
8308 * configure.in: Allow config-lang.in to set `lang_requires' to list
8309 of other required languages.
8310
8311 2001-03-07 Andrew MacLeod <amacleod@redhat.com>
8312
8313 * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
8314 after its emitted.
8315 (output_prologue): Use xmalloc not oballoc.
8316 (output_epilog): Free a29k_first_epilogue_insn when finished.
8317 * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
8318
8319 2001-03-07 Brad Lucier <lucier@math.purdue.edu>
8320
8321 * builtins.c (expand_builtin_mathfn): Check
8322 flag_unsafe_math_optimizations, not flag_fast_math.
8323 (expand_builtin): Likewise
8324 * combine.c (combine_simplify_rtx): Likewise.
8325 (simplify_if_then_else): Likewise.
8326 * cse.c (fold_rtx): Likewise.
8327 * flags.h: Remove flag_fast_math. Add
8328 flag_unsafe_math_optimizations and flag_trapping_math.
8329 * fold-const.c (negate_expr): Check
8330 flag_unsafe_math_optimizations, not flag_fast_math.
8331 (invert_truthvalue): Likewise.
8332 (fold): Likewise. Before associating operands, check that
8333 code == MULT_EXPR, not code != MULT_EXPR.
8334 * ifcvt.c (noce_try_minmax): Check
8335 flag_unsafe_math_optimizations, not flag_fast_math.
8336 (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
8337 * invoke.texi: Document -funsafe-math-optimizations and
8338 -fno-trapping-math. Change documentation for -ffast-math.
8339 * jump.c (reversed_comparison_code_parts): Likewise.
8340 (rtx_equal_for_thread_p): Likewise.
8341 * optabs.c (emit_conditional_move): Likewise.
8342 * simplify-rtx.c (simplify_binary_operation): Likewise.
8343 (simplify_relational_operation): Likewise.
8344 (simplify_ternary_operation): Likewise.
8345 * toplev.c: Remove flag_fast_math. Add flag_trapping_math and
8346 flag_unsafe_math_optimizations. Remove fast-math entry from f_options.
8347 Add trapping-math and unsafe-math-optimizations entries to f_options.
8348 (set_fast_math_flags): New, sets flags for -ffast-math.
8349 (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
8350 (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
8351 * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
8352
8353 * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
8354 (alpha_emit_conditional_move): Initialize local_fast_math to
8355 flag_unsafe_math_optimizations, not flat_fast_math.
8356 * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
8357 instead of setting flag_fast_math to 1.
8358 * config/convex/convex.md: Check flag_unsafe_math_optimizations,
8359 not flag_fast_math.
8360 * config/i386/i386.c (override_options): Likewise
8361 * config/i386/i386.md: Likewise.
8362 * config/m68k/m68k.md: Likewise.
8363 * config/mips/mips.md: Likewise.
8364 * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
8365 (rs6000_generate_compare): Likewise.
8366
8367 2001-03-07 Laurynas Biveinis <lauras@softhome.net>
8368
8369 * Makefile.in: Set RANLIB to @RANLIB@.
8370 Remove RANLIB_TEST.
8371
8372 2001-03-07 Laurynas Biveinis <lauras@softhome.net>
8373
8374 * fixinc/inclhack.def (djgpp_wchar_h): New test.
8375 * fixinc/fixincl.x: Regenerated.
8376
8377 2001-03-07 Richard Henderson <rth@redhat.com>
8378
8379 * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
8380
8381 2001-03-07 Richard Henderson <rth@redhat.com>
8382
8383 * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
8384 of block notes and exception handling notes.
8385
8386 * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
8387 * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
8388 (compile_file): ... here.
8389
8390 2001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8391
8392 * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
8393
8394 * fixinc/gnu-regex.c: Don't include auto-host.h since we get
8395 config.h now. Include libiberty.h to handle alloca.
8396
8397 2001-03-06 Zack Weinberg <zackw@stanford.edu>
8398
8399 * c-parse.in (yylexname): New function, split out of _yylex.
8400 (objc_rid_sans_at): New table.
8401 (init_reswords): Initialize it.
8402 (_yylex): Give labels clearer names. Handle CPP_ATSIGN by
8403 retrieving the next token and checking it for significance as
8404 an ObjC keyword or string constant.
8405
8406 * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
8407 * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
8408
8409 * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
8410 to CPP_OSTRING.
8411
8412 2001-03-06 Stephen L Moshier <moshier@mediaone.net>
8413
8414 * config/m68k/m68k.c (const_uint32_operand): Accept any
8415 const_int on a 32-bit host.
8416
8417 2001-03-06 Nicola Pero <n.pero@mi.flashnet.it>
8418
8419 * objc/objc-act.c (init_objc): Set save_lang_status,
8420 restore_lang_status, and mark_lang_status.
8421
8422 2001-03-06 Krister Walfridsson <cato@df.lth.se>
8423
8424 * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
8425
8426 2001-03-06 Neil Booth <neil@daikokuya.demon.co.uk>
8427
8428 * cppinternals.texi: Update.
8429
8430 2001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8431
8432 * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
8433 config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
8434 config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
8435 config/convex/xm-convex.h, config/d30v/xm-d30v.h,
8436 config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
8437 config/h8300/xm-h8300.h, config/i370/xm-i370.h,
8438 config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
8439 config/i386/xm-i386.h, config/i860/xm-i860.h,
8440 config/i960/xm-i960.h, config/ia64/xm-ia64.h,
8441 config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
8442 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
8443 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
8444 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8445 config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8446 config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
8447 config/romp/xm-romp.h, config/rs6000/xm-beos.h,
8448 config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
8449 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8450 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8451 config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
8452 config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
8453 match the defaults provided in hwint.h.
8454
8455 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
8456 config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
8457
8458 * config.gcc (xm_file): Don't set to files which are deleted.
8459
8460 * hwint.h: Provide default values for HOST_BITS_PER_*. No longer
8461 guard this file against these macros being undefined.
8462
8463 2001-03-06 Zack Weinberg <zackw@stanford.edu>
8464
8465 * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
8466 and DECL_DEFER_OUTPUT on the decl we create, before calling
8467 rest_of_decl_compilation.
8468
8469 2001-03-06 Zack Weinberg <zackw@stanford.edu>
8470
8471 * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
8472 AC_FUNC_ALLOCA.
8473 * configure, config.in: Regenerate.
8474 * config.gcc: Remove references to deleted files.
8475
8476 * genattr.c, genattrtab.c, genextract.c, genoutput.c,
8477 genrecog.c, rtl.c: Do not use alloca anywhere.
8478
8479 * Makefile.in, build-make, system.h, config/x-interix,
8480 config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
8481 config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
8482 config/arc/xm-arc.h, config/arm/xm-arm.h,
8483 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8484 config/h8300/xm-h8300.h, config/i370/x-oe,
8485 config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
8486 config/i386/x-ncr3000, config/i386/x-sco5,
8487 config/i386/xm-dgux.h, config/i860/x-sysv4,
8488 config/i960/xm-i960.h, config/m32r/xm-m32r.h,
8489 config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
8490 config/m68k/x-hp320g, config/m69k/x-mot3300,
8491 config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
8492 config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
8493 config/m68k/xm-mot3300.h, config/m88k/x-dolph,
8494 config/m88k/x-sysv4, config/m88k/x-tekXD88,
8495 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
8496 config/mips/x-iris, config/mips/x-iris3,
8497 config/mips/x-sni-svr4, config/mips/x-sysv,
8498 config/mips/xm-iris6.h, config/mips/xm-mips.h,
8499 config/mips/xm-nws3250v4.h, config/pa/x-hpux,
8500 config/pa/x-pa-mpeix, config/pa/xm-pa.h,
8501 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
8502 config/pa/xm-papro.h, config/romp/xm-romp.h,
8503 config/rs6000/x-aix31, config/rs6000/x-aix41,
8504 config/rs6000/x-beos, config/rs6000/x-lynx,
8505 config/rs6000/x-mach, config/rs6000/x-rs6000,
8506 config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
8507 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8508 config/sparc/x-sysv4, config/sparc/xm-linux.h,
8509 config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
8510 config/vax/xm-vms.h: Eradicate all references to alloca and
8511 related stuff.
8512
8513 * config/xm-alloca.h, config/clipper/x-clix,
8514 config/i386/xm-sysv4.h, config/i860/x-fx2800,
8515 config/i860/x-sysv3, config/m88k/x-sysv3,
8516 config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
8517 (contained only alloca related hacks).
8518
8519 * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
8520 USE_C_ALLOCA.
8521
8522 2001-03-05 Brad Lucier <lucier@math.purdue.edu>
8523
8524 * invoke.texi: Document __FAST_MATH__.
8525
8526 2001-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8527
8528 * crtstuff.c: Restore include of auto-host.h.
8529
8530 2001-03-05 Fergus Henderson <fjh@cs.mu.oz.au>
8531
8532 Put main() in a separate file, so that the language
8533 front-end can use a different main().
8534
8535 * main.c: New.
8536 * toplev.c: (main): Rename as toplev_main.
8537 * toplev.h: Declare toplev_main.
8538 * Makefile.in (OBJS): add toplev.o.
8539 (BACKEND): remove toplev.o, add main.o.
8540
8541 2001-03-04 Neil Booth <neil@daikokuya.demon.co.uk>
8542
8543 * cppfiles.c (search_from): Special case the empty string.
8544
8545 2001-03-04 Neil Booth <neil@daikokuya.demon.co.uk>
8546
8547 * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
8548 copy of the filename. Don't use CPP_PREV_BUFFER. Don't call
8549 strlen or strcpy; we already know the length.
8550 (_cpp_compare_file_date): Similarly.
8551 * cpphash.h (struct cpp_reader): Delete done_initialising.
8552 (CPP_PREV_BUFFER): Delete.
8553 * cppinit.c (cpp_start_read): Don't set done_initialising.
8554 * cpplex.c (parse_string): Guarantee null-termination.
8555 (_cpp_equiv_toklists): Remove.
8556 * cpplib.c (glue_header_name): Null-terminate.
8557 (do_line): Don't leak memory.
8558 * cpplib.h (BT_WEAK): Delete.
8559 * cppmain.c (cb_ident): Strings are now null-terminated.
8560
8561 2001-03-04 Laurynas Biveinis <lauras@softhome.net>
8562
8563 * gcc.c (convert_filename): Append executable suffix
8564 if NO_AUTO_EXE_SUFFIX is not defined.
8565 * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
8566 * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
8567
8568 2001-03-03 David O'Brien <obrien@FreeBSD.org>
8569
8570 from 2000-09-06 Zack Weinberg <zack@wolery.cumb.org>
8571 * c-parse.gperf, c-gperf.h: Delete.
8572 (c-gperf.h was accidently re-added to the CVS repo in the rev
8573 1.16 commit by tromey)
8574
8575 2001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
8576
8577 * cpplex.c (_cpp_lex_token): Don't warn about directives in
8578 macro arguments when looking for the '('.
8579 * cppmacro.c (funlike_invocation_p): Set parsing_args to
8580 2 when really parsing arguments; 1 when looking for '('.
8581 Always restore the lexer position.
8582
8583 2001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
8584
8585 * longlong.h (umul_ppmm): Don't use a multiline string.
8586
8587 2001-03-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
8588
8589 * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
8590 * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
8591 t_bool in declaration because pcc can't combine volatile with typedef
8592 types.
8593
8594 Sat Mar 3 19:47:13 CET 2001 Jan Hubicka <jh@suse.cz>
8595
8596 * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
8597 until when it is really needed.
8598 (ix86_expand_compare): Update call of ix86_expand_fp_compare.
8599 * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
8600 * i386.md (float?i?f splitter): Don't force source operand to memory
8601 for SSE.
8602 (sse_movdfcc): Fix constraint.
8603 (sse_movdfcc splitter): Handle properly the second alternative.
8604
8605 2001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
8606
8607 * cpplex.c (parse_string): Unconditionally pedwarn.
8608
8609 2001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
8610
8611 * cpp.texi: Update.
8612 * cppexp.c (parse_number): Update.
8613 * cpplex.c (parse_string): Pedwarn if multiline string does not
8614 result from a system header's macro.
8615 * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
8616 * cppmacro.c (sys_objmacro_p): Rename sys_macro_p. Return true
8617 for function-like macros too.
8618 * c-lex.c (lex_number): Update.
8619
8620 2001-03-03 Richard Henderson <rth@redhat.com>
8621
8622 * dwarf2out.c (output_call_frame_info): Fix augmentation length.
8623
8624 Sat Mar 3 04:17:17 2001 J"orn Rennecke <amylaar@redhat.com>
8625
8626 * combine.c (try_combine): If split with mode-changed scratch
8627 register didn't work, try the original mode.
8628
8629 Sat Mar 3 03:46:47 2001 J"orn Rennecke <amylaar@redhat.com>
8630
8631 * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
8632 * config/c4x/c4x.h: Likewise.
8633 * stor-layout.c (compute_record_mode): Likewise.
8634 (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
8635
8636 2001-03-02 Zack Weinberg <zackw@stanford.edu>
8637
8638 * configure.in: Kill tm.h. Include the files in the $tm_file
8639 list in all three of config.h, hconfig.h, tconfig.h, after the
8640 relevant set of xm_files. Put TARGET_CPU_DEFAULT in all
8641 three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
8642 * configure: Regenerate.
8643 * Makefile.in (clean): Don't delete tm.h.
8644
8645 * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
8646 defined, set them from EXIT_SUCCESS and EXIT_FAILURE. If
8647 those are not defined, set SEC and FEC to 0 and 1.
8648 * gcc.texi: Update to match.
8649
8650 * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
8651 * config/fp-bit.c, config/m68k/aux-crt2.asm,
8652 config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
8653 Include tconfig.h, not tm.h.
8654
8655 * config/xm-lynx.h, config/xm-std32.h,
8656 config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
8657 config/alpha/xm-alpha.h, config/arc/xm-arc.h,
8658 config/avr/xm-avr.h, config/c4x/xm-c4x.h,
8659 config/clipper/xm-clix.h, config/convex/xm-convex.h,
8660 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8661 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
8662 config/h8300/xm-h8300.h, config/i370/xm-linux.h,
8663 config/i386/xm-i386.h, config/i860/xm-i860.h,
8664 config/i960/xm-i960.h, config/ia64/xm-ia64.h,
8665 config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
8666 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
8667 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
8668 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
8669 config/pa/xm-linux.h, config/pa/xm-pa.h,
8670 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
8671 config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
8672 config/pj/xm-pj.h, config/romp/xm-romp.h,
8673 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
8674 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8675 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8676 config/v850/xm-v850.h, config/vax/xm-vax.h,
8677 config/we32k/xm-we32k.h:
8678 Don't include tm.h.
8679 Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
8680
8681 * config/i370/xm-i370.h, config/i370/xm-mvs.h,
8682 config/i370/xm-oe.h: Don't include tm.h. Don't define
8683 SUCCESS_EXIT_CODE.
8684 * config/vax/xm-vms.h: Don't include tm.h.
8685
8686 * config/xm-lynx.h, config/avr/xm-avr.h,
8687 config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
8688 Delete; made empty by above changes.
8689 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
8690 config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
8691 Don't include config/xm-lynx.h or tm.h.
8692
8693 * config/xm-gnu.h: Don't include fcntl.h.
8694 * config/sparc/xm-lynx.h: Don't include sys/types.h and
8695 sys/wait.h.
8696 * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
8697
8698 2001-03-02 Richard Henderson <rth@redhat.com>
8699
8700 * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
8701 UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
8702
8703 2001-03-02 Richard Henderson <rth@redhat.com>
8704
8705 * Makefile.in (OBJS): Add dwarf2asm.o.
8706 * dwarf2asm.c, dwarf2asm.h: New files.
8707 * dwarf2out.c (*): Use them.
8708 (size_of_uleb128, size_of_sleb128): Remove.
8709 (output_uleb128, output_sleb128): Remove.
8710 (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
8711 (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
8712 (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
8713 (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
8714 (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
8715 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
8716 (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
8717 (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
8718 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
8719 (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
8720 (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
8721 (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
8722 (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
8723 (dwarf2out_frame_debug): Remove unused variables.
8724 (output_loc_operands): Don't abort on 8 byte constants if
8725 host integers are wide enough.
8726 (output_symbolic_ref): Remove.
8727 (size_of_die): Don't assume 4 byte host integers.
8728 (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
8729 and end labels.
8730 (add_const_value_attribute) [CONST_INT]: Verify we're not doing
8731 something stupid with HOST_WIDE_INT to long truncation.
8732 [CONST_DOUBLE]: Likewise.
8733
8734 * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
8735 (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
8736 * config/arm/unknown-elf.h: Likewise.
8737 * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
8738 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
8739 (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
8740 (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
8741 (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
8742 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
8743 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
8744 (ASM_OUTPUT_DWARF_OFFSET): Remove.
8745 * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
8746 * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8747 (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
8748 (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
8749
8750 2001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
8751
8752 * cselib.c (hash_rtx): Cast enums to unsigned int.
8753
8754 2001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
8755
8756 * print-rtl.c (print_rtx): Cast enums to int for comparison.
8757 * c-decl.c (grokdeclarator): Cast enums to int for comparison and
8758 shifts.
8759 * c-format.c (C_STD_VER): Cast to int for comparisons.
8760 (check_function_format): Cast various enums to int for &.
8761 (maybe_read_dollar_number): Likewise.
8762 (check_format_info): Likewise.
8763 (check_format_info_main): Likewise.
8764 * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
8765 (safe_from_p): Likewise.
8766 * varasm.c (const_hash): Cast enum to int for %.
8767 * emit-rtl.c (init_emit_once): Use int loop variable to work around
8768 pcc enum problems with < and ++ operators.
8769 * regclass.c (init_reg_sets_1): Cast enums for comparison.
8770 (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
8771 (regclass_init): Change enum class to int to iterate over reg_classes.
8772 * genrecog.c (merge_trees): Cast enums for comparison.
8773 * rtl.h (GET_CODE): Cast to enum rtx_code.
8774 (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
8775 (GET_MODE): Cast to enum machine_mode.
8776 (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
8777 (GET_NOTE_INSN_NAME): Cast enum to int.
8778 * tree.h (TREE_CODE): Cast to enum tree_code.
8779 (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
8780 * timevar.c (timevar_print): Change loop variable id from enum to
8781 unsigned int.
8782 * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
8783 * config/i386/i386.md: Use PUT_MODE for mode assignment.
8784 * toplev.c (compile_file): Cast enum DFI to int.
8785 (decode_d_option): Likewise.
8786
8787 Fri Mar 2 12:18:13 2001 Christopher Faylor <cgf@cygnus.com>
8788
8789 * cppinit.c (append_include_chain): Mark "after" include file name list
8790 as a system directory.
8791 * cpp.texi: Document new behavior.
8792
8793 Fri Mar 2 11:59:43 CET 2001 Jan Hubicka <jh@suse.cz>
8794
8795 * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
8796
8797 2001-03-02 Neil Booth <neil@daikokuya.demon.co.uk>
8798
8799 * cppfiles.c (struct include_file): Update.
8800 (stack_include_file): Use search_from.
8801 (cpp_included, find_include_file): Update.
8802 (cpp_execute_include): Update. ptr->name may not be
8803 null terminated. Use the new search_from member variable
8804 of cpp_buffer.
8805 (_cpp_compare_file_date): Similarly.
8806 (search_from): New function, similiar to actual_directory.
8807 (actual_directory): Delete.
8808 (remap_filename): Update. loc->name may not be null terminated.
8809 (struct file_name_list): Rename search_path. Update.
8810 * cpphash.h (struct cpp_buffer): Delete actual_dir. New members
8811 search_from and dir.
8812 (struct cpp_reader): Remove actual_dirs.
8813 * cppinit.c (struct cpp_pending): Update for renamed objects.
8814 (append_include_chain, remove_dup_dir, remove_dup_dirs,
8815 merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
8816 * cpplib.h (struct cpp_options): Similarly.
8817
8818 2001-03-01 Zack Weinberg <zackw@stanford.edu>
8819
8820 * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
8821 config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
8822 config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
8823 config/clipper/xm-clix.h, config/convex/xm-convex.h,
8824 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
8825 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
8826 config/h8300/xm-h8300.h, config/i370/xm-i370.h,
8827 config/i370/xm-linux.h, config/i370/xm-mvs.h,
8828 config/i370/xm-oe.h, config/i386/xm-aix.h,
8829 config/i386/xm-i386.h, config/i386/xm-osf.h,
8830 config/i860/xm-i860.h, config/i960/xm-i960.h,
8831 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
8832 config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
8833 config/mcore/xm-mcore.h, config/mips/xm-mips.h,
8834 config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
8835 config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
8836 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
8837 config/pa/xm-pahpux.h, config/pa/xm-papro.h,
8838 config/pj/xm-pj.h, config/romp/xm-romp.h,
8839 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
8840 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
8841 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
8842 config/v850/xm-v850.h, config/vax/xm-vax.h,
8843 config/vax/xm-vms.h, config/we32k/xm-we32k.h:
8844 Do not define TRUE or FALSE.
8845
8846 * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
8847 empty by above change.
8848 * config.gcc: Remove references to these files.
8849
8850 * configure.in: Detect stdbool.h.
8851 * configure, config.in: Regenerate.
8852 * system.h: Include stddef.h here if available.
8853 Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
8854 Then set up a sensible boolean type at the very end.
8855
8856 * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
8857 config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
8858
8859 * hash.h: Delete 'boolean' typedef and related #undefs.
8860
8861 * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
8862 all uses of 'boolean' with 'bool'.
8863
8864 2001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
8865
8866 * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
8867 * cppexp.c (lex): Cast enums for comparison.
8868 * cppinit.c (parse_option): Cast enum for comparison.
8869 * cpplex.c (cpp_spell_token): Cast enums to int for minus.
8870 (cpp_output_token): Likewise.
8871 (cpp_can_paste): Cast enums for comparsion and plus/minus.
8872 (cpp_avoid_paste): Cast enums for minus and comparison.
8873
8874 2001-03-01 Zack Weinberg <zackw@stanford.edu>
8875
8876 * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
8877 field to all array elements.
8878
8879 2001-03-01 Zack Weinberg <zackw@stanford.edu>
8880
8881 * cpphash.h (struct cpp_reader): Add print_version field.
8882 * cppinit.c (cpp_handle_option): For -v, -version, and --version,
8883 just set print_version and other flags as appropriate.
8884 (cpp_post_options): Print version here if print_version is set.
8885
8886 * toplev.c (exit_after_options): New flag.
8887 (independent_decode_option): Don't exit here; just set
8888 exit_after_options.
8889 (main): Exit after calling lang_hooks.post_options if
8890 exit_after_options is true.
8891
8892 * cppinit.c (append_include_chain): Drop never-used case QUOTE.
8893 (merge_include_chains): Adjust comment to match code.
8894
8895 2001-03-01 Zack Weinberg <zackw@stanford.edu>
8896
8897 * stringpool.c (set_identifier): New function.
8898 * tree.h: Prototype it.
8899
8900 * c-parse.in: Kill D_YES. If compiled for objc, call
8901 save_and_forget_protocol_qualifiers from init_reswords.
8902 * objc/objc-act.c (remember_protocol_qualifiers,
8903 forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
8904 Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
8905 vice versa.
8906 (save_and_forget_protocol_qualifiers): New function.
8907 * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
8908
8909 2001-03-01 Diego Novillo <dnovillo@redhat.com>
8910
8911 * c-semantics.c (prune_unused_decls): Return error_mark_node
8912 instead of (tree) 1 to stop traversing the tree chain.
8913
8914 2001-03-01 Bernd Schmidt <bernds@redhat.com>
8915
8916 Fix a problem introduced by Kenner's Feb 18 change.
8917 * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
8918 flag_cse_skip_blocks only temporarily, not for ever.
8919
8920 Thu Mar 1 09:49:58 2001 Jeffrey A Law (law@cygnus.com)
8921
8922 * config/pa/som.h (ASM_IDENTIFY_GCC): Define.
8923 (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
8924
8925 * pa.c (emit_move_sequence): Verify operand0 is a hard register
8926 before determining its register class.
8927
8928 2001-03-01 Bernd Schmidt <bernds@redhat.com>
8929
8930 * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
8931 from reg 4 if current_function_calls_setjmp.
8932 (gen_nop_type): New function.
8933 (ia64_emit_nops): New function.
8934 (ia64_reorg): Call it.
8935 (ia64_sched_reorder): Move code that rotates bundles up a bit.
8936
8937 * reload1.c (eliminate_regs_in_insn): Restrict the special case
8938 code not to try to optimize adds with anything but a REG destination.
8939
8940 * sched-int.h (struct haifa_insn_data): Add new member priority_known.
8941 (INSN_PRIORITY_KNOWN): New accessor macro.
8942 * haifa-sched.c (priority): Use it instead of testing priority against
8943 zero.
8944
8945 2001-02-28 DJ Delorie <dj@redhat.com>
8946
8947 * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
8948 since that doesn't work the way gcc wants on a generic m68k.
8949
8950 2001-02-28 Richard Henderson <rth@redhat.com>
8951
8952 * caller-save.c (save_call_clobbered_regs): Fix typo in
8953 comparison last change.
8954
8955 Wed Feb 28 19:31:42 CET 2001 Jan Hubicka <jh@suse.cz>
8956
8957 * i386.c (pentium4_cost): New.
8958 (m_PENT4): New macro.
8959 (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
8960 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
8961 x86_integer_DFmode_moves, x86_partial_reg_dependency,
8962 x86_memory_mismatch_stall): Add Pentium4
8963 (x86_use_q_reg, x86_use_any_reg): Kill.
8964 (override_options): Add pentium4.
8965 (incdec_operand): Return 0 for pentium4.
8966 (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
8967 * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
8968 (TARGET_PENTIUM4): Define.
8969 (enum processor_type): Add PROCESSOR_PENTIUM4.
8970 (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
8971 * i386.md (attribute "cpu"): Add pentium4.
8972 * invoke.texi (march): Add pentium4.
8973
8974 Wed Feb 28 19:28:06 CET 2001 Jan Hubicka <jh@suse.cz>
8975
8976 * i386.md (sse_mov?fcc*): New patterns and splitters.
8977 * i386.c (ix86_expand_movcc): Work post-reload; recognize
8978 the SSE based conditional moves.
8979
8980 Wed Feb 28 19:18:23 CET 2001 Jan Hubicka <jh@suse.cz>
8981
8982 * i386.md (attribute mode): Add "TI".
8983 (movsf_1): Add pxor support; remove constant propagation splitter.
8984 (movdf_integer): Likewise.
8985 (movdf_nointeger): Likewise.
8986 (movxf constant prop splitter): Handle all modes; update for SSE.
8987 * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
8988 * i386.c (standard_80387_constant_p): Rewrite.
8989 (standard_sse_constant_p): New.
8990 * i386-protos.h (standard_sse_constant_p): New.
8991
8992 Wed Feb 28 19:05:37 CET 2001 Jan Hubicka <jh@suse.cz>
8993
8994 * i386.md (sse_setccsf, sse_setccdf): New.
8995 (sse_cmp* patterns): Use '%D' instead of outputtting condition
8996 flag directly.
8997 * i386.c (sse_comparison_operator): Accept the supported unordered
8998 comparses; be ready for fast_math.
8999 (print_operand): Support 'D'.
9000
9001 Wed Feb 28 18:54:51 CET 2001 Jan Hubicka <jh@suse.cz>
9002
9003 * jump.c (reversed_comparison_code): Kill.
9004
9005 Wed Feb 28 18:50:15 CET 2001 Jan Hubicka <jh@suse.cz>
9006
9007 * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
9008 for STACK_REGS
9009
9010 Wed Feb 28 18:47:37 CET 2001 Jan Hubicka <jh@suse.cz>
9011
9012 * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
9013 add missing '%' in constraints.
9014
9015 Wed Feb 28 17:24:24 CET 2001 Jan Hubicka <jh@suse.cz>
9016
9017 * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
9018 for HOST_BITS_PER_WIDE_INT == 32 too.
9019
9020 Wed Feb 28 17:22:35 CET 2001 Jan Hubicka <jh@suse.cz>
9021
9022 * caller-save.c (reg_save_code, reg_restore_code): Index by mode, not
9023 NREGS.
9024 (insert_save, insert_restore): New parameter save_mode.
9025 (init_caller_save): Update initialization of reg_save_code
9026 and reg_restore_code.
9027 (save_call_clobbered_regs): Compute save_modes and update calls to
9028 reg_save_code and reg_restore_code.
9029 (insert_restore): Unsignetize numbers; use save_modes to choose mode
9030 of spill; update use of reg_restore_code.
9031 (insert_save): Likewise.
9032 * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
9033 * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
9034 * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
9035
9036 Wed Feb 28 17:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
9037
9038 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
9039 noce_try_store_flag_inc, noce_try_store_flag_mask,
9040 noce_try_cmove_arith):
9041 Use reversed_comparison_code instead of reverse_comparison and
9042 can_reverse_comparison_p.
9043
9044 Wed Feb 28 17:17:29 CET 2001 Jan Hubicka <jh@suse.cz>
9045
9046 * jump.c (reversed_comparison_code_parts): Allow reversal of
9047 unordered compares in -ffast-math mode; reverse ordered compares
9048 for FP even w/o -ffast-math.
9049
9050 2001-02-27 Richard Henderson <rth@redhat.com>
9051
9052 * print-rtl.c (print_rtx) [i]: Don't print field five on
9053 NOTEs other than NOTE_INSN_DELETED_LABEL.
9054
9055 2001-02-27 Zack Weinberg <zackw@stanford.edu>
9056
9057 * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
9058 * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
9059
9060 2001-02-27 Diego Novillo <dnovillo@redhat.com>
9061
9062 * c-common.c (walk_stmt_tree): Visit the chain of the current tree
9063 even if walk_subtrees is 0.
9064 * c-semantics.c (prune_unused_decls): Return a non-null value to
9065 stop traversing the tree chain.
9066
9067 2001-02-27 DJ Delorie <dj@redhat.com>
9068
9069 * config/m68k/m68k.c (output_function_prologue): Save the new CFA
9070 register, *then* define it as the new CFA.
9071
9072 Tue Feb 27 16:49:13 2001 Jeffrey A Law (law@cygnus.com)
9073
9074 * pa.c (override_options): Promote -fpic to -fPIC.
9075 (legitimize_pic_address): Simplify due to removal of
9076 small PIC as a code generation option.
9077 (secondary_reload_class): Similarly.
9078 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
9079 (PRINT_OPERAND_ADDRESS): Similarly.
9080 * pa.md (various patterns): Similarly.
9081 (small pic lo_sum pattern): Remove.
9082
9083 Tue Feb 27 16:01:13 CET 2001 Jan Hubicka <jh@suse.cz>
9084 Fergus Henderson
9085
9086 * md.texi (min, max): Document
9087
9088 Tue Feb 27 15:51:35 CET 2001 Jan Hubicka <jh@suse.cz>
9089
9090 * i386.md (movsf, movdf): Use movaps for reg-reg moves if
9091 TARGET_PARTIAL_REG_DEPENDENCY.
9092 (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
9093
9094 Tue Feb 27 15:36:48 CET 2001 Jan Hubicka <jh@suse.cz>
9095
9096 * i386.md (mins*, maxs*): New patterns, expanders and splitters.
9097
9098 2001-02-26 Jeffrey Oldham <oldham@codesourcery.com>
9099
9100 * mips.c (mips_make_temp_file): Fix thinko in last change.
9101
9102 2001-02-26 Jason Eckhardt <jle@redhat.com>
9103
9104 * combine.c (known_cond): Do not reverse the condition when
9105 SMAX/UMAX is being considered and the condition is for equality
9106 or inequality.
9107
9108 * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
9109
9110 2001-02-26 Philip Blundell <philb@gnu.org>
9111
9112 * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
9113 "armv2-*-linux".
9114 * config/arm/linux-elf.h: Remove historical relics related to
9115 above configurations.
9116 * config/arm/linux-oldld.h: Delete.
9117 * config/arm/linux-elf26.h: Delete.
9118
9119 2001-02-26 Jason Merrill <jason@redhat.com>
9120
9121 * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
9122 definitions.
9123 * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
9124 recognize a tentative definition. Lose obsolete code.
9125
9126 * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
9127 variables unless necessary, either.
9128
9129 2001-02-25 Richard Henderson <rth@redhat.com>
9130
9131 * ifcvt.c (struct noce_if_info): Add test_bb.
9132 (noce_get_alt_condition): New.
9133 (noce_try_minmax, noce_try_abs): New.
9134 (noce_operand_ok): New.
9135 (noce_process_if_block): Use them.
9136 * rtlanal.c (may_trap_p): NEG and ABS can never trap.
9137
9138 Sun Feb 25 14:26:17 2001 Christopher Faylor <cgf@cygnus.com>
9139
9140 * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
9141 include.
9142
9143 2001-02-25 Zack Weinberg <zackw@stanford.edu>
9144
9145 * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
9146 * config/mips/mips.c (mips_make_temp_file): Set temp_filename
9147 properly.
9148 (mips_asm_file_end): Free temp_filename here.
9149
9150 Sun Feb 25 08:34:23 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9151
9152 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
9153 * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
9154
9155 * config/i386/i386.md (movstrsi): Handle FAIL case.
9156
9157 2001-02-25 Neil Booth <neil@daikokuya.demon.co.uk>
9158
9159 * cppinit.c (builtin_array): Update.
9160 (init_builtins): Flag builtins to warn if redefined or
9161 undefined. Define __GXX_WEAK as a normal macro.
9162 * cpplib.c (do_undef): Warn if flagged NODE_WARN.
9163 * cpplib.h (NODE_WARN): New flag.
9164 * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
9165 Handle __STDC__ as a builtin only on Solaris.
9166 (warn_of_redefinition): Renamed from check_macro_definition.
9167 Reverse sense of test. Always warn if NODE_WARN.
9168 (_cpp_create_definition): Use warn_of_redefinition. Flag
9169 any macro beginning with "__STDC_" to require a mandatory
9170 warning if redefined or undefined.
9171
9172 2001-02-24 Zack Weinberg <zackw@stanford.edu>
9173
9174 * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
9175 i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
9176 i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
9177 i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
9178 m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
9179 mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
9180 Don't define any of:
9181 USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
9182 P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
9183 NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
9184 index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
9185 STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
9186
9187 * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
9188 fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
9189 definitions.
9190
9191 * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
9192 Delete now-empty file.
9193
9194 * alpha/vms.h: Define NEED_ATEXIT here...
9195 * alpha/xm-vms.h: ...not here.
9196
9197 * i386/cygwin.h: Don't define PARAMS.
9198 * mips/mips.c: Don't prototype mktemp. Don't define
9199 P_tmpdir. Use make_temp_file to create temporary files.
9200 Don't be clever and delete temporary files early.
9201 * config.gcc: Drop references to deleted files. Don't define
9202 FULL_PROTOTYPES.
9203 * gcc.texi: Don't mention USE_PROTOTYPES.
9204
9205 Sat Feb 24 20:25:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9206
9207 * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
9208 (ix86_set_move_mem_attrs_1): Likewise.
9209 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
9210 * config/i386/i386.md (movstrsi): Call it.
9211
9212 2001-02-24 Zack Weinberg <zackw@stanford.edu>
9213
9214 * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
9215 x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
9216 ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
9217 rs6000/x-aix41-gld. These are nonexistent, empty, or obsolete.
9218
9219 (i750a-*-*): Error here if hosting on i750a.
9220 (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
9221
9222 * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
9223 Remove (empty modulo comments).
9224
9225 * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
9226 alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
9227 i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
9228 i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
9229 mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
9230 rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
9231
9232 * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
9233 Remove reference to winnt.h in comment.
9234 * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
9235
9236 2001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9237
9238 * loop.c (check_dbra_loop): A biv has uses besides counting if it is
9239 used to set another biv.
9240
9241 Sat Feb 24 06:45:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9242
9243 * tree.h (BLOCK_DEAD): New macro.
9244 (struct tree_block): New flag, dead_flag.
9245 * print-tree.c (print_node, case 'b'): Print missing fields.
9246 * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
9247 * function.c (identify_blocks): Enable test for misplaced notes.
9248 (all_blocks): Skip BLOCK_DEAD blocks.
9249 * integrate.c (integrate_decl_tree): Likewise.
9250
9251 * errors.c (internal_error, trim_filename): New functions.
9252 (fancy_abort): Call internal_error.
9253 * errors.h (internal_error, trim_filename): New declarations.
9254
9255 2001-02-24 Alexandre Oliva <aoliva@redhat.com>
9256
9257 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
9258 2000-08-26's patch.
9259 (EXTRA_CONSTRAINT): Formatting changes.
9260
9261 2001-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9262
9263 * rtl.c (rtl_check_failed_code2): Fix typo in last change.
9264
9265 2001-02-23 Per Bothner <per@bothner.com>
9266
9267 * gcc.c (record_temp_file, pfatal_with_name, error): Make non-static,
9268 so they can be called from java/jvspec.c.
9269 * gcc.h (record_temp_file, pfatal_with_name, error): Declare.
9270
9271 Sat Feb 24 03:32:50 CET 2001 Jan Hubicka <jh@suse.cz>
9272
9273 * i386.c (ix86_frame): New structure.
9274 (ix86_compute_frame_size): Kill.
9275 (ix86_compute_frame_layout): New.
9276 (ix86_save_reg): New.
9277 (ix86_can_use_return_insn_p): Use frame layout stuff.
9278 (ix86_expand_prologue): Likewise.
9279 (ix86_expand_epilogue): Likewise.
9280 (ix86_initial_elimination_offset): Likewise.
9281 (ix86_nsaved_regs): Use ix86_save_reg.
9282 (ix86_emit_save_regs): Likewise.
9283
9284 Sat Feb 24 03:30:38 CET 2001 Jan Hubicka <jh@suse.cz>
9285
9286 * flow.c (find_sub_basic_blocks): New function.
9287 (split_block): Be ready for basic block introduced by CODE_LABEL.
9288 (commit_one_edge_insertion): Call find_sub_basic_block.
9289
9290 * flow.c (make_edges): Add edge from entry for blocks starting with
9291 label having ALTERNATE_NAME
9292
9293 Sat Feb 24 03:19:42 CET 2001 Jan Hubicka <jh@suse.cz>
9294
9295 * function.c (epilogue_done): Be ready for first basic block not
9296 containing PROLOGUE_END note.
9297 (reposition_prologue_and_epilogue_notes): Avoid placing
9298 PROLOGUE_END note between BASIC_BLOCK.
9299
9300 Sat Feb 24 03:17:09 CET 2001 Jan Hubicka <jh@suse.cz>
9301
9302 * loop.c (canonicalize_condition): Move to reversed_comparison_code.
9303
9304 2001-02-21 DJ Delorie <dj@redhat.com>
9305
9306 * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
9307 check for current_function_has_nonlocal_goto from 1999-11-12.
9308
9309 Fri Feb 23 15:28:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9310
9311 * diagnostic.c (trim_filename): No longer static.
9312 * toplev.h (trim_filename): Declare.
9313 * rtl.c (rtl_check_failed_bounds): Call internal_error.
9314 (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
9315 (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
9316 (rtvec_check_failed_bounds): Likewise.
9317 * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
9318
9319 * convert.c (convert_to_integer): Don't do unsigned unless result or
9320 both inputs are unsigned.
9321
9322 * fold-const.c (fold_convert): Don't call size_int_type_wide if
9323 input overflows.
9324
9325 * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
9326
9327 * varasm.c (output_constant): Recompute CODE after lang-specific fn.
9328
9329 2001-02-23 Jeffrey Oldham <oldham@codesourcery.com>
9330
9331 * Makefile.in (resource.o): Add params.h dependence.
9332 * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
9333 * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
9334 * resource.c: Add dependence on params.h.
9335 (current_live_regs): Fix explanatory comment.
9336 (find_basic_block): Add new parameter to permit limiting search
9337 for a BARRIER.
9338 (mark_target_live_regs): Add new argument to find_basic_block call.
9339 (incr_ticks_for_insn): Likewise.
9340
9341 2001-02-23 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
9342
9343 * diagnostic.c (output_to_stream): Rename to
9344 output_buffer_to_stream. Loses the stream parameter.
9345 (init_output_buffer): Set diagnosic_buffer's stream.
9346 (flush_diagnostic_buffer): Adjust.
9347 (default_print_error_function): Likewise.
9348 (finish_diagnostic): Likewise.
9349 (verbatim): Likewise.
9350
9351 * diagnostic.h (struct output_buffer): Add `stream' field.
9352 (output_buffer_attached_stream): New macro.
9353
9354 2001-02-23 Jakub Jelinek <jakub@redhat.com>
9355
9356 * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
9357 check if either operand is divisible by C.
9358 (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
9359 If type is signed, consider negative numbers as well.
9360
9361 2001-02-22 Richard Henderson <rth@redhat.com>
9362
9363 * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
9364 reach .text instead of gp-relative relocs.
9365 * config/ia64/crtend.asm (.init): Likewise.
9366
9367 2001-02-22 Andreas Jaeger <aj@suse.de>
9368
9369 * extend.texi (C++ Attributes): Fix typo.
9370
9371 2001-02-21 David Mosberger <davidm@hpl.hp.com>
9372
9373 * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
9374 functions, drop current_function_args_info.words test.
9375 (ia64_compute_frame_size): Mark syscall_linkage functions as
9376 using eight input registers.
9377
9378 2001-02-21 Loren J. Rittle <ljrittle@acm.org>
9379 Bruce Korb <bkorb@gnu.org>
9380
9381 * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
9382 * fixinc/README: Document how to convert sed substitutions
9383 to format style c_fix-es.
9384 * fixinc/fixincl.x: regen
9385
9386 2001-02-21 Jeffrey D. Oldham <oldham@codesourcery.com>
9387
9388 * gcc.c: Add comment explaining how to add a command-line option.
9389 Add title to specs language comment.
9390
9391 2001-02-21 Jeffrey Oldham <oldham@codesourcery.com>
9392
9393 * gcc.c (cc1_options): Add "-param".
9394 (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
9395 (option_map): Likewise.
9396 * toplev.c (display_help): Add entry for "--param".
9397 (independent_decode_option): Fix typographical error.
9398
9399 Wed Feb 21 18:57:28 CET 2001 Catherine Moore <clm@redhat.com>
9400 Bernd Schmidt <bernds@redhat.com>
9401 Jan Hubicka <jh@suse.cz>
9402
9403 * i386.c (function_arg_advance): Pass SSE arguments in registers.
9404 (function_arg): Likewise.
9405
9406 Wed Feb 21 18:12:41 CET 2001 Jan Hubicka <jh@suse.cz>
9407
9408 * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
9409
9410 2001-02-21 Kazu Hirata <kazu@hxi.com>
9411
9412 * config/h8300/h8300.md (iorsi3): Do not output an extra newline
9413 character.
9414 (xorsi3): Likewise.
9415
9416 Wed Feb 21 17:35:24 CET 2001 Jan Hubicka <jh@suse.cz>
9417
9418 * flow.c (init_propagate_block_info): Canon address and use single_set
9419 for killing dead memory stores.
9420
9421 2001-02-21 Jeffrey Oldham <oldham@codesourcery.com>
9422
9423 * Makefile.in (reorg.o): Add params.h dependence.
9424 * params.def: Fix typographical error in comment.
9425 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
9426 * params.h: Modify introductory comment.
9427 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
9428 * reorg.c: Add dependence on params.h.
9429 (redundant_insn): Add parameterized throttle for search.
9430 (fill_simple_delay_slots): Add a comment explaining a variable.
9431 Move conditional out of loop, simplifying code.
9432 (fill_eager_delay_slots): Fix typographical error in comment.
9433
9434 2001-02-20 Aldy Hernandez <aldyh@redhat.com>
9435
9436 * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
9437
9438 * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
9439 (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
9440
9441 2001-02-21 Jason Merrill <jason@redhat.com>
9442
9443 * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
9444 (struct tree_decl): Add uninlinable bitfield.
9445 * c-decl.c (duplicate_decls): Set it.
9446 * integrate.c (function_cannot_inline_p): Check it.
9447
9448 * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
9449 DW_AT_MIPS_linkage_name to abstract methods.
9450 (dwarf2out_abstract_function): Emit class context before calling
9451 set_decl_abstract_flags. Don't clear DECL_ABSTRACT.
9452 (gen_subprogram_die): Remove obsolete code.
9453 (gen_member_die): Don't include clones in the member list.
9454 (gen_decl_die): Emit abstract info for clone origin.
9455 * dwarfout.c (output_type): Don't include clones in the member list.
9456 * dbxout.c (dbxout_type_methods): Ignore abstract methods.
9457 * toplev.c (note_deferral_of_defined_inline_function): Don't clear
9458 DECL_ABSTRACT on a function that already has it set.
9459
9460 * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
9461 (get_subprogram_die): Pass it in.
9462
9463 2001-02-21 Richard Earnshaw <rearnsha@arm.com>
9464
9465 * flow.c (mark_set_1): Make not_dead unsigned long. For
9466 non-pseudos, use it as a bitmask of the hard regs that
9467 don't die.
9468
9469 2001-02-21 Neil Booth <neil@daikokuya.demon.co.uk>
9470
9471 * cppfiles.c: Update comments.
9472 (_cpp_read_file): Don't check for NULL filenames any more.
9473 * cppinit.c (cpp_start_read): Don't do canonicalization of
9474 in_fname and out_fname. Use the passed file name exclusively.
9475 (_cpp_handle_options): Don't treat "-" as a command line option,
9476 but as a normal filename.
9477 (_cpp_post_options): Canonicalize in_fname and out_fname.
9478 * cppmain.c (printer_init): Don't check out_fname for NULL.
9479 * c-lex.c (orig_filename): Rename cpp_filename for clarity.
9480 (init_c_lex): Update, and use "" to represent stdin to CPP.
9481 (yyparse): Update.
9482
9483 2001-02-20 Will Cohen <wcohen@redhat.com>
9484
9485 * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
9486 * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
9487 (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
9488 fixunstfsi_libfunc.
9489
9490 2001-02-20 Stan Shebs <shebs@apple.com>
9491
9492 * config/rs6000/rs6000.c (output_cbranch): Output branches
9493 on separate lines instead of using ';' to separate.
9494
9495 2001-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
9496
9497 * cppinit.c (set_lang): Move builtin handling to...
9498 (init_builtins): ...here.
9499 (_cpp_create_reader): Move call to set_lang.
9500
9501 2001-02-20 Mark Mitchell <mark@codesourcery.com>
9502
9503 * stmt.c (expand_return): If an attempt is made to return the
9504 error_mar_node, treat the return like a return without a value.
9505
9506 2001-02-19 Zack Weinberg <zackw@stanford.edu>
9507
9508 * sibcall.c (skip_copy_to_return_value): Call
9509 identify_call_return_value here, and return orig_insn if it
9510 returns zero. Hardret and softret arguments now unnecessary.
9511 (call_ends_block_p): Don't call identify_call_return_value here.
9512
9513 * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
9514 's' slots in RTXen.
9515 * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
9516 * ggc.h (ggc_mark_if_gcable): Delete prototype.
9517
9518 Mon Feb 19 20:30:16 2001 Jeffrey A Law (law@cygnus.com)
9519
9520 * pa.c (move_operand): Accept code to load the address of a
9521 symbol out of the DLT as a valid move operand.
9522 (print_operand, case 'A'): New to handle generating a DLT
9523 reference for a LO_SUM expression.
9524 * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
9525 * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
9526
9527 2001-02-19 Joseph S. Myers <jsm28@cam.ac.uk>
9528
9529 * README, cpp.texi, gcc.texi, version.c: Update version number to
9530 3.1.
9531 * cpp.1, gcov.1, gcc.1: Regenerate.
9532
9533 2001-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
9534
9535 * cppfiles.c (stack_include_file): Generate dependencies
9536 here, and manage include_count here too.
9537 (PRINT_THIS_DEP): Delete.
9538 (_cpp_execute_include): Do not generate dependencies here,
9539 apart from the case of a missing header. Do not manage
9540 include_count.
9541 (_cpp_read_file): Leave dependency generation to
9542 stack_include_file.
9543
9544 Mon Feb 19 10:17:47 2001 Jeffrey A Law (law@cygnus.com)
9545
9546 * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
9547 target_cpu_default. Remove dead assignment to
9548 target_cpu_default.
9549
9550 Mon Feb 19 16:47:39 CET 2001 Jan Hubicka <jh@suse.cz>
9551
9552 * regclass.c (contains_reg_of_mode): Make global.
9553 (init_reg_sets): Remove contains_reg_of_mode; take into account
9554 CLASS_MAX_NREGS when looking for the proper mode.
9555 (dump_regclass): Dump only classes considered for the pseudo.
9556 (regclass): Use contains_reg_of_mode.
9557
9558 Mon Feb 19 16:45:42 CET 2001 Jan Hubicka <jh@suse.cz>
9559
9560 * gcc.c (do_spec_1): 'n' for printing notices.
9561 * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
9562
9563 Mon Feb 19 15:51:30 CET 2001 Jan Hubicka <jh@suse.cz>
9564
9565 * reg-stack.c (next_flags_user): Use current_block->end
9566 (swap_rtx_condition): Look for next user if flags don't die;
9567 give up on CALL_INSNs; use current_block->end.
9568
9569 Mon Feb 19 08:27:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9570
9571 * sibcall.c (call_ends_block_p): New function.
9572 (optimize_sibling_and_tail_recursive_call): Use it.
9573
9574 2001-02-18 Kazu Hirata <kazu@hxi.com>
9575
9576 * config/h8300/h8300.md: Update copyright.
9577 (andsi3): Do not output an extra newline character.
9578
9579 Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9580
9581 * toplev.c (note_deferral_of_defined_inlined_function): Argument
9582 FNDECL may be unused.
9583
9584 * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
9585 follow jumps after first run.
9586 If -fexpensive-optimizations rerun CSE after GCSE and iterate until
9587 it doesn't change any jumps.
9588
9589 Sun Feb 18 17:05:50 2001 Jeffrey A Law (law@cygnus.com)
9590
9591 * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
9592 ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
9593 (mostlyclean): Corresponding changes.
9594 * rtlanal.c (hard-reg-set.h): Include.
9595 (rtx_unstable_p): Do not treat the argument pointer specially
9596 if it is not a fixed register.
9597 (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
9598
9599 Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9600
9601 * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
9602 against last real insn in basic block.
9603 Rework to avoid gotos.
9604
9605 * Makefile.in (gcse.o): Now includes ggc.h.
9606 * gcse.c: Include ggc.h.
9607 (want_to_gcse_p): Verify expression can be in SET as valid insn.
9608 (try_replace_reg): Remove warning of uninitialize variable.
9609 (process_insert_insn): Call invalid_insn_p to validate insn.
9610 * recog.c (insn_invalid_p): Now global.
9611 See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
9612 * recog.h (insn_invalid_p): New declaration.
9613
9614 * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
9615
9616 * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
9617 assignments from FP constants since 'Y' output code can't handle it.
9618 (eligible_for_sibcall_delay): Likewise.
9619
9620 * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
9621 Call fancy_abort directly, passing args.
9622 (print_rtl_and_abort): Now a macro, like fancy_abort.
9623
9624 * final.c (output_operand_lossage): Use internal_error, not error.
9625
9626 2001-02-18 Shane Nay <shane@agendacomputing.com>
9627
9628 * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
9629 structure shift insns.
9630
9631 2001-02-18 Mark Mitchell <mark@codesourcery.com>
9632
9633 * invoke.texi (-fsquangle): Remove documentation.
9634 (-fname-mangling-version): Likewise.
9635
9636 2001-02-18 Lars Brinkhoff <lars@nocrew.org>
9637
9638 * optabs.c (expand_abs): Remove reference to
9639 HAVE_contitional_arithmetic.
9640 * combine.c (simplify_set): Likewise.
9641
9642 2001-02-18 Richard Henderson <rth@redhat.com>
9643
9644 * ifcvt.c (dead_or_predicable): Don't move code if eh regions
9645 would be disrupted.
9646
9647 2001-02-18 Richard Henderson <rth@redhat.com>
9648
9649 * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
9650
9651 * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
9652
9653 * reload1.c (reload_cse_simplify_set): Fix typo.
9654
9655 Sun Feb 18 09:30:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9656
9657 * diagnostic.c (_fatal_insn): Decrement errorcount.
9658
9659 * invoke.texi (-I): Add note avoiding use for system header files.
9660
9661 * rtl.h (add_clobbers): Remove duplicate declaration.
9662 * recog.h (added_clobbers_hard_reg_p): New declaration.
9663 * genemit.c (struct clobber_pat): New field has_hard_reg.
9664 (gen_insn): Record if added clobbers clobber hard reg.
9665 (gen_split): Avoid unused warning if number of operands is 0.
9666 (output_added_clobbers_hard_reg_p): New function.
9667 (main): Call it.
9668
9669 2001-02-18 Alan Modra <alan@linuxcare.com.au>
9670
9671 * pa.c (hppa_expand_prologue): Simplify code storing return
9672 pointer. For large (>=8k) frames with a post_store, adjust stack
9673 pointer by 8k-64 first rather than by 64. When testing with
9674 VAL_14_BITS_P, always use the actual value rather than the value
9675 negated. Add blockage to prevent scheduling of spills before
9676 stack frame has been created.
9677 (hppa_expand_epilogue): Simplify code loading return pointer.
9678 Allow a slightly larger range for merge_sp_adjust_with_load case.
9679 When testing with VAL_14_BITS_P, always use the actual value.
9680
9681 * pa.c (pa_adjust_insn_length): Check that block move
9682 pattern is a set before looking at operands.
9683
9684 2001-02-17 Mark Mitchell <mark@codesourcery.com>
9685
9686 * fold-const.c (fold_binary_op_with_conditional_arg): New
9687 function, split out from ...
9688 (fold): ... here.
9689 * tree.def (COND_EXPR): Document the use of VOID_TYPE for
9690 conditional arms that throw exceptions.
9691
9692 * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
9693 looking at a BLOCK.
9694
9695 2001-02-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9696
9697 * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
9698 define HAVE_DECL_* to 1 to mask potential backup declarations.
9699 * configure: Regenerated.
9700
9701 2001-02-17 Mark Mitchell <mark@codesourcery.com>
9702
9703 * invoke.texi (-Woverloaded-virtual): Clarify documentation.
9704
9705 2001-02-17 Richard Henderson <rth@redhat.com>
9706
9707 * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
9708 when replacing a memory load with a register.
9709
9710 Sat Feb 17 14:48:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9711 Jan Hubicka <jh@suse.cz>
9712
9713 * recog.c (validate_replace_src_1): New.
9714 (validate_replace_src_data): Likewise.
9715 (validate_replace_src): Use note_uses.
9716 * rtl.h (note_uses): Declare.
9717 * rtlanal.c (note_uses): New.
9718
9719 Sat Feb 17 10:52:34 CET 2001 Jan Hubicka <jh@suse.cz>
9720
9721 * reg-stack.c (stack_def): Make field reg unsigned.
9722 (remove_regno_note): Unsignetize parameter.
9723
9724 2001-02-16 Jes Sorensen <jes@linuxcare.com>
9725
9726 * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
9727 shladd_operand() call.
9728
9729 2001-02-16 Bruce Korb <bkorb@gnu.org>
9730 Rodney Brown <RodneyBrown@mynd.com>
9731
9732 * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
9733 * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
9734 machine restrictions
9735 * fixinc/fixincl.x: regen
9736
9737 Fri Feb 16 12:41:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9738
9739 * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
9740 Don't CSE a nop.
9741 (hash_scan_insn): Clean up calls to hash_scan_set.
9742 (compute_kill_rd): REGNO now unsigned.
9743 (try_replace_reg): Rework to use simplify_replace_rtx.
9744 (cprop_jump, cprop_cc0_jump): Likewise.
9745 (cprop_insn): Call find_reg_equal_equiv_note.
9746 Reflect changes to cprop_jump and cprop_cc0_jump.
9747
9748 * recog.c (validate_replace_src): Replace in operands of
9749 ZERO_EXTRACT in SET_DEST.
9750
9751 * cse.c (new_label_ref): New variable.
9752 (insert): Set it instead of recorded_label_ref.
9753 (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
9754 CODE_LABEL for this function, and not already in REG_LABEL note.
9755
9756 2001-02-16 Jeffrey Oldham <oldham@codesourcery.com>
9757
9758 * resource.c (mark_referenced_resources): Fix typo in introductory
9759 comment.
9760 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
9761 string constant.
9762
9763 2001-02-16 Jason Merrill <jason@redhat.com>
9764
9765 * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
9766 NULL.
9767 (gen_subprogram_die): Don't abort on seeing a second definition if
9768 the previous one was abstract. Don't replace an abstract instance
9769 in the lookup table.
9770
9771 * dwarf2out.c (dwarf2out_abstract_function): Rename from
9772 gen_abstract_function.
9773 * dwarf2out.h: Declare it.
9774 * toplev.c (note_outlining_of_inline_function): New fn.
9775 * toplev.h: Declare it.
9776 * integrate.c (output_inline_function): Call it.
9777 * c-decl.c (duplicate_decls): Call it when redefining an extern
9778 inline. Don't inline the new defn.
9779
9780 * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
9781
9782 2001-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9783
9784 * .gdbinit: Rename to gdbinit.in.
9785 * gdbinit.in: New file,
9786 * configure.in: Generate .gdbinit from gdbinit.in.
9787 * configure: Regenerated.
9788 * Makefile.in (distclean): Always remove .gdbinit.
9789
9790 2001-02-16 Jakub Jelinek <jakub@redhat.com>
9791
9792 * objc/objc-act.c (start_class): Register implemented_classes with
9793 GC.
9794
9795 2001-02-16 Neil Booth <neil@daikokuya.demon.co.uk>
9796
9797 * cppfiles.c (_cpp_make_system_header): Generate a file
9798 change callback.
9799
9800 2001-02-15 Jim Meyering <meyering@lucent.com>
9801
9802 * Makefile.in (install-common): Don't depend on installdirs here.
9803 Instead, make each of the lang.install-common targets (e.g.,
9804 c++.install-common in cp/Make-lang.in) depend on it.
9805 (install-driver): Depend on installdirs.
9806
9807 Thu Feb 15 21:30:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9808
9809 * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
9810
9811 * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
9812 do in memory.
9813
9814 2001-02-15 Mark Mitchell <mark@codesourcery.com>
9815
9816 * invoke.texi (--param): Document.
9817
9818 Thu Feb 15 15:16:38 2001 Alexandre Oliva <aoliva@redhat.com>
9819
9820 * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
9821
9822 Thu Feb 15 10:52:31 CET 2001 Jan Hubicka <jh@suse.cz>
9823
9824 * i386.md (extendsfdf2_2): Fix constraints.
9825
9826 Thu Feb 15 09:46:21 CET 2001 Jan Hubicka <jh@suse.cz>
9827
9828 * i386.md (fop_df_3 splitter): Fix operand number.
9829
9830 Wed Feb 14 12:37:37 CET 2001 Jan Hubicka <jh@suse.cz>
9831
9832 * invoke.texi (-mreg-alloc): Nuke.
9833 * i386.c (ix86_reg_alloc_order, regs_allocated,
9834 order_regs_for_local_alloc): Nuke.
9835 (override_options): Kill reg_alloc code.
9836 * i386.h (TARGET_OPTIONS): Kill reg-alloc.
9837 (REG_ALLOC_ORDER): SSE goes before I387.
9838 (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
9839 (ix86_reg_alloc_order): Likewise.
9840 * i386-protos.h (ix86_reg_alloc_order): Kill.
9841
9842 2001-02-14 Richard Henderson <rth@redhat.com>
9843
9844 * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
9845
9846 Wed Feb 14 11:59:58 CET 2001 Jan Hubicka <jh@suse.cz>
9847
9848 * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
9849
9850 Wed Feb 14 11:12:38 CET 2001 Jan Hubicka <jh@suse.cz>
9851
9852 * i386-protos.h (ix86_memory_move_cost): Move offline.
9853 * i386.c (ix86_register_move_cost): Compute properly cost of
9854 SSE, MMX and i387 instructions.
9855 (*_cost): Add costs of SSE/MMX moves.
9856 (ix86_memory_move_cost): Move offline from ....; Likewise.
9857 * i386.h (MEMORY_MOVE_COST): .... here;
9858 (struct processor costs): Add new fields to represent costs
9859 of SSE/MMX moves.
9860
9861 Wed Feb 14 10:08:26 CET 2001 Jan Hubicka <jh@suse.cz>
9862
9863 * regclass.c (init_reg_sets_1): Reinstall the optimization of
9864 move_cost together with Matt Kraai's fix.
9865
9866 2001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
9867
9868 * Makefile.in (OBJS): Add params.o.
9869
9870 2001-02-14 Richard Henderson <rth@redhat.com>
9871 DJ Delorie <dj@redhat.com>
9872
9873 * jump.c (jump_optimize_1): When we delete a conditional jump
9874 preceeding a non-conditional jump to effectively the same place,
9875 make sure that the combined jump skips any clobber insns between
9876 the two labels.
9877
9878 2001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
9879
9880 * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
9881
9882 2001-02-14 Mark Mitchell <mark@codesourcery.com>
9883
9884 * Makefile.in (toplev.o): Depend on params.h.
9885 (intergate.o): Likewise.
9886 (params.o): New target.
9887 * flags.h (inline_max_insns): Remove.
9888 * integrate.c: Include params.h.
9889 Use MAX_INLINE_INSNS instead of inline_max_insns.
9890 * params.c: New file.
9891 * params.h: Likewise.
9892 * params.def: Likewise.
9893 * toplev.c: Include params.h.
9894 (lang_independent_params): New variable.
9895 (decode_f_option): Use the param machinery instead of setting
9896 max_inline_insns.
9897 (independent_decode_option): Handle "--param name=value".
9898 (main): Register language-independent parameters.
9899
9900 Wed Feb 14 11:13:45 CET 2001 Jan Hubicka <jh@suse.cz>
9901
9902 * i386.md (pushsf, pushdf_nointeger): Fix constraint.
9903
9904 2001-02-14 Richard Henderson <rth@redhat.com>
9905
9906 * regclass.c (init_reg_sets_1): Revert last two changes.
9907
9908 2001-02-14 Jakub Jelinek <jakub@redhat.com>
9909
9910 * stor-layout.c (is_pending_size, put_pending_size): New functions.
9911 (variable_size): Call put_pending_size.
9912 * tree.h (is_pending_size, put_pending_size): Add prototypes.
9913 * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
9914 sizes list, put newly created SAVE_EXPR there as well.
9915
9916 2001-02-14 Jakub Jelinek <jakub@redhat.com>
9917
9918 * config/ia64/ia64.c (last_group): Only 2 entries are needed.
9919 (errata_find_address_regs): load_group has only 2 entries.
9920 (errata_emit_nops): Likewise. shladd is not problematic.
9921 Clear last_group if nop was emitted.
9922 (fixup_errata): load_group has only 2 entries.
9923 Optimize.
9924
9925 2001-02-14 Neil Booth <neil@daikokuya.demon.co.uk>
9926
9927 * c-lex.c (lex_number): Only warn traditionally for U suffix
9928 outside system macros.
9929 * cppexp.c (parse_number): Similarly.
9930 * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
9931 * cppmacro.c (struct cpp_macro): New member node.
9932 (parse_args): Only warn about missing rest args if not
9933 a system macro.
9934 (funlike_invocation_p): Similarly for uninvoked funlike macros.
9935 (cpp_sys_objmacro_p): New.
9936 (_cpp_create_definition): Store the node with the macro defn.
9937 Remember if the macro is defined in a system header.
9938
9939 2001-02-13 DJ Delorie <dj@redhat.com>
9940
9941 * configure.in (check_languages): determine languages to check
9942 * Makefile.in (check-c++): alias for check-g++
9943 (check-f77): alias for check-g77
9944 (CHECK_TARGETS): depend on configured languages
9945
9946 Wed Feb 14 01:13:59 CET 2001 Jan Hubicka <jh@suse.cz>
9947
9948 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9949 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9950 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9951 (sqrtextendsfdf2): Disable for SSE2.
9952
9953 Wed Feb 14 00:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
9954
9955 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
9956 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
9957 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
9958 (sqrtextendsfdf2): Disable for SSE2.
9959
9960 Wed Feb 14 00:11:20 CET 2001 Jan Hubicka <jh@suse.cz>
9961
9962 * i386.md (movsfcc_1): Support integer cmove instruction.
9963 (movdfcc_1): Likewise; new splitter.
9964
9965 Tue Feb 13 23:19:27 CET 2001 Jan Hubicka <jh@suse.cz>
9966
9967 * i386.c (output_fp_compare): Support SSE.
9968 (prepare_fp_compare_args): SSE comparisons always support memory.
9969 * i386.h (TARGET_CMOVE): SSE imply cmove.
9970 * i386.md (cmp?f2): Enable for SSE too.
9971 (cmpfp_i*): Support SSE.
9972 (cmpfp_i_sse): New.
9973 (cmpfp_i_sse_only): New.
9974 (s*, b* fp expanters): Enable for SSE too.
9975 (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
9976 New patterns.
9977
9978 Tue Feb 13 23:05:42 CET 2001 Jan Hubicka <jh@suse.cz>
9979
9980 * regclass.c (init_reg_sets_1): Silence warning.
9981
9982 Tue Feb 13 22:03:07 CET 2001 Jan Hubicka <jh@suse.cz>
9983
9984 * i386.md (sqrt?f2): Change to expander.
9985 (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
9986
9987 Tue Feb 13 15:42:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9988
9989 * rtlanal.c (find_reg_equal_equiv_note): New function.
9990 * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
9991 (simplify_gen_relational, simplify_replace_rtx): Likewise.
9992 * rtl.h: Add declarations for above functions.
9993
9994 Tue Feb 13 21:09:11 CET 2001 Jan Hubicka <jh@suse.cz>
9995
9996 * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
9997 conditionals.
9998 * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
9999 * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
10000 * flow.c (mark_regs_live_at_end): Likewise.
10001 (calculate_global_regs_live): Likewise.
10002 * gcse.c (compute_hash_table): Likewise.
10003 (compute_kill_rd): Likewise.
10004 * resource.c (mark_target_live_regs): Likewise.
10005 * rtl.h (INVALID_REGNUM): New macro.
10006
10007 Tue Feb 13 20:59:22 CET 2001 Jan Hubicka <jh@suse.cz>
10008
10009 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
10010
10011 Tue Feb 13 16:32:20 CET 2001 Jan Hubicka <jh@suse.cz>
10012
10013 * i386.md (fixsfsi2, fixdfdi2): Force operand to register
10014 for SSE.
10015
10016 Tue Feb 13 14:53:16 CET 2001 Jan Hubicka <jh@suse.cz>
10017
10018 * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
10019 too.
10020 (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
10021 (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
10022 (fop_sf_1_sse, fop_df_1_sse): New patterns
10023 (fop_*): Disable float_extend and float patterns for SSE compilation.
10024 * i386.c (output_387_binary_op): Support SSE.
10025
10026 Tue Feb 13 14:16:34 CET 2001 Jan Hubicka <jh@suse.cz>
10027
10028 * i386.md (dummy_extendsfdf2): Support SSE2
10029 (extendsfdf2): Enable if 80387 or SSE2.
10030 (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
10031 and no MIX_I387_SSE2
10032 (extendsfdf2_1_sse_only): New pattern.
10033 (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
10034 of SSE.
10035 (truncdfsf2_1): Support SSE.
10036 (truncdfsf2_2): Support SSE.
10037 (truncdfsf2_2_1_sse): New pattern.
10038 (fixtruncsfsi2): Always use SSE if available.
10039 (fix_truncsfsi_sse): New pattern.
10040 (fix_truncdfsi_sse): New pattern.
10041 (floatsis?f2): Support SSE.
10042 (floatsidf2_i387): New pattern.
10043 (floatsidf2_sse): Likewise.
10044
10045 Tue Feb 13 07:52:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10046
10047 * configure.in: Use "have_gnat" variable, not "gnat".
10048 * configure: Regenerated.
10049
10050 * config/sparc/sparc.c (function_value): Treat all non-record
10051 aggregate types like used to treat UNION_TYPE.
10052
10053 Tue Feb 13 13:31:33 CET 2001 Jan Hubicka <jh@suse.cz>
10054
10055 * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
10056 * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
10057 (MASK_SSE2): New.
10058 (MASK_MIX_SSE_I387): New.
10059 (TARGET_SSE): SSE2 imply SSE.
10060 (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
10061 (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
10062 (enum reg_class): Add new classes.
10063 (REG_CLASS_NAMES): Likewise.
10064 (REG_CLASS_CONTENTS): Likewise.
10065 (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
10066 (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
10067 supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
10068 (CLASS_MAX_NREGS): Use new macros.
10069 (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
10070 * i386.md (pushsf, movsf): Support SSE.
10071 (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
10072 splitters to use ANY_FP_REGNO_P.
10073 (movdf_nointeger, movdf_integer): Likewise.
10074
10075 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
10076
10077 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
10078 (try_combine): Use it.
10079
10080 Tue Feb 13 11:37:06 CET 2001 Jan Hubicka <jh@suse.cz>
10081
10082 * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
10083 MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
10084 (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
10085 (REGISTER_MOVE_COST): Likewise.
10086 * i386-protos.h (ix86_secondary_memory_needed,
10087 ix86_preferred_reload_class, ix86_register_move_cost): Declare.
10088 * i386.c (ix86_secondary_memory_needed,
10089 ix86_preferred_reload_class, ix86_register_move_cost): New function.
10090
10091 Die Feb 13 11:04:25 CET 2001 Jan Hubicka <jh@suse.cz>
10092
10093 * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
10094 (HARD_REGNO_MODE_OK): Move offline to ....
10095 * i386.c (ix86_hard_regno_mode_ok) ... here;
10096 refuse all incorrect modes.
10097 * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
10098
10099 2001-02-13 Richard Henderson <rth@redhat.com>
10100
10101 * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
10102 entire operator; replicate that and match_dup the operands.
10103 (cmp_ccx_arith_op_set): Likewise.
10104 (cmp_cc_arith_op_not_set): Likewise.
10105 (cmp_ccx_arith_op_not_set): Likewise.
10106
10107 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
10108
10109 * explow.c (trunc_int_for_mode): Sign-extend value to mode.
10110
10111 2001-02-12 Geoffrey Keating <geoffk@redhat.com>
10112
10113 * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
10114 (TARGET_NO_BITFIELD_WORD): New macro.
10115 (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
10116 (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
10117
10118 Mon Feb 12 18:13:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10119
10120 * cselib.c: New file, from simplify-rtx.c.
10121 * simplify-rtx.c: Remove cselib parts.
10122 * Makefile.in: Add cselib.o.
10123
10124 2001-02-12 Geoffrey Keating <geoffk@redhat.com>
10125
10126 * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
10127 (setup_incoming_varargs): Remove warning.
10128
10129 * config/rs6000/rs6000.c (validate_condition_mode): When
10130 flag_fast_math, allow floating-point conditionals to be reversed.
10131 (rs6000_generate_compare): When flag_fast_math, don't generate
10132 cror operations for FP conditionals.
10133
10134 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
10135 -mcall-i960.
10136 (ASM_SPEC): Likewise.
10137 (CC1_ENDIAN_LITTLE_SPEC): Likewise.
10138 (CC1_SPEC): Likewise.
10139 (LINK_TARGET_SPEC): Likewise.
10140 (CPP_ENDIAN_SPEC): Likewise.
10141 * Makefile.in (check-consistency): New target.
10142
10143 2001-02-12 Joseph S. Myers <jsm28@cam.ac.uk>
10144
10145 * c-decl.c (grokdeclarator): In C99 mode, give the more specific
10146 "return type defaults" warning for functions with return type
10147 defaulting to int.
10148 * c-lang.c (c_init): In C99 mode, enable warnings for implicit
10149 function declarations by default rather than only when pedantic.
10150
10151 Mon Feb 12 17:28:48 CET 2001 Jan Hubicka <jh@suse.cz>
10152
10153 * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
10154 arrays.
10155
10156 2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
10157
10158 * extend.texi (Deprecated): Deprecate new initializer lists.
10159
10160 2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
10161
10162 * mkdeps.c (deps_add_default_target): Robustify. Add
10163 basename component only.
10164 * cpp.texi (-M): Describe how default target is generated.
10165 * invoke.texi (-M): Likewise.
10166
10167 2001-02-12 Kazu Hirata <kazu@hxi.com>
10168
10169 * toplev.c (push_float_handler): Remove.
10170 (pop_float_handler): Remove.
10171 * toplev.h: Remove prototypes for the above functions.
10172
10173 2001-02-12 Jakub Jelinek <jakub@redhat.com>
10174
10175 * c-common.c (constant_fits_type_p): New function.
10176 (convert_and_check): Use it.
10177
10178 2001-02-11 Mark Mitchell <mark@codesourcery.com>
10179
10180 * Makefile.in (GXX_ABI_FLAG): Don't define.
10181 * configure.in (--enable-new-gxx-abi): Remove option.
10182 * config.in: Regenerated.
10183 * configure: Likewise.
10184
10185 2001-02-12 Alexandre Oliva <aoliva@redhat.com>
10186
10187 * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
10188 basic block.
10189 (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
10190 regular basic block, and arrange for all edges into it to switch
10191 to normal mode.
10192
10193 2001-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10194
10195 * Makefile.in (distclean): Do not remove .gdbinit.
10196
10197 2001-02-11 Mark Mitchell <mark@codesourcery.com>
10198
10199 * Makefile.in (gcc.o): Fix typos.
10200 (protize.o): Likewise.
10201 (unprotoize.o): Likewise.
10202
10203 2001-02-11 Richard Henderson <rth@redhat.com>
10204
10205 * tree.c (build1): Check for null operand in last change.
10206
10207 2001-02-11 Richard Henderson <rth@redhat.com>
10208
10209 * fold-const.c (split_tree): Don't assume a constant isn't splittable.
10210 (fold): Don't assume a constant isn't foldable.
10211 * tree.c (build): Set TREE_CONSTANT for an expression with no
10212 side-effects and constant operands.
10213 (build1): Likewise.
10214
10215 2001-02-10 Richard Henderson <rth@redhat.com>
10216
10217 * jump.c (squeeze_notes): Revert 2000-05-12 change.
10218
10219 2001-02-10 Anthony Green <green@redhat.com>
10220
10221 * cpp.texi (Standard Predefined): Add documentation for
10222 __OPTIMIZE_SIZE__.
10223
10224 * c-common.c (combine_strings): Improve warning message.
10225
10226 2001-02-10 Geoffrey Keating <geoffk@redhat.com>
10227
10228 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
10229 --oformat.
10230 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
10231
10232 Fri Feb 9 15:05:27 2001 Christopher Faylor <cgf@cygnus.com>
10233
10234 * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
10235 CYGWIN_CROSS_DIR.
10236
10237 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
10238
10239 * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
10240 fp_mode attribute.
10241
10242 2001-02-09 Nick Clifton <nickc@redhat.com>
10243
10244 * config/arm/arm.md: Change output contraint on post inc
10245 load/store multiple patterns to be a read/write contraint.
10246
10247 2001-02-09 Neil Booth <neil@daikokuya.demon.co.uk>
10248
10249 * gcc.c (cpp_options): Delete .d files on error. Don't delete
10250 .o files when using the -M options.
10251
10252 2001-02-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10253 David Edelsohn <edelsohn@gnu.org>
10254
10255 * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
10256 handle DImode constants. Use one TOC entry for SImode and smaller
10257 constants, aligned properly.
10258
10259 2001-02-08 Jason Merrill <jason@redhat.com>
10260
10261 * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
10262 about the SP adjustment for saving the static chain pointer.
10263 * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
10264 offset when setting a temporary CFA register.
10265
10266 2001-02-08 Chandrakala Chavva <cchavva@redhat.com>
10267
10268 * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
10269 powerpc-*-chorusos* .
10270 * config/rs6000/chorus.h : New file.
10271 * config/i386/chorus.h : New file.
10272 * config/sparc/chorus.h : New file.
10273 * config/sparc/t-chorus-elf : New file.
10274
10275 2001-02-08 David Edelsohn <edelsohn@gnu.org>
10276
10277 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
10278 * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
10279 * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
10280 (__WCHAR_TYPE__): Correct macro name.
10281
10282 2001-02-08 Richard Henderson <rth@redhat.com>
10283
10284 * config/i386/i386.c (ix86_frame_pointer_required): New.
10285 (ix86_setup_frame_addresses): New.
10286 (struct machine_funciton): Add accesses_prev_frame.
10287 * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
10288 ix86_frame_pointer_required.
10289 (SUBTARGET_FRAME_POINTER_REQUIRED): New.
10290 (SETUP_FRAME_ADDRESSES): New.
10291 * config/i386/i386-protos.h: Update.
10292 * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
10293 from FRAME_POINTER_REQUIRED.
10294 * config/i386/svr3gas.h: Likewise.
10295 * config/i386/sysv3.h: Likewise.
10296 * config/i386/v3gas.h: Likewise.
10297
10298 2001-02-08 Richard Henderson <rth@redhat.com>
10299
10300 * config/sparc/sparc.c (function_arg_record_value_3): Fix
10301 calculation of the number of integer registers required.
10302 (function_arg_record_value): Likewise.
10303
10304 2001-02-08 Jason Merrill <jason@redhat.com>
10305
10306 * diagnostic.c (internal_error): Say "confused" after 1 error, not
10307 two. Print file and line with "confused" message.
10308
10309 * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
10310
10311 Thu Feb 8 11:21:28 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10312
10313 * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
10314
10315 2001-02-08 Bernd Schmidt <bernds@redhat.com>
10316
10317 * final.c (cleanup_subreg_operands): The address of a MEM can
10318 contain SUBREGs.
10319
10320 * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
10321 for asms, too.
10322
10323 2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
10324
10325 * gcc.texi (Incompatibilities): Update documentation of
10326 preprocessing numbers.
10327
10328 2001-02-07 Jakub Jelinek <jakub@redhat.com>
10329
10330 * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
10331
10332 2001-02-07 Mark Mitchell <mark@codesourcery.com>
10333
10334 * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
10335
10336 * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
10337 * gcc.c (struct compiler): Add cpp_spec field.
10338 (input_file_compiler): New variable.
10339 (do_spec_1): Allow a particular compiler to handle `%C'
10340 specially.
10341 (main): Store the current compiler in input_file_compiler.
10342 * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
10343
10344 2001-02-07 Zack Weinberg <zack@wolery.stanford.edu>
10345
10346 * cpphash.h (struct spec_nodes): Add n_true and n_false.
10347 * cppinit.c (cpp_create_reader): Initialize them.
10348 (append_include_chain): cxx_aware arg might be unused.
10349 * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
10350 keywords and give them their phase 7 meaning. Pedwarn about
10351 this unless '__bool_true_false_are_defined' is defined.
10352
10353 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
10354
10355 * lcm.c (optimize_mode_switching): Emit mode_set before the
10356 JUMP_INSN of an abnormal edge.
10357
10358 2001-02-07 Bernd Schmidt <bernds@redhat.com>
10359
10360 * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
10361 a scheduling barrier at the end.
10362
10363 * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
10364
10365 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
10366
10367 * config/sh/sh.md (reload_outsf): Removed.
10368 (movsf_ie): Introduce constraints for FPUL loads and stores.
10369 (reload_insf): Broaden the output constraint.
10370
10371 * config/elfos.h (INT_ASM_OP): Don't define it if it's already
10372 defined.
10373 * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
10374 ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
10375
10376 2001-02-06 Chandrakala Chavva <cchavva@redhat.com>
10377
10378 * final.c: Revert my previous changes.
10379 * output.h: Make profile_label_no extern.
10380 * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
10381 for generating label.
10382
10383 2001-02-06 Laurynas Biveinis <lauras@softhome.net>
10384
10385 * config/i386/djgpp.h: Add comments about standard paths.
10386 (MD_EXEC_PREFIX): Undefine before defining.
10387 (MD_STARTFILE_PREFIX): New.
10388
10389 2001-01-30 Bruce Korb <bkorb@gnu.org>
10390
10391 fixinc/fixincl.c(process): Emit error message only if appropriate :)
10392 (load_file): do not rely on load_file_data() to close file pointer
10393 fixinc/fixlib.c(load_file_data): do not close passed in file pointer
10394 fixinc/inclhack.def(irix_limits_const): add test_text
10395
10396 2001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
10397
10398 * cppexp.c (parse_defined): Improve diagnostics for invalid
10399 syntax.
10400
10401 2001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
10402
10403 * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
10404
10405 2001-02-06 Mark Mitchell <mark@codesourcery.com>
10406
10407 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
10408 * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
10409 * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
10410 (rs6000_output_symbol_ref): New function.
10411 (output_toc): Use VTABLE_NAME_P.
10412
10413 Tue Feb 6 07:54:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10414
10415 * print-tree.c (print_node, case PARM_DECL):
10416 Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
10417
10418 * stor-layout.c (reference_types_internal): New variable.
10419 (internal_reference_types): New function.
10420 (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
10421 * tree.h (internal_reference_types): New declaration.
10422
10423 * cse.c (find_best_addr): Fix typo in computing cost.
10424
10425 Mon Feb 5 21:56:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10426
10427 * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
10428 and this is the sum of a pointer and a constant, we know the result
10429 did not overflow.
10430 (num_sign_bit_copies, case PLUS): Likewise.
10431 * explow.c (convert_memory_address): Remove opposite SUBREG.
10432 * function.c (instantiate_new_reg): New function (from common code).
10433 (instantiate_virtual_regs_1): Call it.
10434 For PLUS, handle if (plus (subreg (virt-reg) (const_int))
10435 if pointers sign- or zero-extend.
10436 * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
10437 If pointers extend unsigned, use inside of SUBREG.
10438 (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
10439
10440 2001-02-05 Benjamin Kosnik <bkoz@redhat.com>
10441
10442 * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
10443 subdir of gcc_gxx_include_dir.
10444 (gcc_gxx_target_include_dir): Remove.
10445
10446 2001-02-05 Jeffrey Oldham <oldham@codesourcery.com>
10447
10448 * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
10449 (dwarf2out_frame_debug_expr): Revise introductory comments to add
10450 a high-level description.
10451
10452 2001-02-05 Chandrakala Chavva <cchavva@redhat.com>
10453
10454 * final.c: Move the declaration of profile_label_no to ...
10455 * output.h: ... here.
10456 * function.c (expand_function_start): Call PROFILE_HOOK.
10457 * config/rs6000/aix.h: Define PROFILE_HOOK.
10458 * config/rs6000/rs6000-protos.h: output_profile_hook new.
10459 * config/rs6000/rs6000.c (output_profile_hook): Define.
10460 (output_prolog): Do nothing for ABI_AIX as it is taken care by
10461 output_profile_hook.
10462 tm.texi : Explain new macro PROFILE_HOOK.
10463
10464 2001-02-06 Hans-Peter Nilsson <hp@axis.com>
10465
10466 * extend.texi (Extended Asm): Do not say that semicolon is always
10467 a valid line-breaking character for GNU assemblers. Use
10468 newline-tab as the most commonly supported syntax. Use
10469 newline-tab rather than semicolon in multi-insn examples.
10470
10471 2001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10472
10473 * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
10474
10475 2001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10476 David Edelsohn <edelsohn@gnu.org>
10477
10478 * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
10479 code for AIX, even without flag_pic.
10480
10481 2001-02-05 Jakub Jelinek <jakub@redhat.com>
10482
10483 * c-typeck.c (common_type): push and pop binding level around
10484 calling common_type on function parameters.
10485
10486 Mon Feb 5 14:30:37 2001 Christopher Faylor <cgf@cygnus.com>
10487
10488 * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
10489
10490 Mon Feb 5 11:23:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10491
10492 * config/mips/mips.c (override_options): Fix typo in last change.
10493 (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
10494 (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
10495
10496 2001-02-05 Nathan Sidwell <nathan@codesourcery.com>
10497
10498 * invoke.texi (-fdump-class-layout): Document.
10499 (-fdump-translation-unit): Use `=' as filename separator.
10500
10501 2001-02-05 Mark Mitchell <mark@codesourcery.com>
10502
10503 * Makefile.in (s-mlib): Don't build multilibs if
10504 --disable-multilib.
10505 (DRIVER_DEFINES): Adjust accordingly.
10506 (gcc.o): Likewise.
10507 (protoize.o): Likewise.
10508 (unprotoize.o): Likewise.
10509 * configure.in: Recognize --enable-multilib.
10510
10511 2001-02-04 Mark Mitchell <mark@codesourcery.com>
10512
10513 * Makefile.in (DRIVER_DEFINES): Fix quoting.
10514
10515 * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
10516 * configure.in: Remove --enable-libstdcxx_v3 support.
10517 * configure: Regenerated.
10518
10519 Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10520
10521 * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
10522 Call abort instead of fatal.
10523 (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
10524 * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
10525 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
10526 (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
10527 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
10528 * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
10529
10530 * diagnostic.h (set_internal_error_function): Renamed.
10531 * toplev.h (internal_error): Renamed from fatal.
10532 (pfatal_with_name): Deleted.
10533 (fatal_io_error): Now has printf-style arguments.
10534 * diagnostic.c (pfatal_with_name): Deleted.
10535 (fatal_io_error): Rework to have args in printf-style.
10536 (set_internal_error_function): Renamed from set_fatal_function.
10537 (internal_error): Renamed from fatal.
10538 (error_recursion, fancy_abort): Call internal_error instead of fatal.
10539 * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
10540 * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
10541 * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
10542 * flow.c (verify_flow_info): Likewise.
10543 * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
10544 * config/mips/mips.c (save_restore_insns): Likewise.
10545
10546 * except.c (duplicate_eh_handlers): Call abort instead of fatal.
10547 * flow.c (verify_flow_info): Likewise.
10548 * config/arm/arm.c (thumb_load_double_from_address): Likewise.
10549 * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
10550 (avr_normalize_condition): Likewise.
10551 * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
10552 * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
10553 (limit_reload_class, double_reg_to_memory): Likewise.
10554 (print_operand_address, emit_1600_code_shift): Likewise.
10555 (gen_tst_reg, gen_compare_reg): Likewise.
10556 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
10557 * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
10558 Deleted.
10559 * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
10560
10561 * c-parse.in (methoddef): Call fatal_error instead of fatal.
10562 * objc/objc-act.c (build_ivar_chain): Likewise.
10563 * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
10564 pfatal_with_name.
10565 * graph.c (clean_graph_dump_file): Likewise.
10566 * profile.c (init_branch_prob): Likewise.
10567 * objc/objc-act.c (objc_init): Likewise.
10568
10569 * config/arm/arm.c (arm_override_options): Make errors non-fatal.
10570 * config/avr/avr.c (avr_override_options): Likewise.
10571 * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
10572 * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
10573 * config/h8300/h8300.c (h8300_init_once): Likewise.
10574 * config/mips/mips.c (override_options): Likewise.
10575 * config/i386/i386.c (override_options): Likewise, rework.
10576 * config/m68k/m68k.c (override_options): Likewise.
10577
10578 * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
10579 instead of fatal.
10580 * config/mips/mips.c (print_operand): Likewise.
10581 * hash.c (hash_allocate): Don't check for failure returns from
10582 obstack functions that can't fail.
10583 (hash_table_init_n, hash_table_init): Likewise; also now return void.
10584 * hash.h (hash_table_init_n, hash_table_init): Now return void.
10585 * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
10586 (get_object_reference): Likewise.
10587
10588 2001-02-04 Nick Clifton <nickc@redhat.com>
10589
10590 * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
10591 StrongARM1110, 10TDMI, and 1020T.
10592
10593 2001-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10594
10595 * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
10596
10597 2001-02-04 Alexandre Oliva <aoliva@redhat.com>
10598
10599 * config/sh/sh.md (movdf load split): Pass register number to
10600 FP_OR_XD_REGISTER_P.
10601
10602 2001-02-04 Mark Mitchell <mark@codesourcery.com>
10603
10604 * cppinit.c (BC): New macro.
10605 (builtin_array): Add __GXX_WEAK__.
10606 * cpplib.h (builtin_type): Add BT_WEAK.
10607 * cppmacro.c (builtin_macro): Handle BT_WEAK.
10608 * defaults.h (SUPPORTS_ONE_ONLY): Define.
10609 * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
10610
10611 2001-02-03 Jakub Jelinek <jakub@redhat.com>
10612
10613 * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
10614
10615 2001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
10616
10617 * cpphash.h: Rename _ALIGN POOL_ALIGN.
10618 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
10619
10620 2001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
10621
10622 * cpphash.h: Rename ALIGN _ALIGN.
10623 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
10624
10625 Fri Feb 2 23:15:29 2001 Christopher Faylor <cgf@cygnus.com>
10626
10627 * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
10628 compilation environment.
10629 * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
10630 control over location of cygwin includes and libs.
10631
10632 2001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
10633
10634 * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
10635
10636 2001-02-02 lars brinkhoff <lars@nocrew.org>
10637
10638 * md.texi (Standard Names): remove reference to spur.md.
10639
10640 2001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
10641
10642 * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
10643 (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
10644 (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
10645 * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
10646 (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
10647
10648 2001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10649
10650 * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
10651 c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
10652 number before reload.
10653 (c4x_adjust_cost): Return zero before reload.
10654 * c4x.md (load_immed_address+1, load_immed_address+2): Do not
10655 split before reload.
10656
10657 2001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10658
10659 * c4x.c (c4x_hard_regno_rename_ok): New.
10660 * c4x-protos.h (c4x_hard_regno_rename_ok): New.
10661 * c4x.h (HARD_REGNO_RENAME_OK): Define.
10662
10663 Fri Feb 2 20:03:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10664
10665 * diagnostic.h: Add missing "extern" in all declarations.
10666
10667 2001-02-02 Alex Samuel <samuel@codesourcery.com>
10668
10669 * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
10670 as for gcc_gxx_include_dir.
10671
10672 2001-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
10673
10674 * cpp.texi, invoke.texi: Update -Wtraditional documentation.
10675
10676 2001-02-02 Alexandre Oliva <aoliva@redhat.com>
10677
10678 * config/sh/sh.c (output_far_jump): Don't use braf on SH1. Emit
10679 label before alignment to be used as the braf base address.
10680 * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
10681 branches.
10682 (casesi_jump_2): Require at least TARGET_SH2.
10683
10684 * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
10685 truncation to 32-bit doubles on -m3e and -m4-single-only.
10686
10687 2001-02-02 Mark Mitchell <mark@codesourcery.com>
10688
10689 * gcc.c (init_gcc_specs): New function. Make -shared-libgcc
10690 the default when building a shared object.
10691 (init_spec): Use it.
10692 * testsuite/lib/g++.exp: Include the directory where libgcc
10693 is located to the LD_LIBRARY_PATH list.
10694 * invoke.texi (-shared-libgcc): Document the cases in which
10695 GCC defaults to using the shared libgcc.
10696
10697 2001-02-02 Alexandre Oliva <aoliva@redhat.com>
10698
10699 * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
10700 unsigned is wide enough.
10701 (BITS_PER_SI): New.
10702 * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
10703 (si_to_float): Likewise.
10704 (float_to_si, float_to_usi): Use BITS_PER_SI.
10705
10706 2001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
10707
10708 * dwarf2out.c: Added explanation of abbreviations.
10709 (def_cfa_1): Added comments listing DWARF2 instructions.
10710 (cfa_temp_reg): Removed in favor of cfa_temp.
10711 (cfa_temp_value): Removed in favor of cfa_temp.
10712 (cfa_temp): New global variable.
10713 (dwarf2out_frame_debug_expr): Added extensive introductory
10714 comments explaining the function's transformations. Revised to
10715 use cfa_temp. Added some rtx checking. Generalize IOR case.
10716 (dwarf2out_frame_debug): Revised to use cfa_temp.
10717 (output_aranges): Cast as "unsigned" to avoid warning.
10718 * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
10719 explain which instructions must be marked.
10720
10721 2001-02-01 Richard Henderson <rth@redhat.com>
10722
10723 * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
10724 new instruction.
10725
10726 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
10727
10728 * config/sh/crt1.asm (main_k): Modified so that start calls
10729 ___setup_argv_and_call_main.
10730
10731 2001-02-01 Neil Booth <neil@daikokuya.demon.co.uk>
10732
10733 * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
10734 * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
10735 and AVOID_LPASTE is cleared on meeting an unescaped newline.
10736 * cppmacro.c (builtin_macro): Set builtin flags here.
10737 (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
10738 (replace_args): Clarify intent.
10739 (cpp_get_token): Macro expansion tokens get the saved flags.
10740 Update.
10741 * cppmain.c (scan_buffer): Remove now-redundant print.printed
10742 check.
10743
10744 2001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
10745
10746 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
10747 2001-Jan-29.
10748
10749 Thu Feb 1 07:22:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10750
10751 * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
10752 returns Pmode pseudo, but we need ptr_mode.
10753 * explow.c (allocate_dynamic_stack_space): Use plus_constant.
10754 Remove bogus conversions; use HOST_WIDE_INT for size.
10755 Don't use TARGET if wrong mode.
10756
10757 * config/i386/i386.c (ix86_compute_frame_size): Allow
10758 stack_alignment_needed to be non-default even if size is zero.
10759
10760 2001-01-31 Alan Modra <alan@linuxcare.com.au>
10761
10762 * pa.c (hppa_init_pic_save): New function.
10763 * pa.h (hppa_init_pic_save): Declare.
10764 * pa.md (call, call_value, sibcall, sibcall_value): Use
10765 the above instead of duplicated code.
10766
10767 * pa.c (hppa_encode_label): Correct size of alloca buffer
10768 so we don't overrun it. Correct leading `*' case.
10769 * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
10770 need to handle `*@'.
10771 (FUNCTION_NAME_P): Likewise.
10772
10773 2001-01-31 Richard Henderson <rth@redhat.com>
10774
10775 * config.gcc (alpha-osf5): Use float-i128.h.
10776
10777 * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
10778 * config/float-i32.h: Likewise.
10779 * config/float-i64.h: Likewise.
10780 * config/float-sh.h: Likewise.
10781 * config/float-sparc.h: Likewise.
10782
10783 2001-01-31 DJ Delorie <dj@redhat.com>
10784
10785 * expmed.c (extract_bit_field): allow non-integral modes if we
10786 want to extract a whole register from itself.
10787
10788 2001-01-31 Jakub Jelinek <jakub@redhat.com>
10789
10790 * c-typeck.c (set_init_index): If first is equal to last, assume as
10791 if it was not a range at all.
10792
10793 2001-01-31 Alexandre Oliva <aoliva@redhat.com>
10794
10795 * config/fp-bit.c: Include tm.h.
10796 (float_to_si): Don't assume SImode is 32-bits wide.
10797 (float_to_usi): Likewise.
10798
10799 2001-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
10800
10801 * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
10802 incomplete type.
10803 (typename): Call pending_xref_error after parsing typed_typespecs.
10804 * c-decl.c (lookup_tag): Give error immediately rather than
10805 leaving it pending if the tag of the wrong type is in the same
10806 binding level.
10807 (xref_tag): Don't pedwarn for forward declarations of enum types
10808 here.
10809 * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
10810 and enum tags.
10811
10812 2001-01-31 Alexandre Oliva <aoliva@redhat.com>
10813
10814 * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
10815
10816 2001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
10817
10818 * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
10819 (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
10820
10821 2001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
10822
10823 * cpphash.h (struct cpp_reader): New saved_flags.
10824 * cppmacro.c (cpp_get_token): Use saved_flags to remember
10825 to avoid a paste after a pasted token.
10826
10827 2001-01-31 Alexandre Oliva <aoliva@redhat.com>
10828
10829 * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
10830 * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
10831 Wtype_MIN instead of LONG_MIN.
10832
10833 2001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
10834
10835 * fixinc/fixincl.tpl: Add 2001 to copyright. Change name of
10836 README file.
10837 * fixinc/fixincl.x: Regenerated.
10838 * fixinc/inclhack.def (irix_limits_const): New definition to
10839 convert "const" to "__const" in limits.h.
10840
10841 2001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
10842
10843 * fixinc/genfixes (AG): Fix "autogen4" thinko.
10844
10845 2001-01-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10846
10847 * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
10848 when register dies in the insn.
10849
10850 2001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
10851
10852 * diagnostic.c (fatal): Fix word wrap.
10853
10854 2001-01-30 Alexandre Oliva <aoliva@redhat.com>
10855
10856 * combine.c (try_combine): Fix SUBREG setting for
10857 HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
10858
10859 2001-01-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10860
10861 * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
10862 comparison codes.
10863
10864 2001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
10865
10866 * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
10867 is not NULL.
10868 * toplev.c (decode_W_option): Update warn_larger_than
10869 unconditionally for each processed switch.
10870
10871 2001-01-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10872
10873 * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
10874 to NULL_RTX.
10875 (hppa_expand_prologue): Delete code to save pic offset table register
10876 in the function prologue.
10877 * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
10878 * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
10879 table register at the beginning of the function after the prologue.
10880
10881 2001-01-29 lars brinkhoff <lars@nocrew.org>
10882
10883 * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
10884
10885 2001-01-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
10886 Jeff Law <law@redhat.com>
10887
10888 * pa.md (return): Revise comment for trivial return.
10889 (return_internal): Non-trivial return pattern for non-PIC code.
10890 (return_internal_pic): Non-trivial return pattern for PIC code.
10891 It uses the PIC register to ensure it is restored after
10892 function calls.
10893 (epilogue): Generate appropriate return for PIC and non-PIC code.
10894
10895 Mon Jan 29 23:53:14 2001 Christopher Faylor <cgf@cygnus.com>
10896
10897 * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
10898
10899 2001-01-29 DJ Delorie <dj@redhat.com>
10900
10901 * combine.c (if_then_else_cond): Pass the correct mode to
10902 operand_subword() for constants.
10903
10904 Mon Jan 29 20:38:19 2001 Christopher Faylor <cgf@cygnus.com>
10905
10906 * config/i386/cygwin.h: Add w32api to include search. Search different
10907 directories in a cross-build environment.
10908
10909 2001-11-29 Tim Josling <tej@melbpc.org.au>
10910
10911 * tree.h (TYPE_STUB_DECL): Add documentation.
10912
10913 2001-11-29 Laurynas Biveinis <lauras@softhome.net>
10914
10915 * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
10916 (sdbout_field_types): Likwise. Fix use of host_integerp.
10917
10918 2001-01-29 Thomas Pfaff <tpfaff@gmx.net>
10919
10920 * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
10921 cygwin.h.
10922
10923 2001-01-29 Jeffrey Oldham <oldham@codesourcery.com>
10924
10925 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
10926 to use flag_gnu_linker.
10927
10928 2001-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
10929
10930 * cpplib.c (T_BAD_DIRECTIVE): Remove.
10931 (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
10932
10933 2001-01-29 Joseph S. Myers <jsm28@cam.ac.uk>
10934
10935 * tree.c, tree.h (build_parse_node): Remove; was identical to
10936 build_nt.
10937 * c-lang.c (start_cdtor), objc/objc-act.c
10938 (build_module_descriptor): Use build_nt instead of
10939 build_parse_node.
10940
10941 2001-01-29 Jakub Jelinek <jakub@redhat.com>
10942
10943 * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
10944 (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
10945 not have any upper bits set.
10946
10947 2001-01-29 Phil Edwards <pme@sources.redhat.com>
10948
10949 * COPYING.LIB: Update to LGPL 2.1 from the FSF.
10950
10951 2001-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10952
10953 * stmt.c (estimate_case_costs): Use integer_minus_one_node.
10954
10955 * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
10956
10957 * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
10958 (integer_minus_one_node): Define.
10959
10960 2001-01-28 Alexandre Oliva <aoliva@redhat.com>
10961
10962 * Makefile.in (bootstrap2-lean): Fix typo.
10963
10964 2001-01-28 Neil Booth <neil@daikokuya.demon.co.uk>
10965
10966 * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
10967 : Don't set fe_value.
10968 * cpplib.h (AVOID_LPASTE): New flag.
10969 (struct cpp_hashnode): Remove fe_value.
10970 * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
10971 * cppmacro.c (builtin_macro): Don't set flags here.
10972 (replace_args): Set AVOID_LPASTE flag on first token of an
10973 argument, and the token following it.
10974 (cpp_get_token): Set AVOID_LPASTE flag on first token of a
10975 macro expansion, and on the token following it. Do it for
10976 builtins too.
10977 * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
10978
10979 2001-01-27 Richard Henderson <rth@redhat.com>
10980
10981 * config/alpha/t-ieee: Remove multilibbing.
10982 (TARGET_LIBGCC2_CFLAGS): Add -mieee.
10983
10984 2001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10985
10986 * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
10987
10988 * Makefile.in: Remove all dependencies on defaults.h.
10989 * builtins.c: Don't include defaults.h.
10990 * c-common.c: Likewise.
10991 * c-decl.c: Likewise.
10992 * c-pragma.c: Likewise.
10993 * c-typeck.c: Likewise.
10994 * combine.c: Likewise.
10995 * i386.c: Likewise.
10996 * frame-ia64.c: Likewise.
10997 * cppexp.c: Likewise.
10998 * crtstuff.c: Likewise.
10999 * dbxout.c: Likewise.
11000 * dwarf2out.c: Likewise.
11001 * dwarfout.c: Likewise.
11002 * emit-rtl.c: Likewise.
11003 * except.c: Likewise.
11004 * expr.c: Likewise.
11005 * final.c: Likewise.
11006 * frame-dwarf2.c: Likewise.
11007 * libgcc2.c: Likewise.
11008 * optabs.c: Likewise.
11009 * profile.c: Likewise.
11010 * sdbout.c: Likewise.
11011 * toplev.c: Likewise.
11012 * tradcif.y: Likewise.
11013 * tree.c: Likewise.
11014 * varasm.c: Likewise.
11015
11016 2001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11017
11018 * builtins.c (expand_builtin_fputs): Use size_one_node when
11019 transforming into fwrite.
11020
11021 2001-01-27 Joseph S. Myers <jsm28@cam.ac.uk>
11022
11023 * extend.texi (Attribute Syntax): New section.
11024
11025 2001-01-27 Michael Sokolov <msokolov@ivan.Harhan.ORG>
11026
11027 * fixproto: Correctly install synthesised unistd.h and stdlib.h when
11028 they didn't need fixing.
11029
11030 2001-01-27 Janis Johnson <janis@us.ibm.com>
11031
11032 * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
11033 if appropriate.
11034 * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
11035 to remove macro definitions that are duplicated from elfos.h.
11036
11037 2001-01-27 Richard Henderson <rth@redhat.com>
11038
11039 * config/i386/sco5gas.h: Move ...
11040 * config/usegas.h: ... here.
11041 * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
11042
11043 2001-01-27 Jakub Jelinek <jakub@redhat.com>
11044
11045 * c-typeck.c (struct constructor_stack): Add range_stack member.
11046 (really_start_incremental_init): Clear it.
11047 (push_init_level): Save constructor_range_stack and clear it if
11048 pushing explicit braces.
11049 (pop_init_level): abort if constructor_range_stack is non-zero at
11050 explicit closing brace. Restore saved constructor_range_stack if
11051 not implicit.
11052
11053 2001-01-27 Alexandre Oliva <aoliva@redhat.com>
11054
11055 * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
11056 into register was forced into memory.
11057
11058 2001-01-27 Alexandre Oliva <aoliva@redhat.com>
11059
11060 * Makefile.in: Remove uses of + before $(MAKE).
11061
11062 2001-01-26 Richard Henderson <rth@redhat.com>
11063
11064 * stmt.c (cost_table): Remove.
11065 (COST_TABLE, cost_table_initialized): New.
11066 (estimate_case_costs): Use the later instead of the former.
11067 (balance_case_nodes): Likewise.
11068
11069 2001-01-26 Richard Henderson <rth@redhat.com>
11070
11071 * alias.c (objects_must_conflict_p): Read-only slots may not
11072 conflict despite having the same type.
11073
11074 2001-01-27 Michael Hayes <mhayes@redhat.com>
11075
11076 * loop.c (loop_giv_reduce_benefit): Copy mode size into
11077 int variable.
11078 (check_ext_dependant_givs): Initialise u_start_val and
11079 u_end_val.
11080 (load_mems): Make last_max_reg unsigned.
11081 (try_swap_copy_prop): Use INSN_P and initialise set.
11082
11083 Fri Jan 26 23:22:58 2001 Denis Chertykov <denisc@overta.ru>
11084
11085 * README.AVR : Removed.
11086
11087 Fri Jan 26 11:37:26 2001 Jeffrey A Law (law@cygnus.com)
11088
11089 * pa-64.h (text_section): Remove declaration.
11090
11091 * pa.md (return_internal): Remove mode on PIC register use.
11092
11093 2001-01-25 lars brinkhoff <lars@nocrew.org>
11094
11095 * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
11096 ASM_CLOSE_PAREN): fix typos.
11097
11098 2001-01-25 Mark Mitchell <mark@codesourcery.com>
11099
11100 * acconfig.h: Define `const' to the empty string if neither
11101 __STDC__ nor __cplusplus is defined.
11102 * config.in: Regenerated.
11103
11104 2001-01-25 David Edelsohn <edelsohn@gnu.org>
11105
11106 * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
11107 * collect2.c (main): Delete importf. Add ".obj" file extension.
11108 (GCC_CHECK_HDR): Handle AIX V5 new magic number.
11109 (aix_std_libs): Add additional AIX libraries to skip.
11110 * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
11111 * config/rs6000/aix51.h: New file.
11112
11113 2001-01-25 Michael Hayes <mhayes@redhat.com>
11114
11115 * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
11116 (loop_insn_emit_before): No longer static.
11117 (move_movables): Replace emit_insn_after with loop_insn_emit_after.
11118 (loop_givs_rescan, load_mems): Likewise.
11119 (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
11120 (maybe_eliminate_biv_1):
11121 (move_movables): Replace emit_call_insn_before with
11122 loop_call_insn_hoist.
11123 * loop.h (loop_insn_emit_before): Add.
11124 * unroll.c (copy_loop_body): Replace emit_insn_before with
11125 loop_insn_emit_before.
11126
11127 2001-01-25 Neil Booth <neil@daikokuya.demon.co.uk>
11128
11129 * diagnostic.c (fatal): Request preprocessed source.
11130
11131 Thu Jan 25 02:01:16 2001 J"orn Rennecke <amylaar@redhat.com>
11132
11133 * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
11134 olddecl has argument types and newdecl has none, use the argument
11135 types from olddecl.
11136
11137 2001-01-24 Ulrich Drepper <drepper@redhat.com>
11138
11139 * dwarf2out.c (prefix_of): New function. Determine longest common
11140 prefix of the two arguments. The units are whole path components.
11141 (output_file_names): When adding a new directory find the one entry
11142 with the longest common prefix already in the list. Artificially
11143 generate entry if there is none for this prefix.
11144 Fix test to check whether the zeroth directory entry is used.
11145
11146 Wed Jan 24 23:51:55 2001 J"orn Rennecke <amylaar@redhat.com>
11147
11148 * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
11149 Changed all callers. Take it into account when deciding if a
11150 previously loaded value matches.
11151
11152 2001-01-24 Richard Henderson <rth@redhat.com>
11153
11154 * reload.c (find_reloads_subreg_address): Fail the substitution
11155 if the resulting address is insufficiently aligned.
11156
11157 2001-01-24 DJ Delorie <dj@redhat.com>
11158
11159 * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
11160 check the original operand's mode also.
11161 * simplify-rtx.c (simplify_ternary_operation): Ditto.
11162
11163 2001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
11164
11165 * c-parse.in (cast_expr): Move compound literals from here ...
11166 (primary): ... to here. Use standard terminology "compound
11167 literal" instead of "constructor expression".
11168
11169 2001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
11170
11171 * gcc.1, cpp.1: Regenerate.
11172
11173 2001-01-24 Alexandre Oliva <aoliva@redhat.com>
11174
11175 * calls.c (emit_library_call_value_1): Memory slot for
11176 pass-by-reference argument should have the mode of the argument,
11177 not of the pointer to it.
11178
11179 2001-01-24 Tom Tromey <tromey@redhat.com>
11180
11181 * gcc.texi (G++ and GCC): Mention gcj manual.
11182 (Standards): Link to section of manual mentioning gcj/Java
11183 compatibility.
11184
11185 2001-01-24 Jakub Jelinek <jakub@redhat.com>
11186
11187 * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
11188 * cppinit.c (cpp_start_read): Remove deps_add_dep call.
11189 * tradcpp.c (main): Add -imacros or -include'd dependencies
11190 for -M*.
11191 * cpp.texi (-M, -MM): Document -M -include behaviour.
11192
11193 2001-01-24 Roger Collins <roger@ProProject.com>
11194
11195 * config/i386/xm-i386.h: Make __i386__ a boolean macro.
11196
11197 2001-01-24 Will Cohen <wcohen@redhat.com>
11198
11199 * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
11200 whether registers are 32 bits or 64 bits in size.
11201
11202 2001-01-24 Ben Elliston <bje@redhat.com>
11203
11204 * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
11205
11206 2001-01-24 Richard Henderson <rth@redhat.com>
11207
11208 * config/alpha/alpha.md (builtin_longjmp_internal): New.
11209 (builtin_longjmp): Use it instead of emit_indirect_jump.
11210
11211 2001-01-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
11212
11213 * bb-reorder.c (make_reorder_chain_1): Handle case where
11214 jump edge goes to the same block as the fallthru edge.
11215
11216 2001-01-23 Jim Wilson <wilson@redhat.com>
11217
11218 * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
11219 * frame.h (__ia64_personality_v1): Add prototype.
11220 * libgcc2.c (ia64_throw_helper): Change personality declaration to
11221 prototype form. Add void * cast to first argument to personality
11222 call.
11223 * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
11224 (asctoe113): Likewise.
11225 * config/ia64/frame-ia64.c: Include eh-common.h.
11226 * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
11227 prototypes.
11228 * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
11229 to dump parameter.
11230 (itanium_split_issue): Add prototype.
11231 (gen_nop_type): Ifdef out.
11232 (find_best_packet): Initialize best_packet.
11233 (ia64_encode_section_info): New local string. Use for ggc_alloc_string
11234 result.
11235 * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
11236 * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
11237 (flushrs): Add explicit stop bit at end.
11238 * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
11239 trailing \ to >.
11240
11241 2001-01-23 Chris Demetriou <cgd@broadcom.com>
11242
11243 * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
11244 of EH symbols.
11245 * libgcc2.c (__terminate_func): Make variable static.
11246 (__terminate_set_func): New function to set __terminate_func.
11247 * libgcc2.h (__terminate_func_ptr): New typedef.
11248 (__terminate_set_func): New function.
11249
11250 2001-01-23 Richard Henderson <rth@redhat.com>
11251
11252 * flow.c (init_propagate_block_info): Don't consider unchanging
11253 memories for dead frame store elimination.
11254
11255 2001-01-23 Richard Henderson <rth@redhat.com>
11256
11257 * varasm.c (UNIQUE_SECTION): Move default implementation ...
11258 * defaults.h: ... here.
11259
11260 2001-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
11261
11262 * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
11263
11264 2001-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
11265
11266 * c-lex.c (lex_charconst): Fix typo: s/p/str.
11267
11268 2001-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11269
11270 * rs6000.h (rs6000_return_addr): Move prototype from here...
11271 * rs6000-protos.h (rs6000_return_addr): ...to here.
11272 (rs6000_init_expanders): Delete prototype.
11273
11274 2001-01-23 Nick Clifton <nickc@redhat.com>
11275
11276 * invoke.texi: Replace , with \, inside @gccoptlist macros.
11277 (Spec Files): Document %B and %j and %. and %v3 and %M and
11278 %{S*&T} spec switches.
11279
11280 2001-01-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11281
11282 * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
11283
11284 2001-01-23 Chris Demetriou <cgd@sibyte.com>
11285 Neil Booth <neil@daikokuya.demon.co.uk>
11286
11287 * cpperror.c: Merge handlers of PEDWARN and WARNING.
11288 Have -Werror make pedantic warnings errors, like the
11289 rest of GCC.
11290
11291 2001-01-23 Phil Edwards <pme@sources.redhat.com>
11292
11293 * c-tree.texi (IDENTIFIER_LENGTH): Fix typo.
11294
11295 2001-01-23 Jakub Jelinek <jakub@redhat.com>
11296
11297 * integrate.h (struct inline_remap): Add compare_src, compare_mode.
11298 * integrate.c (expand_inline_function): Initialize them.
11299 (subst_constants): If changing COMPARE so that both its arguments
11300 will be VOIDmode and the comparison mode will be lost, note
11301 compare_mode. Use the recorded compare_mode to optimize
11302 IF_THEN_ELSE.
11303
11304 2001-01-23 Jason Merrill <jason@redhat.com>
11305
11306 * dwarf2out.c (new_die): Use xcalloc.
11307 (output_die): Abort rather than emit a local reference to offset 0.
11308
11309 2001-01-17 Andrew Haley <aph@redhat.com>
11310
11311 * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
11312 of a saved register; return NULL instead.
11313 (copy_reg): Take a pointer to a source register rather than a
11314 frame_state.
11315 (next_stack_level): Remember the address in the stack frame of all
11316 saved registers.
11317 Use the saved register pointer array as the source of the CFA.
11318 (throw_helper): Rewrite. Unwind once rather than twice and keep
11319 track of saved registers as we go.
11320
11321 2001-01-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11322
11323 * c4x-protos.h (c4x_legitimize_reload_address): Remove.
11324 * c4x.c (c4x_legitimize_reload_address): Remove.
11325 * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
11326 reload address for ldp(k) insn.
11327
11328 Mon Jan 22 20:53:47 2001 Jeffrey A Law (law@cygnus.com)
11329
11330 * pa.md (return_internal): Add a USE of the PIC register to ensure
11331 it is restored after each call.
11332 (return expander): Corresponding changes.
11333
11334 2001-01-22 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11335
11336 * rs6000.h (INIT_EXPANDERS): Delete.
11337 (RETURN_ADDR_RTX): Call rs6000_return_addr().
11338 * rs6000.c (rs6000_override_options): Call *_machine_status from
11339 here...
11340 (rs6000_init_expanders): ...instead of here. Delete.
11341 (rs6000_mark_machine_status): New function.
11342 (rs6000_init_machine_status): Use xcalloc.
11343 (rs6000_return_addr): Generate RTX for the return address.
11344 (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
11345 (rs6000_stack_info): Use it.
11346
11347 2001-01-22 Thomas Pfaff <tpfaff@gmx.net>
11348
11349 * gthr-win32.h: Include errno.h to get a declaration for
11350 EINVAL and _mingw.h if the target is mingw32.
11351
11352 2001-01-22 Andres Felipe Vargas <avargas@teletulua.com.co>
11353
11354 * cpp.texi: Correct typos.
11355
11356 Mon Jan 22 13:59:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11357
11358 * explow.c (probe_stack_range): Ensure value passed to
11359 stack_check_libfunc is ptr_mode, not Pmode.
11360
11361 Mon Jan 22 16:53:06 2001 J"orn Rennecke <amylaar@redhat.com>
11362
11363 * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
11364 case, don't use operand_subword to calculate a SUBREG that is
11365 wider than a word.
11366
11367 * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
11368
11369 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11370
11371 * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
11372 (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
11373 valid. If not replace it by equivalent insns.
11374
11375 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11376
11377 * c4x.c (c4x_check_legit_addr): Only check CONST. Not if CONST
11378 contains SYMBOL_REF, LABEL_REF and CONST_INT.
11379 (c4x_U_constraint, symbolic_address_operand): Likewise.
11380 (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
11381 memory.
11382 (c4x_r11_set_p, c4x_check_laj_p): New functions.
11383 * c4x-protos.h (c4x_check_laj_p): Add prototype.
11384 * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
11385 anulling slot because of silicon bug.
11386 (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
11387
11388 2001-01-22 Alan Modra <alan@linuxcare.com.au>
11389
11390 * cppexp.c (parse_charconst): Change `mask' type to agree
11391 with parse_escape.
11392
11393 2001-01-21 Richard Henderson <rth@redhat.com>
11394
11395 * config/i386/i386.c (ix86_asm_file_end): Disable putting
11396 pic_label_name in a linkonce section.
11397
11398 2001-01-17 Philipp Thomas <pthomas@suse.de>
11399
11400 * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
11401 found in libintl.
11402 * configure: Regenerate.
11403
11404 Sun Jan 21 02:38:56 2001 J"orn Rennecke <amylaar@redhat.com>
11405
11406 * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
11407 uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
11408
11409 Sun Jan 21 09:44:17 2001 Denis Chertykov <denisc@overta.ru>
11410
11411 * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
11412 If REVERSE nonzero then condition code in X must be reversed.
11413 (encode_section_info): Optimise if/else.
11414 (avr_function_value): Fix formatting.
11415
11416 * config/avr/avr.md (branch): Call to ret_cond_branch changed.
11417 (difficult_branch): Likewise.
11418 (rvbranch): Likewise.
11419 (difficult_rvbranch): Likewise.
11420
11421 * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
11422
11423 * config/avr/libgcc.S: Fix comment.
11424
11425 2001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
11426
11427 * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
11428
11429 2001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
11430
11431 * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
11432
11433 2001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
11434
11435 * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
11436 * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
11437 * configure, config.in: Regenerate.
11438 * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
11439 (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
11440 (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
11441 (doprint.o): New rule.
11442
11443 2001-01-20 Joseph S. Myers <jsm28@cam.ac.uk>
11444
11445 * c-typeck.c (digest_init): Handle boolean types as scalars.
11446
11447 Sat Jan 20 12:46:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11448
11449 * stmt.c (expand_return): Don't return anything if size is zero.
11450 Delete redundant assignment to BYTES.
11451 * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
11452
11453 2001-01-20 Marek Michalkiewicz <marekm@linux.org.pl>
11454
11455 * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
11456 the same as the default library function names.
11457 * config/avr/avr.md: Document special characters after '%'.
11458 (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
11459 knowing which of the call-used registers are really clobbered.
11460 (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
11461 New. Both quotient and remainder from one libgcc.S call.
11462 * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
11463 clobber as few registers as possible.
11464 * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
11465
11466 2001-01-20 Neil Booth <neil@daikokuya.demon.co.uk>
11467
11468 * cppmacro.c (funlike_invocation_p): Don't move back up to the
11469 context of the top of the stack.
11470
11471 2001-01-20 Jakub Jelinek <jakub@redhat.com>
11472
11473 * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
11474 (fixup_var_refs_insns): ...here.
11475
11476 2001-01-20 Zack Weinberg <zack@wolery.stanford.edu>
11477
11478 * function.c (fixup_var_refs_insns): Break up into
11479 fixup_var_refs_insn [body of loop], fixup_var_refs_insns
11480 [loop over entire insn list], and fixup_var_refs_insns_with_hash
11481 [loop over hash table entries].
11482 (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
11483 fixup_var_refs_insns_with_hash, to match above changes.
11484
11485 2001-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
11486
11487 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
11488 (libgcc.a): Likewise.
11489 (stmp-multilib): Likewise.
11490 (STAGE2_FLAGS_TO_PASS): Likewise.
11491
11492 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
11493
11494 * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
11495 temporary if no_new_pseudos.
11496
11497 2001-01-19 Neil Booth <neil@daikokuya.demon.co.uk>
11498
11499 * cppinternals.texi: Update.
11500
11501 2001-01-19 Richard Earnshaw <rearnsha@arm.com>
11502
11503 * arm.c (arm_init_builtins): Re-enable builtins.
11504
11505 Fri Jan 19 13:02:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11506
11507 * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
11508 * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
11509 element to be null, and always expect an EXPR_LIST.
11510 * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
11511 * sched-deps.c (sched_analyze_1): Likewise.
11512 * sched-rgn.c (check_live_1, update_live_1): Likewise.
11513
11514 * regclass.c (max_set_parallel): New variable.
11515 (reg_scan): Take it into account in computation of max_parallel.
11516 (reg_scan_mark_refs, case SET): Compute it.
11517
11518 * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
11519 args are REG.
11520 * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
11521 * function.c (assign_parms): Use INTVAL for a CONST_INT.
11522
11523 2001-01-19 Jason Merrill <jason@redhat.com>
11524
11525 * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
11526 for the abstract instance of an inline function.
11527
11528 Fri Jan 19 14:31:35 2001 Alexandre Oliva <aoliva@redhat.com>
11529 J"orn Rennecke <amylaar@redhat.com>
11530
11531 * reload1.c (move2add_note_store): Treat all registers directly or
11532 indirectly derived from a base register as members of the same set
11533 of values.
11534 (reload_cse_move2add): Adjust accordingly. Take mode and offset
11535 of base register into account.
11536
11537 Fri Jan 19 09:18:42 2001 J"orn Rennecke <amylaar@redhat.com>
11538
11539 * alias.c (find_base_value): Recognize TRUNCATE.
11540 (record_set): In PLUS case, invalidate if other summand is also a
11541 base value.
11542
11543 Thu Jan 18 06:43:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11544
11545 * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
11546 entry to be EXPR_LIST.
11547 * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
11548 be an EXPR_LIST (but not null, which other code doesn't allow).
11549 (note_stores): Properly handle PARALLEL in SET.
11550 Recursively call for top-level PARALLEL.
11551 * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
11552 * sched-rgn.c (check_live_1, update_live_1): Likewise.
11553
11554 * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
11555
11556 2001-01-18 Neil Booth <neil@daikokuya.demon.co.uk>
11557
11558 * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
11559 not pfile->skipping (== 0).
11560
11561 2001-01-17 Nick Clifton <nickc@redhat.com>
11562
11563 * config/rs6000/rs6000.c: Add prototypes for {init|free}_
11564 machine_status.
11565
11566 2001-01-17 Jim Wilson <wilson@redhat.com>
11567
11568 * invoke.texi (IA-64 options): Improve.
11569
11570 2001-01-17 Tom Tromey <tromey@redhat.com>
11571
11572 * invoke.texi (Optimize Options): Use `{}' to around @samp
11573 argument.
11574
11575 2001-01-17 Aldy Hernandez <aldyh@redhat.com>
11576
11577 * invoke.texi (-fno-guess-branch-probability): New option.
11578
11579 Wed Jan 17 13:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11580
11581 * combine.c (try_combine): Don't set i3_subst_into_i2 for
11582 case of making new double-word constant.
11583 Revert last change: instead just test i3_subst_into_i2.
11584
11585 2001-01-17 Jakub Jelinek <jakub@redhat.com>
11586
11587 * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
11588 Use q constraints instead of r.
11589
11590 Tue Jan 16 22:23:04 2001 Alan Modra (alan@linuxcare.com.au)
11591
11592 * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
11593 (machine_function): Define.
11594 (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
11595 * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
11596 pa_free_machine_status): New functions.
11597 (override_options): Set {init,mark,free}_machine_status to above.
11598 (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
11599 PIC_OFFSET_TABLE_REGNUM_SAVED.
11600 * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
11601 PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
11602 * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
11603 references to PIC_OFFSET_TABLE_REGNUM_SAVED.
11604 * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11605
11606 2001-01-15 DJ Delorie <dj@redhat.com>
11607
11608 * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
11609 (cpp.1): Ditto.
11610 (gcc.1): Ditto.
11611
11612 Tue Jan 16 17:20:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11613
11614 * flow.c (propagate_one_insn): Make trying to delete a prologue
11615 or epilogue insn an ICE, not a warning. Allow doing this if
11616 the current function returns with stack pointer depressed.
11617
11618 * combine.c (try_combine): If i3_subst_into_i2, properly check for
11619 I3 having more than one SET.
11620
11621 2001-01-16 Jim Wilson <wilson@redhat.com>
11622
11623 * invoke.texi: Document IA-64 options.
11624
11625 * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
11626 (fixup_errata): Delete TARGET_A_STEP use.
11627 * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
11628 (TARGET_SWITCHES): Delete -ma-step option.
11629 * config/ia64/ia64.md (all FP patterns): Delete %B0.
11630 (movqicc_astep, movqi_internal_astep, movhicc_astep,
11631 movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
11632 movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
11633 movdfcc_astep, movdf_internal_astep, movtfcc_astep,
11634 movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
11635 Delete.
11636 (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
11637 movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
11638 cmovsi_internal): Delete ! TARGET_A_STEP check.
11639
11640 2001-01-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11641
11642 * gcc.texi (Bug Lists): Do not mention newsgroups nor the
11643 possibility to report bugs via postal mail. Change a URL and
11644 merge in a nearly duplicate statement...
11645 (Bug Reporting): ...from here.
11646 (Service): Refer to the Bug Reporting section instead of
11647 duplicating an URL.
11648 (Contributing): Remove trivial explanations concerning snapshots.
11649
11650 2001-01-16 Alan Modra <alan@linuxcare.com.au>
11651
11652 * cppmain.c (general_init): Don't use ANSI prototype.
11653
11654 2001-01-16 Tom Tromey <tromey@redhat.com>
11655
11656 * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
11657
11658 2001-01-16 Richard Henderson <rth@redhat.com>
11659
11660 * config/i386/i386.h: Fix comment typo.
11661 * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
11662 (ashr+compare patterns): Match CCGOCmode not CCNOmode.
11663
11664 2001-01-16 Phil Edwards <pme@sources.redhat.com>
11665
11666 * gcc.c: Revert previous -fsyntax-only-related change; move
11667 to cp/g++spec.c.
11668
11669 2001-01-16 Jakub Jelinek <jakub@redhat.com>
11670
11671 * config/i386/i386.c (fcmov_comparison_operator): Only initialize
11672 inmode after checking GET_CODE (op).
11673
11674 2001-01-16 Richard Henderson <rth@redhat.com>
11675
11676 * flow.c (struct propagate_block_info): Add mem_set_list_len.
11677 (MAX_MEM_SET_LIST_LEN): New.
11678 (propagate_one_insn): Update mem_set_list_len.
11679 (invalidate_mems_from_autoinc): Likewise.
11680 (invalidate_mems_from_set): Likewise.
11681 (mark_used_regs): Likewise.
11682 (init_propagate_block_info): Likewise. Stop collecting memories
11683 when we reach MAX_MEM_SET_LIST_LEN.
11684 (mark_set_1): Likewise.
11685
11686 2001-01-16 Richard Henderson <rth@redhat.com>
11687
11688 * unroll.c (precondition_loop_p): Fail if no iteration
11689 variable found.
11690
11691 2001-01-16 Phil Edwards <pme@sources.redhat.com>
11692
11693 * gcc.c: When -fsyntax-only is given, do not complain about
11694 unused libraries.
11695
11696 2001-01-15 Richard Henderson <rth@redhat.com>
11697
11698 * config/i386/i386.c (asm_output_function_prefix): Remove.
11699 (ix86_asm_file_end): New.
11700 (load_pic_register): Generate pic_label_name into a
11701 staticly allocated buffer.
11702 * config/i386/i386-protos.h: Update.
11703 * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
11704 (ASM_FILE_END): New.
11705 * config/i386/i386afe.h: New file.
11706 * config.gcc (i?86-*-elf) [tm_file]: Use it.
11707 (i?86-*-{freebsd,linux*,moss*}): Likewise.
11708 * config/elfos.h (ASM_FILE_END): Undef before redefinition.
11709 * config/i386/cygwin.h (ASM_FILE_END): Likewise.
11710 * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
11711 * config/i386/sco5.h (ASM_FILE_END): Likewise.
11712 * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
11713
11714 2001-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
11715
11716 * Makefile.in (install-man): Remove explicit dependency on
11717 $(srcdir)/gcc.1.
11718
11719 * configure.in, configure: Revert previous patch requiring perl
11720 5.6.0.
11721
11722 2001-01-12 Aldy Hernandez <aldyh@redhat.com>
11723
11724 * toplev.c (flag_guess_branch_prob): New.
11725 (f_options): Add guess-branch-probability option.
11726 (rest_of_decl_compilation): Only estimate branch probability if
11727 flag set.
11728 (main): set flag_guess_branch_prob.
11729
11730 * flags.h (flag_guess_branch_prob): New.
11731
11732 2001-01-15 DJ Delorie <dj@redhat.com>
11733
11734 * gcc.texi (Makefile): Add documentation for Makefile targets.
11735
11736 2001-01-15 Philip Blundell <philb@gnu.org>
11737
11738 * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
11739 (is_pic): Delete.
11740 * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
11741 (is_pic): Delete declaration.
11742 * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
11743 (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
11744 * config/arm/arm.md (builtin_setjmp_receiver): New.
11745
11746 2001-01-15 Richard Earnshaw <rearnsha@arm.com>
11747
11748 * arm.c (use_return_insn): Don't try to determine the function type
11749 until after reload has completed.
11750 (arm_output_epilogue): Don't adjust the sp value recovered from the
11751 stack.
11752 (emit_multi_reg_push): Don't record dwarf information for the pc.
11753 * arm.md (eh_epilogue): The function type may have changed, so it
11754 needs to be recalculated.
11755 * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete. Can now use dwarf2
11756 unwind tables on arm/netbsd.
11757
11758 2001-01-15 Richard Earnshaw <rearnsha@arm.com>
11759
11760 * arm.md (cbranchsi4): Correct calculation of branch ranges.
11761 (negated_cbranchsi4): Likewise.
11762
11763 2001-01-15 Richard Earnshaw <rearnsha@arm.com>
11764
11765 * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
11766 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
11767 (ASM_SPEC): Call subtarget_extra_asm_spec. Don't
11768 pass -mapcs-* options to assembler.
11769 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
11770 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
11771 (ASM_SPEC): Call subtarget_extra_asm_spec.
11772
11773 2001-01-15 Andreas Jaeger <aj@suse.de>
11774
11775 * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
11776 warnings.
11777 (ix86_expand_builtin): Likewise.
11778
11779 * gencodes.c (output_predicate_decls): Make i size_t to avoid
11780 warning about comparison between signed and unsigned.
11781
11782 2001-01-14 Geoffrey Keating <geoffk@redhat.com>
11783
11784 * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
11785
11786 2001-01-14 Ralf Baechle <ralf@gnu.org>
11787
11788 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
11789 SUBTARGET_CPP_SPEC apropriatly.
11790
11791 2001-01-12 Mark Mitchell <mark@codesourcery.com>
11792
11793 * varasm.c (make_decl_rtl): Fix typo in last change.
11794
11795 2001-01-14 Jeffrey Oldham <oldham@codesourcery.com>
11796
11797 * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
11798 linker supports the init_priority C++ attribute.
11799 * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
11800 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
11801 linker does not support init_priority C++ attribute.
11802
11803 Sun Jan 14 22:31:30 2001 J"orn Rennecke <amylaar@redhat.com>
11804
11805 * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
11806
11807 2001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
11808
11809 * c-parse.in (finish_parse): Add comment about cpp_destroy.
11810 * cp/lex.c (finish_parse): Similarly.
11811 * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
11812 Return the number of errors encountered.
11813 * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
11814 * cppmain.c (main): Don't call cpp_destroy.
11815
11816 2001-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
11817
11818 * configure.in: Require at least perl 5.6.0 to regenerate
11819 manpages.
11820 * configure: Regenerate.
11821
11822 2001-01-14 Richard Henderson <rth@redhat.com>
11823
11824 * genrecog.c (DT_veclen_ge): New.
11825 (add_to_sequence) [MATCH_PARALLEL]: Generate one.
11826 (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
11827 (nodes_identical_1): Handle DT_veclen_ge.
11828 (write_cond, debug_decision_2): Likewise.
11829
11830 2001-01-14 Richard Earnshaw <rearnsha@arm.com>
11831
11832 * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete. Replace
11833 with ...
11834 (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
11835
11836 2001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
11837
11838 * cppmain.c (do_preprocessing): New function; most of the old
11839 main.
11840 (main): Call it to do most of the work.
11841 (cb): Move from global scope to set_callbacks ().
11842 (setup_callbacks): Get the callback pointer.
11843 (general_init, printer_init): Clean up code and comments.
11844
11845 2001-01-14 Richard Earnshaw <rearnsha@arm.com>
11846
11847 * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
11848 compiling PIC.
11849
11850 2001-01-14 Kazu Hirata <kazu@hxi.com>
11851
11852 * config/h8300/h8300.c (get_shift_alg): Update comments.
11853
11854 Sun Jan 14 06:20:49 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11855
11856 * ggc-page.c (alloc_annon): Call perror and correctly call exit.
11857 (alloc_page, ggc_alloc): Add casts to remove warnings.
11858
11859 2001-01-14 Geoffrey Keating <geoffk@redhat.com>
11860
11861 * combine.c (simplify_comparison): Don't change `code' when
11862 can't reverse comparison.
11863
11864 2001-01-14 Richard Henderson <rth@redhat.com>
11865
11866 * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
11867 update all call sites. Return true for all non-label constants.
11868
11869 Sun Jan 14 10:09:48 MET 2001 Jan hubicka <jh@suse.cz>
11870
11871 * i386.c (ix86_expand_compare): Add bypass_test and second_test
11872 parameters.
11873 (ix86_expand_branch): Update.
11874 (ix86_expand_setcc): Update to handle multiple test conditions.
11875 (expand_int_movcc): Likewise.
11876 (expand_fp_movcc): Likewise.
11877 * i386-protos.h (ix86_expand_compare): New.
11878 * i386.md (andqi_?_slp, orqi_?_slp): New.
11879 (conditional trap expander): Update call to ix86_expand_compare.
11880
11881 2001-01-14 Richard Henderson <rth@redhat.com>
11882
11883 * config/vax/vax.md: Use nonimmediate_operand instead of
11884 general_operand in destinations.
11885
11886 * config/vax/vax.md (indirect_jump): Use register_operand.
11887
11888 * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
11889 * config/vax/vax.md (call_pop): Turn into an expander.
11890 (call_value_pop): Likewise.
11891 (call, call_value): New.
11892
11893 2001-01-14 Andreas Jaeger <aj@suse.de>
11894
11895 * config/i386/i386.c (ix86_split_fp_branch): Remove unused
11896 variables.
11897 (ix86_fp_compare_mode): Add unused attribute.
11898 (ix86_expand_fp_movcc): Remove unused variable.
11899 (ix86_expand_builtin): Make fcode unsigned.
11900
11901 * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
11902 (expand_expr): Add cast to avoid signed warning.
11903 (store_field): Likewise.
11904 (store_constructor_field): Likewise.
11905 (store_constructor): Likewise.
11906 (store_expr): Likewise.
11907 (clear_storage): Likewise.
11908 (emit_group_store): Likewise.
11909 (emit_group_load): Likewise.
11910
11911 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
11912
11913 * c-common.c: Move format checking code to ...
11914 * c-format.c: ... here. New file. Reorder some functions and
11915 declarations.
11916 (decl_handle_format_attribute, decl_handle_format_arg_attribute):
11917 New functions.
11918 * c-common.h (decl_handle_format_attribute,
11919 decl_handle_format_arg_attribute): Declare.
11920 * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
11921 (c-common.o): Adjust dependencies.
11922 (c-format.o): New list of dependencies.
11923
11924 2001-01-13 Jakub Jelinek <jakub@redhat.com>
11925
11926 * unroll.c (loop_iterations): If we cannot prove iteration variable
11927 is set once in each iteration, punt.
11928
11929 Sun Jan 14 00:23:15 2001 Denis Chertykov <denisc@overta.ru>
11930
11931 * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
11932 (*strlenhi): Remove clobber (which was buggy) of output address.
11933
11934 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
11935
11936 * Makefile.in (generated-manpages): Add gcc.1
11937 ($(srcdir)/gcc.1): New target.
11938 (maintainer-clean): Delete $(srcdir)/gcc.1.
11939 * gcc.texi: Add macros @gccoptlist and @gol.
11940 * invoke.texi: Include option summary in manpage. Mark up option
11941 summary with @gccoptlist and @gol. Use @r in one place where
11942 appropriate.
11943 * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
11944 * gcc.1: Generate from invoke.texi.
11945
11946 2001-01-13 Richard Henderson <rth@redhat.com>
11947
11948 * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
11949 (struct page_entry): Add group member.
11950 (struct page_group): New.
11951 (struct globals): Add page_groups member.
11952 (alloc_anon): Only define for using mmap; remove valloc call.
11953 (page_group_index): New.
11954 (set_page_group_in_use): New.
11955 (clear_page_group_in_use): New.
11956 (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
11957 (free_page, release_pages): Likewise.
11958 * configure.in (with-gc): Default to ggc-page always.
11959
11960 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
11961
11962 * reload1.c (replace_pseudos_in_call_usage): Use
11963 reg_equiv_constant and reg_equiv_address, and don't try
11964 regno_reg_rtx first.
11965
11966 2001-01-13 Richard Henderson <rth@redhat.com>
11967
11968 * ggc-page.c (alloc_page): Round up allocation size to one page.
11969 Set e->order on extra pages.
11970
11971 2001-01-13 Richard Henderson <rth@redhat.com>
11972
11973 * genrecog.c (nodes_identical): Expand commentary.
11974 (write_switch): Watch out for identical nodes.
11975
11976 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
11977
11978 * cppfiles.c (_cpp_fake_include): New function.
11979 * cpphash.h (_cpp_fake_include): New.
11980 * cpplib.c (do_line): Call _cpp_fake_include when entering
11981 header files in preprocessed input.
11982 * cppmain.c (cb_pragma_implementation): Remove handling.
11983 (setup_callbacks): Don't register pragmas.
11984
11985 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
11986
11987 * extend.texi: Udate for CPP.
11988
11989 2001-01-13 Andreas Jaeger <aj@suse.de>
11990
11991 * reload1.c: Add prototype for replace_pseudos_in_call_usage.
11992
11993 * regmove.c: Add prototype for replace_in_call_usage.
11994
11995 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
11996
11997 * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
11998 struct cpp_chunk, struct htab, struct toklist,
11999 struct cpp_context, CPP_STACK_MAX, struct lexer_state,
12000 struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
12001 CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
12002 ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
12003 (struct macro_args): Delete.
12004 * cpphash.h: See above.
12005
12006 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
12007
12008 * cppmain.c (struct printer): Remove no_line_dirs.
12009 (options, cb): New.
12010 (main, setup_callbacks, scan_buffer, printer_init, cb_define)
12011 : Use options rather than CPP_OPTION.
12012 (setup_callbacks): Use cb rather than pfile->cb.
12013 (main): No need to check for a buffer. Use cpp_errors.
12014 (printer_init): Don't set no_line_dirs.
12015 (maybe_print_line): Use options not no_line_dirs.
12016 (cb_file_change): Don't call print_line if -P.
12017
12018 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
12019
12020 * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
12021 callbacks.
12022 * c-parse.in (finish_parse): Use cpp_errors.
12023 (__yylex): Use return value of cpp_pop_buffer.
12024 * cp/lex.c (finish_parse): Use cpp_errors.
12025 * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
12026
12027 Sat Jan 13 16:57:40 2001 Denis Chertykov <denisc@overta.ru>
12028
12029 * README.AVR: URLs corrected.
12030
12031 Sat Jan 13 07:30:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12032
12033 * c-decl.c (start_function): Don't warn if old prototype is builtin
12034 that's not in C's namespace.
12035 * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
12036 (_bb): Add prototype for ctime.
12037 * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
12038
12039 Sat Jan 13 09:53:32 MET 2001 Jan Hubicka <jh@suse.cz>
12040
12041 * i386.c (ix86_fp_comparison_arithmetics_cost,
12042 ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
12043 ix86_fp_comparison_cost): New functions.
12044 (ix86_expand_fp_compare): Use the costs to choose best bethod; add
12045 two new parameters SECOND_TEST and BYPASS_TEST; allow generating
12046 two-branch sequences; make static.
12047 (ix86_use_fcomi_compare): Do decision according to the costs.
12048 (split_fp_branch): New.
12049 * i386.md (compare-and-branch patterns): Use split_fp_branch.
12050 * i386-protos.h (ix86_expand_fp_compare): Remove
12051 (ix86_split_fp_branch): Declare.
12052
12053 * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
12054 and ix86_comparison_operator.
12055
12056 * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
12057 to make it cheaper.
12058
12059 * i386.c (put_condition_code): Output properly the unordered/ordered
12060 compares in fp case.
12061 (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
12062
12063 * tm.texi (REVERSE_CONDITION): Document.
12064 * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
12065 in -ffast-math mode.
12066 * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
12067
12068 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
12069
12070 * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
12071
12072 * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
12073 optimized away.
12074
12075 * config/sh/sh.c (mova_p): Fix test for mova_const.
12076
12077 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
12078
12079 * fix-header.c (read_scan_file): Use cpp_get_callbacks and
12080 cpp_get_options rather than dereferencing pfile and using
12081 CPP_OPTION.
12082 * scan-decls.c (scan_decls): Use return value of
12083 cpp_pop_buffer rather than CPP_BUFFER.
12084
12085 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
12086
12087 * cppinit.c (cpp_handle_option): help_only is now part of the
12088 cpp_options structure.
12089 * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
12090 cpp_set_callbacks): New functions.
12091 * cpplib.h (cpp_callbacks): Break out as a named structure.
12092 (cpp_options): Move help_only here from cpp_reader.
12093 (CPP_FATAL_ERRORS): Update to use cpp_errors.
12094 (cpp_errors, cpp_get_options, cpp_get_callbacks,
12095 cpp_set_callbacks): New prototypes.
12096 * cppmain.c (main): Update for help_only.
12097
12098 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
12099
12100 * Makefile.in (info, maintainer-clean, install-info, uninstall):
12101 Also build and remove and install and uninstall c-tree.info and
12102 cppinternals.info.
12103 ($(srcdir)/gcc.info): Add dependency on contrib.texi.
12104 ($(srcdir)/cppinternals.info): New target.
12105 * c-tree.texi: Change file name used when makeinfo used without -o
12106 from ir.info to c-tree.info. Add info directory entry.
12107 * cppinternals.texi: Add info directory entry.
12108 * .cvsignore: Update.
12109
12110 2001-01-12 Jakub Jelinek <jakub@redhat.com>
12111
12112 * c-typeck.c (store_init_value): Don't require constant initializer
12113 elements with -pedantic -std=c99.
12114 (digest_init): Change error about non-constant initializer elements
12115 into pedwarn.
12116 (constructor_range_end): Remove.
12117 (constructor_incremental, designator_depth,
12118 designator_errorneous): New variables.
12119 (struct constructor_stack): Remove range_end, add incremental.
12120 (struct constructor_range_stack, constructor_range_stack): New.
12121 (struct initializer_stack): Add constructor_range_stack.
12122 (finish_init): Set it.
12123 (start_init): Likewise. require_constant_elements for non-static
12124 trees only if not flag_isoc99.
12125 (really_start_incremental_init): Remove constructor_range_end, add
12126 constructor_incremental.
12127 (pop_init_level): Likewise.
12128 (push_init_level): Likewise. If implicit and the subobject had some
12129 value set already, preinitialize the level with it.
12130 Warn about missing braces only if not pushing due to designators.
12131 (set_designator, push_range_stack): New functions.
12132 (set_init_label): Use them.
12133 (set_init_index): Likewise. Remove constructor_range_end.
12134 Error if designator index is outside of array bounds.
12135 (add_pending_init): Compare values of purpose index trees, not the
12136 trees themselves. Allow overwriting of already initialized element.
12137 Issue a warning if it had side-effects.
12138 (set_nonincremental_init, set_nonincremental_init_from_string): New
12139 functions.
12140 (pending_init_member): Rename to...
12141 (find_init_member): ...this function. Call set_nonincremental_init
12142 if necessary. Compare values of purpose index trees, not the trees
12143 themselves. Return the actual value, not just non-zero if something
12144 is found.
12145 (output_init_element): Remove checks for duplicates.
12146 If field has zero size, only check the initializer for correctness.
12147 Call set_nonincremental_init if necessary. Push RECORD/ARRAY into AVL
12148 if constructor_incremental is zero. Change error about initializers
12149 not computable at load time into pedwarn.
12150 (output_pending_init_elements): Compare bit positions, not
12151 FIELD_DECLs to take into account zero-sized fields.
12152 (process_init_element): Use constructor_range_stack to fill all
12153 ranges in the designator lists from current level up.
12154 * extend.texi: Update documentation for labeled elements.
12155
12156 2001-01-12 Alexandre Oliva <aoliva@redhat.com>
12157
12158 * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
12159 to function usage for arguments passed by reference. Optimize
12160 callee-copied arguments.
12161 * regmove.c (replace_in_call_usage): New function.
12162 (fixup_match_1): Call it.
12163 * cse.c (cse_insn): Canonicalize registers in function usage.
12164 * reload1.c (replace_pseudos_in_call_usage): New function.
12165 (reload): Call it.
12166
12167 * Makefile.in: Reverted yesterday's wrong patch. Installed the
12168 right version.
12169
12170 2001-01-12 Jakub Jelinek <jakub@redhat.com>
12171
12172 * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
12173 not XEXP (tmp, 0).
12174
12175 2001-01-12 DJ Delorie <dj@redhat.com>
12176
12177 * Makefile.in (bootstrap): rename stages to be mnemonic. Add
12178 restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
12179 targets.
12180
12181 2001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
12182
12183 * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
12184 tm.texi: Consistently refer to ISO C instead of ANSI C. Refer to
12185 -std options alongside references to -ansi. Update some
12186 documentation for C99.
12187 * cpp.1: Regenerate.
12188
12189 2001-01-12 Andreas Jaeger <aj@suse.de>
12190
12191 * haifa-sched.c (restore_line_notes): Remove argument block B
12192 since it's unused.
12193 * sched-ebb.c (schedule_ebb): Change caller.
12194 * sched-rgn.c (schedule_region): Likewise.
12195 * sched-int.h (restore_line_notes): Adjust prototype.
12196
12197 * loop.h: Remove wrong declaration of doloop_condition_get.
12198
12199 2001-01-12 Phil Edwards <pme@sources.redhat.com>
12200
12201 * extend.texi: Move C++-extension-related node from the C section
12202 into the C++ section.
12203
12204 2001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
12205
12206 * extend.texi: Refer to an array of pointers to functions instead
12207 of one of functions.
12208
12209 Fri Jan 12 12:08:12 MET 2001 Andreas Jaeger <aj@suse.de>
12210 Jan Hubicka <jh@suse.cz>
12211
12212 * combine.c (reversed_comparison): Fix typo in last patch.
12213 Check X for NULL.
12214 (combine_reversed_comparison_code): Make static to follow
12215 prototype declaration.
12216
12217 2001-01-12 Phil Edwards <pme@sources.redhat.com>
12218
12219 * install.texi: Remove misplaced duplicate entry.
12220
12221 2001-01-11 Ulrich Drepper <drepper@redhat.com>
12222
12223 * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
12224
12225 Thu Jan 11 17:06:30 EST 2001 John Wehle (john@feith.com)
12226
12227 * final.c: (leaf_function_p): Fix typo.
12228
12229 2001-01-11 Zack Weinberg <zack@wolery.stanford.edu>
12230
12231 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
12232 Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
12233 which you have.
12234 (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
12235 * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
12236 mmap_anon, and valloc is available.
12237 * ggc-page.c: Restructure ifdef logic to match new autoconf
12238 spec. Don't throw away the test page in init_ggc.
12239
12240 * configure, config.in: Regenerate.
12241
12242 2001-01-12 Michael Hayes <mhayes@redhat.com>
12243
12244 * loop.h (total_biv_increment): Constify iv_class pointer.
12245 (struct induction): Replace `mem_mode' with `mem' rtx.
12246 * unroll.c (total_biv_increment): Constify iv_class pointer.
12247 * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
12248 (find_mem_givs, combine_givs_p): Likewise.
12249 (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
12250
12251 2001-01-10 Thomas Pfaff <tpfaff@gmx.net>
12252
12253 * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
12254 LastError.
12255 (__gthread_getspecific): Ditto.
12256
12257 Fri Jan 12 00:04:00 MET 2001 Jan Hubicka <jh@suse.cz>
12258
12259 * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
12260 put_condition_code): Convert fp comparison codes to integer
12261 before handling.
12262 (ix86_expand_fp_compare): Postnote the fp comparison code converison
12263 to final.
12264
12265 * i386.c (unsigned_comparison, no_comparison_operator): Kill.
12266 * i386-protos.h (no_comparison_operator): Kill.
12267
12268 * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
12269
12270 * combine.c (REVERSIBLE_CC_MODE): Remove.
12271 (reversible_comparison_p): Remove.
12272 (combine_reversed_comparison_code): New.
12273 (reversed_comparison): New.
12274 (combine_simplify_rtx): Use
12275 combine_reversed_comparison_code/reversed_comparison instead
12276 of reversible_comparison_p.
12277 (simplify_if_then_else): Likewise.
12278 (simplify_set): Likewise.
12279 (simplify_logical): Likewise.
12280 (if_then_else_cond): Likewise.
12281 (known_cond): Likewise.
12282 (simplify_comparison): Likewise.
12283
12284 2001-01-11 Alan Lehotsky <lehotsky@tiac.net>
12285
12286 * builtins.c (std_expand_builtin_va_start): Handle varargs when
12287 sizeof (int) is larger than sizeof(__word__).
12288
12289 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
12290
12291 * cppinit.c (do_includes): Fix typo.
12292
12293 2001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12294
12295 * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
12296 in S_REGS does not occur because not all sources are possible
12297 when a S_REGS is a destination (sometimes needs a clobber).
12298 (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
12299 (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
12300 (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
12301 (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
12302 (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
12303 (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
12304 (lshrdi_const1, lshrsi3_const16): Likewise.
12305 (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
12306 (*movhi_68hc12, *movqi_68hc12): Likewise.
12307 (movstrictqi): Make sure reloading in D_REGS as a destination
12308 does not happen.
12309
12310 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
12311
12312 * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
12313
12314 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
12315
12316 * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
12317 -D, -U and -A, and don't initialize the builtins.
12318 (do_includes): Error if -include or -imacros with -fpreprocessed.
12319 * cppmain.c (cb_define, cb_undef): Unconditionally process
12320 the callback.
12321 * tradcpp.c (main): Fix typo.
12322
12323 2000-01-11 Mark Elbrecht <snowball3@bigfoot.com>
12324
12325 * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
12326 (read_name_map): Use IS_ABSOLUTE_PATH.
12327 * tradcpp.c (get_filename): Likewise.
12328
12329 2001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12330
12331 * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
12332 (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
12333 (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
12334 (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
12335 (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
12336 (cmphi_z_used): Don't use '@' for the output.
12337 (tstqi_z_used): Likewise.
12338 (cmpqi_z_used): Likewise.
12339 (one_cmplsi2): Likewise.
12340
12341 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
12342
12343 * config/sh/sh.c (barrier_align): Recognize branch around far
12344 branch and redundant insn.
12345
12346 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
12347
12348 * invoke.texi: Restore documentation of the drivers' switches -MD
12349 and -MMD.
12350
12351 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
12352
12353 * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
12354
12355 * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
12356 check-objc//%): Support parallel testing of multilibs.
12357 (TESTSUITEDIR): Set to testsuite by default, but override for
12358 parallel testing.
12359 (check-gcc, check-g++, check-g77, check-objc): Enter
12360 $(TESTSUITEDIR).
12361
12362 2001-01-11 Bernd Schmidt <bernds@redhat.com>
12363
12364 * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
12365 * sched-deps.c (deps_may_trap_p): Likewise.
12366 * basic-block.h: Remove a comment.
12367 * flow.c (PROP_POSTRELOAD): Remove.
12368 (update_life_info): Don't add it to prop_flags.
12369 (mark_set_1): Lose the code that was enabled by it.
12370
12371 2001-01-11 Michael Hayes <mhayes@redhat.com>
12372
12373 * flow.c (flow_call_edges_add): New.
12374 * basic_block.h (flow_call_edges_add): New.
12375
12376 2001-01-11 J"orn Rennecke <amylaar@redhat.com>
12377
12378 * reload1.c (move2add_note_store): Update reg_set_luid even if
12379 base reg remains the same.
12380
12381 2001-01-10 Nick Clifton <nickc@redhat.com>
12382
12383 * config/d30v/d30v.c (d30v_init_machine_status): Initialise
12384 machine_function structure to zero.
12385 Add prototypes for machine_status functions.
12386
12387 2001-01-10 Mark Mitchell <mark@codesourcery.com>
12388
12389 * c-common.h (CTI_VOID_LIST): Remove.
12390 (void_list_node): Likewise.
12391 * tree.h (TI_VOID_LIST_NODE): New enumeral.
12392 (void_list_node): New macro.
12393 * config/arm/arm.c (arm_init_builtins): Use void_list_node.
12394 * config/i386/i386.c (ix86_init_builtins): Likewise.
12395 * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
12396
12397 2001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
12398
12399 * Makefile.in (tradcpp0): Depend on mkdeps.h. Link mkdeps.o
12400 * cppinit.c (cpp_start_read): Update comment, remove unneeded
12401 if statement.
12402 * tradcpp.c: Include mkdeps.h.
12403 (deps, print_deps_phony_targets, deps_append, output_deps,
12404 init_dependency_output, output_deps): New.
12405 (deps_buffer, deps_allocated_size, deps_size, deps_column,
12406 deps_output): Delete.
12407 (print_deps_missing_files): Rename deps_missing_files.
12408 (inhibit_output): Make global.
12409 (main): Delete inhibit_output, deps_stream, deps_target.
12410 Use mkdeps functionality in the same way as cpplib. Remove
12411 -g3 handling. Handle -MF, -MP, -MQ, -MT. Update handling of
12412 -M and -MM. Remove old handling of deps via deps_out, and
12413 old reading of environment variables.
12414 (get_filename): Update to use deps_add_dep.
12415
12416 2001-01-10 Mark Mitchell <mark@codesourcery.com>
12417
12418 * output.h (make_function_rtl): Remove prototype.
12419 (make_decl_rtl): Likewise.
12420 * varasm.c (make_function_rtl): Remove.
12421 (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
12422 than from a third parameter.
12423 * tree.h (make_decl_rtl): Remove last parameter.
12424 * c-decl.c (builtin_function): Remove last argument in call to
12425 make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
12426 (start_function): Likewise.
12427 * except.c (call_get_eh_context): Likewise.
12428 * expr.c (emit_block_move): Likewise.
12429 (clear_storage): Likewise.
12430 * profile.c (output_func_start_profiler): Likewise.
12431 * toplev.c (rest_of_decl_compilation): Likewise.
12432 * objc/objc-act.c (create_builtin_decl): Likewise.
12433 (synth_module_prologue): Likewise.
12434 (generate_static_reference): Likewise.
12435 (build_selector_reference_decl): Likewise.
12436 (build_class_reference_decl): Likewise.
12437 (build_objc_string_decl): Likewise.
12438 (build_protocol_reference): Likewise.
12439
12440 2001-01-10 Richard Henderson <rth@redhat.com>
12441
12442 * hwint.h: Revert yesterday's change.
12443
12444 2001-01-10 Nick Clifton <nickc@redhat.com>
12445
12446 * function.h (save_machine_status): Delete.
12447 (restore_machine_status): Delete.
12448 Amend comment describing {init|mark|free}_machine_status.
12449
12450 * function.c (save_machine_status): Delete.
12451 (restore_machine_status): Delete.
12452 Amend comment describing {init|mark|free}_machine_status.
12453 (push_function_context_to): Remove invocation of
12454 save_machine_status.
12455 (pop_function_context_from): Remove invocation of
12456 restore_machine_status.
12457
12458 * emit-rtl.c (init_emit_once): Amend comment describing
12459 {init|mark|free}_machine_status.
12460
12461 * tm.texi (Per-Function Data): New node. Describe the
12462 INIT_EXPANDERS macro and the {init|mark|free}_machine_status
12463 function pointers.
12464
12465 2001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
12466
12467 * cppinit.c (OPT_g): Remove.
12468 (cpp_handle_option): Update for removed -g3.
12469 (print_help): Update.
12470 * cpplib.h (struct cpp_options): Remove debug_output.
12471 * cppmain.c (setup_callbacks, cb_define): Update.
12472 * gcc.c (cpp_options): Translate -g3 to -dD.
12473
12474 2001-01-10 Aldy Hernandez <aldyh@redhat.com>
12475
12476 * config/i960/i960.md: Change modifier to + on the zero_extract
12477 pattern after the (rotate -2 reg) canonicalization pattern.
12478
12479 2001-01-10 Richard Henderson <rth@redhat.com>
12480
12481 * config/alpha/alpha.c (alpha_free_machine_status): New.
12482 (override_options): Install it.
12483 (alpha_mark_machine_status): Verify machine non-null.
12484 * config/i386/i386.c (ix86_free_machine_status): New.
12485 (override_options): Install it.
12486 (ix86_init_machine_status): Use xcalloc.
12487 (ix86_mark_machine_status): Verify machine non-null.
12488 * config/ia64/ia64.c (ia64_free_machine_status): New.
12489 (ia64_override_options): Install it.
12490 (ia64_mark_machine_status): Verify machine non-null.
12491
12492 Wed Jan 10 11:34:39 2001 Jeffrey A Law (law@cygnus.com)
12493
12494 * function.c (instantiate_virtual_regs): Instantiate virtual
12495 registers found in CALL_INSN_FUNCTION_USAGE.
12496
12497 2001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
12498
12499 * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
12500 equivalent to -ansi in disabling -Di386.
12501
12502 Wed Jan 10 16:38:31 MET 2001 Jan Hubicka <jh@suse.cz>
12503
12504 * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
12505 new functions.
12506 (ix86_expand_fp_compare): Make trivial use of new infrastructure.
12507
12508 2001-01-10 Richard Earnshaw <rearnsha@arm.com>
12509
12510 * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
12511
12512 2001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
12513
12514 * invoke.texi: Document that -fcond-mismatch isn't supported for
12515 C++.
12516
12517 2001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
12518
12519 * gcc.texi: Define macro gcctabopt.
12520 * invoke.texi: Add manpage sections BUGS and AUTHOR. Use
12521 @command, @env and @option in some places where appropriate. Use
12522 @gcctabopt where appropriate. Put URLs and email addresses inside
12523 @w.
12524
12525 2001-01-10 Nathan Sidwell <nathan@codesourcery.com>
12526
12527 * gcc.c (cpp_options): Set MD file name from output
12528 filename, if specified.
12529 (suffix_subst): New static variable.
12530 (do_spec): Clear it.
12531 (do_spec_1, case '.'): Handle new `%.suffix' spec.
12532 Clear it.
12533 (give_switch): Handle suffix_subst.
12534
12535 2001-01-10 Phil Edwards <pme@sources.redhat.com>
12536
12537 * invoke.texi: Fix another typo.
12538
12539 2001-01-10 Phil Edwards <pme@sources.redhat.com>
12540
12541 * invoke.texi: Fix typo.
12542
12543 2001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
12544
12545 * c-lang.c (lang_hooks): Update.
12546 (lang_decode_option): Remove.
12547 (lang_init_options): Rename c_init_options.
12548 * toplev.c (main): Use lang_hooks for lang_init_options
12549 and lang_decode_option.
12550 * toplev.h (lang_hooks): Add 2 new hooks.
12551 * tree.h: Remove lang_init_options and lang_decode_option.
12552 * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
12553 * cp/decl2.c: Similarly.
12554 * cp/lex.c (lang_init_options): Rename cxx_init_options.
12555 (lang_hooks): Update.
12556 * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
12557 for consistency.
12558 (lang_init_options): Rename ffe_init_options.
12559 (lang_hooks): Update.
12560 (lang_decode_option): Remove.
12561 * java/lang.c (lang_init_options): Rename java_init_options.
12562 (lang_decode_option): Rename java_decode_option.
12563 (lang_hooks): Update.
12564 * objc/objc-act.c (lang_init_options): Rename objc_init_options.
12565 (lang_decode_option): Rename objc_decode_option.
12566 (lang_hooks): Update.
12567
12568 2001-01-09 Nick Clifton <nickc@redhat.com>
12569
12570 * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
12571 (d30v_return_addr_rtx): Delete.
12572 (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
12573 cfun->machine structure.
12574 (struct machine_function): Move to d30v.h
12575 (d30v_save_machine_status): Delete.
12576 (d30v_restore_machine_status): Delete.
12577 (d30v_init_machine_status): New Function.
12578 (d30v_mark_machine_status): New Function.
12579 (d30v_free_machine_status): New Function.
12580 (d30v_init_expanders): Use new functions.
12581 (d30v_return_addr): Use ra_rtx field in cfun->machine.
12582 (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
12583 d30v_return_addr_rtx.
12584
12585 * config/d30v/d30v.h (struct_machine): Move here.
12586 Add eh_epilogue_sp_ofs field.
12587
12588 *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
12589 field in cfun->machine structure.
12590
12591 Tue Jan 9 21:34:57 2001 John David Anglin <dave@hiauly1.hia.nrc.ca>
12592
12593 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
12594 PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
12595 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12596
12597 Tue Jan 9 21:25:19 2001 Jeffrey A Law (law@cygnus.com)
12598
12599 * objc/lang-options.h: Remove bogus reference to
12600 Java trademark.
12601
12602 2001-01-09 Kazu Hirata <kazu@hxi.com>
12603
12604 * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
12605 return the result.
12606
12607 2001-01-09 Alan Lehotsky <lehotsky@tiac.net>
12608
12609 * reload.c (find_reloads_address): Check for eliminable registers
12610 when substituting a constant expression for a pseudo.
12611
12612 2001-01-09 Joseph S. Myers <jsm28@cam.ac.uk>
12613
12614 * c-common.c (enum format_type): Add format_type_error.
12615 (decode_format_type): New function.
12616 (decl_attributes): Use it.
12617 (format_kind_info): Adjust comment.
12618
12619 2001-01-09 David O'Brien <obrien@BSDi.com>
12620
12621 * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
12622 i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
12623 files in tm_file.
12624 * config/i386/gnu.h: Don't include required platform specific .h files,
12625 tm.h will do it instead.
12626 * config/i386/i386elf.h: Likewise.
12627 * config/i386/linux.h: Likewise.
12628 * config/i386/moss.h: Likewise.
12629 * config/mips/gnu.h: Likewise.
12630
12631 2001-01-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12632
12633 * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
12634 (rs6000-ibm-aix3.[01]*): Likewise.
12635 (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
12636 (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
12637 (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
12638 (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
12639 (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
12640 (powerpc-*-eabiaix*): Likewise.
12641 (powerpc-*-eabisim*): Likewise.
12642 (powerpc-*-elf*): Likewise.
12643 (powerpc-*-eabi*): Likewise.
12644 (powerpc-*-rtems*): Likewise.
12645 (powerpc-*-linux*libc1): Likewise.
12646 (powerpc-*-linux*): Likewise.
12647 (powerpc-wrs-vxworks*): Likewise.
12648 (powerpcle-wrs-vxworks*): Likewise.
12649 (powerpcle-*-sysv*): Likewise.
12650 (powerpcle-*-elf*): Likewise.
12651 (powerpcle-*-eabisim*): Likewise.
12652 (powerpcle-*-eabi*): Likewise.
12653 (powerpcle-*-solaris2*): Likewise.
12654 * config/rs6000/aix31.h: Delete includes.
12655 * config/rs6000/aix3newas.h: Likewise.
12656 * config/rs6000/aix41.h: Likewise.
12657 * config/rs6000/aix43.h: Likewise.
12658 * config/rs6000/beos.h: Likewise.
12659 * config/rs6000/rtems.h: Likewise.
12660 * config/rs6000/sysv4.h: Likewise.
12661
12662 2001-01-09 Kazu Hirata <kazu@hxi.com>
12663
12664 * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
12665 Change an argument mode of machine_mode to shift_mode of
12666 shift_mode. Remove an extra error check.
12667 (emit_a_shift): Adopt to the new calling prototype of
12668 get_shift_alg.
12669 (function_prologue): Fix code for a monitor
12670 function. Support H8/S.
12671 (function_epilogue): Do not output pop for a monitor function.
12672
12673 2001-01-09 Nick Clifton <nickc@redhat.com>
12674
12675 * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
12676 (setup_incoming_varargs): Use sysv_varargs_p field of the
12677 cfun->machine structure.
12678 (struct machine_function): Move to rs6000.h
12679 (rs6000_save_machine_status): Delete.
12680 (rs6000_restore_machine_status): Delete.
12681 (rs6000_init_machine_status): New Function.
12682 (rs6000_free_machine_status): New Function.
12683 (rs6000_init_expanders): Use new functions.
12684
12685 * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
12686 export.
12687 (struct machine_function): Move here.
12688
12689 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
12690 sysv_varargs_p field of the cfun->machine structure.
12691
12692 * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
12693 Remove prototype.
12694 (rs6000_restore_machine_status): Remove prototype.
12695
12696 2001-01-09 Richard Henderson <rth@redhat.com>
12697
12698 * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
12699 reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
12700 * sched-deps.c (sched_analyze_1): Update uses of struct deps.
12701 (sched_analyze_2, sched_analyze_insn): Likewise.
12702 (sched_analyze, init_deps): Likewise.
12703 (free_deps): Likewise. Iterate with EXECUTE_IF_SET_IN_REG_SET.
12704 * sched-rgn.c (propagate_deps): Likewise. Remove max_reg argument.
12705 (compute_block_backward_dependences): Update propagate_deps call.
12706
12707 2001-01-09 Mark Elbrecht <snowball3@bigfoot.com>
12708
12709 * gcc.c (process_command): Set switches[n_switches].ordering to 0.
12710
12711 2001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
12712
12713 * cppinit.c (OPT_MD, OPT_MMD): Restore.
12714 (cpp_handle_option): Handle them.
12715 (cpp_post_options): Ensure one of -M or -MM is specified with
12716 any other -M? option.
12717 (init_dependency_output): Suppress output with -MG.
12718
12719 2001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
12720
12721 * cpp.texi: Update.
12722 * invoke.texi: Update.
12723
12724 2001-01-09 Bernd Schmidt <bernds@redhat.com>
12725
12726 * sh.md (reload_outsf): Generate recognizable patterns for
12727 TARGET_SH3E.
12728
12729 2001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
12730
12731 * c-lang.c (lang_hooks): Update.
12732 (lang_init): Rename c_init.
12733 (lang_finish): Remove.
12734 * toplev.c (compile_file): Use lang_hooks for lang_init ()
12735 and lang_finish ().
12736 * toplev.h (lang_hooks): Add init () and finish ().
12737 * tree.h (lang_init, lang_finish): Remove.
12738 * cp/tree.h (lang_init, lang_finish): Remove.
12739 * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
12740 * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
12741 lang_hooks): New.
12742 (lang_init, lang_finish): Remove.
12743 * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
12744 (lang_hooks): Update.
12745 * java/lang.c (lang_init): Rename java_init.
12746 (lang_finish): Remove.
12747 (lang_hooks): Update.
12748 * objc/objc-act.c (lang_init): Rename objc_init.
12749 (lang_finish): Remove.
12750 (lang_hoooks): Update.
12751
12752 20001-01-09 Graham Stott <grahams@redhat.com>
12753
12754 * cppfiles.c (_cpp_execute_include): Move `len` initialisation
12755 after `ptr` is initialised.
12756
12757 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
12758
12759 * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
12760 (INITIALIZE_TRAMPOLINE): Adjust accordingly.
12761 * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
12762 stack adjusts, instead of r3.
12763
12764 2001-01-09 Michael Hayes <mhayes@redhat.com>
12765
12766 * flow.c (flow_loop_scan): Break out of ...
12767 (flow_loops_find) ... here.
12768 * basic-block.h (flow_loop_scan): New.
12769 (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
12770 (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
12771
12772 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
12773
12774 * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
12775 macro_buffer_len.
12776 * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
12777 realloc()ing macro_buffer.
12778
12779 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
12780 if it's wider than long and the target's long is wider than the
12781 host's.
12782
12783 2001-01-09 Mark Mitchell <mark@codesourcery.com>
12784
12785 Remove support for using UWIN as a host machine.
12786 * configure.in: Issue an error message.
12787 * configure: Regenerated.
12788 * config.gcc: Remove xm_* UWIN configury.
12789 * config/i386/xm-uwin.h: Remove.
12790
12791 2001-01-08 Nick Clifton <nickc@redhat.com>
12792
12793 * config/v850/v850.c (ra_rtx): Delete.
12794 (v850_save_machine_status): Delete.
12795 (v850_restore_machine_status): Delete.
12796 (v850_init_machine_status): New function.
12797 (v850_mark_machine_status): New function.
12798 (v850_free_machine_status): New function.
12799 (v850_return_addr): Use ra_rtx field in machine structure.
12800 (v850_init_expanders): Use new functions.
12801
12802 * config/v850/v850-protos.h: Fix prototypes for v850_output_*
12803 * config/v850/v850.c: Change arguments to v850_output+* functions
12804 to take a const char *, to avoid compile time warning.
12805 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
12806 (USER_LABEL_PREFIX): Redefine.
12807
12808 2000-01-08 Jim Wilson <wilson@redhat.com>
12809
12810 * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
12811 1 to unsigned HOST_WIDE_INT before left shift.
12812
12813 2001-01-08 Nick Clifton <nickc@redhat.com>
12814
12815 * config/arm/arm.c (arm_mark_machine_status): Check to see if
12816 the machine structure has been allocated.
12817 (arm_free_machine_status): New function: Free the machine
12818 specific function structure.
12819
12820 2001-01-08 Richard Henderson <rth@redhat.com>
12821
12822 * jump.c (simplejump_p): Revert last change.
12823
12824 2001-01-08 Neil Booth <neil@daikokuya.demon.co.uk>
12825
12826 * cppinit.c (init): Rename init_library.
12827 (cpp_create_reader): Update.
12828 * gcc.c (cpp_options): If -o given, use it as the target of
12829 any -M options.
12830
12831 2001-01-08 Richard Earnshaw <rearnsha@arm.com>
12832
12833 * arm.c (arm_arch5e): New variable.
12834 (all_cores): XScale is a 5TE device.
12835 (arm_override_options): Set arm_arch5e.
12836 (arm_init_builtins): __builtin_prefetch is in arch5e.
12837 * arm.h (arm_arch5e): Declare it.
12838
12839 * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
12840
12841 * arm.md (define_constants): Add defines for UNSPEC and
12842 UNSPEC_VOLATILE insns. Update all users.
12843 (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
12844 * arm.c (multi_register_push, note_invalid_constants)
12845 (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
12846 * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
12847 (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
12848
12849 Mon Jan 8 16:14:56 MET 2001 Jan Hubicka <jh@suse.cz>
12850
12851 * jump.c (jump_optimize_1): Use reversed_comparison_code
12852 instead of can_reverse_comparison_p.
12853 (jump_back_p): Likewise.
12854 (invert_exp_1): Likewise.
12855 (thread_jumps): Likewise.
12856 * simplify-rtx.c (simplify_unary_operation): Likewise.
12857 (simplify_ternary_operation): Likewise.
12858 * cse.c (find_comparison_args): Convert to use
12859 can_reverse_comparison_p.
12860 (record_jump_equiv): Likewise.
12861
12862 2001-01-08 Richard Earnshaw <rearnsha@arm.com>
12863
12864 * arm.h (HARD_REGNO_RENAME_OK): Delete.
12865 (EPILOGUE_USES): Define.
12866 (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
12867 automatically stack the LR if it isn't live.
12868
12869 Mon Jan 8 13:46:02 MET 2001 Jan Hubicka <jh@suse.cz>
12870
12871 * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
12872 properly.
12873
12874 Sun Jan 7 18:37:43 2001 Mark P Mitchell <mark@codesourcery.com>
12875
12876 * ggc-page.c (max_alignment): New structure.
12877 (MAX_ALIGNMENT): New macro.
12878 (init_ggc): Use it to round up the sizes in the
12879 extra_order_size_table.
12880
12881 2001-01-07 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12882
12883 * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
12884 after reload.
12885
12886 2001-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12887
12888 * builtins.def (BUILT_IN_FPRINTF): New entry.
12889
12890 * c-common.c (c_expand_builtin_fprintf): New function.
12891 (init_function_format_info): Handle __builtin_fprintf.
12892 (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
12893 (c_expand_builtin): Handle BUILT_IN_FPRINTF.
12894
12895 * c-decl.c (duplicate_decls): Adjust comment.
12896
12897 * extend.texi (fprintf): Document new builtin.
12898
12899 2001-01-07 Richard Henderson <rth@redhat.com>
12900
12901 * jump.c (simplejump_p): Recognize any single_set jump
12902 of the proper form.
12903
12904 2001-01-07 Richard Henderson <rth@redhat.com>
12905
12906 * configure.in (slibdir): Accept an --with-slibdir option.
12907 Use "test" not "[" in configure. Default to $(libdir).
12908
12909 * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
12910 fix typo in rm -f.
12911 * config/t-aix43 (SHLIB_INSTALL): Likewise.
12912 * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
12913 (SHLIB_LINK): Create links for the soname.
12914 * config/mips/t-iris6: Likewise.
12915 * config/sparc/t-slibgcc: Likewise.
12916 * config/sparc/t-slibgcc-sld: Likewise.
12917
12918 2001-01-07 Jakub Jelinek <jakub@redhat.com>
12919
12920 * config/i386/i386.c (constant_call_address_operand): Accept
12921 (const (plus (symbol_ref) (const_int))).
12922 * config/i386/i386.h (PREDICATE_CODES): Add CONST for
12923 constant_call_address_operand.
12924
12925 2001-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
12926
12927 * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
12928 and LONG_LONG_TYPE_SIZE > 32.
12929
12930 2001-01-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12931
12932 * jump.c (reversed_comparison_code_parts): Fix typo introduced by
12933 the previous change.
12934
12935 Sun Jan 7 19:37:48 MET 2001 Jan Hubicka <jh@suse.cz>
12936
12937 * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
12938 New.
12939 (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
12940 (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
12941 * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
12942 Declare.
12943
12944 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
12945
12946 * fix-header.c (read_scan_file): s/pfile/scan_in/.
12947
12948 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
12949
12950 * c-lang.c (c_post_options): Call cpp_post_options.
12951 * objc/objc-act.c (objc_post_options): Similarly.
12952 * cppmain.c (main): Similarly.
12953 * fix-header.c (read_scan_file): Similarly.
12954 * cppinit.c (cpp_start_read): Move option consistency checks
12955 to cpp_post_options. Don't call init_dependency_output.
12956 If needed, add default target and main file dependency.
12957 (OPT_MD, OPT_MMD): Remove.
12958 (OPT_MF): New.
12959 (cpp_handle_option): Update for OPT_* changes.
12960 (cpp_post_options): New.
12961 (init_dependency_output): Command line -MF overrides environment
12962 variables. Don't set default target etc. Suppress output
12963 if dependencies are going to stdout.
12964 (print_help): Update.
12965 * cpplib.h (cpp_post_options): New.
12966 * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
12967
12968 Sun Jan 7 14:44:19 MET 2001 Jan Hubicka <jh@suse.cz>
12969
12970 * jump.c (comparison_dominates_p): Support unordered compares.
12971
12972 Sun Jan 7 14:39:07 MET 2001 Jan Hubicka <jh@suse.cz>
12973
12974 * simplify-rtx.c (simplify_relational_operation): Always simplify
12975 ORDERED and UNORDERED when FLAG_FAST_MATH. Handle properly UNLE
12976 and UNGE.
12977
12978 Sun Jan 7 14:35:13 MET 2001 Jan Hubicka <jh@suse.cz>
12979
12980 * combine.c (combine_simplify_rtx): Recognize the unordered compares.
12981 (nonzero_bits): Likewise.
12982 (simplify_comparison): Likewise.
12983 (num_sign_bit_copies): Likewise; return more sane value depending
12984 on STORE_FLAG_VALUE.
12985 (known_cond): Do not assume EQ to be always true for equivalent
12986 operands.
12987
12988 Sun Jan 7 14:31:57 MET 2001 Jan Hubicka <jh@suse.cz>
12989
12990 * cse.c (fold_rtx): Handle unordered comparisons.
12991
12992 Sun Jan 7 13:49:19 MET 2001 Jan Hubicka <jh@suse.cz>
12993
12994 * rtlanal.c (set_of_1): New static function.
12995 (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
12996 reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
12997 reg_set_last_last_regno): Remove.
12998 (set_of): New global function.
12999 (set_of_data): New structure.
13000 (reg_set_p, reg_set_last): Revamp for set_of.
13001 * rtl.h (set_of): New.
13002
13003 2001-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
13004
13005 * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
13006 * extend.texi: Document _Exit builtin.
13007
13008 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
13009
13010 * (initialize, initialize_builtins,
13011 initialize_dependency_output, initialize_standard_includes):
13012 Rename s/initialize/init. Update.
13013 (init_dependency_output): Move to after
13014 cpp_handle_options, the correct location temporally at least.
13015 (opt_comp): Move next to init (), its caller. Fix prototype.
13016 (init): Make "initialized" local scope.
13017 (cpp_create_reader): Always call init ().
13018 (cpp_start_read): Update.
13019 (output_deps): New function, broken out of cpp_finish.
13020 (cpp_finish): Break out output_deps.
13021
13022 2001-01-07 Richard Henderson <rth@redhat.com>
13023
13024 * collect2.c (COFF specific stuff): Revert 12-06 patch
13025 to prototype system functions.
13026
13027 2001-01-07 Michael Hayes <mhayes@redhat.com>
13028
13029 * hard-reg-set.h: Add multiple include guard.
13030 * basic-block.h (struct loop): Add `sink' field.
13031 * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
13032 (emit_iv_add_mult): Delete.
13033 (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
13034 (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
13035 (unroll_loop): Remove end_insert_before argument.
13036 * loop.c (loop_givs_rescan): Remove end_insert_before argument.
13037 (maybe_eliminate_biv_1): Likewise.
13038 (emit_iv_add_mult): Delete.
13039 (gen_add_mult, loop_regs_update): New.
13040 (loop_insn_emit_after, loop_insn_emit_before): New.
13041 (loop_insn_sink, loop_insn_sink_or_swim): New.
13042 (emit_iv_add_mult): Delete.
13043 (scan_loop): Set loop->sink.
13044 (loop_givs_reduce): Use loop_insn_sink and its ilk.
13045 (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
13046 (maybe_eliminate_biv_1): Likewise.
13047 (maybe_eliminate_biv_1): Add basic block argument.
13048 * unroll.c (unroll_loop): Remove end_insert_before argument.
13049 (find_splittable_regs): Likewise.
13050 (find_splittable_regs): Use loop_insn_sink and its ilk.
13051 (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
13052
13053 2001-01-07 Michael Hayes <mhayes@redhat.com>
13054
13055 * loop.h (loop_insn_hoist): New prototype.
13056 * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
13057 (move_movables, loop_givs_rescan): Use loop_insn_hoist.
13058 (check_dbra_loop, load_mems): Likewise.
13059 * unroll.c (unroll_loop, find_splittable_regs): Likewise.
13060 (find_splittable_givs): Likewise.
13061
13062 2001-01-07 Michael Hayes <mhayes@redhat.com>
13063
13064 * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
13065
13066 2001-01-07 Richard Henderson <rth@redhat.com>
13067
13068 * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
13069
13070 2001-01-07 Richard Henderson <rth@redhat.com>
13071
13072 * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
13073 NO_SHARED_LIBGCC_MULTILIB as required for the target.
13074 * gcc.c (init_spec): Massage the existing libgcc_spec into a
13075 variant that handles a shared libgcc.
13076 (process_command): Always validate -{static,shared}-libgcc.
13077 (do_spec_1): New 'M' case.
13078 * invoke.text (Link Options): Document -{static,shared}-libgcc.
13079
13080 2001-01-07 Richard Henderson <rth@redhat.com>
13081
13082 * Makefile.in (slibdir): New variable.
13083 (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
13084 (installdirs): Create slibdir.
13085 (install-libgcc, install-multilib): Defer to libgcc.mk.
13086 * configure.in (slibdir): Substitute.
13087 * mklibgcc.in (install): New target.
13088
13089 * config/t-linux (SHLIB_LINK): Create links for the soname.
13090 (SHLIB_INSTALL): New.
13091 * config/alpha/t-osf4 (SHLIB_INSTALL): New.
13092 * config/mips/t-iris6 (SHLIB_INSTALL): New.
13093 * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
13094 * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
13095 * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
13096
13097 2001-01-07 Richard Henderson <rth@redhat.com>
13098
13099 * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
13100 * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
13101 * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
13102
13103 2001-01-07 Michael Hayes <mhayes@redhat.com>
13104
13105 * loop.c (count_loop_regs_set): Delete.
13106 (load_mems_and_recount_loop_regs_set): Delete.
13107 (loop_regs_scan): Merge common code from count_loop_regs_set,
13108 scan_loop, and load_mems_and_recount_loop_regs_set.
13109 (scan_loop): Call load_mems directly and loop_regs_scan
13110 again if new registers created.
13111
13112 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
13113
13114 * toplev.c (main): Call the front-end specific post_options
13115 hook if one is given.
13116 * toplev.h (struct_lang_hooks, lang_hooks): New.
13117 * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
13118 for the C front end.
13119 * cp/decl2.c (cxx_post_options, lang_hooks): Implement
13120 lang_hooks for the C++ front end.
13121 * objc/objc-act.c (objc_post_options, lang_hooks): Implement
13122 lang_hooks for the ObjC front end.
13123 * f/com.c (lang_hooks): Hooks for the Fortran front end.
13124 * java/lang.c (lang_hooks): Hooks for the Java front end.
13125
13126 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
13127
13128 * c-lex.c (init_c_lex): Request #define / #undef callbacks
13129 for verbose DWARF[2] debugging.
13130 (cb_define, cb_undef): The new callbacks.
13131 * toplev.h (debug_define, debug_undef): Make const correct.
13132 * toplev.c (debug_define, debug_undef): Similarly. Do not
13133 perform the verbosity tests here anymore.
13134
13135 2001-01-07 Alexandre Oliva <aoliva@redhat.com>
13136
13137 * reload.c (subst_reloads): Take INSN argument. When
13138 replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
13139 * reload.h (subst_reloads): Adjust prototype.
13140 * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
13141 * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
13142 present in JUMP_INSNs and copy them to JUMP_LABEL.
13143 * flow.c (find_label_refs, find_basic_blocks_1): Skip
13144 JUMP_INSNs and insns with REG_LABELs that are followed by
13145 JUMP_INSNs with the same REG_LABEL.
13146 * sched-rgn.c (is_cfg_nonregular): Likewise.
13147 * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
13148 note is available.
13149 * unroll.c (unroll_loop): Look for REG_LABEL notes in
13150 JUMP_INSNs too.
13151 * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
13152
13153 2001-01-06 Richard Henderson <rth@redhat.com>
13154
13155 * loop.c (scan_loop): Use xcalloc for the regs array.
13156 (load_mems_and_recount_loop_regs_set): Zero the new memory
13157 received from xrealloc.
13158
13159 2001-01-06 Neil Booth <neil@daikokuya.demon.co.uk>
13160
13161 * mkdeps.c (deps_add_dep): Fix vector re-allocation.
13162
13163 Sat Jan 6 00:09:34 2001 J"orn Rennecke <amylaar@redhat.com>
13164
13165 * integrate.c (copy_rtx_and_substitute): When copying
13166 an ignored return value, strip REG_FUNCTION_VALUE_P.
13167
13168 2001-01-06 Michael Hayes <mhayes@redhat.com>
13169
13170 * loop.c (debug_biv, debug_giv): New.
13171 (loop_biv_dump): Break out from ...
13172 (record_biv): ... here.
13173 (loop_giv_dump): Break out from ...
13174 (record_giv): ... here.
13175 (loop_bivs_check): Use print_simple_rtl.
13176 * unroll.c (loop_iterations): Use print_simple_rtl.
13177
13178 2000-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
13179
13180 * pa.md (return, return_internal): Modify patterns to prevent regrename
13181 mucking with the return pointer.
13182
13183 2001-01-05 Richard Henderson <rth@redhat.com>
13184
13185 * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
13186
13187 Fri Jan 5 16:34:18 2001 Nick Clifton <nickc@redhat.com>
13188
13189 * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
13190 version supplied by Matteo Frigo.
13191
13192 2001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
13193
13194 * cpp.texi: Update for -MQ.
13195 * cppinit.c (cpp_create_reader): Always create pfile->deps.
13196 (cpp_cleanup): Always free pfile->deps.
13197 (initialize_dependency_output): Don't create pfile->deps.
13198 (cpp_handle_option): Similarly.
13199 (OPT_MQ): New.
13200 * gcc.c (cpp_options): Handle -MQ.
13201 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
13202 * mkdeps.c (base_name): Remove.
13203 (deps_init): Don't allocate vector space until it's needed.
13204 (deps_free): Only free vectors if allocated.
13205 (deps_add_target, deps_add_dep): Update for initial allocation.
13206 (deps_add_default_target): Don't strip to the base_name.
13207
13208 2001-01-05 DJ Delorie <dj@redhat.com>
13209
13210 * config/v850/v850.h (RETURN_ADDR_RTX): Define.
13211 (INIT_EXPANDERS): Define.
13212
13213 * config/v850/v850.c (struct machine_function): Define.
13214 (v850_save_machine_status): New function.
13215 (v850_restore_machine_status): New function.
13216 (v850_return_addr): New function.
13217 (v850_init_expanders): New function.
13218
13219 * config/v850/v850-protos.h: Add prototypes for v850_return_addr
13220 and v850_init_expanders.
13221
13222 2001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
13223
13224 * cpplib.h (struct cpp_reader): Add help_only field.
13225 * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
13226 (cpp_handle_option): Set pfile->help_only if we see -h,
13227 --help, -target-help, or --version. Print version string but
13228 do not set help_only if we see -v or -version. Make text
13229 printed by -v match that printed by (-)-version.
13230
13231 * cppmain.c (main): Exit after option parsing if
13232 pfile->help_only is true.
13233
13234 * toplev.c (independent_decode_option): Call print_version,
13235 then exit, if we see --version (but not -version).
13236 (print_version): Split lengthy message into two lines.
13237
13238 2001-01-05 Nick Clifton <nickc@redhat.com>
13239
13240 * config/v850/v850.c (v850_encode_data_area): Use alloca to create
13241 temporary string for initialisation before calling ggc_alloc_string.
13242
13243 2001-01-06 Michael Hayes <mhayes@redhat.com>
13244
13245 * rtl.h (print_simple_rtl): New.
13246 * print-rtl.c (print_simple_rtl): New.
13247 (flag_simple): New.
13248 (print_rtx): Disable printing of flags and modes, etc.,
13249 if `flag_simple` nonzero.
13250
13251 2001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
13252
13253 * function.c (fixup_var_refs): Use push_to_full_sequence where
13254 possible.
13255
13256 2001-01-05 Michael Meissner <meissner@redhat.com>
13257
13258 * flags.h (flag_reorder_blocks): Add declaration.
13259 (flag_rename_block): Ditto.
13260
13261 2001-01-05 DJ Delorie <dj@redhat.com>
13262
13263 * function.c (reorder_blocks): Make sure the flags are all reset
13264 before using them to mark blocks, else a second invocation will
13265 corrupt the block chain.
13266 (reorder_blocks_0): New, resets the flags.
13267
13268 Fri Jan 5 20:34:06 2001 J"orn Rennecke <amylaar@redhat.com>
13269
13270 * cse.c (find_comparison_args): Stop if the argument is known to
13271 be constant.
13272
13273 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
13274
13275 * config/sh/sh.md (movdf): When splitting load into pair of
13276 registers, don't clobber the register used in the address too
13277 early.
13278
13279 2001-01-05 Jeffrey Oldham <oldham@codesourcery.com>
13280
13281 * varasm.c (mark_constant_pool): Improve initial comments.
13282 (mark_constants): Move marking of constants to mark_constant.
13283 (mark_constant): New function to recursively mark all constants
13284 referred to by a constant.
13285
13286 2001-01-05 Catherine Moore <clm@redhat.com>
13287
13288 * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
13289
13290 2001-01-05 Phil Edwards <pme@sources.redhat.com>
13291
13292 * cp/lang-options.h: Bring comment in line with reality.
13293 * f/lang-options.h: Likewise.
13294 * java/lang-options.h: Likewise.
13295 * objc/lang-options.h: Likewise.
13296 * ch/lang-options.h: Likewise.
13297 * f/g77.texi: And update the manual.
13298
13299 2001-01-05 Marek Michalkiewicz <marekm@linux.org.pl>
13300 Denis Chertykov <denisc@overta.ru>
13301
13302 * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
13303 * config/avr/avr.c (avr_peep2_scratch_safe): New function.
13304 * config/avr/avr.md (all peepholes that request a scratch register):
13305 Call it, FAIL the peephole if not safe (in interrupt functions).
13306
13307 2001-01-05 Mark Mitchell <mark@codesourcery.com>
13308
13309 * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
13310
13311 2001-01-05 Joseph S. Myers <jsm28@cam.ac.uk>
13312
13313 * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
13314 Define.
13315 * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
13316 BUILT_IN_CREAL and BUILT_IN_CIMAG.
13317 * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
13318 conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
13319 (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
13320 BUILT_IN_CIMAG.
13321 * extend.texi: Document these builtins.
13322
13323 2001-01-05 Daniel Berlin <dberlin@redhat.com>
13324
13325 * c-common.c (lang_get_alias_set): Say we know nothing of
13326 VECTOR_TYPE aliasing.
13327
13328 * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
13329
13330 2001-01-05 Bruce Korb <bkorb@gnu.org>
13331
13332 * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
13333 their x* equivalent versions for atexit-less systems
13334 * fixinc/fixincl.c(main): do not return from main() on atexit-less
13335 systems (or any other system any more).
13336
13337 2001-01-05 Richard Earnshaw <rearnsha@arm.com>
13338
13339 * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
13340 output operands. Use arm_hard_register_operand for operand 4.
13341 (stmsi_postinc): Similarly.
13342 (ldmsi): Use arm_hard_register_operand for opernand 2.
13343 (stmsi): Similarly.
13344 * arm.c (arm_hard_register_operand): New function.
13345 * arm-protos.h (arm_hard_register_operand): Prototype it.
13346
13347 * arm.h (HARD_REGNO_RENAME_OK): Define.
13348
13349 Fri Jan 5 16:29:49 MET 2001 Jan Hubicka <jh@suse.cz>
13350
13351 * simplify-rtx.c (cfc_args): add "unordered" field.
13352 (check_fold_consts): Set unordered field.
13353 (simplify_relational_operation): Simplify the unordered
13354 comparisons.
13355
13356 * reg-stack.c (swap_rtx_condition): Ensure that the transformation
13357 is valid.
13358
13359 * emit-rtl.c (try_split): Fix code to mark labels.
13360 * jump.c (mark_jump_label): Make global.
13361 * rtl.h (mark_jump_label): Declare.
13362
13363 * predict.c (estimate_probability): Handle unordred comparisons.
13364
13365 2001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
13366
13367 * cpp.texi: Update for -MP. Clarify behaviour of -MT.
13368 * cppinit.c (initialize_dependency_output): Update.
13369 (cpp_finish): Output dummy targets for -MP.
13370 (OPT_MP): New.
13371 (cpp_handle_option): Handle -MP. Don't quote -MT options.
13372 * cpplib.h (struct cpp_options): Add deps_phony_targets.
13373 * gcc.c (cpp_options): Update to handle -MP.
13374 * mkdeps.c (deps_add_target, deps_add_default_target): Update
13375 to quote only the default target.
13376 (deps_phony_targets): Insert a preceding newline. Rename from
13377 deps_dummy_targets for consistency.
13378 * mkdeps.h: Update
13379
13380 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
13381
13382 * calls.c (emit_library_call_value_1): Support
13383 INIT_CUMULATIVE_LIBCALL_ARGS.
13384 * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
13385
13386 2001-01-04 Richard Henderson <rth@redhat.com>
13387
13388 * c-decl.c (finish_struct): Detect flexible array members
13389 used in an inappropriate context.
13390 * c-typeck.c (really_start_incremental_init): Special case
13391 constructor_max_index for zero length arrays.
13392 (pop_init_level): Allow initialization of flexible array
13393 members. Deprecate initialization of zero length arrays.
13394 Don't issue missing initializer warning for flexible array
13395 members or zero length arrays.
13396 (process_init_element): Don't dereference null DECL_SIZE.
13397 * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
13398 Don't abort for empty constructors. Use size_binop
13399 (output_constructor): Add commentary regarding zero length
13400 array futures. Abort if we try to initialize an array of
13401 unspecified length with a non-empty constructor in the middle
13402 of a structure.
13403
13404 * extend.texi (Zero Length): Update and clarify documentation
13405 on static initialization.
13406
13407 2001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
13408
13409 * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
13410 with more than 32767 words of local storage.
13411
13412 2001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
13413
13414 * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
13415 for 'abs', 'labs', and 'fabs'.
13416 (c4x_expand_builtin): Likewise.
13417 * config/c4x/c4x.h (enum c4x_builtins): Likewise.
13418
13419 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
13420
13421 * config/sh/sh.md (prget, prset): New insn types.
13422 (return delay slot): Dont' allow prset.
13423 (call, sfunc delay slot): Don't allow prget.
13424 (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
13425 for prset and prget.
13426
13427 2001-01-05 Michael Hayes <mhayes@redhat.com>
13428
13429 * loop.h (struct loop_reg): New.
13430 (struct loop_regs): Change to use array of `struct loop_reg'.
13431 * loop.c: Replace assortment of varrays with single regs array.
13432 (count_one_set): Delete may_not_move array argument
13433 and use regs array instead. All caller's changed.
13434 (count_loop_regs_set): Delete may_not_move and single_usage
13435 arguments and use regs array instead. All caller's changed.
13436 (find_single_use_in_loop): Replace usage array argument with pointer
13437 to regs structure. All caller's changed.
13438 (loop_optimize): Delete `moved_once' array.
13439
13440 2001-01-05 Michael Hayes <mhayes@redhat.com>
13441
13442 * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
13443 Use it instead of loop_info->has_call for scanning loop mems.
13444 (check_dbra_loop): Replace loop_info->has_call test with
13445 loop_info->has_nonconst_call.
13446
13447 2000-01-04 Matthew Hiller <hiller@redhat.com>
13448
13449 * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
13450 for TARGET_SH3E.
13451
13452 2001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
13453
13454 * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
13455 use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
13456
13457 2001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
13458
13459 * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
13460 (flag_short_double, flag_short_wchar): Define.
13461 (c_common_nodes_and_builtins): Create many tree nodes shared
13462 between C and C++ here instead of in cp/decl.c and ...
13463 * c-decl.c (init_decl_processing): ... here.
13464 (SIZE_TYPE, WCHAR_TYPE): Don't define.
13465 (flag_short_double, flag_short_wchar): Don't define.
13466 (record_builtin_type): New function.
13467 (build_void_list_node): New function.
13468 * c-common.h (flag_short_double, flag_short_wchar,
13469 record_builtin_type, build_void_list_node): Declare.
13470
13471 Thu Jan 4 21:09:47 2001 J"orn Rennecke <amylaar@redhat.com>
13472
13473 * integrate.c (expand_inline_function): Don't put a virtual
13474 register into the reg map.
13475
13476 * function.c (fixup_var_refs_1): If force_operand didn't put
13477 the address into the target, move it there.
13478
13479 2001-01-04 Mark Mitchell <mark@codesourcery.com>
13480
13481 Special-case tree_decl/tree_list allocations.
13482 * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
13483 (OBJECT_SIZE): New macro.
13484 (NUM_EXTRA_ORDER): Likewise.
13485 (extra_order_size_table): New variable.
13486 (NUM_ORDERS): New macro.
13487 (objects_per_page_table): New variable.
13488 (object_size_table): New variable.
13489 (G.pages): Use NUM_ORDERS to bound the array.
13490 (G.page_tails): Likewise.
13491 (DIV_ROUND_UP): Remove.
13492 (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
13493 (alloc_page): Use OBJECT_SIZE.
13494 (size_lookup): Don't make it const.
13495 (ggc_alloc): Use OBJECT_SIZE.
13496 (ggc_set_mark): Likewise.
13497 (ggc_get_size): Likewise.
13498 (init_ggc): Set up the object_size_table, objects_per_page_table,
13499 and adjust size_lookup.
13500 (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
13501 (ggc_pop_context): Use NUM_ORDERS.
13502 (clear_marks): Likewise.
13503 (sweep_pages): Likewise.
13504 (poison_pages): Likewise.
13505 (ggc_print_statistics): Use OBJECT_SIZE.
13506
13507 Thu Jan 4 15:54:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13508
13509 * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
13510 Only call array_size_for_constructor if last field and array type
13511 with no upper bound.
13512
13513 2001-01-04 Philip Blundell <philb@gnu.org>
13514
13515 * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
13516 from bit 31 downwards, if this requires no more insns.
13517 (count_insns_for_constant): New helper function for above.
13518
13519 2001-01-04 Alexandre Oliva <aoliva@redhat.com>
13520
13521 * gencodes.c (output_predicate_decls): Remove empty initializer.
13522
13523 2001-01-04 Mark Mitchell <mark@codesourcery.com>
13524
13525 * tree.c (copy_node): Remove documentation about obstacks.
13526 (buidl1): Check that nobody tries to build 2-argument nodes this
13527 way.
13528
13529 2001-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13530
13531 * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
13532 fp_high_losum_p.
13533
13534 * gencodes.c (output_predicate_decls): Fill empty initializer
13535 braces.
13536
13537 2001-01-04 Jakub Jelinek <jakub@redhat.com>
13538
13539 * tradcpp.c (deps_file, print_deps_missing_files): New variables.
13540 (main): Handle -MG, -MD, -MMD. Bail out if -MG is given without -M
13541 or -MM.
13542 (do_include): Handle missing headers like cpp0.
13543 * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
13544 paths with first include pathname. Don't strcat to uninitialized
13545 string.
13546
13547 2001-01-04 Bernd Schmidt <bernds@redhat.com>
13548
13549 * regrename.c (regrename_optimize): Don't rename from frame pointer
13550 if frame_pointer_needed.
13551 (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
13552 * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
13553 (ia64_reorg): Use it instead of scheduling if ! optimize.
13554 (errata_emit_nops): Properly call asm_noperands.
13555 (ia64_sched_reorder): Finish cycle if we see an asm.
13556 (ia64_variable_issue): Clear scheduling state after asms.
13557
13558 2001-01-04 Neil Booth <neil@daikokuya.demon.co.uk>
13559
13560 * cpp.texi: Update for -MT.
13561 * cppinit.c (initialize_dependency_output): Add a default
13562 target if none has been given already.
13563 (no_tgt, OPT_MT): New.
13564 (cpp_handle_option): Handle -MT. Update -M etc.
13565 * cpplib.h (struct cpp_options): Remove deps_target.
13566 * gcc.c (cpp_options): Handle -MT.
13567 * mkdeps.c (struct deps): Move from mkdeps.h.
13568 (deps_calc_target): Rename deps_add_default_target. Add a
13569 default target if none has been specified already.
13570 * mkdeps.h (struct deps): Move to mkdeps.c.
13571 (deps_calc_target): Rename deps_add_default_target.
13572
13573 2000-01-03 Richard Henderson <rth@redhat.com>
13574
13575 * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
13576 Remove dead code.
13577 * c-typeck.c (push_init_level): Move checks for flexible array
13578 members and zero length arrays ...
13579 (pop_init_level): ... here. Silently discard empty initializations.
13580 Remove dead code.
13581 * varasm.c (output_constructor): Update for sizeof change to
13582 zero-length arrays.
13583
13584 * extend.texi (Zero Length): Clarify semantics.
13585
13586 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
13587
13588 * configure.in (tm.h): Include isns-codes.h last.
13589 * configure: Rebuilt.
13590
13591 2001-01-03 Richard Henderson <rth@redhat.com>
13592
13593 * config/alpha/alpha.md (addvsi3, addvdi3): New.
13594 (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
13595
13596 2001-01-03 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13597
13598 * tradcpp.c (main): Make sure finclude() is called with a valid
13599 indepth value while handling -include.
13600
13601 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
13602
13603 * gencodes.c (output_predicate_decls): New function.
13604 (main): Call it.
13605 * machmode.h (GET_MODE_MASK): Arrange for it to be defined
13606 even if it is not the first time machmode.h is #included.
13607 * config/sh/sh.c (fpul_operand): Declare MODE argument.
13608 * tm.texi (PREDICATE_CODES): Document predicate declarations.
13609 * gcc.texi (Copyright): Added 2001.
13610
13611 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
13612
13613 * c-common.c (c_common_lang_init): New function. Warn if format
13614 warning options which only have effects when used with -Wformat
13615 are used without -Wformat.
13616 * c-common.h (c_common_lang_init): Declare.
13617 * c-lang.c (lang_init): Call c_common_lang_init.
13618 * objc/objc-act.c (lang_init): Call c_common_lang_init.
13619
13620 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
13621
13622 * configure.in: Check for the mktemp command.
13623 * configure: Regenerate.
13624 * gccbug.in: Use a separate temporary file $TEMP0 for one use of
13625 $TEMP. Create temporary files with mktemp, if available at
13626 configure time; otherwise use set -C. Remove temporary files
13627 before exit.
13628
13629 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
13630
13631 * configure.in: Require at least texinfo 4.0. Check for whether
13632 Pod::Man is sufficiently recent to regenerate GCC manpages.
13633 * configure: Regenerate.
13634 * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
13635 on #!.
13636 (GENERATED_MANPAGES): Define.
13637 (generated-manpages): New target. Depend on cpp.1 as well as
13638 gcov.1.
13639 (install-man): Depend on $(GENERATED_MANPAGES) (defined by
13640 configure to generated-manpages or empty) rather than on the
13641 manpages directly. Remove execute permission from installed
13642 gcov.1 as well as cpp.1.
13643 * cpp.1, gcov.1: Regenerate.
13644
13645 2001-01-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13646
13647 * builtins.c (expand_builtin_strncmp): Use host_integerp and
13648 tree_low_cst. Allow using cmpstrsi in more cases.
13649
13650 Wed Jan 3 10:48:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13651
13652 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
13653 sized types.
13654
13655 Wed Jan 3 12:22:32 2001 Alexandre Oliva <aoliva@redhat.com>
13656
13657 * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
13658 * Makefile.in (HOST_CFLAGS): Mention build-make.
13659
13660 Wed Jan 3 08:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13661
13662 * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
13663 as JUMP_INSN.
13664
13665 2001-01-01 Bernd Schmidt <bernds@redhat.com>
13666
13667 * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
13668 a REG rtx.
13669
13670 * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg. All
13671 callers changed.
13672
13673 * alias.c (throughout): Use ORIGINAL_REGNO when accessing
13674 reg_base_value and reg_known_value arrays.
13675 (init_alias_analysis): Add more cases to detect known values.
13676 * sched-deps.c (deps_may_trap_p): New function.
13677 (sched_analyze_2): Use it.
13678
13679 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
13680
13681 * combine.c (simplify_shift_const): Even if we're sign-extracting,
13682 don't discard an ASHIFTRT if we're shifting in a wider mode.
13683
13684 2000-01-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
13685
13686 * toplev.c (rest_of_compilation): Don't print basic block information
13687 when CFG isn't up to date.
13688
13689 2001-01-02 Mark Elbrecht <snowball3@bigfoot.com>
13690
13691 * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
13692 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
13693 (UNALIGNED_SHORT_ASM_OP): Define.
13694 (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
13695
13696 2001-01-02 Mark Mitchell <mark@codesourcery.com>
13697
13698 * fold-const.c (fold_convert): Fix typo.
13699
13700 2001-01-02 Richard Henderson <rth@redhat.com>
13701
13702 * c-common.h (ASM_INPUT_P): New.
13703 * c-parse.in (asm): Set it when needed.
13704 * c-semantics.c (genrtl_asm_stmt): Test it instead of the
13705 existance of an operand.
13706
13707 Tue Jan 2 20:27:07 MET 2001 Jan Hubicka <jh@suse.cz>
13708
13709 * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
13710 (dwarf2out_frame_debug_expr): Likewise.
13711 (mem_loc_descriptor): Handle PRE and POST_MODIFY.
13712
13713 Tue Jan 2 20:21:31 MET 2001 Jan Hubicka <jh@suse.cz>
13714
13715 * i386.c (ix86_split_to_parts): Return number of part required;
13716 handle TFmodes.
13717 (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
13718 TFmodes.
13719 (ix86_split_long_move): Use number of part returned
13720 by ix86_split_to_parts
13721 * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
13722 New macros.
13723 (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
13724 (LONG_DOUBLE_TYPE_SIZE): Change from constant.
13725 (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
13726 (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
13727 (ALIGN_MODE_128): Add TFmode.
13728 (IS_STACK_MODE): Likewise.
13729 (HARD_REGNO_NREGS): TFmode needs 3 registers.
13730 (HARD_REGNO_OK): Support TFmodes.
13731 (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
13732 * i386.md (scheduler definitions): Use memory operand to determine
13733 fst/fld instructions; use mode attribute to determine real mode of
13734 the instruction.
13735 (*tf): New patterns, expanders and splitters; based on XFmode patterns.
13736 * invoke.texi (128bit-long-double, 96bit-long-double): Document.
13737
13738 2001-01-02 Mark Mitchell <mark@codesourcery.com>
13739
13740 * tree.def (TRUTH_NOT_EXPR): Improve documentation.
13741
13742 Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
13743
13744 * expr.c (store_constructor_field): Update ALIGN before calling
13745 store_constructor.
13746
13747 2001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
13748
13749 * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
13750 host_integerp.
13751
13752 2001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
13753
13754 * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
13755 incomplete type.
13756
13757 Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
13758
13759 * c-decl.c (start_function): Don't warn on third parameter to main.
13760
13761 2001-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13762
13763 * tsystem.h: Define HAVE_DECL_GETOPT.
13764
13765 2001-01-02 Philip Blundell <pb@futuretv.com>
13766
13767 * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
13768 of input operand.
13769
13770 2001-01-02 Richard Henderson <rth@redhat.com>
13771
13772 * alpha.md (*ze_and_ne): Duplicate insn condition to split.
13773
13774 2001-01-02 Andreas Jaeger <aj@suse.de>
13775
13776 * c-decl.c (c_decode_option): Remove support of
13777 -Wmissing-noreturn.
13778
13779 * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
13780 (W_options): Add -Wmissing-noreturn here.
13781
13782 * flow.c: Define lang_missing_noreturn_ok_p.
13783 (check_function_return_warnings): Use it.
13784
13785 * c-common.h: Declare lang_missing_noreturn_ok_p.
13786
13787 * c-lang.c (c_missing_noreturn_ok_p): New function.
13788 (lang_init): Set lang_missing_noreturn_ok_p.
13789
13790 * invoke.texi (Warning Options): Document this.
13791
13792 2000-12-27 Phil Edwards <pme@sources.redhat.com>
13793
13794 * extend.texi (C++ Extensions): New node for C++ attributes;
13795 describe init_priority and com_interface.
13796 * invoke.texi: Remove -finit-priority as it now has zero effect.
13797 * install.texi: Fix xref syntax.
13798 * md.texi: Likewise.
13799
13800 Mon Jan 1 21:28:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13801
13802 * config.gcc (sparc64-wrs-vxworks*): New case.
13803 * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
13804
13805 * config/sparc/sparc.c (sparc_override_options): Do support different
13806 pointer and architecture size.
13807 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
13808 (POINTERS_EXTEND_UNSIGNED): Define.
13809 (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
13810 (FUNCTION_MODE): Define to be Pmode.
13811 * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
13812
13813 * function.c (expand_function_end): Properly handle DECL_RESULT
13814 and copy when ptr_mode != Pmode.
13815 * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
13816
13817 2001-01-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13818
13819 * c-common.c (c_common_nodes_and_builtins): Set prototype
13820 parameters for __builtin_fputs, __builtin_fputc and
13821 __builtin_fwrite. Don't declare plain fputc as a builtin.
13822
13823 2001-01-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
13824
13825 * loop.c (add_label_notes): Increment the label usage count when
13826 a note is added to an insn which refers to a CODE_LABEL.
13827 * gcse.c (add_label_notes): Likewise.
13828
13829 2001-01-01 Andreas Jaeger <aj@suse.de>
13830
13831 * loop.c (scan_loop): Use xmalloc to allocate movables.
13832
13833 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
13834
13835 * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
13836 * reload.c (REGISTER_MOVE_COST): Likewise. Adjust all callers.
13837 * reload1.c (REGISTER_MOVE_COST): Likewise.
13838 * regclass.c (REGISTER_MOVE_COST): Likewise.
13839 (move_cost, may_move_in_cost, may_move_out_cost): Add mode
13840 dimension. Adjust all users.
13841 (init_reg_sets_1): Iterate on all modes.
13842 * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
13843 * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
13844 * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
13845 * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
13846 * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
13847 * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
13848 * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
13849 * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
13850 * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
13851 * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
13852 * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
13853 * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
13854 * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
13855 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
13856 * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
13857 * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
13858 * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
13859 * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
13860 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
13861 * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
13862 * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
13863 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
13864 * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
13865 * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
13866 * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
13867 * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
13868 * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
13869
13870 2001-01-01 Bernd Schmidt <bernds@redhat.com>
13871
13872 * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
13873 arg VARIES_P. Call it with extra arg.
13874 (true_dependence): Likewise.
13875 * rtl.h (rtx_addr_can_trap_p): Declare.
13876 (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
13877 prototypes.
13878 * rtlanal.c (rtx_addr_can_trap_p): No longer static.
13879 (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
13880 pic offset table register if it's zero. All callers changed.
13881 (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
13882
13883 Mon Jan 1 07:38:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13884
13885 * explow.c (convert_memory_address, case SYMBOL_REF): Copy
13886 STRING_POOL_ADDRESS_P.
13887
13888 * config/sparc/sparc.c (input_operand): Properly test for short op.
13889
13890 * config.gcc (sparc-*-elf): Include sparc/sol2.h.
13891 (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
13892 (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
13893 * config/sparc/elf.h: No longer include sol2.h.
13894 * config/sparc/lifeelf.h: No longer include sparc/elf.h.
13895 * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
13896
13897 * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
13898
13899 2001-01-01 Michael Hayes <mhayes@redhat.com>
13900
13901 * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
13902 (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
13903 (record_initial): Likewise.
13904 * unroll.c (copy_loop_body, loop_iterations): Likewise.
13905 (remap_split_bivs): Likewise.
13906
13907 2001-01-01 Michael Hayes <mhayes@redhat.com>
13908
13909 * loop.c (loop_ivs_free): New function.
13910 (strength_reduce): Break out from...
13911
13912 2001-01-01 Michael Hayes <mhayes@redhat.com>
13913
13914 * loop.h (struct iv): New.
13915 (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
13916 (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
13917 'reg_biv_class' fields with 'regs' and 'n_regs'.
13918 (struct ivs): Rename 'loop_iv_list' field to 'list'.
13919 * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
13920 * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
13921
13922 2000-12-31 Alexandre Oliva <aoliva@redhat.com>
13923
13924 * resource.c (mark_referenced_resources): Abort() before
13925 attempting to mark a pseudo register.
13926 (mark_set_resources): Likewise.
13927
13928 2001-01-01 Michael Hayes <mhayes@redhat.com>
13929
13930 * loop.h (REG_IV_CLASS): New accessor macro.
13931 * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
13932 * unroll.c (REG_IV_CLASS): Likewise.
13933
13934 See ChangeLog.4 for earlier changes.