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