OSDN Git Service

0b0379dee4bc324f78359e4547285b6abb23b5ac
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-03-27  Richard Henderson  <rth@redhat.com>
2
3         * rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
4         Auto-inc addresses trap only if their base register does.
5
6         * except.c (can_throw_internal): Rename from can_throw.
7         * except.h, resource.c: Update references.
8
9         * integrate.c (copy_insn_list): Use returnjump_p.
10         (copy_insn_notes): Recurse for CALL_PLACEHOLDER.
11
12         * function.h (struct function): Move all boolean valued fields
13         to single bit fields at the end of the struct.
14
15         * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
16         jump.c, toplev.c:
17         Rename asynchronous_exceptions to flag_non_call_exceptions.
18
19         * gthr-single.h (UNUSED): New.  Distinguish between how C 
20         and C++ mark unused function arguments.  Use throughout.
21
22         * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
23         value to target configuration header.
24         * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
25         * config.in, configure: Rebuild.
26         * except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
27         configuration and target defines.
28         (exceptions_via_longjmp): Remove.
29         * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
30         Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
31
32         * except.h (flag_non_call_exceptions): Move ...
33         * flags.h: ... here.
34
35         * combine.c (distribute_notes) [REG_EH_REGION]: If non-call
36         exceptions, put the note on the trapping instruction.
37
38         * flags.h (flag_new_exceptions): Remove.
39         * toplev.c: Don't set it.
40         * final.c: Don't check it.
41         * except.c: Provide stub definition.
42
43         * flow.c (tidy_fallthru_edges): Don't combine complex edges.
44         (calculate_global_regs_live): Kill call-clobbered registers
45         across exception edges.
46         * reg-stack.c (convert_regs_1): Kill the entire target stack
47         across non-call exception edges.
48
49         * flow.c (cleanup_cfg): Take no argument.
50         * output.h, sibcall.c, toplev.c: Update all calls.
51
52 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
53
54         * configure.in: Don't check for bcopy.
55         * configure, config.in: Regenerate.
56
57         * system.h: Don't define or prototype bcopy, instead poison it.
58
59 2001-03-27  Richard Henderson  <rth@redhat.com>
60
61         * function.c (expand_function_start): Set DECL_REGISTER on
62         a pseudo used for DECL_RESULT.
63
64         * rtl.h (LCT_NORETURN): New.
65         * calls.c (emit_library_call_value_1): Handle it.
66
67 2001-03-27  Stan Shebs  <shebs@apple.com>
68
69         * objc/objc-act.c (objc_init): Use dump_base_name.
70         (gen_declaration): Clear the buffer arg.
71         (gen_declaration_1): New function, body of gen_declaration.
72         (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
73         (gen_method_decl): Ditto, plus always clear buffer arg.
74         (error_with_ivar): Simplify.
75         (warn_with_method): Ditto.
76         (build_message_expr): Don't clear buffers.
77         (dump_interface): Ditto.
78         (objc_debug): Ditto.
79         (build_keyword_selector): Clear the buffer by only zeroing
80         the first element.
81         (objc_implementation_context): Declare.
82         (start_class): Warn about missing @end.
83         (finish_objc): Ditto.
84
85 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
86
87         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
88
89 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
90
91         * Makefile.in (SYSTEM_H): Define.
92         Depend on $(SYSTEM_H), not system.h.
93
94         * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
95
96 2001-03-27  Jim Wilson  <wilson@redhat.com>
97
98         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
99         IA64_UNWIND_EMIT.
100         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
101         (process_epilogue): New static function.
102         (process_set): Call process_epilogue instead of emitting .restore
103         directly.
104         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
105
106         * flow.c (struct reg_cond_life_info): New fields orig_condition
107         and stores.
108         (init_propagate_block_info): Set new fields.
109         (mark_regno_cond_dead): Set and use new fields.
110         (flush_reg_cond_reg_1): Likewise.
111         (and_reg_cond, case AND): Check for redundant AND conditions.
112         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
113         Set new fields.
114
115 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
116
117         * cppmacro.c (stringify_arg): Null terminate strings.
118
119 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
120
121         * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
122         inclusion style.  xm-m68hc11.h no longer exists.
123         * config/m68hc11/xm-m68hc11.h: Delete file.
124         * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
125
126         * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
127         Don't define GCC_VERSION, N_, or PARAMS; don't include
128         gansidecl.h or stdio.h.  Define inhibit_libc here.
129         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
130         Delete code conditioned on #if GCC_VERSION == 2095.
131
132         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
133         Make code conditioned on #if GCC_VERSION > 2095 unconditional.
134         Delete code conditioned on #if GCC_VERSION == 2095.
135
136 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
137
138         * system.h: Include symcat.h.
139         (STRINGIFY): Don't define.
140
141         * configure.in: Adjust comment.
142
143         * builtins.c: Use STRINGX, not STRINGIFY.
144         * gencheck.c: Likewise.
145         * gengenrtl.c: Likewise.
146         * protoize.c: Likewise.
147
148         * cpplex.c: Don't include symcat.h.
149         * cpplib.c: Likewise.
150
151         * gansidecl.h (HAVE_STRINGIZE): Don't define.
152
153 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
154
155         * c-typeck.c (digest_init): Fold init expression.
156
157 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
158
159         * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
160
161 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
162
163         * except.c (eh_regs): Save results of build_pointer_type to a temp
164         as FUNCTION_VALUE macro may evaluate its args multiple times.
165
166 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
167
168         * c-common.h (DECL_NUM_STMTS): New macro.
169         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
170         DECL_FRAME_SIZE.
171         (pushdecl): Likewise.
172         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
173         * integrate.c (expand_inline_function): Don't check
174         DECL_FRAME_SIZE.
175         * print-tree.c (print_node): Don't print it.
176         * toplev.c (rest_of_compilation): Don't try to inline when
177         flag_no_inline is on.
178         * tree.h (DECL_FRAME_SIZE): Remove.
179         (tree_decl): Adjust accordingly.
180
181 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
182
183         * combine.c (try_combine): Use memcpy, not bcopy.
184
185         * genattrtab.c (expand_units): Likewise.
186
187 Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
188
189         * i386.md (push mem DI peep2): New.
190         (mov 0, mov -1 peep2): Handle 64bit.
191         (lea to arithmetics peep2): Handle 64bit leas.
192         (rsp arithmetics to push/pop peep2s): New.
193
194         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
195
196 Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
197
198         * i386.c (struct machine_function): Add save_varrargs_registers.
199         (ix86_save_varrargs_registers): New macro.
200         (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
201         (ix86_expand_prologue): Likewise.
202         (ix86_emit_epilogue_esp_adjustement): Likewise.
203         (ix86_expand_epilogue): Likewise.
204         * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
205         (pro_epilogue_adjust_stack_1): New insn.
206         (pro_epilogue_adjust_stack_rex64): Likewise.
207         * i386.h (MASK_NO_RED_ZONE): New constant.
208         (TARGET_RED_ZONE): New macro.
209         (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
210         (RED_ZONE_SIZE): New constant.
211         (RED_ZONE_RESERVE): New constant.
212
213 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
214
215         * toplev.c (set_float_handler): Use memcpy, not bcopy.
216
217 2001-03-25  Kazu Hirata  <kazu@hxi.com>
218
219         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
220         space.
221         (modqi3): Likewise.
222         (umodhi3): Likewise.
223         (modhi3): Likewise.
224
225 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
226
227         * mkconfig.sh (DEFINES): Handle entries with '='.
228
229         * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
230         Set xm_defines to MACRO=value instead.
231
232         * i370/xm-mvs.h: Delete.
233
234         * ns32k/xm-pc532-min.h: Likewise.
235
236 Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
237
238         * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
239         shiftdi_operand;
240         use ix86_expand_binary_operator
241         (?sh??i_?): Disable for 64bit.
242         * i386.h (PREDICATE_CODES): Add shiftdi_operand.
243         * i386.c (shiftdi_operand): New predicate.
244
245         * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
246         ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
247         ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
248         ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
249         ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
250         lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
251         lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
252         rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
253         rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
254         rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
255         (rotldi3, rotrdi3): New expanders.
256
257 Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
258
259         * i386.md (movstrsi): Move offline.
260         (movstrdi): New.
261         (strmovdi_rex64): New.
262         (strmov?i): Accept 64bit.
263         (strmov?i_rex64): New.
264         (strmov?i_rex_1): New.
265         (strmov?i_1): Disable for 64bit.
266         (rep_mov?i_rex64): New.
267         (rep_mov?i): Disable for 64bit.
268         (clrstrsi): Move offline.
269         (strset?i_rex64): New.
270         (strset?i: Accept 64bit.
271         (rep_stos?i): Disable for 64bit.
272         (rep_stos?i_rex64): New.
273         (strset?i_rex_1): New.
274         (strset?i_1): Disable for 64bit.
275         (cmpstrsi): Accept 64bit.
276         (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
277         (cmpstrqi_nz_rex_1): New.
278         (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
279         (strlensi): Move offline.
280         (strlendi): New.
281         (strlenqi_1): Disable for 64bit; fix constraints.
282         (strlenqi_rex_1): New.
283         * i386.c (ix86_adjust_counter): New static function.
284         (ix86_zero_extend_to_Pmode): Likewise.
285         (ix86_expand_aligntest): Likweise.
286         (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
287         (ix86_expand_movstr): New global function.
288         (ix86_expand_clrstr): New global function.
289         (ix86_expand_strlen): New global function.
290         * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
291         ix86_expand_strlen): Declare.
292         (ix86_expand_strlensi_unroll_1): Delete.
293
294 Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
295
296         * i386.md (cmpdi): Fix operand predicates.
297         (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
298          cmpdi_1_insn_rex64): New patterns.
299         (adddi3): Turn to expander.
300         (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
301         (addsi3_carry_zext): New pattern.
302         (adddi_?_rex64): New patterns and splitters.
303         (addsi_?_zext): New patterns.
304         (subsi3_carry_zext): New pattern.
305         (subdi_?_rex64): New patterns and splitters.
306         (iorsi_?_zext): New patterns.
307         (iordi_?_rex64): New patterns and splitters.
308         (iorsi_?_zext): New patterns.
309         (iorsi_?_zext_imm): New patterns.
310         (xorsi_?_zext): New patterns.
311         (xordi_?_rex64): New patterns and splitters.
312         (xorsi_?_zext): New patterns.
313         (negdi*): New patterns.
314         (one_cmpldi*): Likewise.
315         (one_cmplsi*_zext, negsi*_zext): Likewise.
316         (testqi_ext_3_rex64): New pattern.
317
318 Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
319
320         * i386-protos.h (ix86_split_long_move): Return void.
321         * i386.c (ix86_split_to_parts): Handle 64bit target.
322         (ix86_split_long_move): Likewise.
323         * i386.md (all calls to ix86_split_long_move): Update.
324
325 2001-03-23  Richard Henderson  <rth@redhat.com>
326
327         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
328         to avoid shadowing arguments.
329
330 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
331
332         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
333         to variable names where DECL_NAME is different from
334         DECL_ASSEMBLER_NAME.
335
336 2001-03-23  Jim Wilson  <wilson@redhat.com>
337
338         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
339         (assemble_alias): Call make_decl_rtl.
340
341 Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
342
343         * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
344
345 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
346
347         * extend.texi: Document the "java_interface" attribute.
348
349 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
350
351         * mkconfig.sh: Use a subshell with redirected stdout,
352         instead of closing stdout and confusing commands that run
353         afterward.  Throw away output of cmp.
354
355 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
356
357         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
358
359 Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
360
361         * i386.md (zero_extendsidi2_32): Break out from ...
362         (zero_extendsidi2): ... here ; turn to expander.
363         (zero_extendsidi2_rex64): New.
364         (extendsidi2_32): Break out from ...
365         (extendsidi2): ... here ; turn to expander.
366         (extendsidi2_rex64): New.
367         (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
368         (trunc?f?f splitters): Add 64bit versions.
369
370 Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
371
372         * i386.md (pushsi, pushsi2_prologue): Disable.
373         (pushsi2_rex64): New.
374         (movabs?i_1_rex64, movabs?i_2_rex64): New.
375         (movqi_ext_1): Disable for 64bit.
376         (movqi_ext_1_rex64): New.
377         (pushdi2_rex64): New pattern, peep2s and splitter.
378         (pushdi2_prologue_rex64): New pattern.
379         (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
380         Likewise.
381         (movdi splitters): Disable for 64bit.
382         (movdi_1_rex64): New pattern, peep2s and splitters.
383         (swapdi): New pattern.
384         (pushsf): Disable for 64bit.
385         (pushsf_rex64): New pattern and splitter.
386         (pushdf_nointeger): Disable for 64bit.
387         (pushdf_integer): Handle the 64bit case.
388         (pushtf): Likewise; update splitters.
389
390 2001-03-22  Richard Henderson  <rth@redhat.com>
391
392         * mkconfig.sh: Include insn-flags.h.
393         * Makefile.in (CONFIG_H): Include insn-flags.h.
394         (lots of objects): Remove insn-codes.h and insn-flags.h.
395
396         * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
397         integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
398         regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
399         avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
400         dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
401         i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
402         m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
403         mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
404         pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
405         v850/v850.c, vax/vax.c:
406         Don't include insn-flags.h.
407
408         * diagnostic.c, expr.h, reload.c, toplev.c:
409         Don't include insn-codes.h.
410
411         * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
412         final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
413         c4x/c4x.c, i960/i960.c, mips/mips.c:
414         Don't include insn-codes.h or insn-flags.h.
415
416         * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
417         or insn-flags.h in the generated code.
418         * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
419         (main): Forward declare struct rtx_def.
420
421 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
422
423         * invoke.texi (-ffast-math): Remove duplicate line about
424         __FAST_MATH__.
425
426         * gcc.texi: Remove more obsolete documentation of bugs and
427         installation problems.
428
429 2001-03-21  Kazu Hirata  <kazu@hxi.com>
430
431         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
432         into two parts.
433
434 2001-03-20  Jason Merrill  <jason@redhat.com>
435
436         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
437         not '.' or '$'.
438         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
439         * varasm.c (CHKR_PREFIX): Likewise.
440
441 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
442
443         * gcse.c (hash_scan_set): An expression is not anticipatible if it
444         is part of a multi-SET insn.
445
446         * cse.c (find_comparison_args): Remove previous change.
447         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
448         REG_EQUAL notes.
449
450         * config/i386/i386.md (conditional_trap): Remove warning.
451
452         * recog.c (push_operand): Fix error in last change that caused
453         undefined symbol on many targets.
454
455         * sdbout.c: #include ggc.h.
456         (sdbout_init): Move to end of file.
457         Call ggc_add_tree_root for anonymous_types.
458         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
459         (sdbout_one_type): Use DECL_NAME for field name.
460         * Makefile.in (sdbout.o): Show includes ggc.h.
461
462 Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
463
464         * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
465         (override_options): Use properlimits for preferred_stack_boundary.
466         (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
467         on x86_64.
468         (ext_register_operand): Accept DImode.
469         (load_pic_register): Abort on 64bit.
470         (gen_push): Use Pmode instead of SImode.
471         (ix86_save_reg): Pic reg is never used on 64bit.
472         (ix86_expand_prologue): Likewise.
473         (ix86_emit_save_regs): Use Pmode instead of SImode.
474         (legitimate_address_p): Check displacement for 64bit.
475         (print_operand): Avoid outputting of (%rip) on 64bit.
476         (print_operand_address): Output (%rip) where possible.
477         (split_di): Abort on 64bit registers.
478         (ix86_expand_branch): DImode comparison is simple for x86_64.
479         (memory_address_length): Recognize memory addresses formed using
480         PRE/POST modify.
481         (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
482         for x86_64.
483         * i386.h (TARGET_USE_SAHF): Disable for 64bit.
484
485 Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
486
487         * recog.c (push_operand): Recognize new format of push instructions.
488
489 Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
490
491         * i386.md (pushqi1): New.
492         * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
493         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
494         x86_64_immediate_operand, x86_64_immediate_operand,
495         x86_64_zext_immediate_operand): Declare.
496         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
497         x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
498         x86_64_immediate_operand, x86_64_immediate_operand,
499         x86_64_zext_immediate_operand): define.
500         * i386.h (PREDICATE_CODES): Add new predicates.
501
502 Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
503
504         * i386.md (pophi1, popqi1, pushqi1): Remove.
505
506         * expr.c (emit_single_push_insn): New function.
507         (move_by_pieces): Accept NULL as destination for push instructions.
508         (gen_push_operand): Kill.
509         (emit_push_insn): Pass NULL when pushing; avoid updating of
510         stack_pointer_delta.
511         * expr.h (gen_push_operand): Kill.
512
513 Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
514
515         * rtl.texi (COMPARE): Clarify documentation and reference section
516         on comparisons.
517
518 2001-03-20  Stan Shebs  <shebs@apple.com>
519
520         * objc/objc-act.c (get_static_reference): Use NULL_TREE.
521         (get_object_reference): Ditto.
522         (error_with_ivar): Use error_with_file_and_line.
523         (warn_with_method): Use warning_with_file_and_line.
524
525 2001-03-20  Tom Tromey  <tromey@redhat.com>
526
527         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
528
529 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
530
531         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
532         variables that are TREE_PUBLIC, even if not TREE_STATIC.
533
534 2001-03-20  DJ Delorie  <dj@redhat.com>
535
536         * Makefile.in (install-libgcc): Pass complete list of variables.
537         (install-multilib): Ditto.
538
539 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
540
541         * config/i386/cygwin.h: Declare ctor_section, dtor_section
542         drectve_section, switch_to_section.
543
544         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
545         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
546         i386_pe_mark_dllimport.
547
548 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
549
550         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
551         functions i386_pe_*.
552
553         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
554         i386_pe_* functions with char * arguments.
555
556 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
557
558         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
559         and store.
560         (movsi_ie): Introduce fpul store.
561
562 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
563
564         * Makefile.in (OBJS): Remove hashtab.o.
565
566 2001-03-19  Stan Shebs  <shebs@apple.com>
567
568         * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
569         * c-lang.c (maybe_objc_method_name): Ditto.
570         * c-tree.h (maybe_objc_method_name): Remove decl.
571
572 2001-03-19  Tom Tromey  <tromey@redhat.com>
573
574         * gcc.c (init_gcc_specs): Fix comment.
575
576 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
577
578         Compute DECL_ASSEMBLER_NAME lazily.
579         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
580         (DECL_ASSEMBLER_NAME_SET_P): New macro.
581         (SET_DECL_ASSEMBLER_NAME): Likewise.
582         (COPY_DECL_ASSEMBLER_NAME): Likewise.
583         (set_decl_assembler_name): Declare.
584         (lang_set_decl_assembler_name): Likewise.
585         * tree.c (lang_set_decl_assembler_name): New variab.e
586         (set_decl_assembler_name): New function.
587         (init_obstacks): Set lang_set_decl_assembler_name.
588         (build_decl): Don't set DECL_ASSEMBLER_NAME.
589         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
590         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
591         where it's not necessary.
592         (builtin_function): Likewise.
593         (finish_decl): Likewise.
594         * dbxout.c (dbxout_type_methods): Likewise.
595         * ggc-common.c (ggc_mark_trees): Likewise.
596         * profile.c (output_func_start_profiler): Likewise.
597         * varasm.c (make_decl_rtl): Likewise.
598
599         * cse.c (find_comparison_args): Update documentation.  Fix
600         mishandling of COMPARE operations.
601
602         * tree.def (ABS_EXPR): Add documentation.
603         * fold-const.c (fold): Improve folding of ABS_EXPRs.
604
605 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
606
607         * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
608
609 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
610
611         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
612         Remove ia32 linux PIC kludge and move it...
613         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
614
615 Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
616
617         * i386.md (absdf2 expander): Fix 64bit case.
618
619 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
620
621         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
622
623 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
624
625         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
626
627 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
628
629         * README.X11: Remove obsolete file.
630
631 2001-03-18  Anthony Green  <green@redhat.com>
632
633         * config/pj/pj.h: Remove some trailing commas.
634         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
635
636 2001-03-18  Richard Henderson  <rth@redhat.com>
637
638         * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
639         * calls.c: ... here.
640         * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
641         defaults for them here.
642
643 2001-03-17  Anthony Green  <green@redhat.com>
644
645         * config/pj/lib1funcs.S: Fix broken comment.
646         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
647         labels with '.'.
648
649 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
650
651         * gcc.texi: Remove obsolete information relating to build and
652         installation problems with enquire or the Pyramid C compiler.
653
654 2001-03-17  Richard Henderson  <rth@redhat.com>
655
656         * dwarf2out.c (queue_reg_save): New.
657         (flush_queued_reg_saves, clobbers_queued_reg_save): New.
658         (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
659         dwarf2out_reg_save.
660         (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
661         (cfa, cfa_store, cfa_temp): Make static.
662         * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
663
664 2001-03-17  Richard Henderson  <rth@redhat.com>
665
666         * integrate.h (struct inline_remap): Add local_return_label.
667         * integrate.c (expand_inline_function): Initialize it and emit
668         it after copy_insn_notes.
669         (copy_insn_list): Don't store local_return_label here.
670         (copy_insn_notes): New function split out from copy_insn_list.
671
672 2001-03-17  Richard Henderson  <rth@redhat.com>
673
674         * dwarf2out.c (lookup_filename): Emit .file if the assembler
675         is generating .debug_line.
676         (dwarf2out_init): Add main_input_filename to the file table first.
677         * configure.in (as_dwarf2_debug_line): Test with file number 1
678         instead of file number 0.
679
680 Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
681
682         * combine.c (undobuf): Remove field previous_undos; all refs deleted.
683         (gen_rtx_combine): Deleted; all references changed as appropriate.
684         (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
685
686         * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
687
688 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
689
690         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
691         variable.
692
693 2001-03-16  Jim Wilson  <wilson@redhat.com>
694
695         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
696         then set it to LOC_REG (79) instead of aborting.
697
698 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
699
700         * gccbug.in:  Remove high priority.
701
702 2001-03-16  Richard Henerson  <rth@redhat.com>
703
704         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
705         output with a space instead of deleting it.
706         * configure: Regenerate.
707
708 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
709
710         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
711         handles the gory details of converting an object file into
712         something that's safe to grep.
713         (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
714         gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
715         newlines at either end of the string we're looking for.
716         Make 'checking ...' message less stilted.
717         (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
718         ARM in-memory layout and its hypothetical converse.  Don't
719         define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
720         HOST_WORDS_BIG_ENDIAN.
721
722         * configure.in: Adjust for renamed macro.  Move
723         gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
724         * configure, config.in: Regenerate.
725
726 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
727
728         * fixinc/Makefile.in: Set SHELL.
729
730 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
731
732         * fixinc/fixincl.c (fix_with_system): Quote file names before
733         passing them to shell.
734
735 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
736
737         * Makefile.in: Use fix-header$(build_exeext) instead
738         of fix-header.
739
740 2001-03-16  Richard Henderson  <rth@redhat.com>
741
742         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
743         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
744         (size_of_line_prolog): Remove.
745         (output_line_info): Compute prologue size via label difference.
746         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
747
748         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
749         assembler error when redefining file numbers.
750         * config.in, configure: Rebuild.
751
752         * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
753         (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
754         (dw2_asm_output_delta_uleb128): Likewise.
755         (dw2_asm_output_delta_sleb128): Similarly.
756         (dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
757
758 2001-03-16  Michael Meissner  <meissner@redhat.com>
759
760         * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
761         warnings.
762         (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
763         warnings.
764         (BITMASK_LOWER16): Replacement for 0x0000ffff.
765
766         * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
767         instead of 0xffff0000/0x0000ffff to avoid warnings about constants
768         being unsigned in ISO C and signed in traditional.
769         (expand_prologue): Ditto.
770         (RA_MASK): Use BITMASK_HIGH to avoid warnings.
771
772         * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
773         warnings.
774         (divsi3,divdi3): Ditto.
775         (modsi3,moddi3): Ditto.
776         (fix_truncdfsi2,fix_truncdfdi2): Ditto.
777         (fix_truncsfsi2,fix_truncsfdi2): Ditto.
778         (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
779         warnings.
780
781 Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
782
783         * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
784         SSE based conditional moves on LTGT/UNEQ conditions;
785         Canonicalize EQ to NE.
786         * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
787         (sse_mov?fcc_ne): New.
788
789         * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
790
791 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
792
793         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
794         register may be dead.
795
796 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
797
798         * Makefile.in (hash.o): Depend on CONFIG_H.
799
800 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
801
802         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
803
804 2001-03-15  Richard Henderson  <rth@redhat.com>
805
806         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
807         (ASM_OUTPUT_DWARF_PCREL): New.
808         * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
809
810 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
811
812         * cppfiles.c (stack_include_file): Use MAX of sysp.
813
814 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
815
816         * config.gcc (ia64*-*-hpux*): New case.
817         * config/ia64/hpux.h: New file for HP-UX support.
818         * config/ia64/t-hpux: New file for HP-UX support.
819
820 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
821
822         * fixinc/inclhack.def (irix_stdio_va_list): New.
823         * fixinc/fixincl.x: Rebuilt.
824
825 2001-03-15  Richard Henderson  <rth@redhat.com>
826
827         * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
828         if provided by the target.
829         (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
830         (dw2_asm_output_addr): New.
831         * dwarf2asm.h (dw2_asm_output_addr): Declare.
832         * dwarf2out.c (output_cfi): Use it for program addresses.
833         (output_call_frame_info, output_die): Likewise.
834         (output_aranges, output_line_info): Likewise.
835
836 2001-03-15  Bruce Korb  <bkorb@gnu.org>
837
838         * gcc.c(main): make more rigorous
839         * collect2.c(main): guard against ignoring SIGCHLD
840         * protoize.c(main): ditto
841         * gcc/fixinc/fixincl.c(initialize): ditto
842
843 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
844
845         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
846         (sdbout_parms): Likewise.
847
848 Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
849
850         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
851         "widen" a destination that is already wider than a word.  Also do
852         not widen if LOAD_EXTEND_OP is NIL for the given mode.
853
854 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
855
856         * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
857
858 Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
859
860         * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
861
862 Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
863
864         * i960.h (i960_maxbitalignment,
865         i960_last_maxbitalignment): Declare.
866         * i960.c (i960_maxbitalignment,
867         i960_last_maxbitalignment): Make global.
868         (process_pragma): Delete.
869         (i960_pr_align, i960_pr_noalign): Move from here ...
870         * i960-c.c: ... to this new file.
871         * t-960bare (i960-c.o): New rule.
872         * t-vxworks960 (i960-c.o): Likewise.
873         * config.gcc (i960-*-*): Define c_target_objs and
874         cxx_target_objs.
875
876 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
877
878         * cselib.c (hash_rtx): For REG and MEM, just use value of expression
879         without adding in rtx code and mode.
880
881         * alias.c (init_alias_analysis): Don't use any rtx whose value
882         varies as a known value.
883         Delete a superfluous test.
884
885         * config/ia64/ia64.c (maybe_rotate): New function, broken out of
886         ia64_sched_reorder.
887         (ia64_sched_reorder): Call maybe_rotate; also rotate after
888         scheduling a stop bit.
889         (ia64_emit_nops): Correctly handle ASMs.
890
891 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
892
893         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
894
895 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
896
897         * cpp.texi: Update documentation for -include and -imacros.
898         * cppfiles.c (struct include_file): Remove "defined" memeber.
899         (find_or_create_entry): Make a copy of the file name, and
900         simplify it.
901         (open_file): Update to ensure we use the simplified filename.
902         (stack_include_file): Don't set search_from.
903         (cpp_included): Don't simplify the path name here.
904         (find_include_file): New prototype.  Call search_from to
905         get the start of the "" include chain.  Don't simplify the
906         filenames here.
907         (_cpp_execute_include): New prototype.  Move diagnostics to
908         do_include_common.  Update.
909         (_cpp_pop_file_buffer): Don't set defined.
910         (search_from): New prototype.  Use the preprocessor's cwd
911         for files included from the command line.
912         (read_name_map): Don't simplify the pathname here.
913         * cpphash.h (enum include_type): New.
914         (struct buffer): Delete search from.  New search_cached.
915         (_cpp_execute_include): Update prototype.
916         * cppinit.c (do_includes): Use _cpp_execute_include.
917         * cpplib.c (do_include_common): New function.
918         (do_include, do_include_next, do_import): Use it.
919
920 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
921
922         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
923         contents of the RTL, to determine the name of the object.
924
925 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
926
927         * tree.h (DECL_RTL): Allocate RTL lazily.
928         (SET_DECL_RTL): New macro.
929         (DECL_RTL_SET_P): Likewise.
930         (COPY_DECL_RTL): Likewise.
931         (DECL_RTL_IF_SET): Likewise.
932         * varasm.c (make_decl_rtl): Add assertions about the kind of
933         declaration we are processing.
934         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
935         (start_decl): Likewise.
936         (finish_decl): Likewise.
937         * c-semantics.c (emit_local_var): Likewise.
938         * calls.c (expand_call): Likewise.
939         * dbxout.c (dbxout_symbol): Likewise.
940         * emit-rtl.c (unshare_all_rtl): Likewise.
941         (unshare_all_decls): Likewise.
942         (reset_used_decls): Likewise.
943         * expr.c (store_constructor): Likewise.
944         (safe_from_p): Likewise.
945         (expand_expr): Likewise.
946         * function.c (put_var_into_stack): Likewise.
947         (instantiate_decls_1): Likewise.
948         (assign_parms): Likewise.
949         (expand_function_start): Likewise.
950         (expand_function_end): Likewise.
951         * ggc-common.c (gcc_mark_trees): Likewise.
952         * integrate.c (function_cannot_inline_p): Likewise.
953         (copy_decl_for_inlining): Likewise.
954         (expand_inline_function): Likewise.
955         (integrate_parm_decls): Likewise.
956         (integrate_decl_tree): Likewise.
957         * print-tree.c (print_node): Likewise.
958         * reg-stack.c (stack_result): Likewise.
959         * stmt.c (label_rtx): Likewise.
960         (expand_return): Likewise.
961         (expand_decl): Likewise.
962         (expand_decl_cleanup): Likewise.
963         (expand_anon_union_decl): Likewise.
964         * toplev.c (check_global_declarations): Likewise.
965         (rest_of_decl_compilation): Likewise.
966         * tree.c (simple_cst_equal): Likewise.
967         * objc/objc-act.c (generate_static_references): Likewise.
968
969 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
970
971         * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
972         gcc_AC_C_FLOAT_FORMAT): New macros.
973         * configure.in: Add AC_PROG_CPP after CC tests;
974         gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
975         tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
976         * configure, config.in: Regenerate.
977
978         * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
979         config/arm/xm-arm.h, config/c4x/xm-c4x.h,
980         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
981         config/i370/xm-linux.h, config/i370/xm-oe.h,
982         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
983         config/m68k/xm-m68k.h, config/mips/xm-mips.h,
984         config/pa/xm-linux.h, config/pa/xm-pa.h,
985         config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
986         config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
987         config/sparc/xm-sparc.h, config/vax/xm-vax.h,
988         config/we32k/xm-we32k.h: Delete.
989
990         * config/i370/xm-mvs.h, config/m88k/m88k.h,
991         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
992         config/vax/xm-vms.h: Don't define any of:
993         HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
994
995         * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
996
997         * config.gcc: Remove references to deleted files.
998         (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
999         FATAL_EXIT_CODE, which is the same between oe and mvs).
1000
1001 2001-03-14  DJ Delorie  <dj@redhat.com>
1002             Vladimir Makarov  <vmakarov@redhat.com>
1003
1004         * config/i960/i960.c (i960_function_prologue): Compute size of
1005         frame according to number of registers actually saved there.
1006
1007 2001-03-14  Richard Henderson  <rth@redhat.com>
1008
1009         * expr.c (emit_move_insn_1): Fix else if around #endif.
1010
1011 Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
1012                               Vojtech Pavlik
1013
1014         * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
1015         constraints.
1016
1017 Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
1018
1019         * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
1020         (override_options): Parse cmodel string.
1021         (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
1022         * i386.h (TARGET_OPTIONS): Add "cmodel".
1023         (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
1024         (enum cmodel): New.
1025         (ix86_cmodel_string, ix86_cmodel): Declare.
1026
1027 Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1028
1029         Spot by Matt Kraai:
1030         * i386.h (GENERAL_REG_P): Add missing REG_P.
1031
1032 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
1033
1034         * configure.in: Use $gcc_cv_as instead of $as.
1035         * configure: Regenerated.
1036
1037 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
1038
1039         * cppfiles.c (stack_include_file): Only increase the include
1040         count if we actually process the file properly, as opposed
1041         to treating it as length zero.  Only call read_include_file
1042         if not DO_NOT_REREAD.  Handle the -H include file output
1043         here.
1044         (read_include_file): Remove now redundant DO_NOT_REREAD check.
1045         (cpp_included, find_include_file): Simplify pathnames after
1046         remapping them.  If remapping, don't use the remapped file
1047         name's buffer as our scratch buffer.
1048         (cpp_pop_file_buffer): Replace the multiple include macro
1049         only if it isn't yet set.
1050         (read_name_map): Simplify remapped names when reading in.
1051         (remap_filename): Move code to code path that uses it.
1052         (_cpp_simplify_pathname): Return the input pointer.
1053         * cpphash.h (_cpp_simplify_pathname): Update prototype.
1054
1055 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
1056
1057         * expr.c (expand_expr): Revove bogus conditional.
1058
1059 Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
1060
1061         * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
1062
1063 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
1064
1065         * reg-stack.c (stack_result): Unconditionally use
1066         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
1067
1068 Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
1069
1070         * expr.c (emit_move_insn_1):  Split push of complex value when
1071         no suitable push instruction exist.
1072
1073         * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
1074         instead of QI_REG_P.
1075
1076 Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1077
1078         * alias.c (handled_component_p, can_address_p): New functions.
1079         (get_alias_set): Use them.
1080
1081 2001-03-13  Jim Wilson  <wilson@redhat.com>
1082
1083         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
1084         from 80 in try_locals code.
1085         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
1086
1087 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
1088
1089         * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
1090         gcc_AC_C_LONG_LONG): New.
1091         * configure.in: Use them.  Probe the size of short, int, long,
1092         and long long/__int64 if we have them.  Move all the AC_C_*
1093         checks together, except gcc_AC_C_CHAR_BIT which has to go
1094         after AC_CHECK_HEADERS(limits.h).
1095         Take hwint.h out of host_xm_file and build_xm_file.
1096
1097         * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
1098         HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
1099         and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
1100         Move the HOST_WIDEST_INT setup logic here from system.h.
1101         Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
1102         defined.
1103         * system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
1104         is now handled by hwint.h.
1105
1106         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
1107         config/c4x/xm-c4x.h, config/i370/xm-oe.h,
1108         config/ia64/xm-ia64.h: Don't define any of:
1109         HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
1110         HOST_BITS_PER_LONGLONG.
1111
1112         * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
1113         config/h8300/xm-h8300.h, config/mips/iris6.h,
1114         config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
1115         config/sparc/xm-sp64.h: Delete.
1116         * config.gcc: Remove references to deleted files.
1117
1118         * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
1119         HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
1120         * config/i370/xm-linux.h: Clarify floating-point situation in
1121         a comment.
1122
1123 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1124
1125         * cppfiles.c (NO_INCLUDE_PATH): New macro.
1126         (find_include_file): Decide here which part of the include
1127         chain to start the search.  Complain about an empty include
1128         chain in all cases apart from an abolsute file name.
1129         (_cpp_execute_include): Don't choose the search chain here.
1130         Don't call handle_missing_include in the case of an empty
1131         include chain.
1132         (_cpp_compare_file_date): Don't choose the search chain here.
1133         * cpplib.c (do_include_next): Move the in-main-file diagnostic
1134         here from _cpp_execute_include.  Behave like #include if
1135         we're in the main file.
1136
1137 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1138
1139         * system.h (malloc, realloc, calloc, strdup): Only poison these
1140         tokens when IN_GCC is defined.
1141
1142 Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
1143
1144         * i386.md (abs?f expander): Support SSE case.
1145         (abd?f_if): Add new "USE"; add splitters.
1146
1147 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1148
1149         * cpp.texi (poison): Explain the macro expansion exception.
1150
1151 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
1152
1153         * expr.c (store_expr): Add dont_store_target.  If temp is already in
1154         target before copying to reg, don't store it into target again.
1155
1156 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1157
1158         * cppinternals.texi: Update for file handling.
1159
1160 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
1161
1162         * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
1163         2001-02-24 which broke building the Java library.
1164         * function.c (identify_blocks): Likewise.
1165         (all_blocks): Likewise.
1166         * integrate.c (integrate_decl_tree): Likewise.
1167         * print-tree.c (print_node): Likewise.
1168         * tree.h (BLOCK_NUMBER): Likewise.
1169         (struct tree_block): Likewise.
1170
1171 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
1172
1173         * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
1174         __WCHAR_TYPE__ definition.
1175         (WCHAR_TYPE_SIZE): #undef before #define.
1176
1177 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1178
1179         * cppfiles.c: Update comments.
1180         (destroy_include_file_node): Rename destroy_node.
1181         (find_or_create_entry): New function.
1182         (open_file, _cpp_fake_include): Use it.
1183         (handle_missing_header): New function, broken out of
1184         _cpp_execute include.  Don't segfault if there is no
1185         system or quoted path.
1186         (_cpp_execute_include): Use handle_missing_header.
1187
1188 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
1189
1190         * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
1191         2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
1192
1193 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1194
1195         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
1196         unless anti_dependence says they are.
1197         * alias.c (objects_must_conflict): If neither has a type specified,
1198         they must conflict.
1199
1200 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1201             David Billinghurst <David.Billinghurst@riotinto.com>
1202
1203         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
1204
1205 Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
1206
1207         * i386.md (trunctfdf2_2): Rename missnamed pattern.
1208         (*_one_bit): Remove type on the match_operand in attributes.
1209
1210 Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
1211
1212         * i386.c: Commit forgotten hunk in previous patch.
1213         (regclass_map): Add extended registers.
1214         (dbx_register_map): Add missing frame register.
1215
1216 Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
1217
1218         * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
1219
1220         * i386.md (x86_sahf_1): Disable for 64bit.
1221         (popsi*, pophi*): Likewise.
1222         (pushqi, pushhi): Likewise.
1223         (movdi, pushdi): Likewise.
1224         (zero extend DImode splitter): Likewise.
1225         (adddi, minusdi splitter): Likewise.
1226         (umulsidi): Likewise.
1227         (umulsi): New.
1228         (mulsidi): Disable for 64bit
1229         (lshift:DI/ashift:DI): Disable for 64bit.
1230         (loop patterns): Likewise.
1231         (call_pop, call_value_pop expanders and patterns): Likewise.
1232         (prologue_get_pc): Likewise.
1233         (leave): Likewise.
1234         (fcmovDI pattern and splitter): Likewise.
1235         (movdfcc_1_rex64): New.
1236
1237 Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
1238
1239         * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
1240         (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
1241         (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
1242         (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
1243         (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
1244         (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
1245         (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
1246         (PUSH_ROUNDING): x86_64 rounds to 64bits.
1247         (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
1248         (REGPARM_MAX): Set to 6 for x86_64.
1249         (SSE_REGPARM_MAX): Set to 16 for x86_64.
1250         * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
1251         registers.
1252
1253         * (patterns that does use upper halves): Update constraints
1254         'q' to 'Q' and 'r' to 'R'.
1255         (cmpqi_ext_1): Disable for 64bit.
1256         (cmpqi_ext_3_insn): Likewise.
1257         (movqi_extzv_1): Likewsie.
1258         (addqi_ext_1): Liekwsie
1259         (testqi_ext_1): Liekwsie
1260         (andqi_ext_1): Liekwsie
1261         (xorqi_ext_1): Liekwsie
1262         (cmpqi_ext_1_rex64): New.
1263         (cmpqi_ext_3_insn_rex64): Likewise.
1264         (movqi_extzv_1_rex64): Likewsie.
1265         (addqi_ext_1_rex64): Liekwsie
1266         (testqi_ext_1_rex64): Liekwsie
1267         (andqi_ext_1_rex64): Liekwsie
1268         (xorqi_ext_1_rex64): Liekwsie
1269
1270 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
1271
1272         * configure.in: Move check for unsigned enumerated bitfields
1273         to macro in aclocal.m4.  Disable it for now.
1274         * configure, config.in: Regenerate.
1275         * system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
1276         unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
1277         * varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
1278         kind above its first use.
1279
1280         * config/xm-interix.h, config/alpha/xm-alpha.h,
1281         config/i370/xm-linux.h, config/i386/xm-beos.h,
1282         config/i386/xm-mingw32.h, config/mips/xm-mips.h,
1283         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
1284         config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
1285         Don't define ONLY_INT_FIELDS under any circumstances.
1286
1287         * config/pa/xm-pa.h: Don't define __BSD_NET2__.
1288
1289         * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
1290         config/sparc/xm-sysv4.h: Delete - now identical with some
1291         other xm header.
1292         * config.gcc (hppa targets): Replace xm-pahpux.h and
1293         xm-papro.h with implicit xm-pa.h.
1294         (sparc targets): Replace xm-sysv4.h with implicit or explicit
1295         xm-sparc.h.
1296
1297 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
1298
1299         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
1300         before reload_cse_noop_set_p.
1301
1302 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
1303
1304         * config.gcc: Where xm-host.h used to include another
1305         xm-host.h, list the nested header directly in xm_file.  Remove
1306         references to deleted files.  Can now use sparc/xm-sp64.h for
1307         sparcv9-*-solaris*.
1308
1309         * config/xm-linux.h, config/arm/xm-linux.h,
1310         config/i386/xm-dos.h, config/i386/xm-gnu.h,
1311         config/i386/xm-linux.h, config/i386/xm-openbsd.h,
1312         config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
1313         config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
1314         config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
1315         Delete.
1316
1317         * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
1318         * config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
1319         bother to wrap #undef in #ifdef.
1320         * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
1321         Don't include xm-linux.h.
1322         * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
1323
1324         * configure.in: Wrap regexps using [] in changequote block.
1325         Use expr : not echo | grep.  Simplify regexps.
1326         * configure: Regenerate.
1327
1328         56 xm-files remain, 22 xm-arch.
1329
1330 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1331
1332         * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
1333         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
1334         (local_index, local_rindex): Delete, use strchr/strrchr instead.
1335         (copy_object): Fix format specifier vs argument mismatch.
1336
1337         * mips-tdump.c: Make local functions static.
1338         (rindex): Don't #undef.
1339         (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
1340         (fatal, fancy_abort): Delete.
1341         (read_seek): Avoid signed/unsigned compare.
1342
1343 Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1344
1345         * combine.c (try_combine): Fix error in change to try original
1346         register.
1347         (gen_rtx_combine): Do same as gen_rtx for now.
1348
1349 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
1350
1351         * configure.in: AC_SUBST xm_defines.
1352         * configure: Regenerate.
1353         * Makefile.in: Set DEFINES=$(xm_defines) when building
1354         tconfig.h.
1355
1356 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1357
1358         * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
1359         (cpp_included, find_include_file): Update.
1360         (_cpp_compare_file_date): Make else unconditional.
1361
1362 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
1363
1364         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
1365
1366 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
1367
1368         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
1369         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
1370
1371 Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
1372
1373         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
1374         if it's a record type.
1375
1376 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
1377
1378         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
1379         mingw includes slightly.
1380
1381 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1382
1383         * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
1384         #undef token before poisoning it.
1385
1386 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1387
1388         * alpha.c (check_float_value): Use memcpy, not bcopy.
1389
1390         * m32r.c (m32r_sched_reorder): Likewise.
1391
1392         * vax.c (check_float_value): Likewise.
1393
1394 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1395
1396         * toplev.c (file_name_nondirectory): Remove.
1397         * toplev.h: Similarly.
1398         * dwarf2out.c (compute_section_prefix): Use lbasename instead
1399         of file_name_nondirectory.
1400
1401 Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1402
1403         * mips-tdump.c (read_seek): Call xmalloc, not malloc.
1404         * mips-tfile.c: Don't #undef rindex; not used.
1405
1406 Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
1407
1408         * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
1409         (dbx64_register_map): Declare.
1410         (RETURN_ADDR_RTX): Fix for 64bit.
1411         (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
1412         (INCOMING_FRAME_SP_OFFSET): Set to 8.
1413         * i386.c (dbx64_register_map): New global array.
1414         * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
1415         linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
1416         for 64bits.
1417
1418 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1419
1420         * cppfiles.c (search_from): Use lbasename.
1421         * mkdeps.c (deps_add_default_target): Use lbasename.
1422
1423 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1424
1425         * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
1426         xcalloc in lieu of malloc, realloc & calloc.
1427
1428         * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
1429
1430         * gengenrtl.c (xmalloc): Likewise.
1431
1432         * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
1433         really_call_* memory allocation routines.
1434
1435         * stmt.c (check_for_full_enumeration_handling): Use
1436         really_call_calloc, not calloc.
1437
1438         * system.h (really_call_malloc, really_call_calloc,
1439         really_call_realloc): Define.
1440         (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
1441
1442 Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
1443
1444         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
1445
1446 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
1447
1448         * configure: Rebuilt.
1449         * configure.in: Only use `lang_requires' for languages athat are
1450         actually enabled.
1451
1452 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1453
1454         * invoke.texi: Fix typo.
1455         * gcc.1: Regenerate.
1456
1457 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
1458
1459         * configure.in: Prune nonexistent files from build_xm_file,
1460         xm_file, and host_xm_file lists.  Warn unless they're
1461         $cpu/xm-$cpu.h.
1462         Don't generate *config.h here.
1463         AC_SUBST all variables needed to generate *config.h.
1464         * configure: Regenerate.
1465         * mkconfig.sh: New helper script, from code removed from
1466         configure.in.
1467         * Makefile.in: Zap all MALLOC variables - no longer used
1468         anywhere, and malloc.c doesn't exist.
1469         Substitute in variables needed to generate *config.h.
1470         Stop lying about the dependencies contained in CONFIG_H and
1471         GCONFIG_H.
1472         (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
1473         (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
1474         cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
1475         (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
1476         $(TM_P_H), etc. as appropriate.
1477
1478         * config.gcc: Zap references to deleted files.
1479         * ggc-none.c: Don't include rtl.h or tm_p.h.
1480
1481         * config/i386/xm-beos.h, config/i386/xm-dgux.h,
1482         config/i386/xm-djgpp.h, config/i386/xm-dos.h,
1483         config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
1484         config/i386/xm-linux.h, config/i386/xm-linux.h,
1485         config/i386/xm-next.h, config/i386/xm-openbsd.h,
1486         config/i386/xm-sun.h, config/i386/xm-sysv3.h:
1487         Don't include i386/xm-i386.h.
1488
1489         * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
1490         config/i386/xm-i386.h, config/i860/xm-i860.h,
1491         config/i960/xm-i960.h, config/mcore/xm-mcore.h,
1492         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
1493         config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
1494         Delete (empty except comments, #includes of other deleted
1495         files, and macros used nowhere).
1496
1497 Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
1498
1499         * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
1500         independent on TARGET_FLAGS.
1501
1502 Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
1503
1504         * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
1505
1506         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
1507         extended ones.
1508         (CONDITIONAL_REGISTER_USAGE): Set proper values according to
1509         TARGET_64BIT.
1510         (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
1511         LAST_REX_SSE_REG): define.
1512         (enum reg_class): Add 'LEGACY_REGS'
1513         (REG_CLASS_CONTENTS): Likewise; add extended registers.
1514         (SSE_REGNO_P): Recognize extended registers.
1515         (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
1516         (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
1517         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
1518         REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
1519         (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
1520          REG_OK_FOR_STRREG_P): Remove.
1521         (HI_REGISTER_NAMES): Add extended registers.
1522         (ADDITIONAL_REGISTER_NAMES): Likewise.
1523         (QI_REGISTER_NAMES): Add 8bit extended registers.
1524         (DEBUG_REG): Support extended registers.
1525         * i386.c (regclass_map): Add extended registers.
1526         (dbx_register-map): Likewise.
1527         (svr4_dbx_register_map): Likewise.
1528         (print_reg): Support extended registers.
1529         (print_operand): Support 64bit operands.
1530
1531 Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
1532
1533         * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
1534         (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
1535          FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
1536          DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
1537         (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
1538          STACK_BOUNDARY): Set properly for 64bits.
1539         (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
1540         (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
1541         (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
1542         (MOVE_MAX): Set to 16.
1543         (MOVE_MAX_PIECES): 8 for 64bit.
1544         (Pmode): Set to SImode.
1545
1546 Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
1547
1548         * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
1549
1550 Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
1551
1552         * i386.h (mask_64bit): New constant.
1553         (target_64bit): New macro.
1554         (target_options): Add '64'/'32'
1555         (target_default): Define.
1556         * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
1557         isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
1558         unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
1559
1560 Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
1561
1562         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
1563
1564 Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
1565
1566         * rtlanal.c (rtx_varies_p): Check operand 0 of a
1567         LO_SUM unless for_alias is set.
1568
1569 2001-03-08  Stan Shebs  <shebs@apple.com>
1570
1571         * objc/objc-act.c: Fix old typos in comments, add comments for
1572         various functions.
1573         (hash_init): Fix file name in error message.
1574         (hash_enter): Ditto.
1575         (hash_add_attr): Ditto.
1576         (continue_class): Ditto.
1577
1578 2001-03-08  Bruce Korb  <bkorb@gnu.org>
1579
1580         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
1581         wait4() can receive the signal.
1582
1583 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1584
1585         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
1586         entities.
1587         * fixinc/fixincl.x: Regenerate.
1588
1589 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1590
1591         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
1592         on Tru64 UNIX.
1593         * fixinc/fixincl.x: Regenerate.
1594
1595 2001-03-08  Richard Henderson  <rth@redhat.com>
1596
1597         * configure.in (HAVE_AS_LEB128): New assembler check.
1598         * configure, config.in: Rebuilt.
1599
1600 Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
1601
1602         * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
1603         TFmode too.
1604
1605 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1606
1607         * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
1608         references to the MAXPATHLEN macro.
1609
1610         * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
1611         config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
1612         the POSIX macro.
1613
1614         * config/i386/xm-gnu.h, config/xm-gnu.h,
1615         config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
1616         config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
1617         config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
1618         and/or unused files.
1619
1620         * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
1621         doing so in various xm-*.h files.
1622
1623 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1624
1625         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
1626
1627 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
1628
1629         * configure.in (enable_shared): Support per-package shared-library
1630         enabling.
1631         * configure: Rebuilt.
1632
1633 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
1634
1635         * rs6000.md (cr logic): Add original POWER mnemonic alternative
1636         for crnot.  Set operands[5] in splitter.
1637
1638 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1639
1640         * config/i370/xm-mvs.h, config/i370/xm-oe.h,
1641         config/i386/xm-beos.h, config/i386/xm-mingw32.h,
1642         config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
1643         config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
1644         config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
1645         config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
1646         config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
1647         to the USG macro.
1648
1649         * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
1650         config/i370/xm-i370.h, config/i386/xm-dgux.h,
1651         config/i386/xm-sun.h, config/i386/xm-sysv3.h,
1652         config/m68k/xm-tower.h, config/m68k/xm-aux.h,
1653         config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
1654         config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
1655         config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
1656         config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
1657         config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
1658         config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
1659         Delete unused and/or empty files.
1660
1661         * config.gcc: Define USG in xm_defines as appropriate.  Define
1662         POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
1663         macro.  Remove deleted xm-* files from $xm_files variable.
1664
1665 2001-03-07  Tom Tromey  <tromey@redhat.com>
1666
1667         * configure: Rebuilt.
1668         * configure.in: Allow config-lang.in to set `lang_requires' to list
1669         of other required languages.
1670
1671 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
1672
1673         * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
1674         after its emitted.
1675         (output_prologue): Use xmalloc not oballoc.
1676         (output_epilog): Free a29k_first_epilogue_insn when finished.
1677         * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
1678
1679 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
1680
1681         * builtins.c (expand_builtin_mathfn): Check
1682         flag_unsafe_math_optimizations, not flag_fast_math.
1683         (expand_builtin): Likewise
1684         * combine.c (combine_simplify_rtx): Likewise.
1685         (simplify_if_then_else): Likewise.
1686         * cse.c (fold_rtx): Likewise.
1687         * flags.h: Remove flag_fast_math.  Add
1688         flag_unsafe_math_optimizations and flag_trapping_math.
1689         * fold-const.c (negate_expr): Check
1690         flag_unsafe_math_optimizations, not flag_fast_math.
1691         (invert_truthvalue): Likewise.
1692         (fold): Likewise.  Before associating operands, check that
1693         code == MULT_EXPR, not code != MULT_EXPR.
1694         * ifcvt.c (noce_try_minmax): Check
1695         flag_unsafe_math_optimizations, not flag_fast_math.
1696         (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
1697         * invoke.texi: Document -funsafe-math-optimizations and
1698         -fno-trapping-math.  Change documentation for -ffast-math.
1699         * jump.c (reversed_comparison_code_parts): Likewise.
1700         (rtx_equal_for_thread_p): Likewise.
1701         * optabs.c (emit_conditional_move): Likewise.
1702         * simplify-rtx.c (simplify_binary_operation): Likewise.
1703         (simplify_relational_operation): Likewise.
1704         (simplify_ternary_operation): Likewise.
1705         * toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
1706         flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
1707         Add trapping-math and unsafe-math-optimizations entries to f_options.
1708         (set_fast_math_flags): New, sets flags for -ffast-math.
1709         (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
1710         (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
1711         * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
1712
1713         * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
1714         (alpha_emit_conditional_move): Initialize local_fast_math to
1715         flag_unsafe_math_optimizations, not flat_fast_math.
1716         * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
1717         instead of setting flag_fast_math to 1.
1718         * config/convex/convex.md: Check flag_unsafe_math_optimizations,
1719         not flag_fast_math.
1720         * config/i386/i386.c (override_options): Likewise
1721         * config/i386/i386.md: Likewise.
1722         * config/m68k/m68k.md: Likewise.
1723         * config/mips/mips.md: Likewise.
1724         * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
1725         (rs6000_generate_compare): Likewise.
1726
1727 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
1728
1729         * Makefile.in: Set RANLIB to @RANLIB@.
1730         Remove RANLIB_TEST.
1731
1732 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
1733
1734         * fixinc/inclhack.def (djgpp_wchar_h): New test.
1735         * fixinc/fixincl.x: Regenerated.
1736
1737 2001-03-07  Richard Henderson  <rth@redhat.com>
1738
1739         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
1740
1741 2001-03-07  Richard Henderson  <rth@redhat.com>
1742
1743         * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
1744         of block notes and exception handling notes.
1745
1746         * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
1747         * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
1748         (compile_file): ... here.
1749
1750 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1751
1752         * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
1753
1754         * fixinc/gnu-regex.c: Don't include auto-host.h since we get
1755         config.h now.  Include libiberty.h to handle alloca.
1756
1757 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
1758
1759         * c-parse.in (yylexname): New function, split out of _yylex.
1760         (objc_rid_sans_at): New table.
1761         (init_reswords): Initialize it.
1762         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
1763         retrieving the next token and checking it for significance as
1764         an ObjC keyword or string constant.
1765
1766         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
1767         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
1768
1769         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
1770         to CPP_OSTRING.
1771
1772 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
1773
1774         * config/m68k/m68k.c (const_uint32_operand): Accept any
1775         const_int on a 32-bit host.
1776
1777 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
1778
1779         * objc/objc-act.c (init_objc): Set save_lang_status,
1780         restore_lang_status, and mark_lang_status.
1781
1782 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
1783
1784         * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
1785
1786 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
1787
1788         * cppinternals.texi: Update.
1789
1790 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1791
1792         * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
1793         config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
1794         config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
1795         config/convex/xm-convex.h, config/d30v/xm-d30v.h,
1796         config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
1797         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
1798         config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
1799         config/i386/xm-i386.h, config/i860/xm-i860.h,
1800         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
1801         config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
1802         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
1803         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
1804         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
1805         config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
1806         config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
1807         config/romp/xm-romp.h, config/rs6000/xm-beos.h,
1808         config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
1809         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1810         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
1811         config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
1812         config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
1813         match the defaults provided in hwint.h.
1814
1815         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
1816         config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
1817
1818         * config.gcc (xm_file): Don't set to files which are deleted.
1819
1820         * hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
1821         guard this file against these macros being undefined.
1822
1823 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
1824
1825         * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
1826         and DECL_DEFER_OUTPUT on the decl we create, before calling
1827         rest_of_decl_compilation.
1828
1829 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
1830
1831         * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
1832         AC_FUNC_ALLOCA.
1833         * configure, config.in: Regenerate.
1834         * config.gcc: Remove references to deleted files.
1835
1836         * genattr.c, genattrtab.c, genextract.c, genoutput.c,
1837         genrecog.c, rtl.c: Do not use alloca anywhere.
1838
1839         * Makefile.in, build-make, system.h, config/x-interix,
1840         config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
1841         config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
1842         config/arc/xm-arc.h, config/arm/xm-arm.h,
1843         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
1844         config/h8300/xm-h8300.h, config/i370/x-oe,
1845         config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
1846         config/i386/x-ncr3000, config/i386/x-sco5,
1847         config/i386/xm-dgux.h, config/i860/x-sysv4,
1848         config/i960/xm-i960.h, config/m32r/xm-m32r.h,
1849         config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
1850         config/m68k/x-hp320g, config/m69k/x-mot3300,
1851         config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
1852         config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
1853         config/m68k/xm-mot3300.h, config/m88k/x-dolph,
1854         config/m88k/x-sysv4, config/m88k/x-tekXD88,
1855         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
1856         config/mips/x-iris, config/mips/x-iris3,
1857         config/mips/x-sni-svr4, config/mips/x-sysv,
1858         config/mips/xm-iris6.h, config/mips/xm-mips.h,
1859         config/mips/xm-nws3250v4.h, config/pa/x-hpux,
1860         config/pa/x-pa-mpeix, config/pa/xm-pa.h,
1861         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
1862         config/pa/xm-papro.h, config/romp/xm-romp.h,
1863         config/rs6000/x-aix31, config/rs6000/x-aix41,
1864         config/rs6000/x-beos, config/rs6000/x-lynx,
1865         config/rs6000/x-mach, config/rs6000/x-rs6000,
1866         config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
1867         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1868         config/sparc/x-sysv4, config/sparc/xm-linux.h,
1869         config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
1870         config/vax/xm-vms.h: Eradicate all references to alloca and
1871         related stuff.
1872
1873         * config/xm-alloca.h, config/clipper/x-clix,
1874         config/i386/xm-sysv4.h, config/i860/x-fx2800,
1875         config/i860/x-sysv3, config/m88k/x-sysv3,
1876         config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
1877         (contained only alloca related hacks).
1878
1879         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
1880         USE_C_ALLOCA.
1881
1882 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
1883
1884         * invoke.texi: Document __FAST_MATH__.
1885
1886 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1887
1888         * crtstuff.c: Restore include of auto-host.h.
1889
1890 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
1891
1892         Put main() in a separate file, so that the language
1893         front-end can use a different main().
1894
1895         * main.c: New.
1896         * toplev.c: (main): Rename as toplev_main.
1897         * toplev.h: Declare toplev_main.
1898         * Makefile.in (OBJS): add toplev.o.
1899           (BACKEND): remove toplev.o, add main.o.
1900
1901 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
1902
1903         * cppfiles.c (search_from): Special case the empty string.
1904
1905 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
1906
1907         * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
1908         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
1909         strlen or strcpy; we already know the length.
1910         (_cpp_compare_file_date): Similarly.
1911         * cpphash.h (struct cpp_reader): Delete done_initialising.
1912         (CPP_PREV_BUFFER): Delete.
1913         * cppinit.c (cpp_start_read): Don't set done_initialising.
1914         * cpplex.c (parse_string): Guarantee null-termination.
1915         (_cpp_equiv_toklists): Remove.
1916         * cpplib.c (glue_header_name): Null-terminate.
1917         (do_line): Don't leak memory.
1918         * cpplib.h (BT_WEAK): Delete.
1919         * cppmain.c (cb_ident): Strings are now null-terminated.
1920
1921 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
1922
1923         * gcc.c (convert_filename): Append executable suffix
1924         if NO_AUTO_EXE_SUFFIX is not defined.
1925         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
1926         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
1927
1928 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
1929
1930         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
1931         * c-parse.gperf, c-gperf.h: Delete.
1932         (c-gperf.h was accidently re-added to the CVS repo in the rev
1933         1.16 commit by tromey)
1934
1935 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1936
1937         * cpplex.c (_cpp_lex_token): Don't warn about directives in
1938         macro arguments when looking for the '('.
1939         * cppmacro.c (funlike_invocation_p): Set parsing_args to
1940         2 when really parsing arguments; 1 when looking for '('.
1941         Always restore the lexer position.
1942
1943 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1944
1945         * longlong.h (umul_ppmm): Don't use a multiline string.
1946
1947 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1948
1949         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
1950         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
1951         t_bool in declaration because pcc can't combine volatile with typedef
1952         types.
1953
1954 Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
1955
1956         * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
1957         until when it is really needed.
1958         (ix86_expand_compare): Update call of ix86_expand_fp_compare.
1959         * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
1960         * i386.md (float?i?f splitter): Don't force source operand to memory
1961         for SSE.
1962         (sse_movdfcc): Fix constraint.
1963         (sse_movdfcc splitter): Handle properly the second alternative.
1964
1965 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1966
1967         * cpplex.c (parse_string): Unconditionally pedwarn.
1968
1969 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1970
1971         * cpp.texi: Update.
1972         * cppexp.c (parse_number): Update.
1973         * cpplex.c (parse_string): Pedwarn if multiline string does not
1974         result from a system header's macro.
1975         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
1976         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
1977         for function-like macros too.
1978         * c-lex.c (lex_number): Update.
1979
1980 2001-03-03  Richard Henderson  <rth@redhat.com>
1981
1982         * dwarf2out.c (output_call_frame_info): Fix augmentation length.
1983
1984 Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
1985
1986         * combine.c (try_combine): If split with mode-changed scratch
1987         register didn't work, try the original mode.
1988
1989 Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
1990
1991         * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
1992         * config/c4x/c4x.h: Likewise.
1993         * stor-layout.c (compute_record_mode): Likewise.
1994         (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
1995
1996 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
1997
1998         * configure.in: Kill tm.h.  Include the files in the $tm_file
1999         list in all three of config.h, hconfig.h, tconfig.h, after the
2000         relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
2001         three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
2002         * configure: Regenerate.
2003         * Makefile.in (clean): Don't delete tm.h.
2004
2005         * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
2006         defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
2007         those are not defined, set SEC and FEC to 0 and 1.
2008         * gcc.texi: Update to match.
2009
2010         * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
2011         * config/fp-bit.c, config/m68k/aux-crt2.asm,
2012         config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
2013         Include tconfig.h, not tm.h.
2014
2015         * config/xm-lynx.h, config/xm-std32.h,
2016         config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
2017         config/alpha/xm-alpha.h, config/arc/xm-arc.h,
2018         config/avr/xm-avr.h, config/c4x/xm-c4x.h,
2019         config/clipper/xm-clix.h, config/convex/xm-convex.h,
2020         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
2021         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
2022         config/h8300/xm-h8300.h, config/i370/xm-linux.h,
2023         config/i386/xm-i386.h, config/i860/xm-i860.h,
2024         config/i960/xm-i960.h, config/ia64/xm-ia64.h,
2025         config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
2026         config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
2027         config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
2028         config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
2029         config/pa/xm-linux.h, config/pa/xm-pa.h,
2030         config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
2031         config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
2032         config/pj/xm-pj.h, config/romp/xm-romp.h,
2033         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
2034         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
2035         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
2036         config/v850/xm-v850.h, config/vax/xm-vax.h,
2037         config/we32k/xm-we32k.h:
2038         Don't include tm.h.
2039         Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
2040
2041         * config/i370/xm-i370.h, config/i370/xm-mvs.h,
2042         config/i370/xm-oe.h: Don't include tm.h.  Don't define
2043         SUCCESS_EXIT_CODE.
2044         * config/vax/xm-vms.h: Don't include tm.h.
2045
2046         * config/xm-lynx.h, config/avr/xm-avr.h,
2047         config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
2048         Delete; made empty by above changes.
2049         * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
2050         config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
2051         Don't include config/xm-lynx.h or tm.h.
2052
2053         * config/xm-gnu.h: Don't include fcntl.h.
2054         * config/sparc/xm-lynx.h: Don't include sys/types.h and
2055         sys/wait.h.
2056         * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
2057
2058 2001-03-02  Richard Henderson  <rth@redhat.com>
2059
2060         * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
2061         UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
2062
2063 2001-03-02  Richard Henderson  <rth@redhat.com>
2064
2065         * Makefile.in (OBJS): Add dwarf2asm.o.
2066         * dwarf2asm.c, dwarf2asm.h: New files.
2067         * dwarf2out.c (*): Use them.
2068         (size_of_uleb128, size_of_sleb128): Remove.
2069         (output_uleb128, output_sleb128): Remove.
2070         (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
2071         (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
2072         (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
2073         (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
2074         (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
2075         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
2076         (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
2077         (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
2078         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
2079         (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
2080         (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
2081         (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
2082         (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
2083         (dwarf2out_frame_debug): Remove unused variables.
2084         (output_loc_operands): Don't abort on 8 byte constants if
2085         host integers are wide enough.
2086         (output_symbolic_ref): Remove.
2087         (size_of_die): Don't assume 4 byte host integers.
2088         (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
2089         and end labels.
2090         (add_const_value_attribute) [CONST_INT]: Verify we're not doing
2091         something stupid with HOST_WIDE_INT to long truncation.
2092         [CONST_DOUBLE]: Likewise.
2093
2094         * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
2095         (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
2096         * config/arm/unknown-elf.h: Likewise.
2097         * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
2098         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
2099         (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
2100         (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
2101         (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
2102         (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
2103         (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
2104         (ASM_OUTPUT_DWARF_OFFSET): Remove.
2105         * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
2106         * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
2107         (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
2108         (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
2109
2110 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2111
2112         * cselib.c (hash_rtx): Cast enums to unsigned int.
2113
2114 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2115
2116         * print-rtl.c (print_rtx): Cast enums to int for comparison.
2117         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
2118         shifts.
2119         * c-format.c (C_STD_VER): Cast to int for comparisons.
2120         (check_function_format): Cast various enums to int for &.
2121         (maybe_read_dollar_number): Likewise.
2122         (check_format_info): Likewise.
2123         (check_format_info_main): Likewise.
2124         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
2125         (safe_from_p): Likewise.
2126         * varasm.c (const_hash): Cast enum to int for %.
2127         * emit-rtl.c (init_emit_once): Use int loop variable to work around
2128         pcc enum problems with < and ++ operators.
2129         * regclass.c (init_reg_sets_1): Cast enums for comparison.
2130         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
2131         (regclass_init): Change enum class to int to iterate over reg_classes.
2132         * genrecog.c (merge_trees): Cast enums for comparison.
2133         * rtl.h (GET_CODE): Cast to enum rtx_code.
2134         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
2135         (GET_MODE): Cast to enum machine_mode.
2136         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
2137         (GET_NOTE_INSN_NAME): Cast enum to int.
2138         * tree.h (TREE_CODE): Cast to enum tree_code.
2139         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
2140         * timevar.c (timevar_print): Change loop variable id from enum to
2141         unsigned int.
2142         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
2143         * config/i386/i386.md: Use PUT_MODE for mode assignment.
2144         * toplev.c (compile_file): Cast enum DFI to int.
2145         (decode_d_option): Likewise.
2146
2147 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
2148
2149         * cppinit.c (append_include_chain): Mark "after" include file name list
2150         as a system directory.
2151         * cpp.texi: Document new behavior.
2152
2153 Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
2154
2155         * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
2156
2157 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2158
2159         * cppfiles.c (struct include_file): Update.
2160         (stack_include_file): Use search_from.
2161         (cpp_included, find_include_file): Update.
2162         (cpp_execute_include): Update.  ptr->name may not be
2163         null terminated.  Use the new search_from member variable
2164         of cpp_buffer.
2165         (_cpp_compare_file_date): Similarly.
2166         (search_from): New function, similiar to actual_directory.
2167         (actual_directory): Delete.
2168         (remap_filename): Update.  loc->name may not be null terminated.
2169         (struct file_name_list): Rename search_path.  Update.
2170         * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
2171         search_from and dir.
2172         (struct cpp_reader): Remove actual_dirs.
2173         * cppinit.c (struct cpp_pending): Update for renamed objects.
2174         (append_include_chain, remove_dup_dir, remove_dup_dirs,
2175         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
2176         * cpplib.h (struct cpp_options): Similarly.
2177
2178 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
2179
2180         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
2181         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
2182         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
2183         config/clipper/xm-clix.h, config/convex/xm-convex.h,
2184         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
2185         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
2186         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
2187         config/i370/xm-linux.h, config/i370/xm-mvs.h,
2188         config/i370/xm-oe.h, config/i386/xm-aix.h,
2189         config/i386/xm-i386.h, config/i386/xm-osf.h,
2190         config/i860/xm-i860.h, config/i960/xm-i960.h,
2191         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
2192         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
2193         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
2194         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
2195         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
2196         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
2197         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
2198         config/pj/xm-pj.h, config/romp/xm-romp.h,
2199         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
2200         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
2201         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
2202         config/v850/xm-v850.h, config/vax/xm-vax.h,
2203         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
2204         Do not define TRUE or FALSE.
2205
2206         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
2207         empty by above change.
2208         * config.gcc: Remove references to these files.
2209
2210         * configure.in: Detect stdbool.h.
2211         * configure, config.in: Regenerate.
2212         * system.h: Include stddef.h here if available.
2213         Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
2214         Then set up a sensible boolean type at the very end.
2215
2216         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
2217         config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
2218
2219         * hash.h: Delete 'boolean' typedef and related #undefs.
2220
2221         * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
2222         all uses of 'boolean' with 'bool'.
2223
2224 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2225
2226         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
2227         * cppexp.c (lex): Cast enums for comparison.
2228         * cppinit.c (parse_option): Cast enum for comparison.
2229         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
2230         (cpp_output_token): Likewise.
2231         (cpp_can_paste): Cast enums for comparsion and plus/minus.
2232         (cpp_avoid_paste): Cast enums for minus and comparison.
2233
2234 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
2235
2236         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
2237         field to all array elements.
2238
2239 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
2240
2241         * cpphash.h (struct cpp_reader): Add print_version field.
2242         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
2243         just set print_version and other flags as appropriate.
2244         (cpp_post_options): Print version here if print_version is set.
2245
2246         * toplev.c (exit_after_options): New flag.
2247         (independent_decode_option): Don't exit here; just set
2248         exit_after_options.
2249         (main): Exit after calling lang_hooks.post_options if
2250         exit_after_options is true.
2251
2252         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
2253         (merge_include_chains): Adjust comment to match code.
2254
2255 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
2256
2257         * stringpool.c (set_identifier): New function.
2258         * tree.h: Prototype it.
2259
2260         * c-parse.in: Kill D_YES. If compiled for objc, call
2261         save_and_forget_protocol_qualifiers from init_reswords.
2262         * objc/objc-act.c (remember_protocol_qualifiers,
2263         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
2264         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
2265         vice versa.
2266         (save_and_forget_protocol_qualifiers): New function.
2267         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
2268
2269 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
2270
2271         * c-semantics.c (prune_unused_decls): Return error_mark_node
2272         instead of (tree) 1 to stop traversing the tree chain.
2273
2274 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
2275
2276         Fix a problem introduced by Kenner's Feb 18 change.
2277         * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
2278         flag_cse_skip_blocks only temporarily, not for ever.
2279
2280 Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
2281
2282         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
2283         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
2284
2285         * pa.c (emit_move_sequence): Verify operand0 is a hard register
2286         before determining its register class.
2287
2288 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
2289
2290         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
2291         from reg 4 if current_function_calls_setjmp.
2292         (gen_nop_type): New function.
2293         (ia64_emit_nops): New function.
2294         (ia64_reorg): Call it.
2295         (ia64_sched_reorder): Move code that rotates bundles up a bit.
2296
2297         * reload1.c (eliminate_regs_in_insn): Restrict the special case
2298         code not to try to optimize adds with anything but a REG destination.
2299
2300         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
2301         (INSN_PRIORITY_KNOWN): New accessor macro.
2302         * haifa-sched.c (priority): Use it instead of testing priority against
2303         zero.
2304
2305 2001-02-28  DJ Delorie  <dj@redhat.com>
2306
2307         * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
2308         since that doesn't work the way gcc wants on a generic m68k.
2309
2310 2001-02-28  Richard Henderson  <rth@redhat.com>
2311
2312         * caller-save.c (save_call_clobbered_regs): Fix typo in
2313         comparison last change.
2314
2315 Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
2316
2317         * i386.c (pentium4_cost): New.
2318         (m_PENT4): New macro.
2319         (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
2320         x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
2321         x86_integer_DFmode_moves, x86_partial_reg_dependency,
2322         x86_memory_mismatch_stall): Add Pentium4
2323         (x86_use_q_reg, x86_use_any_reg): Kill.
2324         (override_options): Add pentium4.
2325         (incdec_operand): Return 0 for pentium4.
2326         (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
2327         * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
2328         (TARGET_PENTIUM4): Define.
2329         (enum processor_type): Add PROCESSOR_PENTIUM4.
2330         (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
2331         * i386.md (attribute "cpu"): Add pentium4.
2332         * invoke.texi (march): Add pentium4.
2333
2334 Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
2335
2336         * i386.md (sse_mov?fcc*): New patterns and splitters.
2337         * i386.c (ix86_expand_movcc): Work post-reload; recognize
2338         the SSE based conditional moves.
2339
2340 Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
2341
2342         * i386.md (attribute mode): Add "TI".
2343         (movsf_1): Add pxor support; remove constant propagation splitter.
2344         (movdf_integer): Likewise.
2345         (movdf_nointeger): Likewise.
2346         (movxf constant prop splitter): Handle all modes; update for SSE.
2347         * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
2348         * i386.c (standard_80387_constant_p): Rewrite.
2349         (standard_sse_constant_p): New.
2350         * i386-protos.h (standard_sse_constant_p): New.
2351
2352 Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2353
2354         * i386.md (sse_setccsf, sse_setccdf): New.
2355         (sse_cmp* patterns): Use '%D' instead of outputtting condition
2356         flag directly.
2357         * i386.c (sse_comparison_operator): Accept the supported unordered
2358         comparses; be ready for fast_math.
2359         (print_operand): Support 'D'.
2360
2361 Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
2362
2363         * jump.c (reversed_comparison_code): Kill.
2364
2365 Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
2366
2367         * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
2368         for STACK_REGS
2369
2370 Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2371
2372         * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
2373         add missing '%' in constraints.
2374
2375 Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
2376
2377         * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
2378         for HOST_BITS_PER_WIDE_INT == 32 too.
2379
2380 Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
2381
2382         * caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
2383         NREGS.
2384         (insert_save, insert_restore): New parameter save_mode.
2385         (init_caller_save): Update initialization of reg_save_code
2386         and reg_restore_code.
2387         (save_call_clobbered_regs):  Compute save_modes and update calls to
2388         reg_save_code and reg_restore_code.
2389         (insert_restore):  Unsignetize numbers; use save_modes to choose mode
2390         of spill; update use of reg_restore_code.
2391         (insert_save):  Likewise.
2392         * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
2393         * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
2394         * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
2395
2396 Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
2397
2398         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
2399         noce_try_store_flag_inc, noce_try_store_flag_mask,
2400         noce_try_cmove_arith):
2401         Use reversed_comparison_code instead of reverse_comparison and
2402         can_reverse_comparison_p.
2403
2404 Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
2405
2406         * jump.c (reversed_comparison_code_parts): Allow reversal of
2407         unordered compares in -ffast-math mode; reverse ordered compares
2408         for FP even w/o -ffast-math.
2409
2410 2001-02-27  Richard Henderson  <rth@redhat.com>
2411
2412         * print-rtl.c (print_rtx) [i]: Don't print field five on
2413         NOTEs other than NOTE_INSN_DELETED_LABEL.
2414
2415 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
2416
2417         * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
2418         * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
2419
2420 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
2421
2422         * c-common.c (walk_stmt_tree): Visit the chain of the current tree
2423         even if walk_subtrees is 0.
2424         * c-semantics.c (prune_unused_decls): Return a non-null value to
2425         stop traversing the tree chain.
2426
2427 2001-02-27  DJ Delorie  <dj@redhat.com>
2428
2429         * config/m68k/m68k.c (output_function_prologue): Save the new CFA
2430         register, *then* define it as the new CFA.
2431
2432 Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
2433
2434         * pa.c (override_options): Promote -fpic to -fPIC.
2435         (legitimize_pic_address): Simplify due to removal of
2436         small PIC as a code generation option.
2437         (secondary_reload_class): Similarly.
2438         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
2439         (PRINT_OPERAND_ADDRESS): Similarly.
2440         * pa.md (various patterns): Similarly.
2441         (small pic lo_sum pattern): Remove.
2442
2443 Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
2444                               Fergus Henderson
2445
2446         * md.texi (min, max): Document
2447
2448 Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
2449
2450         * i386.md (movsf, movdf): Use movaps for reg-reg moves if
2451         TARGET_PARTIAL_REG_DEPENDENCY.
2452         (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
2453
2454 Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
2455
2456         * i386.md (mins*, maxs*): New patterns, expanders and splitters.
2457
2458 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
2459
2460         * mips.c (mips_make_temp_file): Fix thinko in last change.
2461
2462 2001-02-26  Jason Eckhardt  <jle@redhat.com>
2463
2464         * combine.c (known_cond): Do not reverse the condition when
2465         SMAX/UMAX is being considered and the condition is for equality
2466         or inequality.
2467
2468         * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
2469
2470 2001-02-26  Philip Blundell  <philb@gnu.org>
2471
2472         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
2473         "armv2-*-linux".
2474         * config/arm/linux-elf.h: Remove historical relics related to
2475         above configurations.
2476         * config/arm/linux-oldld.h: Delete.
2477         * config/arm/linux-elf26.h: Delete.
2478
2479 2001-02-26  Jason Merrill  <jason@redhat.com>
2480
2481         * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
2482         definitions.
2483         * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
2484         recognize a tentative definition.  Lose obsolete code.
2485
2486         * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
2487         variables unless necessary, either.
2488
2489 2001-02-25  Richard Henderson  <rth@redhat.com>
2490
2491         * ifcvt.c (struct noce_if_info): Add test_bb.
2492         (noce_get_alt_condition): New.
2493         (noce_try_minmax, noce_try_abs): New.
2494         (noce_operand_ok): New.
2495         (noce_process_if_block): Use them.
2496         * rtlanal.c (may_trap_p): NEG and ABS can never trap.
2497
2498 Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
2499
2500         * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
2501         include.
2502
2503 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
2504
2505         * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
2506         * config/mips/mips.c (mips_make_temp_file): Set temp_filename
2507         properly.
2508         (mips_asm_file_end): Free temp_filename here.
2509
2510 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2511
2512         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
2513         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
2514
2515         * config/i386/i386.md (movstrsi): Handle FAIL case.
2516
2517 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
2518
2519         * cppinit.c (builtin_array): Update.
2520         (init_builtins): Flag builtins to warn if redefined or
2521         undefined.  Define __GXX_WEAK as a normal macro.
2522         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
2523         * cpplib.h (NODE_WARN): New flag.
2524         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
2525         Handle __STDC__ as a builtin only on Solaris.
2526         (warn_of_redefinition): Renamed from check_macro_definition.
2527         Reverse sense of test.  Always warn if NODE_WARN.
2528         (_cpp_create_definition): Use warn_of_redefinition.  Flag
2529         any macro beginning with "__STDC_" to require a mandatory
2530         warning if redefined or undefined.
2531
2532 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
2533
2534         * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
2535         i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
2536         i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
2537         i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
2538         m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
2539         mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
2540         Don't define any of:
2541         USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
2542         P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
2543         NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
2544         index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
2545         STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
2546
2547         * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
2548         fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
2549         definitions.
2550
2551         * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
2552         Delete now-empty file.
2553
2554         * alpha/vms.h: Define NEED_ATEXIT here...
2555         * alpha/xm-vms.h: ...not here.
2556
2557         * i386/cygwin.h: Don't define PARAMS.
2558         * mips/mips.c: Don't prototype mktemp.  Don't define
2559         P_tmpdir.  Use make_temp_file to create temporary files.
2560         Don't be clever and delete temporary files early.
2561         * config.gcc: Drop references to deleted files.  Don't define
2562         FULL_PROTOTYPES.
2563         * gcc.texi: Don't mention USE_PROTOTYPES.
2564
2565 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2566
2567         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
2568         (ix86_set_move_mem_attrs_1): Likewise.
2569         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
2570         * config/i386/i386.md (movstrsi): Call it.
2571
2572 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
2573
2574         * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
2575         x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
2576         ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
2577         rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
2578
2579         (i750a-*-*): Error here if hosting on i750a.
2580         (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
2581
2582         * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
2583         Remove (empty modulo comments).
2584
2585         * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
2586         alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
2587         i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
2588         i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
2589         mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
2590         rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
2591
2592         * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
2593         Remove reference to winnt.h in comment.
2594         * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
2595
2596 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2597
2598         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
2599         used to set another biv.
2600
2601 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2602
2603         * tree.h (BLOCK_DEAD): New macro.
2604         (struct tree_block): New flag, dead_flag.
2605         * print-tree.c (print_node, case 'b'): Print missing fields.
2606         * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
2607         * function.c (identify_blocks): Enable test for misplaced notes.
2608         (all_blocks): Skip BLOCK_DEAD blocks.
2609         * integrate.c (integrate_decl_tree): Likewise.
2610
2611         * errors.c (internal_error, trim_filename): New functions.
2612         (fancy_abort): Call internal_error.
2613         * errors.h (internal_error, trim_filename): New declarations.
2614
2615 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
2616
2617         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
2618         2000-08-26's patch.
2619         (EXTRA_CONSTRAINT): Formatting changes.
2620
2621 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2622
2623         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
2624
2625 2001-02-23  Per Bothner  <per@bothner.com>
2626
2627         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
2628         so they can be called from java/jvspec.c.
2629         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
2630
2631 Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
2632
2633         * i386.c (ix86_frame): New structure.
2634         (ix86_compute_frame_size): Kill.
2635         (ix86_compute_frame_layout): New.
2636         (ix86_save_reg): New.
2637         (ix86_can_use_return_insn_p): Use frame layout stuff.
2638         (ix86_expand_prologue): Likewise.
2639         (ix86_expand_epilogue): Likewise.
2640         (ix86_initial_elimination_offset): Likewise.
2641         (ix86_nsaved_regs): Use ix86_save_reg.
2642         (ix86_emit_save_regs): Likewise.
2643
2644 Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
2645
2646         * flow.c (find_sub_basic_blocks): New function.
2647         (split_block): Be ready for basic block introduced by CODE_LABEL.
2648         (commit_one_edge_insertion): Call find_sub_basic_block.
2649
2650         * flow.c (make_edges): Add edge from entry for blocks starting with
2651         label having ALTERNATE_NAME
2652
2653 Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
2654
2655         * function.c (epilogue_done): Be ready for first basic block not
2656         containing PROLOGUE_END note.
2657         (reposition_prologue_and_epilogue_notes): Avoid placing
2658         PROLOGUE_END note between BASIC_BLOCK.
2659
2660 Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
2661
2662         * loop.c (canonicalize_condition): Move to reversed_comparison_code.
2663
2664 2001-02-21  DJ Delorie  <dj@redhat.com>
2665
2666         * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
2667         check for current_function_has_nonlocal_goto from 1999-11-12.
2668
2669 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2670
2671         * diagnostic.c (trim_filename): No longer static.
2672         * toplev.h (trim_filename): Declare.
2673         * rtl.c (rtl_check_failed_bounds): Call internal_error.
2674         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
2675         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
2676         (rtvec_check_failed_bounds): Likewise.
2677         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
2678
2679         * convert.c (convert_to_integer): Don't do unsigned unless result or
2680         both inputs are unsigned.
2681
2682         * fold-const.c (fold_convert): Don't call size_int_type_wide if
2683         input overflows.
2684
2685         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
2686
2687         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
2688
2689 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
2690
2691         * Makefile.in (resource.o): Add params.h dependence.
2692         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
2693         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
2694         * resource.c: Add dependence on params.h.
2695         (current_live_regs): Fix explanatory comment.
2696         (find_basic_block): Add new parameter to permit limiting search
2697         for a BARRIER.
2698         (mark_target_live_regs): Add new argument to find_basic_block call.
2699         (incr_ticks_for_insn): Likewise.
2700
2701 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
2702
2703         * diagnostic.c (output_to_stream): Rename to
2704         output_buffer_to_stream. Loses the stream parameter.
2705         (init_output_buffer): Set diagnosic_buffer's stream.
2706         (flush_diagnostic_buffer): Adjust.
2707         (default_print_error_function): Likewise.
2708         (finish_diagnostic): Likewise.
2709         (verbatim): Likewise.
2710
2711         * diagnostic.h (struct output_buffer): Add `stream' field.
2712         (output_buffer_attached_stream): New macro.
2713
2714 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
2715
2716         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
2717         check if either operand is divisible by C.
2718         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
2719         If type is signed, consider negative numbers as well.
2720
2721 2001-02-22  Richard Henderson  <rth@redhat.com>
2722
2723         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
2724         reach .text instead of gp-relative relocs.
2725         * config/ia64/crtend.asm (.init): Likewise.
2726
2727 2001-02-22  Andreas Jaeger  <aj@suse.de>
2728
2729         * extend.texi (C++ Attributes): Fix typo.
2730
2731 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
2732
2733         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
2734         functions, drop current_function_args_info.words test.
2735         (ia64_compute_frame_size): Mark syscall_linkage functions as
2736         using eight input registers.
2737
2738 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
2739         Bruce Korb  <bkorb@gnu.org>
2740
2741         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
2742         * fixinc/README: Document how to convert sed substitutions
2743         to format style c_fix-es.
2744         * fixinc/fixincl.x: regen
2745
2746 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
2747
2748         * gcc.c: Add comment explaining how to add a command-line option.
2749         Add title to specs language comment.
2750
2751 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
2752
2753         * gcc.c (cc1_options): Add "-param".
2754         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
2755         (option_map): Likewise.
2756         * toplev.c (display_help): Add entry for "--param".
2757         (independent_decode_option): Fix typographical error.
2758
2759 Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
2760                               Bernd Schmidt  <bernds@redhat.com>
2761                               Jan Hubicka  <jh@suse.cz>
2762
2763         * i386.c (function_arg_advance):  Pass SSE arguments in registers.
2764         (function_arg): Likewise.
2765
2766 Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
2767
2768         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
2769
2770 2001-02-21  Kazu Hirata  <kazu@hxi.com>
2771
2772         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
2773         character.
2774         (xorsi3): Likewise.
2775
2776 Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
2777
2778         * flow.c (init_propagate_block_info): Canon address and use single_set
2779         for killing dead memory stores.
2780
2781 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
2782
2783         * Makefile.in (reorg.o): Add params.h dependence.
2784         * params.def: Fix typographical error in comment.
2785         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
2786         * params.h: Modify introductory comment.
2787         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
2788         * reorg.c: Add dependence on params.h.
2789         (redundant_insn): Add parameterized throttle for search.
2790         (fill_simple_delay_slots): Add a comment explaining a variable.
2791         Move conditional out of loop, simplifying code.
2792         (fill_eager_delay_slots): Fix typographical error in comment.
2793
2794 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
2795
2796         * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
2797
2798         * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
2799         (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
2800
2801 2001-02-21  Jason Merrill  <jason@redhat.com>
2802
2803         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
2804         (struct tree_decl): Add uninlinable bitfield.
2805         * c-decl.c (duplicate_decls): Set it.
2806         * integrate.c (function_cannot_inline_p): Check it.
2807
2808         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
2809         DW_AT_MIPS_linkage_name to abstract methods.
2810         (dwarf2out_abstract_function): Emit class context before calling
2811         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
2812         (gen_subprogram_die): Remove obsolete code.
2813         (gen_member_die): Don't include clones in the member list.
2814         (gen_decl_die): Emit abstract info for clone origin.
2815         * dwarfout.c (output_type): Don't include clones in the member list.
2816         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
2817         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
2818         DECL_ABSTRACT on a function that already has it set.
2819
2820         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
2821         (get_subprogram_die): Pass it in.
2822
2823 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
2824
2825         * flow.c (mark_set_1): Make not_dead unsigned long.  For
2826         non-pseudos, use it as a bitmask of the hard regs that
2827         don't die.
2828
2829 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
2830
2831         * cppfiles.c: Update comments.
2832         (_cpp_read_file): Don't check for NULL filenames any more.
2833         * cppinit.c (cpp_start_read): Don't do canonicalization of
2834         in_fname and out_fname.  Use the passed file name exclusively.
2835         (_cpp_handle_options): Don't treat "-" as a command line option,
2836         but as a normal filename.
2837         (_cpp_post_options): Canonicalize in_fname and out_fname.
2838         * cppmain.c (printer_init): Don't check out_fname for NULL.
2839         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
2840         (init_c_lex): Update, and use "" to represent stdin to CPP.
2841         (yyparse): Update.
2842
2843 2001-02-20  Will Cohen  <wcohen@redhat.com>
2844
2845         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
2846         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
2847         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
2848         fixunstfsi_libfunc.
2849
2850 2001-02-20  Stan Shebs  <shebs@apple.com>
2851
2852         * config/rs6000/rs6000.c (output_cbranch): Output branches
2853         on separate lines instead of using ';' to separate.
2854
2855 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
2856
2857         * cppinit.c (set_lang):  Move builtin handling to...
2858         (init_builtins): ...here.
2859         (_cpp_create_reader): Move call to set_lang.
2860
2861 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
2862
2863         * stmt.c (expand_return): If an attempt is made to return the
2864         error_mar_node, treat the return like a return without a value.
2865
2866 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
2867
2868         * sibcall.c (skip_copy_to_return_value): Call
2869         identify_call_return_value here, and return orig_insn if it
2870         returns zero.  Hardret and softret arguments now unnecessary.
2871         (call_ends_block_p): Don't call identify_call_return_value here.
2872
2873         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
2874         's' slots in RTXen.
2875         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
2876         * ggc.h (ggc_mark_if_gcable): Delete prototype.
2877
2878 Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
2879
2880         * pa.c (move_operand): Accept code to load the address of a
2881         symbol out of the DLT as a valid move operand.
2882         (print_operand, case 'A'): New to handle generating a DLT
2883         reference for a LO_SUM expression.
2884         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
2885         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
2886
2887 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2888
2889         * README, cpp.texi, gcc.texi, version.c: Update version number to
2890         3.1.
2891         * cpp.1, gcov.1, gcc.1: Regenerate.
2892
2893 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
2894
2895         * cppfiles.c (stack_include_file): Generate dependencies
2896         here, and manage include_count here too.
2897         (PRINT_THIS_DEP): Delete.
2898         (_cpp_execute_include): Do not generate dependencies here,
2899         apart from the case of a missing header.  Do not manage
2900         include_count.
2901         (_cpp_read_file): Leave dependency generation to
2902         stack_include_file.
2903
2904 Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
2905
2906         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
2907         target_cpu_default.  Remove dead assignment to
2908         target_cpu_default.
2909
2910 Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
2911
2912         * regclass.c (contains_reg_of_mode): Make global.
2913         (init_reg_sets): Remove contains_reg_of_mode; take into account
2914         CLASS_MAX_NREGS when looking for the proper mode.
2915         (dump_regclass): Dump only classes considered for the pseudo.
2916         (regclass): Use contains_reg_of_mode.
2917
2918 Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
2919
2920         * gcc.c (do_spec_1): 'n' for printing notices.
2921         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
2922
2923 Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
2924
2925         * reg-stack.c (next_flags_user): Use current_block->end
2926         (swap_rtx_condition): Look for next user if flags don't die;
2927         give up on CALL_INSNs; use current_block->end.
2928
2929 Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2930
2931         * sibcall.c (call_ends_block_p): New function.
2932         (optimize_sibling_and_tail_recursive_call): Use it.
2933
2934 2001-02-18  Kazu Hirata  <kazu@hxi.com>
2935
2936         * config/h8300/h8300.md: Update copyright.
2937         (andsi3): Do not output an extra newline character.
2938
2939 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2940
2941         * toplev.c (note_deferral_of_defined_inlined_function): Argument
2942         FNDECL may be unused.
2943
2944         * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
2945         follow jumps after first run.
2946         If -fexpensive-optimizations rerun CSE after GCSE and iterate until
2947         it doesn't change any jumps.
2948
2949 Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
2950
2951         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
2952         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
2953         (mostlyclean): Corresponding changes.
2954         * rtlanal.c (hard-reg-set.h): Include.
2955         (rtx_unstable_p): Do not treat the argument pointer specially
2956         if it is not a fixed register.
2957         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
2958
2959 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2960
2961         * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
2962         against last real insn in basic block.
2963         Rework to avoid gotos.
2964
2965         * Makefile.in (gcse.o): Now includes ggc.h.
2966         * gcse.c: Include ggc.h.
2967         (want_to_gcse_p): Verify expression can be in SET as valid insn.
2968         (try_replace_reg): Remove warning of uninitialize variable.
2969         (process_insert_insn): Call invalid_insn_p to validate insn.
2970         * recog.c (insn_invalid_p): Now global.
2971         See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
2972         * recog.h (insn_invalid_p): New declaration.
2973
2974         * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
2975
2976         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
2977         assignments from FP constants since 'Y' output code can't handle it.
2978         (eligible_for_sibcall_delay): Likewise.
2979
2980         * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
2981         Call fancy_abort directly, passing args.
2982         (print_rtl_and_abort): Now a macro, like fancy_abort.
2983
2984         * final.c (output_operand_lossage): Use internal_error, not error.
2985
2986 2001-02-18  Shane Nay  <shane@agendacomputing.com>
2987
2988         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
2989         structure shift insns.
2990
2991 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
2992
2993         * invoke.texi (-fsquangle): Remove documentation.
2994         (-fname-mangling-version): Likewise.
2995
2996 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
2997
2998         * optabs.c (expand_abs): Remove reference to
2999         HAVE_contitional_arithmetic.
3000         * combine.c (simplify_set): Likewise.
3001
3002 2001-02-18  Richard Henderson  <rth@redhat.com>
3003
3004         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
3005         would be disrupted.
3006
3007 2001-02-18  Richard Henderson  <rth@redhat.com>
3008
3009         * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
3010
3011         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
3012
3013         * reload1.c (reload_cse_simplify_set): Fix typo.
3014
3015 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3016
3017         * diagnostic.c (_fatal_insn): Decrement errorcount.
3018
3019         * invoke.texi (-I): Add note avoiding use for system header files.
3020
3021         * rtl.h (add_clobbers): Remove duplicate declaration.
3022         * recog.h (added_clobbers_hard_reg_p): New declaration.
3023         * genemit.c (struct clobber_pat): New field has_hard_reg.
3024         (gen_insn): Record if added clobbers clobber hard reg.
3025         (gen_split): Avoid unused warning if number of operands is 0.
3026         (output_added_clobbers_hard_reg_p): New function.
3027         (main): Call it.
3028
3029 2001-02-18  Alan Modra <alan@linuxcare.com.au>
3030
3031         * pa.c (hppa_expand_prologue): Simplify code storing return
3032         pointer.  For large (>=8k) frames with a post_store, adjust stack
3033         pointer by 8k-64 first rather than by 64.  When testing with
3034         VAL_14_BITS_P, always use the actual value rather than the value
3035         negated.  Add blockage to prevent scheduling of spills before
3036         stack frame has been created.
3037         (hppa_expand_epilogue): Simplify code loading return pointer.
3038         Allow a slightly larger range for merge_sp_adjust_with_load case.
3039         When testing with VAL_14_BITS_P, always use the actual value.
3040
3041         * pa.c (pa_adjust_insn_length): Check that block move
3042         pattern is a set before looking at operands.
3043
3044 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
3045
3046         * fold-const.c (fold_binary_op_with_conditional_arg): New
3047         function, split out from ...
3048         (fold): ... here.
3049         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
3050         conditional arms that throw exceptions.
3051
3052         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
3053         looking at a BLOCK.
3054
3055 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3056
3057         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
3058         define HAVE_DECL_* to 1 to mask potential backup declarations.
3059         * configure: Regenerated.
3060
3061 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
3062
3063         * invoke.texi (-Woverloaded-virtual): Clarify documentation.
3064
3065 2001-02-17  Richard Henderson  <rth@redhat.com>
3066
3067         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
3068         when replacing a memory load with a register.
3069
3070 Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3071                           Jan Hubicka  <jh@suse.cz>
3072
3073         * recog.c (validate_replace_src_1): New.
3074         (validate_replace_src_data): Likewise.
3075         (validate_replace_src): Use note_uses.
3076         * rtl.h (note_uses): Declare.
3077         * rtlanal.c (note_uses): New.
3078
3079 Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
3080
3081         * reg-stack.c (stack_def): Make field reg unsigned.
3082         (remove_regno_note): Unsignetize parameter.
3083
3084 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
3085
3086         * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
3087         shladd_operand() call.
3088
3089 2001-02-16  Bruce Korb  <bkorb@gnu.org>
3090             Rodney Brown  <RodneyBrown@mynd.com>
3091
3092         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
3093         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
3094         machine restrictions
3095         * fixinc/fixincl.x: regen
3096
3097 Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3098
3099         * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
3100         Don't CSE a nop.
3101         (hash_scan_insn): Clean up calls to hash_scan_set.
3102         (compute_kill_rd): REGNO now unsigned.
3103         (try_replace_reg): Rework to use simplify_replace_rtx.
3104         (cprop_jump, cprop_cc0_jump): Likewise.
3105         (cprop_insn): Call find_reg_equal_equiv_note.
3106         Reflect changes to cprop_jump and cprop_cc0_jump.
3107
3108         * recog.c (validate_replace_src): Replace in operands of
3109         ZERO_EXTRACT in SET_DEST.
3110
3111         * cse.c (new_label_ref): New variable.
3112         (insert): Set it instead of recorded_label_ref.
3113         (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
3114         CODE_LABEL for this function, and not already in REG_LABEL note.
3115
3116 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
3117
3118         * resource.c (mark_referenced_resources): Fix typo in introductory
3119         comment.
3120         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
3121         string constant.
3122
3123 2001-02-16  Jason Merrill  <jason@redhat.com>
3124
3125         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
3126         NULL.
3127         (gen_subprogram_die): Don't abort on seeing a second definition if
3128         the previous one was abstract.  Don't replace an abstract instance
3129         in the lookup table.
3130
3131         * dwarf2out.c (dwarf2out_abstract_function): Rename from
3132         gen_abstract_function.
3133         * dwarf2out.h: Declare it.
3134         * toplev.c (note_outlining_of_inline_function): New fn.
3135         * toplev.h: Declare it.
3136         * integrate.c (output_inline_function): Call it.
3137         * c-decl.c (duplicate_decls): Call it when redefining an extern
3138         inline.  Don't inline the new defn.
3139
3140         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
3141
3142 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3143
3144         * .gdbinit: Rename to gdbinit.in.
3145         * gdbinit.in: New file,
3146         * configure.in: Generate .gdbinit from gdbinit.in.
3147         * configure: Regenerated.
3148         * Makefile.in (distclean): Always remove .gdbinit.
3149
3150 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
3151
3152         * objc/objc-act.c (start_class): Register implemented_classes with
3153         GC.
3154
3155 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3156
3157         * cppfiles.c (_cpp_make_system_header): Generate a file
3158         change callback.
3159
3160 2001-02-15  Jim Meyering  <meyering@lucent.com>
3161
3162         * Makefile.in (install-common): Don't depend on installdirs here.
3163         Instead, make each of the lang.install-common targets (e.g.,
3164         c++.install-common in cp/Make-lang.in) depend on it.
3165         (install-driver): Depend on installdirs.
3166
3167 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3168
3169         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
3170
3171         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
3172         do in memory.
3173
3174 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
3175
3176         * invoke.texi (--param): Document.
3177
3178 Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
3179
3180         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
3181
3182 Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
3183
3184         * i386.md (extendsfdf2_2): Fix constraints.
3185
3186 Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
3187
3188         * i386.md (fop_df_3 splitter): Fix operand number.
3189
3190 Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
3191
3192         * invoke.texi (-mreg-alloc): Nuke.
3193         * i386.c (ix86_reg_alloc_order, regs_allocated,
3194         order_regs_for_local_alloc): Nuke.
3195         (override_options): Kill reg_alloc code.
3196         * i386.h (TARGET_OPTIONS): Kill reg-alloc.
3197         (REG_ALLOC_ORDER): SSE goes before I387.
3198         (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
3199         (ix86_reg_alloc_order): Likewise.
3200         * i386-protos.h (ix86_reg_alloc_order): Kill.
3201
3202 2001-02-14  Richard Henderson  <rth@redhat.com>
3203
3204         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
3205
3206 Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
3207
3208         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
3209
3210 Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
3211
3212         * i386-protos.h (ix86_memory_move_cost): Move offline.
3213         * i386.c (ix86_register_move_cost): Compute properly cost of
3214         SSE, MMX and i387 instructions.
3215         (*_cost): Add costs of SSE/MMX moves.
3216         (ix86_memory_move_cost): Move offline from ....; Likewise.
3217         * i386.h (MEMORY_MOVE_COST): .... here;
3218         (struct processor costs): Add new fields to represent costs
3219         of SSE/MMX moves.
3220
3221 Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
3222
3223         * regclass.c (init_reg_sets_1): Reinstall the optimization of
3224         move_cost together with Matt Kraai's fix.
3225
3226 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
3227
3228         * Makefile.in (OBJS): Add params.o.
3229
3230 2001-02-14  Richard Henderson  <rth@redhat.com>
3231             DJ Delorie  <dj@redhat.com>
3232
3233         * jump.c (jump_optimize_1): When we delete a conditional jump
3234         preceeding a non-conditional jump to effectively the same place,
3235         make sure that the combined jump skips any clobber insns between
3236         the two labels.
3237
3238 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
3239
3240         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
3241
3242 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
3243
3244         * Makefile.in (toplev.o): Depend on params.h.
3245         (intergate.o): Likewise.
3246         (params.o): New target.
3247         * flags.h (inline_max_insns): Remove.
3248         * integrate.c: Include params.h.
3249         Use MAX_INLINE_INSNS instead of inline_max_insns.
3250         * params.c: New file.
3251         * params.h: Likewise.
3252         * params.def: Likewise.
3253         * toplev.c: Include params.h.
3254         (lang_independent_params): New variable.
3255         (decode_f_option): Use the param machinery instead of setting
3256         max_inline_insns.
3257         (independent_decode_option): Handle "--param name=value".
3258         (main): Register language-independent parameters.
3259
3260 Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
3261
3262         * i386.md (pushsf, pushdf_nointeger): Fix constraint.
3263
3264 2001-02-14  Richard Henderson  <rth@redhat.com>
3265
3266         * regclass.c (init_reg_sets_1): Revert last two changes.
3267
3268 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
3269
3270         * stor-layout.c (is_pending_size, put_pending_size): New functions.
3271         (variable_size): Call put_pending_size.
3272         * tree.h (is_pending_size, put_pending_size): Add prototypes.
3273         * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
3274         sizes list, put newly created SAVE_EXPR there as well.
3275
3276 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
3277
3278         * config/ia64/ia64.c (last_group): Only 2 entries are needed.
3279         (errata_find_address_regs): load_group has only 2 entries.
3280         (errata_emit_nops): Likewise.  shladd is not problematic.
3281         Clear last_group if nop was emitted.
3282         (fixup_errata): load_group has only 2 entries.
3283         Optimize.
3284
3285 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3286
3287         * c-lex.c (lex_number): Only warn traditionally for U suffix
3288         outside system macros.
3289         * cppexp.c (parse_number): Similarly.
3290         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
3291         * cppmacro.c (struct cpp_macro): New member node.
3292         (parse_args): Only warn about missing rest args if not
3293         a system macro.
3294         (funlike_invocation_p): Similarly for uninvoked funlike macros.
3295         (cpp_sys_objmacro_p): New.
3296         (_cpp_create_definition): Store the node with the macro defn.
3297         Remember if the macro is defined in a system header.
3298
3299 2001-02-13  DJ Delorie  <dj@redhat.com>
3300
3301         * configure.in (check_languages): determine languages to check
3302         * Makefile.in (check-c++): alias for check-g++
3303         (check-f77): alias for check-g77
3304         (CHECK_TARGETS): depend on configured languages
3305
3306 Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
3307
3308         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
3309         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
3310         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
3311         (sqrtextendsfdf2): Disable for SSE2.
3312
3313 Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
3314
3315         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
3316         (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
3317         (sqrtsf2 patterns): Use 'x' instead of 'Y'.
3318         (sqrtextendsfdf2): Disable for SSE2.
3319
3320 Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3321
3322         * i386.md (movsfcc_1): Support integer cmove instruction.
3323         (movdfcc_1): Likewise; new splitter.
3324
3325 Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
3326
3327         * i386.c (output_fp_compare): Support SSE.
3328         (prepare_fp_compare_args): SSE comparisons always support memory.
3329         * i386.h (TARGET_CMOVE): SSE imply cmove.
3330         * i386.md (cmp?f2): Enable for SSE too.
3331         (cmpfp_i*): Support SSE.
3332         (cmpfp_i_sse): New.
3333         (cmpfp_i_sse_only): New.
3334         (s*, b* fp expanters): Enable for SSE too.
3335         (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
3336         New patterns.
3337
3338 Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
3339
3340         * regclass.c (init_reg_sets_1): Silence warning.
3341
3342 Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
3343
3344         * i386.md (sqrt?f2): Change to expander.
3345         (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
3346
3347 Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3348
3349         * rtlanal.c (find_reg_equal_equiv_note): New function.
3350         * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
3351         (simplify_gen_relational, simplify_replace_rtx): Likewise.
3352         * rtl.h: Add declarations for above functions.
3353
3354 Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
3355
3356         * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
3357         conditionals.
3358         * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
3359         * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
3360         * flow.c (mark_regs_live_at_end): Likewise.
3361         (calculate_global_regs_live): Likewise.
3362         * gcse.c (compute_hash_table): Likewise.
3363         (compute_kill_rd): Likewise.
3364         * resource.c (mark_target_live_regs): Likewise.
3365         * rtl.h (INVALID_REGNUM): New macro.
3366
3367 Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
3368
3369         * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
3370
3371 Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3372
3373         * i386.md (fixsfsi2, fixdfdi2): Force operand to register
3374         for SSE.
3375
3376 Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
3377
3378         * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
3379         too.
3380         (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
3381         (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
3382         (fop_sf_1_sse, fop_df_1_sse): New patterns
3383         (fop_*): Disable float_extend and float patterns for SSE compilation.
3384         * i386.c (output_387_binary_op): Support SSE.
3385
3386 Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
3387
3388         * i386.md (dummy_extendsfdf2): Support SSE2
3389         (extendsfdf2): Enable if 80387 or SSE2.
3390         (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
3391         and no MIX_I387_SSE2
3392         (extendsfdf2_1_sse_only): New pattern.
3393         (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
3394         of SSE.
3395         (truncdfsf2_1): Support SSE.
3396         (truncdfsf2_2): Support SSE.
3397         (truncdfsf2_2_1_sse): New pattern.
3398         (fixtruncsfsi2): Always use SSE if available.
3399         (fix_truncsfsi_sse): New pattern.
3400         (fix_truncdfsi_sse): New pattern.
3401         (floatsis?f2): Support SSE.
3402         (floatsidf2_i387): New pattern.
3403         (floatsidf2_sse): Likewise.
3404
3405 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3406
3407         * configure.in: Use "have_gnat" variable, not "gnat".
3408         * configure: Regenerated.
3409
3410         * config/sparc/sparc.c (function_value): Treat all non-record
3411         aggregate types like used to treat UNION_TYPE.
3412
3413 Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
3414
3415         * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
3416         * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
3417         (MASK_SSE2): New.
3418         (MASK_MIX_SSE_I387): New.
3419         (TARGET_SSE): SSE2 imply SSE.
3420         (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
3421         (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
3422         (enum reg_class): Add new classes.
3423         (REG_CLASS_NAMES): Likewise.
3424         (REG_CLASS_CONTENTS): Likewise.
3425         (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
3426         (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
3427         supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
3428         (CLASS_MAX_NREGS): Use new macros.
3429         (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
3430         * i386.md (pushsf, movsf): Support SSE.
3431         (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
3432         splitters to use ANY_FP_REGNO_P.
3433         (movdf_nointeger, movdf_integer): Likewise.
3434
3435 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
3436
3437         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
3438         (try_combine): Use it.
3439
3440 Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
3441
3442         * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
3443         MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
3444         (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
3445         (REGISTER_MOVE_COST): Likewise.
3446         * i386-protos.h (ix86_secondary_memory_needed,
3447         ix86_preferred_reload_class, ix86_register_move_cost): Declare.
3448         * i386.c (ix86_secondary_memory_needed,
3449         ix86_preferred_reload_class, ix86_register_move_cost): New function.
3450
3451 Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
3452
3453         * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
3454         (HARD_REGNO_MODE_OK): Move offline to ....
3455         * i386.c (ix86_hard_regno_mode_ok) ... here;
3456         refuse all incorrect modes.
3457         * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
3458
3459 2001-02-13  Richard Henderson  <rth@redhat.com>
3460
3461         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
3462         entire operator; replicate that and match_dup the operands.
3463         (cmp_ccx_arith_op_set): Likewise.
3464         (cmp_cc_arith_op_not_set): Likewise.
3465         (cmp_ccx_arith_op_not_set): Likewise.
3466
3467 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
3468
3469         * explow.c (trunc_int_for_mode): Sign-extend value to mode.
3470
3471 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
3472
3473         * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
3474         (TARGET_NO_BITFIELD_WORD): New macro.
3475         (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
3476         (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
3477
3478 Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3479
3480         * cselib.c: New file, from simplify-rtx.c.
3481         * simplify-rtx.c: Remove cselib parts.
3482         * Makefile.in: Add cselib.o.
3483
3484 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
3485
3486         * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
3487         (setup_incoming_varargs): Remove warning.
3488
3489         * config/rs6000/rs6000.c (validate_condition_mode): When
3490         flag_fast_math, allow floating-point conditionals to be reversed.
3491         (rs6000_generate_compare): When flag_fast_math, don't generate
3492         cror operations for FP conditionals.
3493
3494         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
3495         -mcall-i960.
3496         (ASM_SPEC): Likewise.
3497         (CC1_ENDIAN_LITTLE_SPEC): Likewise.
3498         (CC1_SPEC): Likewise.
3499         (LINK_TARGET_SPEC): Likewise.
3500         (CPP_ENDIAN_SPEC): Likewise.
3501         * Makefile.in (check-consistency): New target.
3502
3503 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3504
3505         * c-decl.c (grokdeclarator): In C99 mode, give the more specific
3506         "return type defaults" warning for functions with return type
3507         defaulting to int.
3508         * c-lang.c (c_init): In C99 mode, enable warnings for implicit
3509         function declarations by default rather than only when pedantic.
3510
3511 Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
3512
3513         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
3514         arrays.
3515
3516 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
3517
3518         * extend.texi (Deprecated): Deprecate new initializer lists.
3519
3520 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
3521
3522         * mkdeps.c (deps_add_default_target): Robustify. Add
3523         basename component only.
3524         * cpp.texi (-M): Describe how default target is generated.
3525         * invoke.texi (-M): Likewise.
3526
3527 2001-02-12  Kazu Hirata  <kazu@hxi.com>
3528
3529         * toplev.c (push_float_handler): Remove.
3530         (pop_float_handler): Remove.
3531         * toplev.h: Remove prototypes for the above functions.
3532
3533 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
3534
3535         * c-common.c (constant_fits_type_p): New function.
3536         (convert_and_check): Use it.
3537
3538 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
3539
3540         * Makefile.in (GXX_ABI_FLAG): Don't define.
3541         * configure.in (--enable-new-gxx-abi): Remove option.
3542         * config.in: Regenerated.
3543         * configure: Likewise.
3544
3545 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
3546
3547         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
3548         basic block.
3549         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
3550         regular basic block, and arrange for all edges into it to switch
3551         to normal mode.
3552
3553 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3554
3555         * Makefile.in (distclean): Do not remove .gdbinit.
3556
3557 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
3558
3559         * Makefile.in (gcc.o): Fix typos.
3560         (protize.o): Likewise.
3561         (unprotoize.o): Likewise.
3562
3563 2001-02-11  Richard Henderson  <rth@redhat.com>
3564
3565         * tree.c (build1): Check for null operand in last change.
3566
3567 2001-02-11  Richard Henderson  <rth@redhat.com>
3568
3569         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
3570         (fold): Don't assume a constant isn't foldable.
3571         * tree.c (build): Set TREE_CONSTANT for an expression with no
3572         side-effects and constant operands.
3573         (build1): Likewise.
3574
3575 2001-02-10  Richard Henderson  <rth@redhat.com>
3576
3577         * jump.c (squeeze_notes): Revert 2000-05-12 change.
3578
3579 2001-02-10  Anthony Green  <green@redhat.com>
3580
3581         * cpp.texi (Standard Predefined): Add documentation for
3582         __OPTIMIZE_SIZE__.
3583
3584         * c-common.c (combine_strings): Improve warning message.
3585
3586 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
3587
3588         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
3589         --oformat.
3590         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
3591
3592 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
3593
3594         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
3595         CYGWIN_CROSS_DIR.
3596
3597 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
3598
3599         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
3600         fp_mode attribute.
3601
3602 2001-02-09  Nick Clifton  <nickc@redhat.com>
3603
3604         * config/arm/arm.md: Change output contraint on post inc
3605         load/store multiple patterns to be a read/write contraint.
3606
3607 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3608
3609         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
3610         .o files when using the -M options.
3611
3612 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3613             David Edelsohn  <edelsohn@gnu.org>
3614
3615         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
3616         handle DImode constants.  Use one TOC entry for SImode and smaller
3617         constants, aligned properly.
3618
3619 2001-02-08  Jason Merrill  <jason@redhat.com>
3620
3621         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
3622         about the SP adjustment for saving the static chain pointer.
3623         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
3624         offset when setting a temporary CFA register.
3625
3626 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
3627
3628         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
3629         powerpc-*-chorusos* .
3630         * config/rs6000/chorus.h : New file.
3631         * config/i386/chorus.h : New file.
3632         * config/sparc/chorus.h : New file.
3633         * config/sparc/t-chorus-elf : New file.
3634
3635 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
3636
3637         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
3638         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
3639         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
3640         (__WCHAR_TYPE__): Correct macro name.
3641
3642 2001-02-08  Richard Henderson  <rth@redhat.com>
3643
3644         * config/i386/i386.c (ix86_frame_pointer_required): New.
3645         (ix86_setup_frame_addresses): New.
3646         (struct machine_funciton): Add accesses_prev_frame.
3647         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
3648         ix86_frame_pointer_required.
3649         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
3650         (SETUP_FRAME_ADDRESSES): New.
3651         * config/i386/i386-protos.h: Update.
3652         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
3653         from FRAME_POINTER_REQUIRED.
3654         * config/i386/svr3gas.h: Likewise.
3655         * config/i386/sysv3.h: Likewise.
3656         * config/i386/v3gas.h: Likewise.
3657
3658 2001-02-08  Richard Henderson  <rth@redhat.com>
3659
3660         * config/sparc/sparc.c (function_arg_record_value_3): Fix
3661         calculation of the number of integer registers required.
3662         (function_arg_record_value): Likewise.
3663
3664 2001-02-08  Jason Merrill  <jason@redhat.com>
3665
3666         * diagnostic.c (internal_error): Say "confused" after 1 error, not
3667         two.  Print file and line with "confused" message.
3668
3669         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
3670
3671 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3672
3673         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
3674
3675 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
3676
3677         * final.c (cleanup_subreg_operands): The address of a MEM can
3678         contain SUBREGs.
3679
3680         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
3681         for asms, too.
3682
3683 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
3684
3685         * gcc.texi (Incompatibilities): Update documentation of
3686         preprocessing numbers.
3687
3688 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
3689
3690         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
3691
3692 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
3693
3694         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
3695
3696         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
3697         * gcc.c (struct compiler): Add cpp_spec field.
3698         (input_file_compiler): New variable.
3699         (do_spec_1): Allow a particular compiler to handle `%C'
3700         specially.
3701         (main): Store the current compiler in input_file_compiler.
3702         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
3703
3704 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
3705
3706         * cpphash.h (struct spec_nodes): Add n_true and n_false.
3707         * cppinit.c (cpp_create_reader): Initialize them.
3708         (append_include_chain): cxx_aware arg might be unused.
3709         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
3710         keywords and give them their phase 7 meaning.  Pedwarn about
3711         this unless '__bool_true_false_are_defined' is defined.
3712
3713 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
3714
3715         * lcm.c (optimize_mode_switching): Emit mode_set before the
3716         JUMP_INSN of an abnormal edge.
3717
3718 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
3719
3720         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
3721         a scheduling barrier at the end.
3722
3723         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
3724
3725 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
3726
3727         * config/sh/sh.md (reload_outsf): Removed.
3728         (movsf_ie): Introduce constraints for FPUL loads and stores.
3729         (reload_insf): Broaden the output constraint.
3730
3731         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
3732         defined.
3733         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
3734         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
3735
3736 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
3737
3738         * final.c: Revert my previous changes.
3739         * output.h: Make profile_label_no extern.
3740         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
3741         for generating label.
3742
3743 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
3744
3745         * config/i386/djgpp.h: Add comments about standard paths.
3746         (MD_EXEC_PREFIX): Undefine before defining.
3747         (MD_STARTFILE_PREFIX): New.
3748
3749 2001-01-30  Bruce Korb  <bkorb@gnu.org>
3750
3751         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
3752         (load_file): do not rely on load_file_data() to close file pointer
3753         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
3754         fixinc/inclhack.def(irix_limits_const): add test_text
3755
3756 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3757
3758         * cppexp.c (parse_defined): Improve diagnostics for invalid
3759         syntax.
3760
3761 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3762
3763         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
3764
3765 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
3766
3767         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
3768         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
3769         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
3770         (rs6000_output_symbol_ref): New function.
3771         (output_toc): Use VTABLE_NAME_P.
3772
3773 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3774
3775         * print-tree.c (print_node, case PARM_DECL):
3776         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
3777
3778         * stor-layout.c (reference_types_internal): New variable.
3779         (internal_reference_types): New function.
3780         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
3781         * tree.h (internal_reference_types): New declaration.
3782
3783         * cse.c (find_best_addr): Fix typo in computing cost.
3784
3785 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3786
3787         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
3788         and this is the sum of a pointer and a constant, we know the result
3789         did not overflow.
3790         (num_sign_bit_copies, case PLUS): Likewise.
3791         * explow.c (convert_memory_address): Remove opposite SUBREG.
3792         * function.c (instantiate_new_reg): New function (from common code).
3793         (instantiate_virtual_regs_1): Call it.
3794         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
3795         if pointers sign- or zero-extend.
3796         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
3797         If pointers extend unsigned, use inside of SUBREG.
3798         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
3799
3800 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
3801
3802         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
3803         subdir of gcc_gxx_include_dir.
3804         (gcc_gxx_target_include_dir): Remove.
3805
3806 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
3807
3808         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
3809         (dwarf2out_frame_debug_expr): Revise introductory comments to add
3810         a high-level description.
3811
3812 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
3813
3814         * final.c: Move the declaration of profile_label_no to ...
3815         * output.h: ... here.
3816         * function.c (expand_function_start): Call PROFILE_HOOK.
3817         * config/rs6000/aix.h: Define PROFILE_HOOK.
3818         * config/rs6000/rs6000-protos.h: output_profile_hook new.
3819         * config/rs6000/rs6000.c (output_profile_hook): Define.
3820         (output_prolog): Do nothing for ABI_AIX as it is taken care by
3821         output_profile_hook.
3822         tm.texi : Explain new macro PROFILE_HOOK.
3823
3824 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
3825
3826         * extend.texi (Extended Asm): Do not say that semicolon is always
3827         a valid line-breaking character for GNU assemblers.  Use
3828         newline-tab as the most commonly supported syntax.  Use
3829         newline-tab rather than semicolon in multi-insn examples.
3830
3831 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3832
3833         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
3834
3835 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3836             David Edelsohn  <edelsohn@gnu.org>
3837
3838         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
3839         code for AIX, even without flag_pic.
3840
3841 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
3842
3843         * c-typeck.c (common_type): push and pop binding level around
3844         calling common_type on function parameters.
3845
3846 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
3847
3848         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
3849
3850 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3851
3852         * config/mips/mips.c (override_options): Fix typo in last change.
3853         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
3854         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
3855
3856 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
3857
3858         * invoke.texi (-fdump-class-layout): Document.
3859         (-fdump-translation-unit): Use `=' as filename separator.
3860
3861 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
3862
3863         * Makefile.in (s-mlib): Don't build multilibs if
3864         --disable-multilib.
3865         (DRIVER_DEFINES): Adjust accordingly.
3866         (gcc.o): Likewise.
3867         (protoize.o): Likewise.
3868         (unprotoize.o): Likewise.
3869         * configure.in: Recognize --enable-multilib.
3870
3871 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
3872
3873         * Makefile.in (DRIVER_DEFINES): Fix quoting.
3874
3875         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
3876         * configure.in: Remove --enable-libstdcxx_v3 support.
3877         * configure: Regenerated.
3878
3879 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3880
3881         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
3882         Call abort instead of fatal.
3883         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
3884         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
3885         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
3886         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
3887         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
3888         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
3889
3890         * diagnostic.h (set_internal_error_function): Renamed.
3891         * toplev.h (internal_error): Renamed from fatal.
3892         (pfatal_with_name): Deleted.
3893         (fatal_io_error): Now has printf-style arguments.
3894         * diagnostic.c (pfatal_with_name): Deleted.
3895         (fatal_io_error): Rework to have args in printf-style.
3896         (set_internal_error_function): Renamed from set_fatal_function.
3897         (internal_error): Renamed from fatal.
3898         (error_recursion, fancy_abort): Call internal_error instead of fatal.
3899         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
3900         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
3901         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
3902         * flow.c (verify_flow_info): Likewise.
3903         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
3904         * config/mips/mips.c (save_restore_insns): Likewise.
3905
3906         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
3907         * flow.c (verify_flow_info): Likewise.
3908         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
3909         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
3910         (avr_normalize_condition): Likewise.
3911         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
3912         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
3913         (limit_reload_class, double_reg_to_memory): Likewise.
3914         (print_operand_address, emit_1600_code_shift): Likewise.
3915         (gen_tst_reg, gen_compare_reg): Likewise.
3916         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
3917         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
3918         Deleted.
3919         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
3920
3921         * c-parse.in (methoddef): Call fatal_error instead of fatal.
3922         * objc/objc-act.c (build_ivar_chain): Likewise.
3923         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
3924         pfatal_with_name.
3925         * graph.c (clean_graph_dump_file): Likewise.
3926         * profile.c (init_branch_prob): Likewise.
3927         * objc/objc-act.c (objc_init): Likewise.
3928
3929         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
3930         * config/avr/avr.c (avr_override_options): Likewise.
3931         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
3932         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
3933         * config/h8300/h8300.c (h8300_init_once): Likewise.
3934         * config/mips/mips.c (override_options): Likewise.
3935         * config/i386/i386.c (override_options): Likewise, rework.
3936         * config/m68k/m68k.c (override_options): Likewise.
3937
3938         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
3939         instead of fatal.
3940         * config/mips/mips.c (print_operand): Likewise.
3941         * hash.c (hash_allocate): Don't check for failure returns from
3942         obstack functions that can't fail.
3943         (hash_table_init_n, hash_table_init): Likewise; also now return void.
3944         * hash.h (hash_table_init_n, hash_table_init): Now return void.
3945         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
3946         (get_object_reference): Likewise.
3947
3948 2001-02-04  Nick Clifton  <nickc@redhat.com>
3949
3950         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
3951         StrongARM1110, 10TDMI, and 1020T.
3952
3953 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3954
3955         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
3956
3957 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
3958
3959         * config/sh/sh.md (movdf load split): Pass register number to
3960         FP_OR_XD_REGISTER_P.
3961
3962 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
3963
3964         * cppinit.c (BC): New macro.
3965         (builtin_array): Add __GXX_WEAK__.
3966         * cpplib.h (builtin_type): Add BT_WEAK.
3967         * cppmacro.c (builtin_macro): Handle BT_WEAK.
3968         * defaults.h (SUPPORTS_ONE_ONLY): Define.
3969         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
3970
3971 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
3972
3973         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
3974
3975 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3976
3977         * cpphash.h: Rename _ALIGN POOL_ALIGN.
3978         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
3979
3980 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
3981
3982         * cpphash.h: Rename ALIGN _ALIGN.
3983         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
3984
3985 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
3986
3987         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
3988         compilation environment.
3989         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
3990         control over location of cygwin includes and libs.
3991
3992 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
3993
3994         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
3995
3996 2001-02-02  lars brinkhoff  <lars@nocrew.org>
3997
3998         * md.texi (Standard Names): remove reference to spur.md.
3999
4000 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
4001
4002         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
4003         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
4004         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
4005         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
4006         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
4007
4008 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4009
4010         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
4011         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
4012         number before reload.
4013         (c4x_adjust_cost): Return zero before reload.
4014         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
4015         split before reload.
4016
4017 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4018
4019         * c4x.c (c4x_hard_regno_rename_ok): New.
4020         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
4021         * c4x.h (HARD_REGNO_RENAME_OK): Define.
4022
4023 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4024
4025         * diagnostic.h: Add missing "extern" in all declarations.
4026
4027 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
4028
4029         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
4030         as for gcc_gxx_include_dir.
4031
4032 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
4033
4034         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
4035
4036 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
4037
4038         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
4039         label before alignment to be used as the braf base address.
4040         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
4041         branches.
4042         (casesi_jump_2): Require at least TARGET_SH2.
4043
4044         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
4045         truncation to 32-bit doubles on -m3e and -m4-single-only.
4046
4047 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
4048
4049         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
4050         the default when building a shared object.
4051         (init_spec): Use it.
4052         * testsuite/lib/g++.exp: Include the directory where libgcc
4053         is located to the LD_LIBRARY_PATH list.
4054         * invoke.texi (-shared-libgcc): Document the cases in which
4055         GCC defaults to using the shared libgcc.
4056
4057 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
4058
4059         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
4060         unsigned is wide enough.
4061         (BITS_PER_SI): New.
4062         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
4063         (si_to_float): Likewise.
4064         (float_to_si, float_to_usi): Use BITS_PER_SI.
4065
4066 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
4067
4068         * dwarf2out.c: Added explanation of abbreviations.
4069         (def_cfa_1): Added comments listing DWARF2 instructions.
4070         (cfa_temp_reg): Removed in favor of cfa_temp.
4071         (cfa_temp_value): Removed in favor of cfa_temp.
4072         (cfa_temp): New global variable.
4073         (dwarf2out_frame_debug_expr): Added extensive introductory
4074         comments explaining the function's transformations.  Revised to
4075         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
4076         (dwarf2out_frame_debug): Revised to use cfa_temp.
4077         (output_aranges): Cast as "unsigned" to avoid warning.
4078         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
4079         explain which instructions must be marked.
4080
4081 2001-02-01  Richard Henderson  <rth@redhat.com>
4082
4083         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
4084         new instruction.
4085
4086 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
4087
4088         * config/sh/crt1.asm (main_k): Modified so that start calls
4089         ___setup_argv_and_call_main.
4090
4091 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
4092
4093         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
4094         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
4095         and AVOID_LPASTE is cleared on meeting an unescaped newline.
4096         * cppmacro.c (builtin_macro): Set builtin flags here.
4097         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
4098         (replace_args): Clarify intent.
4099         (cpp_get_token): Macro expansion tokens get the saved flags.
4100         Update.
4101         * cppmain.c (scan_buffer): Remove now-redundant print.printed
4102         check.
4103
4104 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
4105
4106         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
4107         2001-Jan-29.
4108
4109 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4110
4111         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
4112         returns Pmode pseudo, but we need ptr_mode.
4113         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
4114         Remove bogus conversions; use HOST_WIDE_INT for size.
4115         Don't use TARGET if wrong mode.
4116
4117         * config/i386/i386.c (ix86_compute_frame_size): Allow
4118         stack_alignment_needed to be non-default even if size is zero.
4119
4120 2001-01-31  Alan Modra <alan@linuxcare.com.au>
4121
4122         * (hppa_init_pic_save): Emit the pic offset table
4123         reg save after last_parm_insn.
4124         * pa.c (hppa_init_pic_save): New function.
4125         * pa.h (hppa_init_pic_save): Declare.
4126         * pa.md (call, call_value, sibcall, sibcall_value): Use
4127         the above instead of duplicated code.
4128
4129         * pa.c (hppa_encode_label): Correct size of alloca buffer
4130         so we don't overrun it.  Correct leading `*' case.
4131         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
4132         need to handle `*@'.
4133         (FUNCTION_NAME_P): Likewise.
4134
4135 2001-01-31  Richard Henderson  <rth@redhat.com>
4136
4137         * config.gcc (alpha-osf5): Use float-i128.h.
4138
4139         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
4140         * config/float-i32.h: Likewise.
4141         * config/float-i64.h: Likewise.
4142         * config/float-sh.h: Likewise.
4143         * config/float-sparc.h: Likewise.
4144
4145 2001-01-31  DJ Delorie  <dj@redhat.com>
4146
4147         * expmed.c (extract_bit_field): allow non-integral modes if we
4148         want to extract a whole register from itself.
4149
4150 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
4151
4152         * c-typeck.c (set_init_index): If first is equal to last, assume as
4153         if it was not a range at all.
4154
4155 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
4156
4157         * config/fp-bit.c: Include tm.h.
4158         (float_to_si): Don't assume SImode is 32-bits wide.
4159         (float_to_usi): Likewise.
4160
4161 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
4162
4163         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
4164         incomplete type.
4165         (typename): Call pending_xref_error after parsing typed_typespecs.
4166         * c-decl.c (lookup_tag): Give error immediately rather than
4167         leaving it pending if the tag of the wrong type is in the same
4168         binding level.
4169         (xref_tag): Don't pedwarn for forward declarations of enum types
4170         here.
4171         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
4172         and enum tags.
4173
4174 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
4175
4176         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
4177
4178 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
4179
4180         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
4181         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
4182
4183 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
4184
4185         * cpphash.h (struct cpp_reader): New saved_flags.
4186         * cppmacro.c (cpp_get_token): Use saved_flags to remember
4187         to avoid a paste after a pasted token.
4188
4189 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
4190
4191         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
4192         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
4193         Wtype_MIN instead of LONG_MIN.
4194
4195 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
4196
4197         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
4198         README file.
4199         * fixinc/fixincl.x: Regenerated.
4200         * fixinc/inclhack.def (irix_limits_const): New definition to
4201         convert "const" to "__const" in limits.h.
4202
4203 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
4204
4205         * fixinc/genfixes (AG): Fix "autogen4" thinko.
4206
4207 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
4208
4209         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
4210         when register dies in the insn.
4211
4212 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
4213
4214         * diagnostic.c (fatal): Fix word wrap.
4215
4216 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
4217
4218         * combine.c (try_combine): Fix SUBREG setting for
4219         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
4220
4221 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4222
4223         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
4224         comparison codes.
4225
4226 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
4227
4228         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
4229         is not NULL.
4230         * toplev.c (decode_W_option): Update warn_larger_than
4231         unconditionally for each processed switch.
4232
4233 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4234
4235         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
4236         to NULL_RTX.
4237         (hppa_expand_prologue): Delete code to save pic offset table register
4238         in the function prologue.
4239         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
4240         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
4241         table register at the beginning of the function after the prologue.
4242
4243 2001-01-29  lars brinkhoff  <lars@nocrew.org>
4244
4245         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
4246
4247 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4248             Jeff Law <law@redhat.com>
4249
4250         * pa.md (return): Revise comment for trivial return.
4251         (return_internal): Non-trivial return pattern for non-PIC code.
4252         (return_internal_pic): Non-trivial return pattern for PIC code.
4253         It uses the PIC register to ensure it is restored after
4254         function calls.
4255         (epilogue): Generate appropriate return for PIC and non-PIC code.
4256
4257 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
4258
4259         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
4260
4261 2001-01-29  DJ Delorie  <dj@redhat.com>
4262
4263         * combine.c (if_then_else_cond): Pass the correct mode to
4264         operand_subword() for constants.
4265
4266 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
4267
4268         * config/i386/cygwin.h: Add w32api to include search.  Search different
4269         directories in a cross-build environment.
4270
4271 2001-11-29  Tim Josling  <tej@melbpc.org.au>
4272
4273         * tree.h (TYPE_STUB_DECL): Add documentation.
4274
4275 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
4276
4277         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
4278         (sdbout_field_types): Likwise.  Fix use of host_integerp.
4279
4280 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
4281
4282         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
4283         cygwin.h.
4284
4285 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
4286
4287         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
4288         to use flag_gnu_linker.
4289
4290 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
4291
4292         * cpplib.c (T_BAD_DIRECTIVE): Remove.
4293         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
4294
4295 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
4296
4297         * tree.c, tree.h (build_parse_node): Remove; was identical to
4298         build_nt.
4299         * c-lang.c (start_cdtor), objc/objc-act.c
4300         (build_module_descriptor): Use build_nt instead of
4301         build_parse_node.
4302
4303 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
4304
4305         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
4306         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
4307         not have any upper bits set.
4308
4309 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
4310
4311         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
4312
4313 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4314
4315         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
4316
4317         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
4318
4319         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
4320         (integer_minus_one_node): Define.
4321
4322 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
4323
4324         * Makefile.in (bootstrap2-lean): Fix typo.
4325
4326 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
4327
4328         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
4329         : Don't set fe_value.
4330         * cpplib.h (AVOID_LPASTE): New flag.
4331         (struct cpp_hashnode): Remove fe_value.
4332         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
4333         * cppmacro.c (builtin_macro): Don't set flags here.
4334         (replace_args): Set AVOID_LPASTE flag on first token of an
4335         argument, and the token following it.
4336         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
4337         macro expansion, and on the token following it.  Do it for
4338         builtins too.
4339         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
4340
4341 2001-01-27  Richard Henderson  <rth@redhat.com>
4342
4343         * config/alpha/t-ieee: Remove multilibbing.
4344         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
4345
4346 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4347
4348         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
4349
4350         * Makefile.in: Remove all dependencies on defaults.h.
4351         * builtins.c: Don't include defaults.h.
4352         * c-common.c: Likewise.
4353         * c-decl.c: Likewise.
4354         * c-pragma.c: Likewise.
4355         * c-typeck.c: Likewise.
4356         * combine.c: Likewise.
4357         * i386.c: Likewise.
4358         * frame-ia64.c: Likewise.
4359         * cppexp.c: Likewise.
4360         * crtstuff.c: Likewise.
4361         * dbxout.c: Likewise.
4362         * dwarf2out.c: Likewise.
4363         * dwarfout.c: Likewise.
4364         * emit-rtl.c: Likewise.
4365         * except.c: Likewise.
4366         * expr.c: Likewise.
4367         * final.c: Likewise.
4368         * frame-dwarf2.c: Likewise.
4369         * libgcc2.c: Likewise.
4370         * optabs.c: Likewise.
4371         * profile.c: Likewise.
4372         * sdbout.c: Likewise.
4373         * toplev.c: Likewise.
4374         * tradcif.y: Likewise.
4375         * tree.c: Likewise.
4376         * varasm.c: Likewise.
4377
4378 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4379
4380         * builtins.c (expand_builtin_fputs): Use size_one_node when
4381         transforming into fwrite.
4382
4383 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
4384
4385         * extend.texi (Attribute Syntax): New section.
4386
4387 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
4388
4389         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
4390         they didn't need fixing.
4391
4392 2001-01-27  Janis Johnson <janis@us.ibm.com>
4393
4394         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
4395         if appropriate.
4396         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
4397         to remove macro definitions that are duplicated from elfos.h.
4398
4399 2001-01-27  Richard Henderson  <rth@redhat.com>
4400
4401         * config/i386/sco5gas.h: Move ...
4402         * config/usegas.h: ... here.
4403         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
4404
4405 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
4406
4407         * c-typeck.c (struct constructor_stack): Add range_stack member.
4408         (really_start_incremental_init): Clear it.
4409         (push_init_level): Save constructor_range_stack and clear it if
4410         pushing explicit braces.
4411         (pop_init_level): abort if constructor_range_stack is non-zero at
4412         explicit closing brace.  Restore saved constructor_range_stack if
4413         not implicit.
4414
4415 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
4416
4417         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
4418         into register was forced into memory.
4419
4420 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
4421
4422         * Makefile.in: Remove uses of + before $(MAKE).
4423
4424 2001-01-26  Richard Henderson  <rth@redhat.com>
4425
4426         * stmt.c (cost_table): Remove.
4427         (COST_TABLE, cost_table_initialized): New.
4428         (estimate_case_costs): Use the later instead of the former.
4429         (balance_case_nodes): Likewise.
4430
4431 2001-01-26  Richard Henderson  <rth@redhat.com>
4432
4433         * alias.c (objects_must_conflict_p): Read-only slots may not
4434         conflict despite having the same type.
4435
4436 2001-01-27  Michael Hayes  <mhayes@redhat.com>
4437
4438         * loop.c (loop_giv_reduce_benefit): Copy mode size into
4439         int variable.
4440         (check_ext_dependant_givs): Initialise u_start_val and
4441         u_end_val.
4442         (load_mems): Make last_max_reg unsigned.
4443         (try_swap_copy_prop): Use INSN_P and initialise set.
4444
4445 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
4446
4447         * README.AVR : Removed.
4448
4449 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
4450
4451         * pa-64.h (text_section): Remove declaration.
4452
4453         * pa.md (return_internal): Remove mode on PIC register use.
4454
4455 2001-01-25  lars brinkhoff  <lars@nocrew.org>
4456
4457         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
4458         ASM_CLOSE_PAREN): fix typos.
4459
4460 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
4461
4462         * acconfig.h: Define `const' to the empty string if neither
4463         __STDC__ nor __cplusplus is defined.
4464         * config.in: Regenerated.
4465
4466 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
4467
4468         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
4469         * collect2.c (main): Delete importf.  Add ".obj" file extension.
4470         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
4471         (aix_std_libs): Add additional AIX libraries to skip.
4472         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
4473         * config/rs6000/aix51.h: New file.
4474
4475 2001-01-25  Michael Hayes  <mhayes@redhat.com>
4476
4477         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
4478         (loop_insn_emit_before): No longer static.
4479         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
4480         (loop_givs_rescan, load_mems): Likewise.
4481         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
4482         (maybe_eliminate_biv_1):
4483         (move_movables): Replace emit_call_insn_before with
4484         loop_call_insn_hoist.
4485         * loop.h (loop_insn_emit_before): Add.
4486         * unroll.c (copy_loop_body): Replace emit_insn_before with
4487         loop_insn_emit_before.
4488
4489 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
4490
4491         * diagnostic.c (fatal): Request preprocessed source.
4492
4493 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
4494
4495         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
4496         olddecl has argument types and newdecl has none, use the argument
4497         types from olddecl.
4498
4499 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
4500
4501         * dwarf2out.c (prefix_of): New function.  Determine longest common
4502         prefix of the two arguments.  The units are whole path components.
4503         (output_file_names): When adding a new directory find the one entry
4504         with the longest common prefix already in the list.  Artificially
4505         generate entry if there is none for this prefix.
4506         Fix test to check whether the zeroth directory entry is used.
4507
4508 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
4509
4510         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
4511         Changed all callers.  Take it into account when deciding if a
4512         previously loaded value matches.
4513
4514 2001-01-24  Richard Henderson  <rth@redhat.com>
4515
4516         * reload.c (find_reloads_subreg_address): Fail the substitution
4517         if the resulting address is insufficiently aligned.
4518
4519 2001-01-24  DJ Delorie  <dj@redhat.com>
4520
4521         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
4522         check the original operand's mode also.
4523         * simplify-rtx.c (simplify_ternary_operation): Ditto.
4524
4525 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
4526
4527         * c-parse.in (cast_expr): Move compound literals from here ...
4528         (primary): ... to here.  Use standard terminology "compound
4529         literal" instead of "constructor expression".
4530
4531 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
4532
4533         * gcc.1, cpp.1: Regenerate.
4534
4535 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
4536
4537         * calls.c (emit_library_call_value_1): Memory slot for
4538         pass-by-reference argument should have the mode of the argument,
4539         not of the pointer to it.
4540
4541 2001-01-24  Tom Tromey  <tromey@redhat.com>
4542
4543         * gcc.texi (G++ and GCC): Mention gcj manual.
4544         (Standards): Link to section of manual mentioning gcj/Java
4545         compatibility.
4546
4547 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
4548
4549         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
4550         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
4551         * tradcpp.c (main): Add -imacros or -include'd dependencies
4552         for -M*.
4553         * cpp.texi (-M, -MM): Document -M -include behaviour.
4554
4555 2001-01-24  Roger Collins <roger@ProProject.com>
4556
4557         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
4558
4559 2001-01-24  Will Cohen  <wcohen@redhat.com>
4560
4561         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
4562         whether registers are 32 bits or 64 bits in size.
4563
4564 2001-01-24  Ben Elliston  <bje@redhat.com>
4565
4566         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
4567
4568 2001-01-24  Richard Henderson  <rth@redhat.com>
4569
4570         * config/alpha/alpha.md (builtin_longjmp_internal): New.
4571         (builtin_longjmp): Use it instead of emit_indirect_jump.
4572
4573 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4574
4575         * bb-reorder.c (make_reorder_chain_1): Handle case where
4576         jump edge goes to the same block as the fallthru edge.
4577
4578 2001-01-23  Jim Wilson  <wilson@redhat.com>
4579
4580         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
4581         * frame.h (__ia64_personality_v1): Add prototype.
4582         * libgcc2.c (ia64_throw_helper): Change personality declaration to
4583         prototype form.  Add void * cast to first argument to personality
4584         call.
4585         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
4586         (asctoe113): Likewise.
4587         * config/ia64/frame-ia64.c: Include eh-common.h.
4588         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
4589         prototypes.
4590         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
4591         to dump parameter.
4592         (itanium_split_issue): Add prototype.
4593         (gen_nop_type): Ifdef out.
4594         (find_best_packet): Initialize best_packet.
4595         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
4596         result.
4597         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
4598         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
4599         (flushrs): Add explicit stop bit at end.
4600         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
4601         trailing \ to >.
4602
4603 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
4604
4605         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
4606         of EH symbols.
4607         * libgcc2.c (__terminate_func): Make variable static.
4608         (__terminate_set_func): New function to set __terminate_func.
4609         * libgcc2.h (__terminate_func_ptr): New typedef.
4610         (__terminate_set_func): New function.
4611
4612 2001-01-23  Richard Henderson  <rth@redhat.com>
4613
4614         * flow.c (init_propagate_block_info): Don't consider unchanging
4615         memories for dead frame store elimination.
4616
4617 2001-01-23  Richard Henderson  <rth@redhat.com>
4618
4619         * varasm.c (UNIQUE_SECTION): Move default implementation ...
4620         * defaults.h: ... here.
4621
4622 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4623
4624         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
4625
4626 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4627
4628         * c-lex.c (lex_charconst): Fix typo: s/p/str.
4629
4630 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4631
4632         * rs6000.h (rs6000_return_addr): Move prototype from here...
4633         * rs6000-protos.h (rs6000_return_addr): ...to here.
4634         (rs6000_init_expanders): Delete prototype.
4635
4636 2001-01-23  Nick Clifton  <nickc@redhat.com>
4637
4638         * invoke.texi: Replace , with \, inside @gccoptlist macros.
4639         (Spec Files): Document %B and %j and %. and %v3 and %M and
4640         %{S*&T} spec switches.
4641
4642 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4643
4644         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
4645
4646 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
4647             Neil Booth  <neil@daikokuya.demon.co.uk>
4648
4649         * cpperror.c: Merge handlers of PEDWARN and WARNING.
4650         Have -Werror make pedantic warnings errors, like the
4651         rest of GCC.
4652
4653 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
4654
4655         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
4656
4657 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
4658
4659         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
4660         * integrate.c (expand_inline_function): Initialize them.
4661         (subst_constants): If changing COMPARE so that both its arguments
4662         will be VOIDmode and the comparison mode will be lost, note
4663         compare_mode.  Use the recorded compare_mode to optimize
4664         IF_THEN_ELSE.
4665
4666 2001-01-23  Jason Merrill  <jason@redhat.com>
4667
4668         * dwarf2out.c (new_die): Use xcalloc.
4669         (output_die): Abort rather than emit a local reference to offset 0.
4670
4671 2001-01-17  Andrew Haley  <aph@redhat.com>
4672
4673         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
4674         of a saved register; return NULL instead.
4675         (copy_reg): Take a pointer to a source register rather than a
4676         frame_state.
4677         (next_stack_level): Remember the address in the stack frame of all
4678         saved registers.
4679         Use the saved register pointer array as the source of the CFA.
4680         (throw_helper): Rewrite.  Unwind once rather than twice and keep
4681         track of saved registers as we go.
4682
4683 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4684
4685         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
4686         * c4x.c (c4x_legitimize_reload_address): Remove.
4687         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
4688         reload address for ldp(k) insn.
4689
4690 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
4691
4692         * pa.md (return_internal): Add a USE of the PIC register to ensure
4693         it is restored after each call.
4694         (return expander): Corresponding changes.
4695
4696 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4697
4698         * rs6000.h (INIT_EXPANDERS): Delete.
4699         (RETURN_ADDR_RTX): Call rs6000_return_addr().
4700         * rs6000.c (rs6000_override_options): Call *_machine_status from
4701         here...
4702         (rs6000_init_expanders): ...instead of here. Delete.
4703         (rs6000_mark_machine_status): New function.
4704         (rs6000_init_machine_status): Use xcalloc.
4705         (rs6000_return_addr): Generate RTX for the return address.
4706         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
4707         (rs6000_stack_info): Use it.
4708
4709 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
4710
4711         * gthr-win32.h: Include errno.h to get a declaration for
4712         EINVAL and _mingw.h if the target is mingw32.
4713
4714 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
4715
4716         * cpp.texi: Correct typos.
4717
4718 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4719
4720         * explow.c (probe_stack_range): Ensure value passed to
4721         stack_check_libfunc is ptr_mode, not Pmode.
4722
4723 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
4724
4725         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
4726         case, don't use operand_subword to calculate a SUBREG that is
4727         wider than a word.
4728
4729         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
4730
4731 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4732
4733         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
4734         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
4735         valid.  If not replace it by equivalent insns.
4736
4737 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4738
4739         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
4740         contains SYMBOL_REF, LABEL_REF and CONST_INT.
4741         (c4x_U_constraint, symbolic_address_operand): Likewise.
4742         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
4743         memory.
4744         (c4x_r11_set_p, c4x_check_laj_p): New functions.
4745         * c4x-protos.h (c4x_check_laj_p): Add prototype.
4746         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
4747         anulling slot because of silicon bug.
4748         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
4749
4750 2001-01-22  Alan Modra <alan@linuxcare.com.au>
4751
4752         * cppexp.c (parse_charconst):  Change `mask' type to agree
4753         with parse_escape.
4754
4755 2001-01-21  Richard Henderson  <rth@redhat.com>
4756
4757         * config/i386/i386.c (ix86_asm_file_end): Disable putting
4758         pic_label_name in a linkonce section.
4759
4760 2001-01-17  Philipp Thomas  <pthomas@suse.de>
4761
4762         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
4763         found in libintl.
4764         * configure: Regenerate.
4765
4766 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
4767
4768         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
4769         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
4770
4771 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
4772
4773         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
4774         If REVERSE nonzero then condition code in X must be reversed.
4775         (encode_section_info): Optimise if/else.
4776         (avr_function_value): Fix formatting.
4777
4778         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
4779         (difficult_branch): Likewise.
4780         (rvbranch): Likewise.
4781         (difficult_rvbranch): Likewise.
4782
4783         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
4784
4785         * config/avr/libgcc.S: Fix comment.
4786
4787 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
4788
4789         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
4790
4791 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
4792
4793         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
4794
4795 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
4796
4797         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
4798         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
4799         * configure, config.in: Regenerate.
4800         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
4801         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
4802         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
4803         (doprint.o): New rule.
4804
4805 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
4806
4807         * c-typeck.c (digest_init): Handle boolean types as scalars.
4808
4809 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4810
4811         * stmt.c (expand_return): Don't return anything if size is zero.
4812         Delete redundant assignment to BYTES.
4813         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
4814
4815 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
4816
4817         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
4818         the same as the default library function names.
4819         * config/avr/avr.md: Document special characters after '%'.
4820         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
4821         knowing which of the call-used registers are really clobbered.
4822         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
4823         New.  Both quotient and remainder from one libgcc.S call.
4824         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
4825         clobber as few registers as possible.
4826         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
4827
4828 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
4829
4830         * cppmacro.c (funlike_invocation_p): Don't move back up to the
4831         context of the top of the stack.
4832
4833 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
4834
4835         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
4836         (fixup_var_refs_insns): ...here.
4837
4838 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
4839
4840         * function.c (fixup_var_refs_insns): Break up into
4841         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
4842         [loop over entire insn list], and fixup_var_refs_insns_with_hash
4843         [loop over hash table entries].
4844         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
4845         fixup_var_refs_insns_with_hash, to match above changes.
4846
4847 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4848
4849         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
4850         (libgcc.a): Likewise.
4851         (stmp-multilib): Likewise.
4852         (STAGE2_FLAGS_TO_PASS): Likewise.
4853
4854 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
4855
4856         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
4857         temporary if no_new_pseudos.
4858
4859 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4860
4861         * cppinternals.texi: Update.
4862
4863 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
4864
4865         * arm.c (arm_init_builtins): Re-enable builtins.
4866
4867 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4868
4869         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
4870         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
4871         element to be null, and always expect an EXPR_LIST.
4872         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
4873         * sched-deps.c (sched_analyze_1): Likewise.
4874         * sched-rgn.c (check_live_1, update_live_1): Likewise.
4875
4876         * regclass.c (max_set_parallel): New variable.
4877         (reg_scan): Take it into account in computation of max_parallel.
4878         (reg_scan_mark_refs, case SET): Compute it.
4879
4880         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
4881         args are REG.
4882         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
4883         * function.c (assign_parms): Use INTVAL for a CONST_INT.
4884
4885 2001-01-19  Jason Merrill  <jason@redhat.com>
4886
4887         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
4888         for the abstract instance of an inline function.
4889
4890 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
4891                           J"orn Rennecke <amylaar@redhat.com>
4892
4893         * reload1.c (move2add_note_store): Treat all registers directly or
4894         indirectly derived from a base register as members of the same set
4895         of values.
4896         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
4897         of base register into account.
4898
4899 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
4900
4901         * alias.c (find_base_value): Recognize TRUNCATE.
4902         (record_set): In PLUS case, invalidate if other summand is also a
4903         base value.
4904
4905 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4906
4907         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
4908         entry to be EXPR_LIST.
4909         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
4910         be an EXPR_LIST (but not null, which other code doesn't allow).
4911         (note_stores): Properly handle PARALLEL in SET.
4912         Recursively call for top-level PARALLEL.
4913         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
4914         * sched-rgn.c (check_live_1, update_live_1): Likewise.
4915
4916         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
4917
4918 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
4919
4920         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
4921         not pfile->skipping (== 0).
4922
4923 2001-01-17  Nick Clifton  <nickc@redhat.com>
4924
4925         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
4926         machine_status.
4927
4928 2001-01-17  Jim Wilson  <wilson@redhat.com>
4929
4930         * invoke.texi (IA-64 options): Improve.
4931
4932 2001-01-17  Tom Tromey  <tromey@redhat.com>
4933
4934         * invoke.texi (Optimize Options): Use `{}' to around @samp
4935         argument.
4936
4937 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
4938
4939         * invoke.texi (-fno-guess-branch-probability): New option.
4940
4941 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4942
4943         * combine.c (try_combine): Don't set i3_subst_into_i2 for
4944         case of making new double-word constant.
4945         Revert last change: instead just test i3_subst_into_i2.
4946
4947 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
4948
4949         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
4950         Use q constraints instead of r.
4951
4952 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
4953
4954         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
4955         (machine_function): Define.
4956         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
4957         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
4958         pa_free_machine_status): New functions.
4959         (override_options): Set {init,mark,free}_machine_status to above.
4960         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
4961         PIC_OFFSET_TABLE_REGNUM_SAVED.
4962         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
4963         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
4964         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
4965         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
4966         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
4967
4968 2001-01-15  DJ Delorie  <dj@redhat.com>
4969
4970         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
4971         (cpp.1): Ditto.
4972         (gcc.1): Ditto.
4973
4974 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4975
4976         * flow.c (propagate_on_insn): Make trying to delete a prologue
4977         or epilogue insn an ICE, not a warning.  Allow doing this if
4978         the current function returns with stack pointer depressed.
4979
4980         * combine.c (try_combine): If i3_subst_into_i2, properly check for
4981         I3 having more than one SET.
4982
4983 2001-01-16  Jim Wilson  <wilson@redhat.com>
4984
4985         * invoke.texi: Document IA-64 options.
4986
4987         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
4988         (fixup_errata): Delete TARGET_A_STEP use.
4989         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
4990         (TARGET_SWITCHES): Delete -ma-step option.
4991         * config/ia64/ia64.md (all FP patterns): Delete %B0.
4992         (movqicc_astep, movqi_internal_astep, movhicc_astep,
4993         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
4994         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
4995         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
4996         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
4997         Delete.
4998         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
4999         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
5000         cmovsi_internal): Delete ! TARGET_A_STEP check.
5001
5002 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5003
5004         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
5005         possibility to report bugs via postal mail. Change a URL and
5006         merge in a nearly duplicate statement...
5007         (Bug Reporting): ...from here.
5008         (Service): Refer to the Bug Reporting section instead of
5009         duplicating an URL.
5010         (Contributing): Remove trivial explanations concerning snapshots.
5011
5012 2001-01-16  Alan Modra <alan@linuxcare.com.au>
5013
5014         * cppmain.c (general_init): Don't use ANSI prototype.
5015
5016 2001-01-16  Tom Tromey  <tromey@redhat.com>
5017
5018         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
5019
5020 2001-01-16  Richard Henderson  <rth@redhat.com>
5021
5022         * config/i386/i386.h: Fix comment typo.
5023         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
5024         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
5025
5026 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
5027
5028         * gcc.c:  Revert previous -fsyntax-only-related change; move
5029         to cp/g++spec.c.
5030
5031 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
5032
5033         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
5034         inmode after checking GET_CODE (op).
5035
5036 2001-01-16  Richard Henderson  <rth@redhat.com>
5037
5038         * flow.c (struct propagate_block_info): Add mem_set_list_len.
5039         (MAX_MEM_SET_LIST_LEN): New.
5040         (propagate_one_insn): Update mem_set_list_len.
5041         (invalidate_mems_from_autoinc): Likewise.
5042         (invalidate_mems_from_set): Likewise.
5043         (mark_used_regs): Likewise.
5044         (init_propagate_block_info): Likewise.  Stop collecting memories
5045         when we reach MAX_MEM_SET_LIST_LEN.
5046         (mark_set_1): Likewise.
5047
5048 2001-01-16  Richard Henderson  <rth@redhat.com>
5049
5050         * unroll.c (precondition_loop_p): Fail if no iteration
5051         variable found.
5052
5053 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
5054
5055         * gcc.c:  When -fsyntax-only is given, do not complain about
5056         unused libraries.
5057
5058 2001-01-15  Richard Henderson  <rth@redhat.com>
5059
5060         * config/i386/i386.c (asm_output_function_prefix): Remove.
5061         (ix86_asm_file_end): New.
5062         (load_pic_register): Generate pic_label_name into a
5063         staticly allocated buffer.
5064         * config/i386/i386-protos.h: Update.
5065         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
5066         (ASM_FILE_END): New.
5067         * config/i386/i386afe.h: New file.
5068         * config.gcc (i?86-*-elf) [tm_file]: Use it.
5069         (i?86-*-{freebsd,linux*,moss*}): Likewise.
5070         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
5071         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
5072         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
5073         * config/i386/sco5.h (ASM_FILE_END): Likewise.
5074         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
5075
5076 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
5077
5078         * Makefile.in (install-man): Remove explicit dependency on
5079         $(srcdir)/gcc.1.
5080
5081         * configure.in, configure: Revert previous patch requiring perl
5082         5.6.0.
5083
5084 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
5085
5086         * toplev.c (flag_guess_branch_prob): New.
5087         (f_options): Add guess-branch-probability option.
5088         (rest_of_decl_compilation): Only estimate branch probability if
5089         flag set.
5090         (main): set flag_guess_branch_prob.
5091
5092         * flags.h (flag_guess_branch_prob): New.
5093
5094 2001-01-15  DJ Delorie  <dj@redhat.com>
5095
5096         * gcc.texi (Makefile): Add documentation for Makefile targets.
5097
5098 2001-01-15  Philip Blundell  <philb@gnu.org>
5099
5100         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
5101         (is_pic): Delete.
5102         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
5103         (is_pic): Delete declaration.
5104         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
5105         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
5106         * config/arm/arm.md (builtin_setjmp_receiver): New.
5107
5108 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
5109
5110         * arm.c (use_return_insn): Don't try to determine the function type
5111         until after reload has completed.
5112         (arm_output_epilogue): Don't adjust the sp value recovered from the
5113         stack.
5114         (emit_multi_reg_push): Don't record dwarf information for the pc.
5115         * arm.md (eh_epilogue): The function type may have changed, so it
5116         needs to be recalculated.
5117         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
5118         unwind tables on arm/netbsd.
5119
5120 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
5121
5122         * arm.md (cbranchsi4): Correct calculation of branch ranges.
5123         (negated_cbranchsi4): Likewise.
5124
5125 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
5126
5127         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
5128         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
5129         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
5130         pass -mapcs-* options to assembler.
5131         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
5132         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
5133         (ASM_SPEC): Call subtarget_extra_asm_spec.
5134
5135 2001-01-15  Andreas Jaeger  <aj@suse.de>
5136
5137         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
5138         warnings.
5139         (ix86_expand_builtin): Likewise.
5140
5141         * gencodes.c (output_predicate_decls): Make i size_t to avoid
5142         warning about comparison between signed and unsigned.
5143
5144 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
5145
5146         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
5147
5148 2001-01-14  Ralf Baechle <ralf@gnu.org>
5149
5150         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
5151         SUBTARGET_CPP_SPEC apropriatly.
5152
5153 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
5154
5155         * varasm.c (make_decl_rtl): Fix typo in last change.
5156
5157 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
5158
5159         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
5160         linker supports the init_priority C++ attribute.
5161         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
5162         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
5163         linker does not support init_priority C++ attribute.
5164
5165 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
5166
5167         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
5168
5169 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5170
5171         * c-parse.in (finish_parse): Add comment about cpp_destroy.
5172         * cp/lex.c (finish_parse): Similarly.
5173         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
5174         Return the number of errors encountered.
5175         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
5176         * cppmain.c (main): Don't call cpp_destroy.
5177
5178 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
5179
5180         * configure.in: Require at least perl 5.6.0 to regenerate
5181         manpages.
5182         * configure: Regenerate.
5183
5184 2001-01-14  Richard Henderson  <rth@redhat.com>
5185
5186         * genrecog.c (DT_veclen_ge): New.
5187         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
5188         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
5189         (nodes_identical_1): Handle DT_veclen_ge.
5190         (write_cond, debug_decision_2): Likewise.
5191
5192 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
5193
5194         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
5195         with ...
5196         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
5197
5198 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
5199
5200         * cppmain.c (do_preprocessing): New function; most of the old
5201         main.
5202         (main): Call it to do most of the work.
5203         (cb): Move from global scope to set_callbacks ().
5204         (setup_callbacks): Get the callback pointer.
5205         (general_init, printer_init): Clean up code and comments.
5206
5207 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
5208
5209         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
5210         compiling PIC.
5211
5212 2001-01-14  Kazu Hirata  <kazu@hxi.com>
5213
5214         * config/h8300/h8300.c (get_shift_alg): Update comments.
5215
5216 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5217
5218         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
5219         (alloc_page, ggc_alloc): Add casts to remove warnings.
5220
5221 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
5222
5223         * combine.c (simplify_comparison): Don't change `code' when
5224         can't reverse comparison.
5225
5226 2001-01-14  Richard Henderson  <rth@redhat.com>
5227
5228         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
5229         update all call sites.  Return true for all non-label constants.
5230
5231 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
5232
5233         * i386.c (ix86_expand_compare): Add bypass_test and second_test
5234         parameters.
5235         (ix86_expand_branch): Update.
5236         (ix86_expand_setcc): Update to handle multiple test conditions.
5237         (expand_int_movcc): Likewise.
5238         (expand_fp_movcc): Likewise.
5239         * i386-protos.h (ix86_expand_compare): New.
5240         * i386.md (andqi_?_slp, orqi_?_slp): New.
5241         (conditional trap expander): Update call to ix86_expand_compare.
5242
5243 2001-01-14  Richard Henderson  <rth@redhat.com>
5244
5245         * config/vax/vax.md: Use nonimmediate_operand instead of
5246         general_operand in destinations.
5247
5248         * config/vax/vax.md (indirect_jump): Use register_operand.
5249
5250         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
5251         * config/vax/vax.md (call_pop): Turn into an expander.
5252         (call_value_pop): Likewise.
5253         (call, call_value): New.
5254
5255 2001-01-14  Andreas Jaeger  <aj@suse.de>
5256
5257         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
5258         variables.
5259         (ix86_fp_compare_mode): Add unused attribute.
5260         (ix86_expand_fp_movcc): Remove unused variable.
5261         (ix86_expand_builtin): Make fcode unsigned.
5262
5263         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
5264         (expand_expr): Add cast to avoid signed warning.
5265         (store_field): Likewise.
5266         (store_constructor_field): Likewise.
5267         (store_constructor): Likewise.
5268         (store_expr): Likewise.
5269         (clear_storage): Likewise.
5270         (emit_group_store): Likewise.
5271         (emit_group_load): Likewise.
5272
5273 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
5274
5275         * c-common.c: Move format checking code to ...
5276         * c-format.c: ... here.  New file.  Reorder some functions and
5277         declarations.
5278         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
5279         New functions.
5280         * c-common.h (decl_handle_format_attribute,
5281         decl_handle_format_arg_attribute): Declare.
5282         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
5283         (c-common.o): Adjust dependencies.
5284         (c-format.o): New list of dependencies.
5285
5286 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
5287
5288         * unroll.c (loop_iterations): If we cannot prove iteration variable
5289         is set once in each iteration, punt.
5290
5291 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
5292
5293         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
5294         (*strlenhi): Remove clobber (which was buggy) of output address.
5295
5296 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
5297
5298         * Makefile.in (generated-manpages): Add gcc.1
5299         ($(srcdir)/gcc.1): New target.
5300         (maintainer-clean): Delete $(srcdir)/gcc.1.
5301         * gcc.texi: Add macros @gccoptlist and @gol.
5302         * invoke.texi: Include option summary in manpage.  Mark up option
5303         summary with @gccoptlist and @gol.  Use @r in one place where
5304         appropriate.
5305         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
5306         * gcc.1: Generate from invoke.texi.
5307
5308 2001-01-13  Richard Henderson  <rth@redhat.com>
5309
5310         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
5311         (struct page_entry): Add group member.
5312         (struct page_group): New.
5313         (struct globals): Add page_groups member.
5314         (alloc_anon): Only define for using mmap; remove valloc call.
5315         (page_group_index): New.
5316         (set_page_group_in_use): New.
5317         (clear_page_group_in_use): New.
5318         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
5319         (free_page, release_pages): Likewise.
5320         * configure.in (with-gc): Default to ggc-page always.
5321
5322 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
5323
5324         * reload1.c (replace_pseudos_in_call_usage): Use
5325         reg_equiv_constant and reg_equiv_address, and don't try
5326         regno_reg_rtx first.
5327
5328 2001-01-13  Richard Henderson  <rth@redhat.com>
5329
5330         * ggc-page.c (alloc_page): Round up allocation size to one page.
5331         Set e->order on extra pages.
5332
5333 2001-01-13  Richard Henderson  <rth@redhat.com>
5334
5335         * genrecog.c (nodes_identical): Expand commentary.
5336         (write_switch): Watch out for identical nodes.
5337
5338 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5339
5340         * cppfiles.c (_cpp_fake_include): New function.
5341         * cpphash.h (_cpp_fake_include): New.
5342         * cpplib.c (do_line): Call _cpp_fake_include when entering
5343         header files in preprocessed input.
5344         * cppmain.c (cb_pragma_implementation): Remove handling.
5345         (setup_callbacks): Don't register pragmas.
5346
5347 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5348
5349         * extend.texi: Udate for CPP.
5350
5351 2001-01-13  Andreas Jaeger  <aj@suse.de>
5352
5353         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
5354
5355         * regmove.c: Add prototype for replace_in_call_usage.
5356
5357 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5358
5359         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
5360         struct cpp_chunk, struct htab, struct toklist,
5361         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
5362         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
5363         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
5364         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
5365         (struct macro_args): Delete.
5366         * cpphash.h: See above.
5367
5368 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5369
5370         * cppmain.c (struct printer): Remove no_line_dirs.
5371         (options, cb): New.
5372         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
5373         : Use options rather than CPP_OPTION.
5374         (setup_callbacks): Use cb rather than pfile->cb.
5375         (main): No need to check for a buffer.  Use cpp_errors.
5376         (printer_init): Don't set no_line_dirs.
5377         (maybe_print_line): Use options not no_line_dirs.
5378         (cb_file_change): Don't call print_line if -P.
5379
5380 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5381
5382         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
5383         callbacks.
5384         * c-parse.in (finish_parse): Use cpp_errors.
5385         (__yylex): Use return value of cpp_pop_buffer.
5386         * cp/lex.c (finish_parse): Use cpp_errors.
5387         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
5388
5389 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
5390
5391         * README.AVR: URLs corrected.
5392
5393 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5394
5395         * c-decl.c (start_function): Don't warn if old prototype is builtin
5396         that's not in C's namespace.
5397         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
5398         (_bb): Add prototype for ctime.
5399         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
5400
5401 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
5402
5403         * i386.c (ix86_fp_comparison_arithmetics_cost,
5404         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
5405         ix86_fp_comparison_cost): New functions.
5406         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
5407         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
5408         two-branch sequences; make static.
5409         (ix86_use_fcomi_compare): Do decision according to the costs.
5410         (split_fp_branch): New.
5411         * i386.md (compare-and-branch patterns): Use split_fp_branch.
5412         * i386-protos.h (ix86_expand_fp_compare): Remove
5413         (ix86_split_fp_branch): Declare.
5414
5415         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
5416         and ix86_comparison_operator.
5417
5418         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
5419         to make it cheaper.
5420
5421         * i386.c (put_condition_code): Output properly the unordered/ordered
5422         compares in fp case.
5423         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
5424
5425         * tm.texi (REVERSE_CONDITION): Document.
5426         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
5427         in -ffast-math mode.
5428         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
5429
5430 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
5431
5432         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
5433
5434         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
5435         optimized away.
5436
5437         * config/sh/sh.c (mova_p): Fix test for mova_const.
5438
5439 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5440
5441         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
5442         cpp_get_options rather than dereferencing pfile and using
5443         CPP_OPTION.
5444         * scan-decls.c (scan_decls): Use return value of
5445         cpp_pop_buffer rather than CPP_BUFFER.
5446
5447 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
5448
5449         * cppinit.c (cpp_handle_option): help_only is now part of the
5450         cpp_options structure.
5451         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
5452         cpp_set_callbacks): New functions.
5453         * cpplib.h (cpp_callbacks): Break out as a named structure.
5454         (cpp_options): Move help_only here from cpp_reader.
5455         (CPP_FATAL_ERRORS): Update to use cpp_errors.
5456         (cpp_errors, cpp_get_options, cpp_get_callbacks,
5457         cpp_set_callbacks): New prototypes.
5458         * cppmain.c (main): Update for help_only.
5459
5460 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
5461
5462         * Makefile.in (info, maintainer-clean, install-info, uninstall):
5463         Also build and remove and install and uninstall c-tree.info and
5464         cppinternals.info.
5465         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
5466         ($(srcdir)/cppinternals.info): New target.
5467         * c-tree.texi: Change file name used when makeinfo used without -o
5468         from ir.info to c-tree.info.  Add info directory entry.
5469         * cppinternals.texi: Add info directory entry.
5470         * .cvsignore: Update.
5471
5472 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
5473
5474         * c-typeck.c (store_init_value): Don't require constant initializer
5475         elements with -pedantic -std=c99.
5476         (digest_init): Change error about non-constant initializer elements
5477         into pedwarn.
5478         (constructor_range_end): Remove.
5479         (constructor_incremental, designator_depth,
5480         designator_errorneous): New variables.
5481         (struct constructor_stack): Remove range_end, add incremental.
5482         (struct constructor_range_stack, constructor_range_stack): New.
5483         (struct initializer_stack): Add constructor_range_stack.
5484         (finish_init): Set it.
5485         (start_init): Likewise.  require_constant_elements for non-static
5486         trees only if not flag_isoc99.
5487         (really_start_incremental_init): Remove constructor_range_end, add
5488         constructor_incremental.
5489         (pop_init_level): Likewise.
5490         (push_init_level): Likewise.  If implicit and the subobject had some
5491         value set already, preinitialize the level with it.
5492         Warn about missing braces only if not pushing due to designators.
5493         (set_designator, push_range_stack): New functions.
5494         (set_init_label): Use them.
5495         (set_init_index): Likewise.  Remove constructor_range_end.
5496         Error if designator index is outside of array bounds.
5497         (add_pending_init): Compare values of purpose index trees, not the
5498         trees themselves.  Allow overwriting of already initialized element.
5499         Issue a warning if it had side-effects.
5500         (set_nonincremental_init, set_nonincremental_init_from_string): New
5501         functions.
5502         (pending_init_member): Rename to...
5503         (find_init_member): ...this function.  Call set_nonincremental_init
5504         if necessary.  Compare values of purpose index trees, not the trees
5505         themselves.  Return the actual value, not just non-zero if something
5506         is found.
5507         (output_init_element): Remove checks for duplicates.
5508         If field has zero size, only check the initializer for correctness.
5509         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
5510         if constructor_incremental is zero.  Change error about initializers
5511         not computable at load time into pedwarn.
5512         (output_pending_init_elements): Compare bit positions, not
5513         FIELD_DECLs to take into account zero-sized fields.
5514         (process_init_element): Use constructor_range_stack to fill all
5515         ranges in the designator lists from current level up.
5516         * extend.texi: Update documentation for labeled elements.
5517
5518 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
5519
5520         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
5521         to function usage for arguments passed by reference.  Optimize
5522         callee-copied arguments.
5523         * regmove.c (replace_in_call_usage): New function.
5524         (fixup_match_1): Call it.
5525         * cse.c (cse_insn): Canonicalize registers in function usage.
5526         * reload1.c (replace_pseudos_in_call_usage): New function.
5527         (reload): Call it.
5528
5529         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
5530         right version.
5531
5532 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
5533
5534         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
5535         not XEXP (tmp, 0).
5536
5537 2001-01-12  DJ Delorie  <dj@redhat.com>
5538
5539         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
5540         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
5541         targets.
5542
5543 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5544
5545         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
5546         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
5547         -std options alongside references to -ansi.  Update some
5548         documentation for C99.
5549         * cpp.1: Regenerate.
5550
5551 2001-01-12  Andreas Jaeger  <aj@suse.de>
5552
5553         * haifa-sched.c (restore_line_notes): Remove argument block B
5554         since it's unused.
5555         * sched-ebb.c (schedule_ebb): Change caller.
5556         * sched-rgn.c (schedule_region): Likewise.
5557         * sched-int.h (restore_line_notes): Adjust prototype.
5558
5559         * loop.h: Remove wrong declaration of doloop_condition_get.
5560
5561 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
5562
5563         * extend.texi:  Move C++-extension-related node from the C section
5564         into the C++ section.
5565
5566 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
5567
5568         * extend.texi: Refer to an array of pointers to functions instead
5569         of one of functions.
5570
5571 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
5572                               Jan Hubicka  <jh@suse.cz>
5573
5574         * combine.c (reversed_comparison): Fix typo in last patch.
5575         Check X for NULL.
5576         (combine_reversed_comparison_code): Make static to follow
5577         prototype declaration.
5578
5579 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
5580
5581         * install.texi:  Remove misplaced duplicate entry.
5582
5583 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
5584
5585         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
5586
5587 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
5588
5589         * final.c: (leaf_function_p): Fix typo.
5590
5591 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
5592
5593         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
5594         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
5595         which you have.
5596         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
5597         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
5598         mmap_anon, and valloc is available.
5599         * ggc-page.c: Restructure ifdef logic to match new autoconf
5600         spec.  Don't throw away the test page in init_ggc.
5601
5602         * configure, config.in: Regenerate.
5603
5604 2001-01-12  Michael Hayes  <mhayes@redhat.com>
5605
5606         * loop.h (total_biv_increment): Constify iv_class pointer.
5607         (struct induction): Replace `mem_mode' with `mem' rtx.
5608         * unroll.c (total_biv_increment): Constify iv_class pointer.
5609         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
5610         (find_mem_givs, combine_givs_p): Likewise.
5611         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
5612
5613 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
5614
5615         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
5616         LastError.
5617         (__gthread_getspecific): Ditto.
5618
5619 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
5620
5621         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
5622         put_condition_code): Convert fp comparison codes to integer
5623         before handling.
5624         (ix86_expand_fp_compare): Postnote the fp comparison code converison
5625         to final.
5626
5627         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
5628         * i386-protos.h (no_comparison_operator): Kill.
5629
5630         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
5631
5632         * combine.c (REVERSIBLE_CC_MODE): Remove.
5633         (reversible_comparison_p): Remove.
5634         (combine_reversed_comparison_code): New.
5635         (reversed_comparison): New.
5636         (combine_simplify_rtx): Use
5637         combine_reversed_comparison_code/reversed_comparison instead
5638         of reversible_comparison_p.
5639         (simplify_if_then_else): Likewise.
5640         (simplify_set): Likewise.
5641         (simplify_logical): Likewise.
5642         (if_then_else_cond): Likewise.
5643         (known_cond): Likewise.
5644         (simplify_comparison): Likewise.
5645
5646 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
5647
5648         * builtins.c (std_expand_builtin_va_start): Handle varargs when
5649         sizeof (int) is larger than sizeof(__word__).
5650
5651 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5652
5653         * cppinit.c (do_includes): Fix typo.
5654
5655 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5656
5657         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
5658         in S_REGS does not occur because not all sources are possible
5659         when a S_REGS is a destination (sometimes needs a clobber).
5660         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
5661         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
5662         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
5663         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
5664         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
5665         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
5666         (lshrdi_const1, lshrsi3_const16): Likewise.
5667         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
5668         (*movhi_68hc12, *movqi_68hc12): Likewise.
5669         (movstrictqi): Make sure reloading in D_REGS as a destination
5670         does not happen.
5671
5672 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5673
5674         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
5675
5676 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5677
5678         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
5679         -D, -U and -A, and don't initialize the builtins.
5680         (do_includes): Error if -include or -imacros with -fpreprocessed.
5681         * cppmain.c (cb_define, cb_undef): Unconditionally process
5682         the callback.
5683         * tradcpp.c (main): Fix typo.
5684
5685 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
5686
5687         * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
5688         (read_name_map): Use IS_ABSOLUTE_PATH.
5689         * tradcpp.c (get_filename): Likewise.
5690
5691 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5692
5693         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
5694         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
5695         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
5696         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
5697         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
5698         (cmphi_z_used): Don't use '@' for the output.
5699         (tstqi_z_used): Likewise.
5700         (cmpqi_z_used): Likewise.
5701         (one_cmplsi2): Likewise.
5702
5703 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
5704
5705         * config/sh/sh.c (barrier_align): Recognize branch around far
5706         branch and redundant insn.
5707
5708 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5709
5710         * invoke.texi: Restore documentation of the drivers' switches -MD
5711         and -MMD.
5712
5713 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
5714
5715         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
5716
5717         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
5718         check-objc//%): Support parallel testing of multilibs.
5719         (TESTSUITEDIR): Set to testsuite by default, but override for
5720         parallel testing.
5721         (check-gcc, check-g++, check-g77, check-objc): Enter
5722         $(TESTSUITEDIR).
5723
5724 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
5725
5726         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
5727         * sched-deps.c (deps_may_trap_p): Likewise.
5728         * basic-block.h: Remove a comment.
5729         * flow.c (PROP_POSTRELOAD): Remove.
5730         (update_life_info): Don't add it to prop_flags.
5731         (mark_set_1): Lose the code that was enabled by it.
5732
5733 2001-01-11  Michael Hayes  <mhayes@redhat.com>
5734
5735         * flow.c (flow_call_edges_add): New.
5736         * basic_block.h (flow_call_edges_add): New.
5737
5738 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
5739
5740         * reload1.c (move2add_note_store): Update reg_set_luid even if
5741         base reg remains the same.
5742
5743 2001-01-10  Nick Clifton  <nickc@redhat.com>
5744
5745         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
5746         machine_function structure to zero.
5747         Add prototypes for machine_status functions.
5748
5749 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
5750
5751         * c-common.h (CTI_VOID_LIST): Remove.
5752         (void_list_node): Likewise.
5753         * tree.h (TI_VOID_LIST_NODE): New enumeral.
5754         (void_list_node): New macro.
5755         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
5756         * config/i386/i386.c (ix86_init_builtins): Likewise.
5757         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
5758
5759 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5760
5761         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
5762         * cppinit.c (cpp_start_read): Update comment, remove unneeded
5763         if statement.
5764         * tradcpp.c: Include mkdeps.h.
5765         (deps, print_deps_phony_targets, deps_append, output_deps,
5766         init_dependency_output, output_deps): New.
5767         (deps_buffer, deps_allocated_size, deps_size, deps_column,
5768         deps_output): Delete.
5769         (print_deps_missing_files): Rename deps_missing_files.
5770         (inhibit_output): Make global.
5771         (main): Delete inhibit_output, deps_stream, deps_target.
5772         Use mkdeps functionality in the same way as cpplib.  Remove
5773         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
5774         -M and -MM.  Remove old handling of deps via deps_out, and
5775         old reading of environment variables.
5776         (get_filename): Update to use deps_add_dep.
5777
5778 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
5779
5780         * output.h (make_function_rtl): Remove prototype.
5781         (make_decl_rtl): Likewise.
5782         * varasm.c (make_function_rtl): Remove.
5783         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
5784         than from a third parameter.
5785         * tree.h (make_decl_rtl): Remove last parameter.
5786         * c-decl.c (builtin_function): Remove last argument in call to
5787         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
5788         (start_function): Likewise.
5789         * except.c (call_get_eh_context): Likewise.
5790         * expr.c (emit_block_move): Likewise.
5791         (clear_storage): Likewise.
5792         * profile.c (output_func_start_profiler): Likewise.
5793         * toplev.c (rest_of_decl_compilation): Likewise.
5794         * objc/objc-act.c (create_builtin_decl): Likewise.
5795         (synth_module_prologue): Likewise.
5796         (generate_static_reference): Likewise.
5797         (build_selector_reference_decl): Likewise.
5798         (build_class_reference_decl): Likewise.
5799         (build_objc_string_decl): Likewise.
5800         (build_protocol_reference): Likewise.
5801
5802 2001-01-10  Richard Henderson  <rth@redhat.com>
5803
5804         * hwint.h: Revert yesterday's change.
5805
5806 2001-01-10  Nick Clifton  <nickc@redhat.com>
5807
5808         * function.h (save_machine_status): Delete.
5809         (restore_machine_status): Delete.
5810         Amend comment describing {init|mark|free}_machine_status.
5811
5812         * function.c (save_machine_status): Delete.
5813         (restore_machine_status): Delete.
5814         Amend comment describing {init|mark|free}_machine_status.
5815         (push_function_context_to): Remove invocation of
5816         save_machine_status.
5817         (pop_function_context_from): Remove invocation of
5818         restore_machine_status.
5819
5820         * emit-rtl.c (init_emit_once): Amend comment describing
5821         {init|mark|free}_machine_status.
5822
5823         * tm.texi (Per-Function Data): New node.  Describe the
5824         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
5825         function pointers.
5826
5827 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5828
5829         * cppinit.c (OPT_g): Remove.
5830         (cpp_handle_option): Update for removed -g3.
5831         (print_help): Update.
5832         * cpplib.h (struct cpp_options): Remove debug_output.
5833         * cppmain.c (setup_callbacks, cb_define): Update.
5834         * gcc.c (cpp_options): Translate -g3 to -dD.
5835
5836 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
5837
5838         * config/i960/i960.md: Change modifier to + on the zero_extract
5839         pattern after the (rotate -2 reg) canonicalization pattern.
5840
5841 2001-01-10  Richard Henderson  <rth@redhat.com>
5842
5843         * config/alpha/alpha.c (alpha_free_machine_status): New.
5844         (override_options): Install it.
5845         (alpha_mark_machine_status): Verify machine non-null.
5846         * config/i386/i386.c (ix86_free_machine_status): New.
5847         (override_options): Install it.
5848         (ix86_init_machine_status): Use xcalloc.
5849         (ix86_mark_machine_status): Verify machine non-null.
5850         * config/ia64/ia64.c (ia64_free_machine_status): New.
5851         (ia64_override_options): Install it.
5852         (ia64_mark_machine_status): Verify machine non-null.
5853
5854 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
5855
5856         * function.c (instantiate_virtual_regs): Instantiate virtual
5857         registers found in CALL_INSN_FUNCTION_USAGE.
5858
5859 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
5860
5861         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
5862         equivalent to -ansi in disabling -Di386.
5863
5864 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
5865
5866         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
5867         new functions.
5868         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
5869
5870 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
5871
5872         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
5873
5874 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
5875
5876         * invoke.texi: Document that -fcond-mismatch isn't supported for
5877         C++.
5878
5879 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
5880
5881         * gcc.texi: Define macro gcctabopt.
5882         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
5883         @command, @env and @option in some places where appropriate.  Use
5884         @gcctabopt where appropriate.  Put URLs and email addresses inside
5885         @w.
5886
5887 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
5888
5889         * gcc.c (cpp_options): Set MD file name from output
5890         filename, if specified.
5891         (suffix_subst): New static variable.
5892         (do_spec): Clear it.
5893         (do_spec_1, case '.'): Handle new `%.suffix' spec.
5894         Clear it.
5895         (give_switch): Handle suffix_subst.
5896
5897 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
5898
5899         * invoke.texi:  Fix another typo.
5900
5901 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
5902
5903         * invoke.texi:  Fix typo.
5904
5905 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5906
5907         * c-lang.c (lang_hooks): Update.
5908         (lang_decode_option): Remove.
5909         (lang_init_options): Rename c_init_options.
5910         * toplev.c (main): Use lang_hooks for lang_init_options
5911         and lang_decode_option.
5912         * toplev.h (lang_hooks): Add 2 new hooks.
5913         * tree.h: Remove lang_init_options and lang_decode_option.
5914         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
5915         * cp/decl2.c: Similarly.
5916         * cp/lex.c (lang_init_options): Rename cxx_init_options.
5917         (lang_hooks): Update.
5918         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
5919         for consistency.
5920         (lang_init_options): Rename ffe_init_options.
5921         (lang_hooks): Update.
5922         (lang_decode_option): Remove.
5923         * java/lang.c (lang_init_options): Rename java_init_options.
5924         (lang_decode_option): Rename java_decode_option.
5925         (lang_hooks): Update.
5926         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
5927         (lang_decode_option): Rename objc_decode_option.
5928         (lang_hooks): Update.
5929
5930 2001-01-09  Nick Clifton  <nickc@redhat.com>
5931
5932         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
5933         (d30v_return_addr_rtx): Delete.
5934         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
5935         cfun->machine structure.
5936         (struct machine_function): Move to d30v.h
5937         (d30v_save_machine_status): Delete.
5938         (d30v_restore_machine_status): Delete.
5939         (d30v_init_machine_status): New Function.
5940         (d30v_mark_machine_status): New Function.
5941         (d30v_free_machine_status): New Function.
5942         (d30v_init_expanders): Use new functions.
5943         (d30v_return_addr): Use ra_rtx field in cfun->machine.
5944         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
5945         d30v_return_addr_rtx.
5946
5947         * config/d30v/d30v.h (struct_machine): Move here.
5948         Add eh_epilogue_sp_ofs field.
5949
5950         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
5951         field in cfun->machine structure.
5952
5953 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5954
5955         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
5956         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
5957         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
5958
5959 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
5960
5961         * objc/lang-options.h: Remove bogus reference to
5962         Java trademark.
5963
5964 2001-01-09  Kazu Hirata  <kazu@hxi.com>
5965
5966         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
5967         return the result.
5968
5969 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
5970
5971         * reload.c (find_reloads_address): Check for eliminable registers
5972         when substituting a constant expression for a pseudo.
5973
5974 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
5975
5976         * c-common.c (enum format_type): Add format_type_error.
5977         (decode_format_type): New function.
5978         (decl_attributes): Use it.
5979         (format_kind_info): Adjust comment.
5980
5981 2001-01-09  David O'Brien  <obrien@BSDi.com>
5982
5983         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
5984         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
5985         files in tm_file.
5986         * config/i386/gnu.h: Don't include required platform specific .h files,
5987         tm.h will do it instead.
5988         * config/i386/i386elf.h: Likewise.
5989         * config/i386/linux.h: Likewise.
5990         * config/i386/moss.h: Likewise.
5991         * config/mips/gnu.h: Likewise.
5992
5993 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5994
5995         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
5996         (rs6000-ibm-aix3.[01]*): Likewise.
5997         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
5998         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
5999         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
6000         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
6001         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
6002         (powerpc-*-eabiaix*): Likewise.
6003         (powerpc-*-eabisim*): Likewise.
6004         (powerpc-*-elf*): Likewise.
6005         (powerpc-*-eabi*): Likewise.
6006         (powerpc-*-rtems*): Likewise.
6007         (powerpc-*-linux*libc1): Likewise.
6008         (powerpc-*-linux*): Likewise.
6009         (powerpc-wrs-vxworks*): Likewise.
6010         (powerpcle-wrs-vxworks*): Likewise.
6011         (powerpcle-*-sysv*): Likewise.
6012         (powerpcle-*-elf*): Likewise.
6013         (powerpcle-*-eabisim*): Likewise.
6014         (powerpcle-*-eabi*): Likewise.
6015         (powerpcle-*-solaris2*): Likewise.
6016         * config/rs6000/aix31.h: Delete includes.
6017         * config/rs6000/aix3newas.h: Likewise.
6018         * config/rs6000/aix41.h: Likewise.
6019         * config/rs6000/aix43.h: Likewise.
6020         * config/rs6000/beos.h: Likewise.
6021         * config/rs6000/rtems.h: Likewise.
6022         * config/rs6000/sysv4.h: Likewise.
6023
6024 2001-01-09  Kazu Hirata  <kazu@hxi.com>
6025
6026         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
6027         Change an argument mode of machine_mode to shift_mode of
6028         shift_mode.  Remove an extra error check.
6029         (emit_a_shift): Adopt to the new calling prototype of
6030         get_shift_alg.
6031         (function_prologue): Fix code for a monitor
6032         function.  Support H8/S.
6033         (function_epilogue): Do not output pop for a monitor function.
6034
6035 2001-01-09  Nick Clifton  <nickc@redhat.com>
6036
6037         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
6038         (setup_incoming_varargs): Use sysv_varargs_p field of the
6039         cfun->machine structure.
6040         (struct machine_function): Move to rs6000.h
6041         (rs6000_save_machine_status): Delete.
6042         (rs6000_restore_machine_status): Delete.
6043         (rs6000_init_machine_status): New Function.
6044         (rs6000_free_machine_status): New Function.
6045         (rs6000_init_expanders): Use new functions.
6046
6047         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
6048         export.
6049         (struct machine_function): Move here.
6050
6051         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
6052         sysv_varargs_p field of the cfun->machine structure.
6053
6054         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
6055         Remove prototype.
6056         (rs6000_restore_machine_status): Remove prototype.
6057
6058 2001-01-09  Richard Henderson  <rth@redhat.com>
6059
6060         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
6061         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
6062         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
6063         (sched_analyze_2, sched_analyze_insn): Likewise.
6064         (sched_analyze, init_deps): Likewise.
6065         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
6066         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
6067         (compute_block_backward_dependences): Update propagate_deps call.
6068
6069 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
6070
6071         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
6072
6073 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6074
6075         * cppinit.c (OPT_MD, OPT_MMD): Restore.
6076         (cpp_handle_option): Handle them.
6077         (cpp_post_options): Ensure one of -M or -MM is specified with
6078         any other -M? option.
6079         (init_dependency_output): Suppress output with -MG.
6080
6081 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6082
6083         * cpp.texi: Update.
6084         * invoke.texi: Update.
6085
6086 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
6087
6088         * sh.md (reload_outsf): Generate recognizable patterns for
6089         TARGET_SH3E.
6090
6091 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
6092
6093         * c-lang.c (lang_hooks): Update.
6094         (lang_init): Rename c_init.
6095         (lang_finish): Remove.
6096         * toplev.c (compile_file): Use lang_hooks for lang_init ()
6097         and lang_finish ().
6098         * toplev.h (lang_hooks): Add init () and finish ().
6099         * tree.h (lang_init, lang_finish): Remove.
6100         * cp/tree.h (lang_init, lang_finish): Remove.
6101         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
6102         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
6103         lang_hooks): New.
6104         (lang_init, lang_finish): Remove.
6105         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
6106         (lang_hooks): Update.
6107         * java/lang.c (lang_init): Rename java_init.
6108         (lang_finish): Remove.
6109         (lang_hooks): Update.
6110         * objc/objc-act.c (lang_init): Rename objc_init.
6111         (lang_finish): Remove.
6112         (lang_hoooks): Update.
6113
6114 20001-01-09  Graham Stott  <grahams@redhat.com>
6115
6116         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
6117         after `ptr` is initialised.
6118
6119 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
6120
6121         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
6122         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
6123         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
6124         stack adjusts, instead of r3.
6125
6126 2001-01-09  Michael Hayes  <mhayes@redhat.com>
6127
6128         * flow.c (flow_loop_scan): Break out of ...
6129         (flow_loops_find) ... here.
6130         * basic-block.h (flow_loop_scan): New.
6131         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
6132         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
6133
6134 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
6135
6136         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
6137         macro_buffer_len.
6138         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
6139         realloc()ing macro_buffer.
6140
6141         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
6142         if it's wider than long and the target's long is wider than the
6143         host's.
6144
6145 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
6146
6147         Remove support for using UWIN as a host machine.
6148         * configure.in: Issue an error message.
6149         * configure: Regenerated.
6150         * config.gcc: Remove xm_* UWIN configury.
6151         * config/i386/xm-uwin.h: Remove.
6152
6153 2001-01-08  Nick Clifton  <nickc@redhat.com>
6154
6155         * config/v850/v850.c (ra_rtx): Delete.
6156         (v850_save_machine_status): Delete.
6157         (v850_restore_machine_status): Delete.
6158         (v850_init_machine_status): New function.
6159         (v850_mark_machine_status): New function.
6160         (v850_free_machine_status): New function.
6161         (v850_return_addr): Use ra_rtx field in machine structure.
6162         (v850_init_expanders): Use new functions.
6163
6164         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
6165         * config/v850/v850.c: Change arguments to v850_output+* functions
6166         to take a const char *, to avoid compile time warning.
6167         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
6168         (USER_LABEL_PREFIX): Redefine.
6169
6170 2000-01-08  Jim Wilson  <wilson@redhat.com>
6171
6172         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
6173         1 to unsigned HOST_WIDE_INT before left shift.
6174
6175 2001-01-08  Nick Clifton  <nickc@redhat.com>
6176
6177         * config/arm/arm.c (arm_mark_machine_status): Check to see if
6178         the machine structure has been allocated.
6179         (arm_free_machine_status): New function: Free the machine
6180         specific function structure.
6181
6182 2001-01-08  Richard Henderson  <rth@redhat.com>
6183
6184         * jump.c (simplejump_p): Revert last change.
6185
6186 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
6187
6188         * cppinit.c (init): Rename init_library.
6189         (cpp_create_reader): Update.
6190         * gcc.c (cpp_options): If -o given, use it as the target of
6191         any -M options.
6192
6193 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
6194
6195         * arm.c (arm_arch5e): New variable.
6196         (all_cores): XScale is a 5TE device.
6197         (arm_override_options): Set arm_arch5e.
6198         (arm_init_builtins): __builtin_prefetch is in arch5e.
6199         * arm.h (arm_arch5e): Declare it.
6200
6201         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
6202
6203         * arm.md (define_constants): Add defines for UNSPEC and
6204         UNSPEC_VOLATILE insns.  Update all users.
6205         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
6206         * arm.c (multi_register_push, note_invalid_constants)
6207         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
6208         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
6209         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
6210
6211 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
6212
6213         * jump.c (jump_optimize_1): Use reversed_comparison_code
6214         instead of can_reverse_comparison_p.
6215         (jump_back_p): Likewise.
6216         (invert_exp_1): Likewise.
6217         (thread_jumps): Likewise.
6218         * simplify-rtx.c (simplify_unary_operation): Likewise.
6219         (simplify_ternary_operation): Likewise.
6220         * cse.c (find_comparison_args): Convert to use
6221         can_reverse_comparison_p.
6222         (record_jump_equiv): Likewise.
6223
6224 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
6225
6226         * arm.h (HARD_REGNO_RENAME_OK): Delete.
6227         (EPILOGUE_USES): Define.
6228         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
6229         automatically stack the LR if it isn't live.
6230
6231 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
6232
6233         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
6234         properly.
6235
6236 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
6237
6238         * ggc-page.c (max_alignment): New structure.
6239         (MAX_ALIGNMENT): New macro.
6240         (init_ggc): Use it to round up the sizes in the
6241         extra_order_size_table.
6242
6243 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6244
6245         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
6246         after reload.
6247
6248 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6249
6250         * builtins.def (BUILT_IN_FPRINTF): New entry.
6251
6252         * c-common.c (c_expand_builtin_fprintf): New function.
6253         (init_function_format_info): Handle __builtin_fprintf.
6254         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
6255         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
6256
6257         * c-decl.c (duplicate_decls): Adjust comment.
6258
6259         * extend.texi (fprintf): Document new builtin.
6260
6261 2001-01-07  Richard Henderson  <rth@redhat.com>
6262
6263         * jump.c (simplejump_p): Recognize any single_set jump
6264         of the proper form.
6265
6266 2001-01-07  Richard Henderson  <rth@redhat.com>
6267
6268         * configure.in (slibdir): Accept an --with-slibdir option.
6269         Use "test" not "[" in configure.  Default to $(libdir).
6270
6271         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
6272         fix typo in rm -f.
6273         * config/t-aix43 (SHLIB_INSTALL): Likewise.
6274         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
6275         (SHLIB_LINK): Create links for the soname.
6276         * config/mips/t-iris6: Likewise.
6277         * config/sparc/t-slibgcc: Likewise.
6278         * config/sparc/t-slibgcc-sld: Likewise.
6279
6280 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
6281
6282         * config/i386/i386.c (constant_call_address_operand): Accept
6283         (const (plus (symbol_ref) (const_int))).
6284         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
6285         constant_call_address_operand.
6286
6287 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6288
6289         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
6290         and LONG_LONG_TYPE_SIZE > 32.
6291
6292 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6293
6294         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
6295         the previous change.
6296
6297 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
6298
6299         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
6300         New.
6301         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
6302         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
6303         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
6304         Declare.
6305
6306 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6307
6308         * fix-header.c (read_scan_file): s/pfile/scan_in/.
6309
6310 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6311
6312         * c-lang.c (c_post_options): Call cpp_post_options.
6313         * objc/objc-act.c (objc_post_options): Similarly.
6314         * cppmain.c (main): Similarly.
6315         * fix-header.c (read_scan_file): Similarly.
6316         * cppinit.c (cpp_start_read): Move option consistency checks
6317         to cpp_post_options.  Don't call init_dependency_output.
6318         If needed, add default target and main file dependency.
6319         (OPT_MD, OPT_MMD): Remove.
6320         (OPT_MF): New.
6321         (cpp_handle_option): Update for OPT_* changes.
6322         (cpp_post_options): New.
6323         (init_dependency_output): Command line -MF overrides environment
6324         variables.  Don't set default target etc.  Suppress output
6325         if dependencies are going to stdout.
6326         (print_help): Update.
6327         * cpplib.h (cpp_post_options): New.
6328         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
6329
6330 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
6331
6332         * jump.c (comparison_dominates_p): Support unordered compares.
6333
6334 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
6335
6336         * simplify-rtx.c (simplify_relational_operation): Always simplify
6337         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
6338         and UNGE.
6339
6340 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
6341
6342         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
6343         (nonzero_bits): Likewise.
6344         (simplify_comparison): Likewise.
6345         (num_sign_bit_copies): Likewise; return more sane value depending
6346         on STORE_FLAG_VALUE.
6347         (known_cond): Do not assume EQ to be always true for equivalent
6348         operands.
6349
6350 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
6351
6352         * cse.c (fold_rtx): Handle unordered comparisons.
6353
6354 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
6355
6356         * rtlanal.c (set_of_1): New static function.
6357         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
6358          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
6359          reg_set_last_last_regno): Remove.
6360         (set_of): New global function.
6361         (set_of_data): New structure.
6362         (reg_set_p, reg_set_last): Revamp for set_of.
6363         * rtl.h (set_of): New.
6364
6365 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
6366
6367         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
6368         * extend.texi: Document _Exit builtin.
6369
6370 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6371
6372         * (initialize, initialize_builtins,
6373         initialize_dependency_output, initialize_standard_includes):
6374         Rename s/initialize/init. Update.
6375         (init_dependency_output): Move to after
6376         cpp_handle_options, the correct location temporally at least.
6377         (opt_comp): Move next to init (), its caller.  Fix prototype.
6378         (init): Make "initialized" local scope.
6379         (cpp_create_reader): Always call init ().
6380         (cpp_start_read): Update.
6381         (output_deps): New function, broken out of cpp_finish.
6382         (cpp_finish): Break out output_deps.
6383
6384 2001-01-07  Richard Henderson  <rth@redhat.com>
6385
6386         * collect2.c (COFF specific stuff): Revert 12-06 patch
6387         to prototype system functions.
6388
6389 2001-01-07  Michael Hayes  <mhayes@redhat.com>
6390
6391         * hard-reg-set.h: Add multiple include guard.
6392         * basic-block.h (struct loop): Add `sink' field.
6393         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
6394         (emit_iv_add_mult): Delete.
6395         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
6396         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
6397         (unroll_loop): Remove end_insert_before argument.
6398         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
6399         (maybe_eliminate_biv_1): Likewise.
6400         (emit_iv_add_mult): Delete.
6401         (gen_add_mult, loop_regs_update): New.
6402         (loop_insn_emit_after, loop_insn_emit_before): New.
6403         (loop_insn_sink, loop_insn_sink_or_swim): New.
6404         (emit_iv_add_mult): Delete.
6405         (scan_loop): Set loop->sink.
6406         (loop_givs_reduce): Use loop_insn_sink and its ilk.
6407         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
6408         (maybe_eliminate_biv_1): Likewise.
6409         (maybe_eliminate_biv_1): Add basic block argument.
6410         * unroll.c (unroll_loop): Remove end_insert_before argument.
6411         (find_splittable_regs): Likewise.
6412         (find_splittable_regs): Use loop_insn_sink and its ilk.
6413         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
6414
6415 2001-01-07  Michael Hayes  <mhayes@redhat.com>
6416
6417         * loop.h (loop_insn_hoist): New prototype.
6418         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
6419         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
6420         (check_dbra_loop, load_mems): Likewise.
6421         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
6422         (find_splittable_givs): Likewise.
6423
6424 2001-01-07  Michael Hayes  <mhayes@redhat.com>
6425
6426         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
6427
6428 2001-01-07  Richard Henderson  <rth@redhat.com>
6429
6430         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
6431
6432 2001-01-07  Richard Henderson  <rth@redhat.com>
6433
6434         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
6435         NO_SHARED_LIBGCC_MULTILIB as required for the target.
6436         * gcc.c (init_spec): Massage the existing libgcc_spec into a
6437         variant that handles a shared libgcc.
6438         (process_command): Always validate -{static,shared}-libgcc.
6439         (do_spec_1): New 'M' case.
6440         * invoke.text (Link Options): Document -{static,shared}-libgcc.
6441
6442 2001-01-07  Richard Henderson  <rth@redhat.com>
6443
6444         * Makefile.in (slibdir): New variable.
6445         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
6446         (installdirs): Create slibdir.
6447         (install-libgcc, install-multilib): Defer to libgcc.mk.
6448         * configure.in (slibdir): Substitute.
6449         * mklibgcc.in (install): New target.
6450
6451         * config/t-linux (SHLIB_LINK): Create links for the soname.
6452         (SHLIB_INSTALL): New.
6453         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
6454         * config/mips/t-iris6 (SHLIB_INSTALL): New.
6455         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
6456         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
6457         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
6458
6459 2001-01-07  Richard Henderson  <rth@redhat.com>
6460
6461         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
6462         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
6463         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
6464
6465 2001-01-07  Michael Hayes  <mhayes@redhat.com>
6466
6467         * loop.c (count_loop_regs_set): Delete.
6468         (load_mems_and_recount_loop_regs_set): Delete.
6469         (loop_regs_scan): Merge common code from count_loop_regs_set,
6470         scan_loop, and load_mems_and_recount_loop_regs_set.
6471         (scan_loop): Call load_mems directly and loop_regs_scan
6472         again if new registers created.
6473
6474 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6475
6476         * toplev.c (main): Call the front-end specific post_options
6477         hook if one is given.
6478         * toplev.h (struct_lang_hooks, lang_hooks): New.
6479         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
6480         for the C front end.
6481         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
6482         lang_hooks for the C++ front end.
6483         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
6484         lang_hooks for the ObjC front end.
6485         * f/com.c (lang_hooks): Hooks for the Fortran front end.
6486         * java/lang.c (lang_hooks): Hooks for the Java front end.
6487
6488 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
6489
6490         * c-lex.c (init_c_lex): Request #define / #undef callbacks
6491         for verbose DWARF[2] debugging.
6492         (cb_define, cb_undef): The new callbacks.
6493         * toplev.h (debug_define, debug_undef): Make const correct.
6494         * toplev.c (debug_define, debug_undef): Similarly.  Do not
6495         perform the verbosity tests here anymore.
6496
6497 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
6498
6499         * reload.c (subst_reloads): Take INSN argument.  When
6500         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
6501         * reload.h (subst_reloads): Adjust prototype.
6502         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
6503         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
6504         present in JUMP_INSNs and copy them to JUMP_LABEL.
6505         * flow.c (find_label_refs, find_basic_blocks_1): Skip
6506         JUMP_INSNs and insns with REG_LABELs that are followed by
6507         JUMP_INSNs with the same REG_LABEL.
6508         * sched-rgn.c (is_cfg_nonregular): Likewise.
6509         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
6510         note is available.
6511         * unroll.c (unroll_loop): Look for REG_LABEL notes in
6512         JUMP_INSNs too.
6513         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
6514
6515 2001-01-06  Richard Henderson  <rth@redhat.com>
6516
6517         * loop.c (scan_loop): Use xcalloc for the regs array.
6518         (load_mems_and_recount_loop_regs_set): Zero the new memory
6519         received from xrealloc.
6520
6521 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6522
6523         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
6524
6525 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
6526
6527         * integrate.c (copy_rtx_and_substitute): When copying
6528         an ignored return value, strip REG_FUNCTION_VALUE_P.
6529
6530 2001-01-06  Michael Hayes  <mhayes@redhat.com>
6531
6532         * loop.c (debug_biv, debug_giv): New.
6533         (loop_biv_dump): Break out from ...
6534         (record_biv): ... here.
6535         (loop_giv_dump): Break out from ...
6536         (record_giv): ... here.
6537         (loop_bivs_check): Use print_simple_rtl.
6538         * unroll.c (loop_iterations): Use print_simple_rtl.
6539
6540 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6541
6542         * pa.md (return, return_internal): Modify patterns to prevent regrename
6543         mucking with the return pointer.
6544
6545 2001-01-05  Richard Henderson  <rth@redhat.com>
6546
6547         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
6548
6549 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
6550
6551         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
6552         version supplied by Matteo Frigo.
6553
6554 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6555
6556         * cpp.texi: Update for -MQ.
6557         * cppinit.c (cpp_create_reader): Always create pfile->deps.
6558         (cpp_cleanup): Always free pfile->deps.
6559         (initialize_dependency_output): Don't create pfile->deps.
6560         (cpp_handle_option): Similarly.
6561         (OPT_MQ): New.
6562         * gcc.c (cpp_options): Handle -MQ.
6563         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
6564         * mkdeps.c (base_name): Remove.
6565         (deps_init): Don't allocate vector space until it's needed.
6566         (deps_free): Only free vectors if allocated.
6567         (deps_add_target, deps_add_dep): Update for initial allocation.
6568         (deps_add_default_target): Don't strip to the base_name.
6569
6570 2001-01-05  DJ Delorie <dj@redhat.com>
6571
6572         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
6573         (INIT_EXPANDERS): Define.
6574
6575         * config/v850/v850.c (struct machine_function): Define.
6576         (v850_save_machine_status): New function.
6577         (v850_restore_machine_status): New function.
6578         (v850_return_addr): New function.
6579         (v850_init_expanders): New function.
6580
6581         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
6582         and v850_init_expanders.
6583
6584 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
6585
6586         * cpplib.h (struct cpp_reader): Add help_only field.
6587         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
6588         (cpp_handle_option): Set pfile->help_only if we see -h,
6589         --help, -target-help, or --version.  Print version string but
6590         do not set help_only if we see -v or -version.  Make text
6591         printed by -v match that printed by (-)-version.
6592
6593         * cppmain.c (main): Exit after option parsing if
6594         pfile->help_only is true.
6595
6596         * toplev.c (independent_decode_option): Call print_version,
6597         then exit, if we see --version (but not -version).
6598         (print_version): Split lengthy message into two lines.
6599
6600 2001-01-05  Nick Clifton  <nickc@redhat.com>
6601
6602         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
6603         temporary string for initialisation before calling ggc_alloc_string.
6604
6605 2001-01-06  Michael Hayes  <mhayes@redhat.com>
6606
6607         * rtl.h (print_simple_rtl): New.
6608         * print-rtl.c (print_simple_rtl): New.
6609         (flag_simple): New.
6610         (print_rtx): Disable printing of flags and modes, etc.,
6611         if `flag_simple` nonzero.
6612
6613 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
6614
6615         * function.c (fixup_var_refs): Use push_to_full_sequence where
6616         possible.
6617
6618 2001-01-05  Michael Meissner  <meissner@redhat.com>
6619
6620         * flags.h (flag_reorder_blocks): Add declaration.
6621         (flag_rename_block): Ditto.
6622
6623 2001-01-05  DJ Delorie  <dj@redhat.com>
6624
6625         * function.c (reorder_blocks): Make sure the flags are all reset
6626         before using them to mark blocks, else a second invocation will
6627         corrupt the block chain.
6628         (reorder_blocks_0): New, resets the flags.
6629
6630 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
6631
6632         * cse.c (find_comparison_args): Stop if the argument is known to
6633         be constant.
6634
6635 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
6636
6637         * config/sh/sh.md (movdf): When splitting load into pair of
6638         registers, don't clobber the register used in the address too
6639         early.
6640
6641 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
6642
6643         * varasm.c (mark_constant_pool): Improve initial comments.
6644         (mark_constants): Move marking of constants to mark_constant.
6645         (mark_constant): New function to recursively mark all constants
6646         referred to by a constant.
6647
6648 2001-01-05  Catherine Moore  <clm@redhat.com>
6649
6650         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
6651
6652 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
6653
6654         * cp/lang-options.h:  Bring comment in line with reality.
6655         * f/lang-options.h:  Likewise.
6656         * java/lang-options.h:  Likewise.
6657         * objc/lang-options.h:  Likewise.
6658         * ch/lang-options.h:  Likewise.
6659         * f/g77.texi:  And update the manual.
6660
6661 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
6662             Denis Chertykov  <denisc@overta.ru>
6663
6664         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
6665         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
6666         * config/avr/avr.md (all peepholes that request a scratch register):
6667         Call it, FAIL the peephole if not safe (in interrupt functions).
6668
6669 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
6670
6671         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
6672
6673 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
6674
6675         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
6676         Define.
6677         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
6678         BUILT_IN_CREAL and BUILT_IN_CIMAG.
6679         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
6680         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
6681         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
6682         BUILT_IN_CIMAG.
6683         * extend.texi: Document these builtins.
6684
6685 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
6686
6687         * c-common.c (lang_get_alias_set): Say we know nothing of
6688         VECTOR_TYPE aliasing.
6689
6690         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
6691
6692 2001-01-05  Bruce Korb  <bkorb@gnu.org>
6693
6694         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
6695         their x* equivalent versions for atexit-less systems
6696         * fixinc/fixincl.c(main): do not return from main() on atexit-less
6697         systems (or any other system any more).
6698
6699 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
6700
6701         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
6702         output operands.  Use arm_hard_register_operand for operand 4.
6703         (stmsi_postinc): Similarly.
6704         (ldmsi): Use arm_hard_register_operand for opernand 2.
6705         (stmsi): Similarly.
6706         * arm.c (arm_hard_register_operand): New function.
6707         * arm-protos.h (arm_hard_register_operand): Prototype it.
6708
6709         * arm.h (HARD_REGNO_RENAME_OK): Define.
6710
6711 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
6712
6713         * simplify-rtx.c (cfc_args): add "unordered" field.
6714         (check_fold_consts): Set unordered field.
6715         (simplify_relational_operation): Simplify the unordered
6716         comparisons.
6717
6718         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
6719         is valid.
6720
6721         * emit-rtl.c (try_split): Fix code to mark labels.
6722         * jump.c (mark_jump_label): Make global.
6723         * rtl.h (mark_jump_label): Declare.
6724
6725         * predict.c (estimate_probability): Handle unordred comparisons.
6726
6727 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
6728
6729         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
6730         * cppinit.c (initialize_dependency_output):  Update.
6731         (cpp_finish): Output dummy targets for -MP.
6732         (OPT_MP): New.
6733         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
6734         * cpplib.h (struct cpp_options): Add deps_phony_targets.
6735         * gcc.c (cpp_options): Update to handle -MP.
6736         * mkdeps.c (deps_add_target, deps_add_default_target): Update
6737         to quote only the default target.
6738         (deps_phony_targets): Insert a preceding newline.  Rename from
6739         deps_dummy_targets for consistency.
6740         * mkdeps.h: Update
6741
6742 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
6743
6744         * calls.c (emit_library_call_value_1): Support
6745         INIT_CUMULATIVE_LIBCALL_ARGS.
6746         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
6747
6748 2001-01-04  Richard Henderson  <rth@redhat.com>
6749
6750         * c-decl.c (finish_struct): Detect flexible array members
6751         used in an inappropriate context.
6752         * c-typeck.c (really_start_incremental_init): Special case
6753         constructor_max_index for zero length arrays.
6754         (pop_init_level): Allow initialization of flexible array
6755         members.  Deprecate initialization of zero length arrays.
6756         Don't issue missing initializer warning for flexible array
6757         members or zero length arrays.
6758         (process_init_element): Don't dereference null DECL_SIZE.
6759         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
6760         Don't abort for empty constructors.  Use size_binop
6761         (output_constructor): Add commentary regarding zero length
6762         array futures.  Abort if we try to initialize an array of
6763         unspecified length with a non-empty constructor in the middle
6764         of a structure.
6765
6766         * extend.texi (Zero Length): Update and clarify documentation
6767         on static initialization.
6768
6769 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6770
6771         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
6772         with more than 32767 words of local storage.
6773
6774 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6775
6776         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
6777         for 'abs', 'labs', and 'fabs'.
6778         (c4x_expand_builtin): Likewise.
6779         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
6780
6781 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
6782
6783         * config/sh/sh.md (prget, prset): New insn types.
6784         (return delay slot): Dont' allow prset.
6785         (call, sfunc delay slot): Don't allow prget.
6786         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
6787         for prset and prget.
6788
6789 2001-01-05  Michael Hayes  <mhayes@redhat.com>
6790
6791         * loop.h (struct loop_reg): New.
6792         (struct loop_regs): Change to use array of `struct loop_reg'.
6793         * loop.c: Replace assortment of varrays with single regs array.
6794         (count_one_set): Delete may_not_move array argument
6795         and use regs array instead.  All caller's changed.
6796         (count_loop_regs_set): Delete may_not_move and single_usage
6797         arguments and use regs array instead.  All caller's changed.
6798         (find_single_use_in_loop): Replace usage array argument with pointer
6799         to regs structure.  All caller's changed.
6800         (loop_optimize): Delete `moved_once' array.
6801
6802 2001-01-05  Michael Hayes  <mhayes@redhat.com>
6803
6804         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
6805         Use it instead of loop_info->has_call for scanning loop mems.
6806         (check_dbra_loop): Replace loop_info->has_call test with
6807         loop_info->has_nonconst_call.
6808
6809 2000-01-04  Matthew Hiller  <hiller@redhat.com>
6810
6811         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
6812         for TARGET_SH3E.
6813
6814 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6815
6816         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
6817         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
6818
6819 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6820
6821         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
6822         (flag_short_double, flag_short_wchar): Define.
6823         (c_common_nodes_and_builtins): Create many tree nodes shared
6824         between C and C++ here instead of in cp/decl.c and ...
6825         * c-decl.c (init_decl_processing): ... here.
6826         (SIZE_TYPE, WCHAR_TYPE): Don't define.
6827         (flag_short_double, flag_short_wchar): Don't define.
6828         (record_builtin_type): New function.
6829         (build_void_list_node): New function.
6830         * c-common.h (flag_short_double, flag_short_wchar,
6831         record_builtin_type, build_void_list_node): Declare.
6832
6833 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
6834
6835         * integrate.c (expand_inline_function): Don't put a virtual
6836         register into the reg map.
6837
6838         * function.c (fixup_var_refs_1): If force_operand didn't put
6839         the address into the target, move it there.
6840
6841 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
6842
6843         Special-case tree_decl/tree_list allocations.
6844         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
6845         (OBJECT_SIZE): New macro.
6846         (NUM_EXTRA_ORDER): Likewise.
6847         (extra_order_size_table): New variable.
6848         (NUM_ORDERS): New macro.
6849         (objects_per_page_table): New variable.
6850         (object_size_table): New variable.
6851         (G.pages): Use NUM_ORDERS to bound the array.
6852         (G.page_tails): Likewise.
6853         (DIV_ROUND_UP): Remove.
6854         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
6855         (alloc_page): Use OBJECT_SIZE.
6856         (size_lookup): Don't make it const.
6857         (ggc_alloc): Use OBJECT_SIZE.
6858         (ggc_set_mark): Likewise.
6859         (ggc_get_size): Likewise.
6860         (init_ggc): Set up the object_size_table, objects_per_page_table,
6861         and adjust size_lookup.
6862         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
6863         (ggc_pop_context): Use NUM_ORDERS.
6864         (clear_marks): Likewise.
6865         (sweep_pages): Likewise.
6866         (poison_pages): Likewise.
6867         (ggc_print_statistics): Use OBJECT_SIZE.
6868
6869 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6870
6871         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
6872         Only call array_size_for_constructor if last field and array type
6873         with no upper bound.
6874
6875 2001-01-04  Philip Blundell  <philb@gnu.org>
6876
6877         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
6878         from bit 31 downwards, if this requires no more insns.
6879         (count_insns_for_constant): New helper function for above.
6880
6881 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
6882
6883         * gencodes.c (output_predicate_decls): Remove empty initializer.
6884
6885 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
6886
6887         * tree.c (copy_node): Remove documentation about obstacks.
6888         (buidl1): Check that nobody tries to build 2-argument nodes this
6889         way.
6890
6891 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6892
6893         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
6894         fp_high_losum_p.
6895
6896         * gencodes.c (output_predicate_decls): Fill empty initializer
6897         braces.
6898
6899 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
6900
6901         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
6902         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
6903         or -MM.
6904         (do_include): Handle missing headers like cpp0.
6905         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
6906         paths with first include pathname.  Don't strcat to uninitialized
6907         string.
6908
6909 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
6910
6911         * regrename.c (regrename_optimize): Don't rename from frame pointer
6912         if frame_pointer_needed.
6913         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
6914         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
6915         (ia64_reorg): Use it instead of scheduling if ! optimize.
6916         (errata_emit_nops): Properly call asm_noperands.
6917         (ia64_sched_reorder): Finish cycle if we see an asm.
6918         (ia64_variable_issue): Clear scheduling state after asms.
6919
6920 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
6921
6922         * cpp.texi: Update for -MT.
6923         * cppinit.c (initialize_dependency_output): Add a default
6924         target if none has been given already.
6925         (no_tgt, OPT_MT): New.
6926         (cpp_handle_option): Handle -MT.  Update -M etc.
6927         * cpplib.h (struct cpp_options): Remove deps_target.
6928         * gcc.c (cpp_options): Handle -MT.
6929         * mkdeps.c (struct deps): Move from mkdeps.h.
6930         (deps_calc_target): Rename deps_add_default_target.  Add a
6931         default target if none has been specified already.
6932         * mkdeps.h (struct deps): Move to mkdeps.c.
6933         (deps_calc_target): Rename deps_add_default_target.
6934
6935 2000-01-03  Richard Henderson  <rth@redhat.com>
6936
6937         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
6938         Remove dead code.
6939         * c-typeck.c (push_init_level): Move checks for flexible array
6940         members and zero length arrays ...
6941         (pop_init_level): ... here.  Silently discard empty initializations.
6942         Remove dead code.
6943         * varasm.c (output_constructor): Update for sizeof change to
6944         zero-length arrays.
6945
6946         * extend.texi (Zero Length): Clarify semantics.
6947
6948 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
6949
6950         * configure.in (tm.h): Include isns-codes.h last.
6951         * configure: Rebuilt.
6952
6953 2001-01-03  Richard Henderson  <rth@redhat.com>
6954
6955         * config/alpha/alpha.md (addvsi3, addvdi3): New.
6956         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
6957
6958 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6959
6960         * tradcpp.c (main): Make sure finclude() is called with a valid
6961         indepth value while handling -include.
6962
6963 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
6964
6965         * gencodes.c (output_predicate_decls): New function.
6966         (main): Call it.
6967         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
6968         even if it is not the first time machmode.h is #included.
6969         * config/sh/sh.c (fpul_operand): Declare MODE argument.
6970         * tm.texi (PREDICATE_CODES): Document predicate declarations.
6971         * gcc.texi (Copyright): Added 2001.
6972
6973 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6974
6975         * c-common.c (c_common_lang_init): New function.  Warn if format
6976         warning options which only have effects when used with -Wformat
6977         are used without -Wformat.
6978         * c-common.h (c_common_lang_init): Declare.
6979         * c-lang.c (lang_init): Call c_common_lang_init.
6980         * objc/objc-act.c (lang_init): Call c_common_lang_init.
6981
6982 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6983
6984         * configure.in: Check for the mktemp command.
6985         * configure: Regenerate.
6986         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
6987         $TEMP.  Create temporary files with mktemp, if available at
6988         configure time; otherwise use set -C.  Remove temporary files
6989         before exit.
6990
6991 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6992
6993         * configure.in: Require at least texinfo 4.0.  Check for whether
6994         Pod::Man is sufficiently recent to regenerate GCC manpages.
6995         * configure:  Regenerate.
6996         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
6997         on #!.
6998         (GENERATED_MANPAGES): Define.
6999         (generated-manpages): New target.  Depend on cpp.1 as well as
7000         gcov.1.
7001         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
7002         configure to generated-manpages or empty) rather than on the
7003         manpages directly.  Remove execute permission from installed
7004         gcov.1 as well as cpp.1.
7005         * cpp.1, gcov.1: Regenerate.
7006
7007 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7008
7009         * builtins.c (expand_builtin_strncmp): Use host_integerp and
7010         tree_low_cst.  Allow using cmpstrsi in more cases.
7011
7012 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7013
7014         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
7015         sized types.
7016
7017 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
7018
7019         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
7020         * Makefile.in (HOST_CFLAGS): Mention build-make.
7021
7022 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7023
7024         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
7025         as JUMP_INSN.
7026
7027 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
7028
7029         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
7030         a REG rtx.
7031
7032         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
7033         callers changed.
7034
7035         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
7036         reg_base_value and reg_known_value arrays.
7037         (init_alias_analysis): Add more cases to detect known values.
7038         * sched-deps.c (deps_may_trap_p): New function.
7039         (sched_analyze_2): Use it.
7040
7041 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
7042
7043         * combine.c (simplify_shift_const): Even if we're sign-extracting,
7044         don't discard an ASHIFTRT if we're shifting in a wider mode.
7045
7046 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7047
7048         * toplev.c (rest_of_compilation): Don't print basic block information
7049         when CFG isn't up to date.
7050
7051 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
7052
7053         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
7054         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
7055         (UNALIGNED_SHORT_ASM_OP): Define.
7056         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
7057
7058 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
7059
7060         * fold-const.c (fold_convert): Fix typo.
7061
7062 2001-01-02  Richard Henderson  <rth@redhat.com>
7063
7064         * c-common.h (ASM_INPUT_P): New.
7065         * c-parse.in (asm): Set it when needed.
7066         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
7067         existance of an operand.
7068
7069 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
7070
7071         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
7072         (dwarf2out_frame_debug_expr): Likewise.
7073         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
7074
7075 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
7076
7077         * i386.c (ix86_split_to_parts): Return number of part required;
7078         handle TFmodes.
7079         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
7080         TFmodes.
7081         (ix86_split_long_move): Use number of part returned
7082         by ix86_split_to_parts
7083         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
7084         New macros.
7085         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
7086         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
7087         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
7088         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
7089         (ALIGN_MODE_128): Add TFmode.
7090         (IS_STACK_MODE): Likewise.
7091         (HARD_REGNO_NREGS): TFmode needs 3 registers.
7092         (HARD_REGNO_OK): Support TFmodes.
7093         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
7094         * i386.md (scheduler definitions): Use memory operand to determine
7095         fst/fld instructions; use mode attribute to determine real mode of
7096         the instruction.
7097         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
7098         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
7099
7100 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
7101
7102         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
7103
7104 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7105
7106         * expr.c (store_constructor_field): Update ALIGN before calling
7107         store_constructor.
7108
7109 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
7110
7111         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
7112         host_integerp.
7113
7114 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
7115
7116         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
7117         incomplete type.
7118
7119 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7120
7121         * c-decl.c (start_function): Don't warn on third parameter to main.
7122
7123 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7124
7125         * tsystem.h: Define HAVE_DECL_GETOPT.
7126
7127 2001-01-02  Philip Blundell  <pb@futuretv.com>
7128
7129         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
7130         of input operand.
7131
7132 2001-01-02  Richard Henderson  <rth@redhat.com>
7133
7134         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
7135
7136 2001-01-02  Andreas Jaeger  <aj@suse.de>
7137
7138         * c-decl.c (c_decode_option): Remove support of
7139         -Wmissing-noreturn.
7140
7141         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
7142         (W_options): Add -Wmissing-noreturn here.
7143
7144         * flow.c: Define lang_missing_noreturn_ok_p.
7145         (check_function_return_warnings): Use it.
7146
7147         * c-common.h: Declare lang_missing_noreturn_ok_p.
7148
7149         * c-lang.c (c_missing_noreturn_ok_p): New function.
7150         (lang_init): Set lang_missing_noreturn_ok_p.
7151
7152         * invoke.texi (Warning Options): Document this.
7153
7154 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
7155
7156         * extend.texi (C++ Extensions):  New node for C++ attributes;
7157         describe init_priority and com_interface.
7158         * invoke.texi:  Remove -finit-priority as it now has zero effect.
7159         * install.texi:  Fix xref syntax.
7160         * md.texi:  Likewise.
7161
7162 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7163
7164         * config.gcc (sparc64-wrs-vxworks*): New case.
7165         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
7166
7167         * config/sparc/sparc.c (sparc_override_options): Do support different
7168         pointer and architecture size.
7169         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
7170         (POINTERS_EXTEND_UNSIGNED): Define.
7171         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
7172         (FUNCTION_MODE): Define to be Pmode.
7173         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
7174
7175         * function.c (expand_function_end): Properly handle DECL_RESULT
7176         and copy when ptr_mode != Pmode.
7177         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
7178
7179 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7180
7181         * c-common.c (c_common_nodes_and_builtins): Set prototype
7182         parameters for __builtin_fputs, __builtin_fputc and
7183         __builtin_fwrite.  Don't declare plain fputc as a builtin.
7184
7185 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7186
7187         * loop.c (add_label_notes): Increment the label usage count when
7188         a note is added to an insn which refers to a CODE_LABEL.
7189         * gcse.c (add_label_notes): Likewise.
7190
7191 2001-01-01  Andreas Jaeger  <aj@suse.de>
7192
7193         * loop.c (scan_loop): Use xmalloc to allocate movables.
7194
7195 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
7196
7197         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
7198         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
7199         * reload1.c (REGISTER_MOVE_COST): Likewise.
7200         * regclass.c (REGISTER_MOVE_COST): Likewise.
7201         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
7202         dimension.  Adjust all users.
7203         (init_reg_sets_1): Iterate on all modes.
7204         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
7205         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
7206         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
7207         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
7208         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
7209         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
7210         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
7211         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
7212         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
7213         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
7214         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
7215         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
7216         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
7217         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
7218         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
7219         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
7220         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
7221         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
7222         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
7223         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
7224         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
7225         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
7226         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
7227         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
7228         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
7229         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
7230         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
7231
7232 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
7233
7234         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
7235         arg VARIES_P.  Call it with extra arg.
7236         (true_dependence): Likewise.
7237         * rtl.h (rtx_addr_can_trap_p): Declare.
7238         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
7239         prototypes.
7240         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
7241         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
7242         pic offset table register if it's zero.  All callers changed.
7243         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
7244
7245 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7246
7247         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
7248         STRING_POOL_ADDRESS_P.
7249
7250         * config/sparc/sparc.c (input_operand): Properly test for short op.
7251
7252         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
7253         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
7254         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
7255         * config/sparc/elf.h: No longer include sol2.h.
7256         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
7257         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
7258
7259         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
7260
7261 2001-01-01  Michael Hayes  <mhayes@redhat.com>
7262
7263         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
7264         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
7265         (record_initial): Likewise.
7266         * unroll.c (copy_loop_body, loop_iterations): Likewise.
7267         (remap_split_bivs): Likewise.
7268
7269 2001-01-01  Michael Hayes  <mhayes@redhat.com>
7270
7271         * loop.c (loop_ivs_free): New function.
7272         (strength_reduce): Break out from...
7273
7274 2001-01-01  Michael Hayes  <mhayes@redhat.com>
7275
7276         * loop.h (struct iv): New.
7277         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
7278         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
7279         'reg_biv_class' fields with 'regs' and 'n_regs'.
7280         (struct ivs): Rename 'loop_iv_list' field to 'list'.
7281         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
7282         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
7283
7284 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
7285
7286         * resource.c (mark_referenced_resources): Abort() before
7287         attempting to mark a pseudo register.
7288         (mark_set_resources): Likewise.
7289
7290 2001-01-01  Michael Hayes  <mhayes@redhat.com>
7291
7292         * loop.h (REG_IV_CLASS): New accessor macro.
7293         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
7294         * unroll.c (REG_IV_CLASS): Likewise.
7295
7296 See ChangeLog.4 for earlier changes.