]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
simplify-rtx.c (simplify_binary_operation): If gen_lowpart_common fails, use gen_lowp...
[gcc.git] / gcc / ChangeLog
CommitLineData
cb1ac742
JJ
12002-01-03 Jakub Jelinek <jakub@redhat.com>
2
3 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
4 gen_lowpart_common fails, use gen_lowpart_SUBREG.
5
61d951df 62002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 7
61d951df
TC
8 * darwin.c (machopic_output_possible_stub_label): Don't generate
9 stub routines for pseudo-stubs which we've just defined.
10
505ddab6
KH
112002-01-03 Kazu Hirata <kazu@hxi.com>
12
13 * builtins.c: Fix formatting.
14 * c-typeck.c: Likewise.
15 * combine.c: Likewise.
16 * expr.c: Likewise.
17 * loop.c: Likewise.
18
b7e30d8a
AS
192002-01-03 Andreas Schwab <schwab@suse.de>
20
21 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
22 and return true if _cpp_push_next_buffer pushed a new include
23 file.
24 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
25 _cpp_pop_file_buffer did not push a new file.
26 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
27
ff81832f
EC
282002-01-02 Eric Christopher <echristo@redhat.com>
29
30 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
31 FIND_REG_INC_NOTE call. Update copyright.
32 * loop.c (canonicalize_condition): Ditto.
33 * reorg.c (delete_scheduled_jump): Ditto.
34
8e42ace1
KH
352002-01-03 Kazu Hirata <kazu@hxi.com>
36
37 * gcse.c: Fix formatting.
38
fb2bf631
GS
392002-01-03 Graham Stott <grahams@redhat.com>
40
41 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
42 forward defs for struct tags rtx_def, union_tree, rtvec_def
43 also output corresponding typedefs for rtxm, tree, and rtvcec.
44
45 * system.h: Move forward defs for struct tags rtx_def, union_tree,
46 rtvec_def along with corresponding typedefs for rtx, tree, and
47 rtvcec to config.h, hconfig.h, tconfig.h
48
492002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
50
51 * tree.h: Update copyright date.
52 (IS_EXPR_CODE_CLASS): Add parenthesis.
53 (TREE_SET_CODE): Add whitespace.
54 (TREE_CHECK): Add parenthesis.
55 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
56 (CST_OR_CONSTRUCTOR_CHECK):
57 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
58 (TREE_SYMBOL_REFERENCED): Whitespace.
59 (INT_CST_LT): Likewise.
60 (INT_CST_LT_UNSIGNED): Likewise.
61 (tree_real_cst): Unwrap comment.
62 (tree_string): Likewise.
63 (tree_complex): Likewise.
64 (IDENTIFIER_POINTER): correct cast.
65 (SAVE_EXPR_CONTEXT): Whitespace.
66 (EXPR_WFL_FILENAME_NODE): Likewise.
67 (EXPR_WFL_FILENAME): Remove parenthesis.
68 (DECL_ORIGIN): Add parenthesis.
69 (DECL_FROM_INLINE): Use NULL_TREE.
70 (build_int_2): Whitespace.
71 (build_type_variant): Add parenthesis.
72
73 * gcc/jcf-parse.c: Update copyright date.
74 (yyparse): Constify resource_filename.
75
f52eda29
GS
762002-01-03 Graham Stott <grahams@redhat.com>
77
78 * rtl.h: Update copyright date.
79 (RTL_CHECK1): Wrap long line.
80 (RTL_CHECK2): Likewise.
81 (RTL_CHECKC1): Wrap long line and whitespace.
82 (RTL_CHECKC2): Likewise.
83 (XWINT): Whitespace.
84 (XINT): Likewise.
85 (XSTR): Likewise.
86 (XEXP): Likewise.
87 (XVEC): Likewise.
88 (XMODE): Likewise.
89 (XBITMAP): Likewise.
90 (XTREE): Likewise.
91 (XBBDEF): Likewise.
92 (XTMPL): Likewise.
93 (X0WINT): Likewise.
94 (X0INT):Likewise.
95 (X0UINT): Likewise.
96 (X0STR): Likewise.
97 (X0EXP): Likewise.
98 (X0VEC): Likewise.
99 (X0MODE): Likewise.
100 (X0BITMAP): Likewise.
101 (X0TREE): Likewise.
102 (X0BBDEF): Likewise.
103 (X0ADVFLAGS): Likewise.
104 (X0CSELIB): Likewise.
105 (X0MEMATTR): Likewise.
106 (XCWINT): Likewise.
107 (XCINT): Likewise.
108 (XCUINT): Likewise.
109 (XCSTR): Likewise.
110 (XCEXP): Likewise.
111 (XCVEC): Likewise.
112 (XCMODE): Likewise.
113 (XCBITMAP): Likewise.
114 (XCTREE): Likewise.
115 (XCBBDEF): Likewise.
116 (XCADVFLAGS): Likewise.
117 (XCCSELIB): Likewise.
118 (XC2EXP): Likewise.
119 (INSN_UID): Likewise.
120 (PREV_INSN): Likewise.
121 (PATTERN): Likewise.
122 (INSN_CODE): Likewise.
123 (PUT_REG_NOTE_KIND): Likewise.
124 (CODE_LABEL_NUMBER): Likewise.
125 (NOTE_SOURCE_FILE): Likewise.
126 (NOTE_BLOCK): Likewise.
127 (NOTE_EH_HANDLER): Likewise.
128 (NOTE_RANGE_INFO): Likewise.
129 (NOTE_LIVE_INFO): Likewise.
130 (NOTE_BASIC_BLOCK): Likewise.
131 (NOTE_EXPECTED_VALUE): Likewise.
132 (NOTE_LINE_NUMBER): Likewise.
133 (LABEL_NAME): Likewise.
134 (LABEL_NUSES): Likewise.
135 (LABEL_ALTERNATE_NAME): Likewise.
136 (ADDRESSOF_DECL): Likewise.
137 (JUMP_LABEL): Likewise.
138 (LABEL_NEXTREF): Likewise.
139 (REGNO): Likewise.
140 (ORIGINAL_REGNO: Likewise.
141 (HARD_REGISTER_NUM_P): Add parenthesis.
142 (SUBREG_REG): Whitespace.
143 (SUBREG_BYTE): Likewise.
144 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
145 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
146 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
147 (ASM_OPERANDS_INPUT_VEC): Likewise.
148 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
149 (ASM_OPERANDS_INPUT): Likewise.
150 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
151 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
152 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
153 (ASM_OPERANDS_INPUT_MODE): Likewise.
154 (ASM_OPERANDS_SOURCE_FILE): Likewise.
155 (ASM_OPERANDS_SOURCE_LINE): Likewise.
156 (MEM_SET_IN_STRUCT_P): Minor reformat.
157 (TRAP_CONDITION): Whitespace.
158 (TRAP_CODE): Likewise.
159 (COND_EXEC_TEST): Likewise.
160 (COND_EXEC_CODE): Likewise.
161 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
162 (PHI_NODE_P): Add parenthesis.
163 (plus_constant): Whitespace and add parenthesis.
164
e03f5d43
KH
1652002-01-03 Kazu Hirata <kazu@hxi.com>
166
167 * config/avr/avr.c: Fix comment typos.
168 * config/c4x/c4x.md: Likewise.
169 * config/dsp16xx/dsp16xx.h: Likewise.
170 * config/dsp16xx/dsp16xx.md: Likewise.
171 * config/i386/i386.md: Likewise.
172 * config/ia64/ia64.c: Likewise.
173 * config/m32r/m32r.h: Likewise.
174 * config/m68hc11/m68hc11.md: Likewise.
175 * config/mmix/mmix.c: Likewise.
176 * config/mn10200/mn10200.c: Likewise.
177 * config/romp/romp.c: Likewise.
178 * config/sh/sh.c: Likewise.
179 * config/stormy16/stormy16.c: Likewise.
180 * config/stormy16/stormy16.h: Likewise.
181 * config/stormy16/stormy16.md: Likewise.
182
97e300e9
GS
1832002-01-03 Graham Stott <grahams@redhat.com>
184
185 * loop.h: Update copyright date.
186 (LOOP_MOVABLES): Fix typo.
187 (LOOP_REGS): Likewise.
188 (LOOP_IVS): Likewise.
ff81832f 189
745b26b3
GS
1902002-01-03 Graham Stott <grahams@redhat.com>
191
192 * cppinit.c: Update copyright date.
193 Don't include output.h
194 * Makefile.in: Update copyright date.
195 Update dependency.
196
0a379b7a
CR
1972002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
198
199 PR c/5226
200 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
201 (-pthread) Add to RS/6000 options.
202
a8154559
KH
2032002-01-02 Kazu Hirata <kazu@hxi.com>
204
205 * except.c: Fix comment typos.
206 * loop.c: Likewise.
207 * varasm.c: Likewise.
208 * doc/tm.texi: Fix a typo.
209
e6ecc89b
JJ
2102002-01-02 Jakub Jelinek <jakub@redhat.com>
211
212 * c-typeck.c (output_init_element): Allow initializing static storage
213 duration objects with compound literals.
214
d1094b40
RH
2152002-01-02 Richard Henderson <rth@redhat.com>
216
217 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
218 after abusing it.
219
0c5d8c82
KG
2202002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
221
5e65297b
KG
222 * gcc.c (default_compilers): Const-ify.
223 * mips-tdump.c (stab_names): Likewise.
224 * mips-tfile.c (map_coff_types, map_coff_storage,
225 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
226 pseudo_ops_t, pseudo_ops): Likewise.
227 * protoize.c (default_include): Likewise
228
0c5d8c82
KG
229 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
230 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
231 Add array size in declaration.
232 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
233 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
234 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
235 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
236 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
237 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
238 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
239 emtens, make_nan): Const-ify.
240 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
241 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
242
817e13c4
JM
2432002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
244
245 * config.gcc (ia64-*-*): Set extra_headers.
246 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
247 * config/alpha/t-osf: Remove.
248 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
249
98095e2b
DE
2502002-01-02 David Edelsohn <edelsohn@gnu.org>
251
252 * config/rs6000/t-aix43: Revert previous change.
253
a4200657
JM
2542002-01-02 Jason Merrill <jason@redhat.com>
255
256 * c-decl.c (c_expand_body): Call outlining_inline_function when
257 emitting an inline function out of line.
258
54ba1f0d
RH
2592002-01-02 Richard Henderson <rth@redhat.com>
260
261 * dwarf2out.c (limbo_die_node): Add created_for member.
262 (new_die): New argument created_for. Update all callers.
263 (mark_limbo_die_list): New.
264 (dwarf2out_init): Register limbo_die_list as a root.
265 (dwarf2out_finish): Force insert limbo dies into their function
266 context.
267
323728aa
NS
2682002-01-02 Nathan Sidwell <nathan@codesourcery.com>
269
270 PR c++/5089
271 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
272
aefc5826
KH
2732002-01-02 Kazu Hirata <kazu@hxi.com>
274
275 * config/h8300/fixunssfsi.c: Update copyright.
276 Fix comment typos.
277 Fix formatting.
278 * config/h8300/h8300.c: Update copyright.
279 Eliminate warnings.
280
b1c9bc51
KH
2812002-01-02 Kazu Hirata <kazu@hxi.com>
282
283 * config/romp/romp.c: Fix comment formatting.
284 * config/romp/romp.h: Likewise.
285 * config/romp/romp.md: Likewise.
286 * config/s390/s390.c: Likewise.
287 * config/stormy16/stormy16.c: Likewise.
288 * config/stormy16/stormy16.h: Likewise.
289
1574ef13
AO
2902002-01-02 Alexandre Oliva <aoliva@redhat.com>
291
292 * c-common.h (genrtl_expr_stmt_value): Declare.
293 * c-semantics.c (genrtl_goto_stmt): Redirect to...
294 (genrtl_goto_stmt_value): ... this new function. Pass new
295 argument down to expand_expr_stmt_value, taking
296 TREE_ADDRESSABLE into account.
297 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
298 STMT_EXPR as addressable, i.e., one whose result we want.
299 * expr.c (expand_expr): Don't save expression statement value
300 of labeled_blocks or loop_exprs.
301 * stmt.c (expand_expr_stmt): Redirect to...
302 (expand_expr_stmt_value): ... this new function. Use new
303 argument to tell whether to save expression value.
304 (expand_end_stmt_expr): Reset last_expr_type and
305 last_expr_value if we don't have either.
306 * tree-inline.c (declare_return_variable): Mark its use
307 statement as addressable.
308 * tree.h: Document new use of TREE_ADDRESSABLE.
309 (expand_expr_stmt_value): Declare.
310
252b88f7
TR
3112002-01-01 Tom Rix <trix@redhat.com>
312
313 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
314 rs6000_emit_allocate_stack.
315
29f7a208
JM
3162002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
317
318 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
319 ${srcdir}/ginclude/ to every entry in extra_headers.
320 * configure: Regenerate.
321 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
322 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
323 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
324 * ginclude/proto.h: Rename to config/convex/proto.h.
325
2cc2d4bb
RK
326Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
327
328 * attribs.c (handle_vector_size_attribute): Use host_integerp
329 and tree_int_cst; remove warnings.
330 * caller-save.c (insert_restore): Add cast to get rid of warning.
331 (insert_save): Likewise.
332 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
333 * regmove.c (find_matches): Add temporary var to kill a warning.
334
f01c9bcd
DR
3352002-01-01 Douglas B Rupp <rupp@gnat.com>
336
16b61764
DR
337 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
338 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
339 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
340 (vms-dwarf2eh.o): Add Makefile rule.
341 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
342 * config/alpha/vms-dwarf2eh.asm: New file.
343
f01c9bcd
DR
344 * gcc.c (delete_if_ordinary): Delete all versions.
345
91312b81
HPN
3462002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
347
348 * config/mmix/mmix.md: Update FIXME to not mention
349 define_constants.
350 (MMIX_rJ_REGNUM): New define_constants constant.
351 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
352 "*movdicc_real"): Adjust contraints formatting.
353 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
354 for branch prediction.
355 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
356 output template.
357 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
358 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
359 number. Delete related FIXMEs.
360 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
361 from number to MMIX_rJ_REGNUM.
362 (TARGET_MASK_BRANCH_PREDICT): New.
363 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
364 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
365 value. Add -mbranch-predict and -mno-branch-predict.
366 (TARGET_VERSION): Drop date.
367 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
368 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
369 for finding out global symbols.
370 (mmix_asm_output_labelref): Revert condition for global symbol.
371 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
372 (mmix_print_operand_punct_valid_p): A '+' is valid.
373
f95e79cc
RH
3742001-12-31 Richard Henderson <rth@redhat.com>
375
376 * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS.
377
3ada20ee
RH
3782001-12-31 Richard Henderson <rth@redhat.com>
379
380 * regrename.c (build_def_use): Don't rename asm operands that
ff81832f 381 were originally hard registers.
3ada20ee
RH
382 (copyprop_hardreg_forward_1): Likewise.
383 (find_oldest_value_reg): Copy ORIGINAL_REGNO from source.
384 * varasm.c (make_decl_rtl): Use gen_rtx_raw_REG. Set ORIGINAL_REGNO.
385
5a598ccc
DR
3862001-12-31 Douglas B Rupp <rupp@gnat.com>
387
388 * config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove.
389 (NAME__MAIN, SYMBOL__MAIN): Define.
390
f6598df3 3912001-12-31 Richard Henderson <rth@redhat.com>
b8fcefb5 392
f6598df3
RH
393 * cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL
394 before decrementing LABEL_NUSES from a jump table.
395
396 * final.c (alter_subreg): Assign REGNO after changing the rtx code.
397
398 * config/alpha/alpha.c (reg_no_subreg_operand): Reject all
399 non-registers.
b8fcefb5 400
b88098a3
GS
4012001-12-31 Graham Stott <grahams@redhat.com>
402
f6598df3 403 * halfpic.h: Remove foward defs of tree_node and rtx_def.
b88098a3 404
f6598df3 405 * toplev.h: Remove forward def of tree_node, rtx_def.
47f1618a
GS
406
407 * except.h: Remove forward def of tree_node, rtx_def and
408 define of tree, rtx. Also remove undefs.
409
47f1618a
GS
410 * basic-block.h: Remove forward def of tree_node and
411 define of tree.
412
d73b1f07
RH
4132001-12-30 Richard Henderson <rth@redhat.com>
414
415 * cfglayout.c (scope_def, scope_forest_info, forest,
416 relate_bbs_with_scopes, make_new_scope, build_scope_forest,
417 remove_scope_notes, insert_intra_before_1, insert_intra_1,
418 insert_intra_bb_scope_notes, insert_inter_bb_scope_notes,
419 rebuild_scope_notes, free_scope_forest_1, dump_scope_forest,
420 dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove.
421 (fixup_reorder_chain): Don't set scope for bb.
422 (insn_scopes, scope_to_insns_initialize, set_block_levels,
423 change_scope, scope_to_insns_finalize): New.
424 (cfg_layout_initialize, cfg_layout_finalize): Update to match.
425 * cfglayout.h (scope_def, scope): Remove.
426 (reorder_block_def): Remove scope member.
427 (scope_to_insns_initialize, scope_to_insns_finalize): Declare.
428 * haifa-sched.c: Revert reemit_other_notes change.
429 * sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes.
430 Use scope_to_insns_initialize and scope_to_insns_finalize.
431 * sched-rgn.c (schedule_insns): Likewise.
432
742b62e7
GS
4332001-12-31 Graham Stott <grahams@redhat.com>
434
eb3aaa5b
GS
435 * c-lex.c: Include tree.h before expr.h
436
eb3aaa5b 437 * c-typeck.c: Include rtl.h earlier.
742b62e7 438
713cc17b
GS
439 * tree.h (STRIP_NOPS): Remove extraneous semicolon.
440 (STRIP_SIGN_NOPS): Likewise.
441 (STRIP_TYPE_NOPS): Likewise.
442 (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): Add Parenthesis around
443 macro paramater.
444
1048f2e2
GS
445 * final.c (struct bb_list): Delete.
446 (struct bb_str): Likewise.
447
745b26b3 448 * cfgloop.c (flow_loop_entry_edges_find): Fix typo.
e4ed918f
GS
449 (flow_loop_exit_edges_find): Likewise.
450
a176492c
GS
451 * gcse.c (gcse_main): Fix typos.
452 (alloc_gcse_mem): Likewise.
453
38beb933
GS
454 * function.h: Remove undefs for rtx and tree.
455
2b701ab7
RH
4562001-12-30 Richard Henderson <rth@redhat.com>
457
458 * loop.c (check_dbra_loop): Fix last change: examine both
459 has_multiple_exit_targets and exit_count.
460
c81f560b
RH
4612001-12-30 Richard Henderson <rth@redhat.com>
462
463 * integrate.c (copy_rtx_and_substitute): Fix error last change:
464 we need to unconditionally create a new mem.
465
e9fef64c
HPN
4662001-12-30 Hans-Peter Nilsson <hp@bitrange.com>
467
468 * config/mmix/mmix.md ("*call_real"): Fix typo in comment.
469 * config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT
470 to mmix_extra_constraint.
471 * config/mmix/mmix.c (mmix_secondary_reload_class): Only handle
472 non-global register classes. Mark now unused parameters as such.
473 (mmix_extra_constraint, 'U'): Use new parameter strict and call
474 calling memory_operand_p or strict_memory_address_p, not
475 address_operand.
476 * config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter.
477
f6e67fa5
KG
4782001-12-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
479
480 * unroll.c: Move include files above first use of `const'.
481
6ee3c8e4
JJ
4822001-12-30 Jakub Jelinek <jakub@redhat.com>
483
484 * cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump
485 to fail if target is EXIT_BLOCK_PTR, die otherwise.
486 (redirect_edge_and_branch): Likewise.
487 * cfgcleanup.c (try_forward_edge): Don't force jump redirecting
488 if target is EXIT_BLOCK_PTR.
489
bde58648
DE
4902001-12-29 David Edelsohn <edelsohn@gnu.org>
491
492 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
493 gcc invoked with -shared.
494
6b667320
GS
4952001-12-29 Graham Stott <grahams@redhat.com>
496
497 * config/i386/i386.c (ix86_asm_dialect): Fix enum type.
498
ff81832f 499 (override_options): Delete abs macro unused.
6b667320
GS
500
501 (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations
502 when testing ASSEMBLER_DIALECT.
503
504 (print_reg): Likewise.
505 (print_operand): Likewise.
506 (print_operand_address): Likewise.
507 (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect.
508
509 * config/i386/i386.h (ix86_asm_dialect): Fix enum type.
510
511 (FIND_BASE_TERM): Fix typo.
512
f11c3043
RK
513Sat Dec 29 15:48:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
514
c4e59f51
RK
515 * expr.c (store_field): Use adjust_address, not PUT_MODE.
516 (expand_expr, case VIEW_CONVERT_EXPR): Likewise.
517 * reload1.c (eliminate_regs, case SUBREG): Likewise, but use
518 adjust_address_nv.
519 * varasm.c (make_decl_rtl): Likewise.
520 * integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use
521 replace_equiv_address_nv.
522
44e3910a
RK
523 * varasm.c (decode_addr_const, case INTEGER_CST): Call
524 output_constant_def instead of looking at TREE_CST_RTL.
525
9413de45
RK
526 * expr.c (convert_move): If -fforce-mem, force FROM to not be memory.
527
6790d1bd
RK
528 * stor-layout.c (layout_decl): Don't misalign field of variable size
529 for packed record.
530
f11c3043
RK
531 * dwarf2out.c (compute_section_prefix): Avoid cast warning.
532 (gen_decl_die): Only check DECL_IGNORED_P on decls.
533 (dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
534
54561457
JJ
5352001-12-29 Jakub Jelinek <jakub@redhat.com>
536
537 * cfglayout.c (insert_intra_before_1): New.
538 (insert_inter_bb_scope_notes): Emit sibling block notes which don't
539 span multiple basic blocks.
540
b7fe373b
RH
5412001-12-29 Richard Henderson <rth@redhat.com>
542
543 * loop.c (prescan_loop): Set has_multiple_exit_targets for exception
544 edges. Rearrange jump interpretation code to use pc_set.
545 (check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
546
547 * sched-deps.c (sched_analyze_insn): Set scheduling barrier for
548 all insns that can throw, not just if flag_non_call_exceptions.
549
ad074d60
SS
5502001-12-29 Stan Shebs <shebs@apple.com>
551
1bf05671
SS
552 * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
553 (default_constant_string_class_name): New global.
554 (objc_init): Set it.
555 (synth_module_prologue): Use it.
556
ad074d60
SS
557 * objc/objc-act.c: Apply various cosmetic and formatting changes.
558
6f317ef3
KH
5592001-12-29 Kazu Hirata <kazu@hxi.com>
560
561 * config/rs6000/darwin-tramp.asm: Fix comment formatting.
562 * config/rs6000/freebsd.h: Likewise.
563 * config/rs6000/rs6000.c: Likewise.
564 * config/sh/sh.c: Likewise.
565 * config/sh/sh.h: Likewise.
566
51a56a7d
SS
5672001-12-28 Stan Shebs <shebs@apple.com>
568
569 * objc/objc-act.c (build_module_descriptor): Make sure the init
570 function is not deferred.
571 (build_dispatch_table_initializer): Compute the method encoding if
572 not already done.
573
fae81b38
KH
5742001-12-28 Kazu Hirata <kazu@hxi.com>
575
576 * doc/md.texi: Add @findex define_insn_and_split.
577
4d9720f0
HB
5782001-12-28 Hans Bohem <hans_boehm@hp.com>
579
580 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
581 * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
582 bsp setup. Set pri_unat_loc to something reasonable.
583 (uw_install_context): Add missing cast.
584 (unw_access_gr): Fix off-by-1 indexing error.
585
23d1aac4
KH
5862001-12-28 Kazu Hirata <kazu@hxi.com>
587
588 * except.c: Fix comment formatting.
589 * flags.h: Likewise.
590 * flow.c: Likewise.
591 * predict.c: Likewise.
592 * simplify-rtx.c: Likewise.
593 * system.h: Likewise.
594 * vmsdbg.h: Likewise.
595 * vmsdbgout.c: Likewise.
596
20c907b0
KH
5972001-12-28 Kazu Hirata <kazu@hxi.com>
598
599 * config/h8300/h8300.md: Fix formatting.
600
7addeb4d
GK
6012001-12-28 Geoff Keating <geoffk@redhat.com>
602
603 * varasm.c (record_constant_1): Correct parameter to recursive
604 call in default case.
605
17e9e88c
JJ
6062001-12-28 Jakub Jelinek <jakub@redhat.com>
607
608 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
609 ASM_OUTPUT_DWARF_PCREL): Define.
610 * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
611 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
612 .uaword %r_disp32() and linker handles it correctly.
613 * configure, config.in: Rebuilt.
614
ad47f1e5
JJ
6152001-12-28 Jakub Jelinek <jakub@redhat.com>
616
617 * c-typeck.c (store_init_value): If initializing object with array
618 type of unknown size by a compound literal, set object's size from
619 compound literal size.
620 * doc/extend.texi (Compound Literals): Adjust documentation.
621
e6724881
RH
6222001-12-28 Richard Henderson <rth@redhat.com>
623
624 * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
625 (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
626 (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
627 * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
628 INTEL_EXTENDED_IEEE_FORMAT.
629
19f90fad
GK
6302001-12-27 Geoff Keating <geoffk@redhat.com>
631
2ef1a7f9
GK
632 * combine.c (try_combine): Mask off sign bits when combining
633 stores to the low and high parts of a two-word value.
634
19f90fad
GK
635 * expr.c (expand_expr): Don't mark memory for non-constants as
636 constant.
637
9674c842
RK
638Thu Dec 27 20:39:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
639
640 * integrate.c (copy_rtx_and_substitute, case MEM): If inlining
641 and not for LHS, clear RTX_UNCHANGING_P.
642
0b264069
PT
6432001-12-28 Philipp Thomas <pthomas@suse.de>
644
645 * cppfiles.c (stack_include_file): Don't translate <stdin>.
646
fe85f179
RS
6472001-12-27 Roger Sayle <roger@eyesopen.com>
648
649 * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
650 when all arguments are known constant. Fixes PR opt/3508.
651
30d7b5f4
KH
6522001-12-27 Kazu Hirata <kazu@hxi.com>
653
654 * config/h8300/h8300.md (two anonymous patterns): Remove.
655
df8992f8
RH
6562001-12-27 Richard Henderson <rth@redhat.com>
657
658 * haifa-sched.c (reemit_other_notes): New.
659 (schedule_block): Use it.
660 * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
661 * sched-rgn.c (schedule_insns): Likewise.
662 * cfglayout.c (remove_scope_notes): Handle removing note at
663 the end of the insn chain.
664 * function.c (debug_find_var_in_block_tree): New.
665
4001af0e
AM
6662001-12-27 Alan Modra <amodra@bigpond.net.au>
667 David Edelsohn <edelsohn@gnu.org>
668
669 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
670
3db83e32
JJ
6712001-12-27 Jakub Jelinek <jakub@redhat.com>
672
673 * toplev.c (independent_decode_option): Re-add -aux-info option
674 handling.
675
de5b49f2
RK
676Thu Dec 27 09:50:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
677
678 * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
679 if special value.
680
c083a819
KG
6812001-12-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
682
683 * collect2.c (is_ctor_dtor): Const-ify.
7f729bc6 684 * m88k-protos.h (output_file_start): Likewise.
c083a819
KG
685 * m88k.c (m88k_lang_independent_options, output_options,
686 output_file_start): Likewise.
687 * fix-header.c (files_to_ignore, std_include_entry, include_entry,
688 std_include_table, main): Likewise.
689 * protoize.c (longopts): Likewise.
690 * regclass.c (int_reg_class_contents): Likewise.
691 * toplev.c (dump_file, f_options, W_options): Make static.
692 (lang_independent_options, f_options, W_options): Const-ify.
693 * tree-dump.c (dump_file_info): Likewise.
694 * unroll.c (_factor): Make static.
695
fba0947d
RK
696Wed Dec 26 17:55:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
697
21cb9e60
RK
698 * config/alpha/alpha.c (alpha_align_insns): Remove warning.
699
fba0947d
RK
700 * config/sparc/sparc.md (call struct patterns): Show starting
701 at two words long.
702
3b370352
DE
7032001-12-26 David Edelsohn <edelsohn@gnu.org>
704
705 * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
706 * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
707
8a723db2
DD
7082001-12-26 DJ Delorie <dj@redhat.com>
709
710 * function.c (expand_main_function): Make sure stack adjustments
711 happen before sjlj exception setup.
712
b92b324d
DE
7132001-12-26 David Edelsohn <edelsohn@gnu.org>
714
715 * rs6000.md (indirect_jump): Prefer CTR over LR.
716 * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
717
2ad9852d
RK
718Tue Dec 25 12:04:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
719
720 * dwarf2out.c: Reformatting and minor code rearrangement.
721
596151e1
DR
7222001-12-24 Douglas B. Rupp (rupp@gnat.com)
723
724 * configure.in (quoted_stage_prefix_set_by_configure): Generate.
725 * configure: Regenerated.
726 * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
727 quoted_stage_prefix_set_by_configure.
728
5f0d2358
RK
729Mon Dec 24 10:24:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
730
731 * rtl.h (in_expr_list_p): New declaration.
732 * rtlanal.c (in_expr_list_p): New function.
733 * cfgcleanup.c: Reformatting and minor code rearrangement.
734 * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
735
b79d5213
RH
7362001-12-23 Richard Henderson <rth@redhat.com>
737
738 PR c/5163:
739 * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
740 we have a function body associated. Minor cleanups.
741 (grokdeclarator): Do not set DECL_INLINE without a function body.
742
7abcb63a
RH
7432001-12-23 Richard Henderson <rth@redhat.com>
744
745 * stmt.c (resolve_operand_names): Handle operand modifiers.
746
6be2e1f8
RH
7472001-12-23 Richard Henderson <rth@redhat.com>
748
749 * stmt.c (parse_input_constraint): Break out from ...
750 (expand_asm_operands): ... here. Loop over the operands twice,
751 the first time only calling mark_addressable. Correct and simplify
752 the conditions for spilling an output operand to memory.
753
c5b3a39e
RH
7542001-12-23 Richard Henderson <rth@redhat.com>
755
99407cf2
RH
756 * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
757
c5b3a39e
RH
758 * config/alpha/alpha.md (UNSPEC_SIBCALL): New.
759 (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
760 (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
761
6eb53511
JM
7622001-12-23 Joseph S. Myers <jsm28@cam.ac.uk>
763
764 * c-typeck.c (c_start_case): Don't strip conversions from the
765 controlling expression. Partially fixes PR c/2454.
766
b31bbca2
JM
7672001-12-23 Joseph S. Myers <jsm28@cam.ac.uk>
768
769 * Makefile.in (USER_H): Remove proto.h.
770 * config.gcc (c*-convex-*): Set extra_headers=proto.h.
771
0b5826ac
KG
7722001-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
773
774 * arc.c (arc_hard_regno_mode_ok): Const-ify.
775 * arc.h (arc_hard_regno_mode_ok): Likewise.
776 * i386.c (x86_64_reg_class_name): Make static.
777 * m68k.c (regno_reg_class): Const-ify.
778 * m68k.h (regno_reg_class): Likewise.
779 * mcore.c (reg_class_from_letter): Likewise.
780 * mcore.h (reg_class_from_letter): Likewise.
781 * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
782 ext_shift_insns, ext_shift_amounts): Likewise.
783 * sh.h (reg_class_from_letter): Likewise.
784 * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
785 hard_64bit_mode_classes): Likewise.
786 * sparc.h (hard_regno_mode_classes): Likewise.
787
788 * gcc.c (modify_target): Make static.
789 * gengenrtl.c (defs, formats): Likewise.
790 * reload1.c (elim_table_1, init_elim_table): Const-ify.
791 * tradcpp.c (directive, directive_table, handle_directive,
792 skip_if_group, run_directive): Likewise.
793
e4abc3d5
RH
7942001-12-23 Richard Henderson <rth@redhat.com>
795
796 * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
797 an invalid result register; do end the sequence properly.
798 (emit_library_call_value_1): Likewise.
799
24408032
AH
8002001-12-22 Aldy Hernandez <aldyh@redhat.com>
801
6be2e1f8 802 * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
24408032 803
6be2e1f8 804 * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
24408032 805
6be2e1f8
RH
806 * config/rs6000/rs6000.c: Clean up some spacing and indentation.
807 (altivec_init_builtins): Add tree types for builtins with 4 bit
808 literals.
24408032
AH
809 (bdesc_3arg): Add vsldoi variants.
810
f540a7d3
KG
8112001-12-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
812
813 * 1750a.h (datalbl, jmplbl): Declare array size explicitly.
814 * a29k.h (a29k_debug_reg_map): Likewise.
815 * arc.h (arc_regno_reg_class): Likewise.
816 * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
817 * convex.h (regno_reg_class, reg_class_from_letter): Likewise.
818 * d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
819 * i386.h (regclass_map): Likewise.
820 * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
821 * mcore.h (regno_reg_class): Likewise.
822 * mips.h (mips_print_operand_punct, mips_char_to_class):
823 Likewise.
824 * ns32k.h (regclass_map): Likewise.
825 * pj.h (pj_debugreg_renumber_vec): Likewise.
826 * s390.h (regclass_map): Likewise.
827 * sh.h (regno_reg_class): Likewise.
828 * sparc.h (sparc_regno_reg_class): Likewise.
829
830 * hard-reg-set.h (reg_class_contents): Likewise.
831 * machmode.h (class_narrowest_mode): Likewise.
832
d5e0243a
DE
8332001-12-22 David Edelsohn <edelsohn@gnu.org>
834
835 * loop.c (scan_loop, move_movables, count_one_set): Do not
836 overlook hard registers when computing statistics.
837
53d4257f
JH
838Sun Dec 23 00:49:37 CET 2001 Jan Hubicka <jh@suse.cz>
839
840 * calls.c (ECF_LIBCALL_BLOCK): New constant.
841 (emit_call_1, initialize_argument_information,
842 precompute_arguments, expand_call,
843 emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
844 instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
845
ba1e6c0b
JM
8462001-12-22 Joseph S. Myers <jsm28@cam.ac.uk>
847
848 * config.gcc (extra_headers): Move settings to math-68881.h and
849 ppc-asm.h to common code for CPU types. Use math-68881.h on all
850 m68k targets.
851 (header_files): Remove unused setting.
852
e421052c
KG
8532001-12-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
854
855 * elxsi.c: Include "hard-reg-set.h" and/or don't declare
856 `call_used_regs' explicitly.
857 * i860.c: Likewise.
858 * m68k.c: Likewise.
859 * ns32k.c: Likewise.
860 * pa.c: Likewise.
861 * vax.c: Likewise.
862 * we32k.c: Likewise.
863
91d2f4ba
JH
864Fri Dec 21 23:30:14 CET 2001 Jan Hubicka <jh@suse.cz>
865
866 * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
867 (TARGET_CPU_DEFAULT_*): Renumber.
868
33aceff2
JW
869Sat Dec 22 12:20:20 EST 2001 John Wehle (john@feith.com)
870
871 * rtl.h (subreg_lsb): Declare.
872 * rtlanal.c (subreg_lsb): Implement.
873
c470afad
RK
874Sat Dec 22 08:59:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
875
bfdade77 876 * predict.c: Reformatting and minor cleanups.
4891442b 877 * cfg.c, cfganal.c, cfgbuild.c: Likewise.
bfdade77 878
6c7d86ec
RK
879 * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
880 SAVE_EXPR.
881 * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
882 (put_addressof_into_stack): Clarify code in setting of used_p.
883
b5cd4ed4
RK
884 * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
885 (expand_call): Delete from here.
886 Do pending stack adjustments if ECF_SP_DEPRESSED.
887
c470afad
RK
888 * dwarf2out.c (save_rtx): Deleted.
889 (mem_loc_descriptor): Do equivalent operation.
890 (add_const_value_attribute, case CONST): Likewise.
891 (add_name_and_src_coords_attributes): Likewise.
892
faa4568c
KH
8932001-12-21 Kazu Hirata <kazu@hxi.com>
894
895 * config/h8300/h8300.h: Fix comment formatting.
896
67c49dc7
JL
897Fri Dec 21 17:30:15 2001 Jeffrey A Law (law@redhat.com)
898
899 * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
900 (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
901
655781b7
RL
9022001-12-21 Robert Lipe <robertlipe@usa.net>
903
904 * system.h (PREFETCH): Explictly undefine.
905
5137bd4f
RH
9062001-12-21 Richard Henderson <rth@redhat.com>
907
908 * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
909 (RESTORE_WARN_FLAGS): Restore it.
910 (extension): Zero warn_traditional.
911
c6dcc80e
KH
9122001-12-21 Kazu Hirata <kazu@hxi.com>
913
914 * doc/passes.texi: Fix a typo.
915
151ad5cd
KH
9162001-12-21 Kazu Hirata <kazu@hxi.com>
917
918 * config/h8300/h8300.h: Fix a comment typo.
919
7958f3c7
JJ
9202001-12-21 Jakub Jelinek <jakub@redhat.com>
921
922 * combine.c (nonzero_bits): If using reg_nonzero_bits,
923 we don't know anything about bits outside of X mode.
924 (num_sign_bit_copies): Likewise.
925
a00b07c5
NC
9262001-12-21 Nick Clifton <nickc@cambridge.redhat.com>
927
928 * config/arm/arm.md (prefetch): Use 'a' operand code.
929
7be33370
KG
9302001-12-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
931
932 * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
933 subshells.
934 * configure.in: Likewise for perl Pod::Man.
935
936 * configure: Regenerated.
937
b4c984fb
KG
9382001-12-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
939
940 * builtin-attrs.def (__builtin_printf_unlocked,
941 __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
942 Mark with the __printf__ attribute.
ff81832f 943
b4c984fb
KG
944 * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
945 and set the replacement function depending on it.
946 (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
947 Handle BUILT_IN_*_UNLOCKED when optimizing.
ff81832f 948
b4c984fb
KG
949 * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
950 DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
951 Declare the "unlocked" stdio functions.
ff81832f 952
b4c984fb
KG
953 * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
954 Add an `unlocked' parameter and set the replacement function
955 depending on it.
956 (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
957 BUILT_IN_FPRINTF_UNLOCKED.
958
959 * doc/extend.texi (printf_unlocked, fprintf_unlocked,
960 fputs_unlocked): Document.
961
b09d108b
JZ
9622001-12-20 Josef Zlomek <zlomek@matfyz.cz>
963
964 * cfgloop.c (flow_loops_find): Use the information of the depth
965 first search order of the CFG correctly when finding natural loops.
966
f350566b
RH
9672001-12-20 Richard Henderson <rth@redhat.com>
968
969 * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
970
002d2e0b
RH
9712001-12-20 Richard Henderson <rth@redhat.com>
972
973 * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
974 * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
975 operand into $27.
976
5bc27702
JM
9772001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
978
979 * configure.in (all_headers, all_lib2funcs): Remove.
980 * configure: Regenerate.
981 * Makefile.in (LANG_EXTRA_HEADERS): Remove.
982 (USER_H): Don't include $(LANG_EXTRA_HEADERS).
983 * config/alpha/t-interix (USER_H): Don't include
984 $(LANG_EXTRA_HEADERS).
985 * config/i386/t-interix: Likewise.
986 * config/t-openbsd: Likewise.
987
d68c98e1
AJ
9882001-12-20 Andreas Jaeger <aj@suse.de>
989
990 * libgcc2.c (__bb_exit_func): Remove unused variable.
991 (num_digits): Remove unused function.
992
121308d4
NC
9932001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
994
995 * config/arm/arm.c (arm_output_epilogue): Changed IP restore
996 to use ldmfd instead of ldmea.
997 * config/arm/arm.c (arm_compute_initial_elimination_offset):
998 Modified to reflect behavior of arm_expand_prologue when generating
999 interrupt handlers
1000
10012001-12-20 Nick Clifton <nickc@cambridge.redhat.com>
1002
1003 * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): New
6be2e1f8 1004 function. Compute which of registers r0 through r12 should be
121308d4 1005 saved onto the stack during a function's prologue.
6be2e1f8
RH
1006 (arm_compute_save_reg_mask): Use
1007 arm_compute_save_reg0_reg12_mask.
1008 (arm_compute_initial_elimination_offset): Use
1009 arm_compute_save_reg0_reg12_mask.
121308d4 1010
6be2e1f8
RH
1011 (arm_expand_prologue): Do not mark as save of the IP register
1012 for an interrupt handler as being part of the frame creation
1013 code.
121308d4 1014
82af613f
RH
10152001-12-20 Richard Henderson <rth@redhat.com>
1016
1017 * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
1018 to emit floating point values.
1019 (assemble_real_1): Remove.
1020
1021 * 1750a/1750a.c (real_value_to_target_single): New.
1022 (real_value_to_target_double): New.
1023 * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
1024 (REAL_VALUE_TO_TARGET_SINGLE): New.
1025 (REAL_VALUE_TO_TARGET_DOUBLE): New.
1026 * 1750a/1750a-protos.h: Update.
1027
1028 * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
d68c98e1 1029 alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
82af613f
RH
1030 avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
1031 d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
1032 fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
1033 i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
1034 i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
d68c98e1 1035 i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
82af613f
RH
1036 m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
1037 m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
1038 m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
1039 m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
1040 mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
1041 mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
1042 ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
1043 romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
1044 sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
1045 vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
1046 ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
1047 ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
1048 associated support routines.
1049
d1ee6d9b
JH
1050Thu Dec 20 16:58:46 CET 2001 Jan Hubicka <jh@suse.cz>
1051
1052 * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
1053 if one of block does not contain jump.
1054 (outgoing_edge_math): Revert last path; require edges to be noncomplex
1055 nonfake to match single exit edge; require conditional jumps to not
1056 have side effect.
1057
37bef197
TC
10582001-12-20 Turly O'Connor <turly@apple.com>
1059
1060 * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
1061 "recog_operand" to "recog_data.operand".
1062 * rtl.def: Likewise.
1063
a9dc868f
JJ
10642001-12-20 Jakub Jelinek <jakub@redhat.com>
1065
1066 * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
1067 narrower mode than op0, only return the bits in DIV's mode.
1068
2a3b43b6
JJ
10692001-12-20 Jakub Jelinek <jakub@redhat.com>
1070
1071 * combine.c (distribute_notes): Avoid adding REG_LABEL notes
1072 to JUMP_INSNs with JUMP_LABEL.
1073
a004eb82
AH
10742001-12-19 Aldy Hernandez <aldyh@redhat.com>
1075
6be2e1f8 1076 * doc/install.texi: Add documentation for --enable-altivec.
a004eb82 1077
6be2e1f8 1078 * config.gcc: Add support for --enable-altivec.
a004eb82 1079
6be2e1f8 1080 * config/rs6000/altivec.h: New.
a004eb82 1081
6be2e1f8
RH
1082 * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
1083 Define. Fix typo.
a004eb82 1084
6be2e1f8 1085 * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
a004eb82 1086 unspec_volatile.
6be2e1f8
RH
1087 (generate_set_vrsave): Generate the unspec here instead of calling
1088 an .md pattern.
1089 (generate_set_vrsave): Use gen_rtvec.
1090 (rs6000_emit_prologue): Replace call to gen_get_vrsave with
1091 gen_rtx_SET.
a004eb82 1092
6be2e1f8 1093 * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
a004eb82 1094 for setting special registers.
6be2e1f8
RH
1095 ("*set_vrsave_internal"): Use unspec_volatile.
1096 ("set_vrsave"): Remove.
1097 ("get_vrsave"): Remove.
a004eb82 1098
6be2e1f8 1099 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
a004eb82
AH
1100 SPECIAL_REGS.
1101
b5639a49
BK
11022001-12-19 Bruce Korb <bkorb@gnu.org>
1103
1104 * gcc/fixinc/inclhack.def: Remove all the fix suppression "fixes".
1105 (strict_ansi_not_ctd): accommodate __STDC__ == 0 tests in UW 2.1.2
1106 * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
1107 * gcc/fixinc/base/...: adjust for changes in fixes
1108
38be19f6
JM
11092001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
1110
66866cda
JM
1111 * po/gcc.pot: Regenerate.
1112
38be19f6
JM
1113 * configure.in (all_diff_excludes, diff_excludes): Remove.
1114 * configure: Regenerate.
1115 * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
1116 * objc/config-lang.in (diff_excludes): Remove.
1117
303f8933
DN
11182001-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1119
1120 * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
1121 the destination register as a parameter to mems_ok_for_ldd_peep.
1122 For store peepholes pass NULL_RTX. Move all volatile checks ...
1123 * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here. Add a
1124 register parameter, check it's not the same as base for an address.
1125 * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
1126
30fa7e33
JJ
11272001-12-19 Jakub Jelinek <jakub@redhat.com>
1128
1129 * config/ia64/ia64.c (ia64_single_set): Return first set for
1130 prologue_allocate_stack and epilogue_deallocate_stack instructions.
1131
24ea750e
DJ
11322001-12-19 Dale Johannesen <dalej@apple.com>
1133
1134 * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
1135 redefine in terms of rs6000_legitimize_reload_address().
1136 * config/rs6000/rs6000-protos.h: Add this function.
1137 * config/rs6000/rs6000.c: Add this function. Includes
1138 handling for Darwin FP constants.
1139
e4761274
JL
1140Wed Dec 19 11:01:21 2001 Jeffrey A Law (law@redhat.com)
1141
1142 * config/pa/t-hpux-shlib: New file.
1143 * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
1144 for 32bit hpux10 & hpux11 configurations.
1145
2ce3a36b
NC
11462001-12-19 Nick Clifton <nickc@cambridge.redhat.com>
1147
eb95cf36
NC
1148 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
1149 -mno-fpu onto gas unless -mhard-float is specified.
1150 (MULTILIB_DEFAULTS): Include msoft-float.
1151
fbdc1ec2
NC
1152 * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
1153
2ce3a36b 1154 * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
d68c98e1 1155 * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
2ce3a36b 1156
b2c16b03
DR
1157Wed Dec 19 06:12:34 2001 Douglas B. Rupp <rupp@gnat.com>
1158
1159 * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
1160 descriptor output.
1161
a4edd584
SS
11622001-12-18 Stan Shebs <shebs@apple.com>
1163
1164 * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
1165
03667700
RK
1166Tue Dec 18 17:02:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1167
1168 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
1169 on an INTEGER_CST.
1170
ae6c1efd
DE
11712001-12-18 David Edelsohn <edelsohn@gnu.org>
1172
1173 * rs6000.c (rs6000_override_options): Only use DI ops when
1174 TARGET_64BIT. Fix typo.
1175
c93e80a5
JH
1176Tue Dec 18 16:39:46 CET 2001 Jan Hubicka <jh@suse.cz>
1177
1178 * att.h (ASM_FILE_START): Use asm_dialect.
1179 * linux.h (ASM_FILE_START): Likewise.
1180 * gas.h (ASM_FILE_START): Likewise.
1181 * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
1182 ix86_asm_string, ix86_asm_dialect): New.
1183 (override_options): Set asm_dialect.
1184 * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
1185 MASK_DEBUG_ADDR): Kill.
1186 (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
1187 (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
1188 (ASSEMBLER_DIALECT): Use asm_dialect.
1189 (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
1190 remove debug-addr and debug-arg.
1191 (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
1192 (asm_dialect): New enum.
1193 (ix86_debug_arg_string, ix86_debug_addr_string,
1194 ix86_asm_string, ix86_asm_dialect): Declare.
1195 * invoke.texi (-mintel-syntax): Remove.
1196 (-masm): Document.
1197
114e78f8
JH
1198Tue Dec 18 16:37:42 CET 2001 Jan Hubicka <jh@suse.cz>
1199
1200 * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
1201
f21add07
JM
12022001-12-18 Jason Merrill <jason@redhat.com>
1203
1204 C++ ABI change: destroy value arguments in caller.
1205 * calls.c (initialize_argument_information): Pass the address of
1206 the TARGET_EXPR temporary rather than storing it into another.
1207
7d5863fb
DR
1208Tue Dec 18 07:09:06 2001 Douglas B. Rupp <rupp@gnat.com>
1209
1210 * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
1211 * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
1212
b25c3a22
JJ
12132001-12-18 Jakub Jelinek <jakub@redhat.com>
1214
1215 * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
1216 * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
1217 * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
1218 (CC1_SPEC): Don't default to -gstabs+ if -m32.
1219
12202001-12-05 David O'Brien <obrien@FreeBSD.org>
1221
1222 * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
1223
3855d0d1
JM
12242001-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
1225
1226 * po/gcc.pot: Regenerate.
1227
9bf7ec4e
KH
12282001-12-18 Kazu Hirata <kazu@hxi.com>
1229
1230 * config/h8300/h8300.c: Fix comment typos.
1231 * config/h8300/h8300.h: Fix comment formatting.
1232
86460bab
KG
12332001-12-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1234
1235 * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
1236 mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
1237 declaration to NUM_MACHINE_MODES.
1238 (mode_size, mode_unit_size): Set array type to unsigned char.
1239 (mode_bitsize): Set array type to unsigned short.
1240
1241 * rtl.c (rtx_length): Set array type to unsigned char.
1242 (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
1243 NUM_RTX_CODE.
1244 (mode_bitsize): Set array type to unsigned short.
1245 (mode_size, mode_unit_size): Set array type to unsigned char.
1246 (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
1247 mode_wider_mode, mode_mask_array): Set array size to
1248 NUM_MACHINE_MODES.
1249
1250 * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
1251 size in declaration to NUM_RTX_CODE.
1252
29b06e35
RH
12532001-12-17 Richard Henderson <rth@redhat.com>
1254
1255 * config/alpha/alpha.md (unop): Encode RB as $sp.
1256
3b27886e
NB
12572001-12-17 Neil Booth <neil@daikokuya.demon.co.uk>
1258
1259 * Makefile.in: Update dependencies.
1260 * c-lang.c: Remove unnecessary includes.
1261 (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
1262 c-objc-common.c.
1263 (finish_file): Move body to c_common_finish_file.
1264 * c-objc-common.c: Include varray.h and ggc.h.
1265 (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
1266 expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
1267 (c_objc_common_init): Initialize deferred function array.
1268 * c-tree.h (c_objc_common_finish_file,
1269 static_ctors, static_dtors): New.
1270objc:
1271 * Make-lang.in: Update dependencies.
1272 * objc/objc-act.c: Don't include varray.h.
1273 (defer_fn, deferred_fns): Move to c-objc-common.c.
1274 (objc_init): Similarly for initialization of it.
1275 (finish_file): Move some to c-objc-common.c, use
1276 c_objc_common_finish_file.
1277
ee540714
AH
12782001-12-17 Aldy Hernandez <aldyh@redhat.com>
1279
303f8933 1280 * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
ee540714 1281
dee03828
NB
12822001-12-17 Neil Booth <neil@daikokuya.demon.co.uk>
1283
1284 * doc/cppinternals.texi: Update.
1285
8f08e8c0
JL
1286Mon Dec 17 14:21:21 2001 Jeffrey A Law (law@redhat.com)
1287
1288 * expmed.c (emit_store_flag): Extract updated comparison code
1289 from the return value of compare_from_rtx.
1290 * expr.c (do_store_flag): Similarly.
1291
d6c1ace7
NC
12922001-12-17 Nick Clifton <nickc@cambridge.redhat.com>
1293
1294 * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
1295 preference to BASE_REG_CLASS.
1296 * recog.c (preprocess_constraints): Ditto.
1297 * regclass.c (record_operand_costs, scan_one_insn, regclass,
1298 record_reg_classes, record_address_regs): Ditto.
1299 * regrename.c (scan_rtx_address, scan_rtx,
1300 replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
1301 * reload.c (find_reloads, find_reloads_address,
1302 find_reloads_address_1): Ditto.
1303 * reload1.c (maybe_fix_stack_asms): Ditto.
1304 * defaults.h (MODE_BASE_REG_CLASS): Provide default
1305 definition.
1306 * doc/tm.texi: Document MODE_BASE_REG_CLASS.
1307
303f8933 1308 * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
d6c1ace7 1309
b11cc610
JM
13102001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
1311
0b0aff5c
JM
1312 * doc/install.texi2html: Use -I $SOURCEDIR.
1313
b11cc610
JM
1314 Separate user and internals manuals.
1315 * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
1316 dependencies.
1317 ($(docdir)/gccint.info, gccint.dvi): New targets.
1318 (maintainer-clean, install-info, uninstall): Update.
1319 * doc/.cvsignore: Add gccint.info*.
1320 * doc/include/gcc-common.texi: New file.
1321 * doc/gcc.texi: Use it. Adjust to be a user-only manual. Put
1322 copyright notice in a macro. Don't include ISBN unless FSFPRINT
1323 is defined.
1324 * doc/gccint.texi: New file.
1325 * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
1326 doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
1327 Update for separate user and internals manuals.
1328
fd3b43f2
DJ
13292001-12-17 Dale Johannesen <dalej@apple.com>
1330
303f8933
DN
1331 * config/rs6000/rs6000.h: CPP_CPU_SPEC: add mcpu=7400.
1332 ASM_CPU_SPEC: Ditto.
1333 RTX_COSTS: Fix timing info for 7450 multiply.
1334 * config/rs6000/rs6000.md: Fix timing info for 7450 imul.
1335 Allow floats to be kept in int regs in movsf_low,
1336 movsf_low_st (Darwin only)
fd3b43f2 1337
9aa86737
AH
13382001-12-17 Aldy Hernandez <aldyh@redhat.com>
1339
1340 * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
1341 parallel.
1342 (is_gpr_return_reg): New.
1343 (rs6000_emit_prologue): Call generate_set_vrsave with additional
1344 argument. Save only registers in the mask. Attach
1345 REG_FRAME_RELATED_EXPR note to altivec offsets. Do not call
1346 rs6000_frame_related when saving VRSAVE.
1347 (rs6000_emit_epilogue): Call generate_set_vrsave with additional
1348 argument. Restore only registers in the mask. Restore altivec
1349 registers after we restore CR.
1350 (generate_set_vrsave): New parameter epiloguep. Generate unspec
1351 sets instead of clobbers for call saved registers.
1352 (altivec_frame_fixup): New.
d68c98e1 1353
c453325c
RH
13542001-12-17 Richard Henderson <rth@redhat.com>
1355
1356 * config/sparc/sparc.md (movdi_zero): Remove.
1357 (movdi_insn_sp32_v9): New.
1358
c04cf67b
RH
13592001-12-17 Richard Henderson <rth@redhat.com>
1360
1361 * cfgcleanup.c (outgoing_edges_match): Check for insn match with
1362 a single outgoing edge too.
1363
25b44be5
JH
1364Mon Dec 17 18:27:52 CET 2001 Jan Hubicka <jh@suse.cz>
1365
1366 * cfgrtl.c (redirect_edge_and_branch): Do simplify abnormal
1367 edges resulting from computed jump
1368
af19c653
JH
1369Mon Dec 17 17:57:05 CET 2001 Jan Hubicka <jh@suse.cz>
1370
1371 * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
1372 * basic-block.h (CLEANUP_THREADING): New constant.
1373 * cfgcleanup.c: Include cselib.h
1374 (thread_jump, mark_effect): New functions.
1375 (try_forward_edges): Do jump threading when asked for.
1376 * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
1377 modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
1378 * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
1379 * toplev.c (rest_of_compilation): Do now call thread_jumps; use
1380 CLEANUP_THREAD instead.
1381
bc8224a5
KG
13822001-12-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1383
1384 * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
1385
ea9982a8
TR
13862001-12-17 Tom Rix <trix@redhat.com>
1387
d68c98e1
AJ
1388 * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
1389 of bytes.
ea9982a8 1390
301d03af
RS
13912001-12-17 Richard Sandiford <rsandifo@redhat.com>
1392
1393 * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
1394 asm_out.integer): New fields.
1395 * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
1396 TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
1397 (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
1398 the individual initialisers together.
1399 (TARGET_ASM_OUT): Add the new initialisers.
1400 * output.h (assemble_integer): Return bool.
1401 (integer_asm_op): Declare.
1402 (default_assemble_integer): Declare.
1403 (assemble_aligned_integer): New interface to assemble_integer.
1404 * varasm.c (integer_asm_op): New function to select pseudo-op.
1405 (default_assemble_integer): Default implementation of asm_out.integer.
1406 (assemble_integer): Use the new target hook. Split objects into
1407 words or bytes if the target hook fails. Return bool.
1408 * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
1409 ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
1410 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1411 UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
1412 Document new target hooks.
1413
1414 * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
1415 * dwarf2asm.c (unaligned_integer_asm_op): Remove.
1416 (dw2_assemble_integer): New.
1417 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
1418 dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
1419 dw2_asm_output_encoded_addr_rtx): Use it.
1420 (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
1421 (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
1422 integer_asm_op to get the byte pseudo-op. Use assemble_integer
303f8933 1423 if it returns NULL.
301d03af
RS
1424 * dwarf2asm.h (dw2_assemble_integer): Declare.
1425 * dwarfout.c: Include dwarf2asm.h. Use dwarf2 functions for the
1426 default implementation of most macros.
1427 (output_unsigned_leb128): Use dw2_asm_output_data.
1428 (output_signed_leb128, dwarfout_source_line): Likewise.
1429 (output_reg_number): Use dw2_assemble_integer.
1430 (generate_macinfo_entry): Separate the type and offset arguments.
1431 Use assemble_integer to write the value.
1432 (dwarfout_start_source_file): Update generate_macinfo_entry usage.
1433 (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
1434 * final.c (output_addr_const): Don't put brackets round a subtracted
1435 symbol value or ".".
1436 * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
1437
1438 * config/1750a/1750a.c (assemble_integer_1750a): New,
1439 * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
1440 * config/arc/arc.c (arc_assemble_integer): New.
1441 * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1442 * config/arm/arm.c (arm_poke_function_name): Likewise.
1443 (arm_assemble_integer): New, extracted from...
1444 * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
1445 (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
1446 (ARM_FUNCTION_PROFILER): Likewise.
1447 * config/avr/avr-protos.h (asm_output_byte): Remove.
1448 (asm_output_char, asm_output_short): Remove.
1449 * config/avr/avr.c (avr_assemble_integer): New.
1450 (asm_output_byte, asm_output_char, asm_output_short): Remove.
1451 * config/clipper/clipper.h (ASM_LONG): Remove.
1452 * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
1453 * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
1454 * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
1455 * config/i370/i370.c (i370_hlasm_assemble_integer): New.
1456 * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1457 (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
1458 * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1459 * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
1460 ASM_LONG instead of UNALIGNED_INT_ASM_OP.
1461 * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
1462 (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1463 * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
1464 ASM_LONG instead of UNALIGNED_INT_ASM_OP.
1465 * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
1466 * config/i860/i860.c (i860_output_function_epilogue): Likewise.
1467 * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1468 (ASM_SHORT, ASM_LONG): Undefine.
1469 * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1470 * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
1471 * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1472 * config/ia64/ia64.c (ia64_assemble_integer): New.
1473 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
1474 (ASM_OUTPUT_DWARF_PCREL): Likewise.
1475 * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1476 ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
1477 (ASM_SHORT, ASM_LONG): Remove.
1478 * config/m68k/m68k.h (INT_OP_GROUP): New macro.
1479 (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
1480 macros, the allowed values for INT_OP_GROUP.
1481 * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
1482 * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
1483 * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
1484 * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
1485 (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1486 * config/m68k/dpx2.h (ASM_LONG): Undefine.
1487 (INT_OP_GROUP): Define to INT_OP_DC.
1488 * config/m68k/dpx2g.h (ASM_LONG): Undefine.
1489 * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1490 * config/m68k/lynx.h (ASM_LONG): Undefine.
1491 * config/m68k/dpx2g.h (ASM_LONG): Undefine.
1492 * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1493 * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1494 (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
1495 * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
1496 for GAS and INT_OP_NO_DOT otherwise.
1497 (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
1498 (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1499 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
1500 (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1501 * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
1502 (INT_OP_GROUP): Define to INT_OP_STANDARD.
1503 (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1504 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
1505 (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
1506 * config/m68k/tower-as.h (ASM_LONG): Remove.
1507 (INT_OP_GROUP): Define to INT_OP_NO_DOT.
1508 * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
1509 * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1510 (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
1511 * config/mips/iris5.h (TARGET_IRIX5): Define.
1512 * config/mips/mips.c (mips_assemble_integer): New.
1513 * config/mips/sni-svr4.h (ASM_LONG): Undefine.
1514 * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
1515 * config/mmix/mmix.c (mmix_assemble_integer): New.
1516 (mmix_asm_output_double_int): Remove.
1517 (mmix_print_operand): Call mmix_output_octa directly.
1518 * config/mmix/mmix.h (ASM_LONG): Remove.
1519 * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
1520 * config/pa/pa.c (pa_assemble_integer): New.
1521 (pa_override_options): Only use aligned DI ops on 64-bit targets.
1522 Only use the unaligned ops if TARGET_GAS.
1523 * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
1524 * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
1525 * config/pj/pj.h (ASM_LONG): Undefine.
1526 * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
1527 * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
1528 extracted from ASM_OUTPUT_INT in sysv4.h. Use in_text_section()
1529 and in_toc_section() rather than the in_section variable.
1530 (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
1531 * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
1532 (RELOCATABLE_NEEDS_FIXUP): Define.
1533 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
1534 * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
1535 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
1536 to get the word directive.
1537 (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
1538 * config/s390/s390.c (s390_assemble_integer): New.
1539 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
1540 integer_asm_op to get the word directive.
1541 * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
1542 * config/sparc/sparc-protos.h (output_double_int): Remove.
1543 * config/sparc/sparc.c (output_double_int): Move to...
1544 (sparc_assemble_integer): ...this new function.
1545 (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
1546 * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
1547 * config/sparc/sysv4.h (ASM_LONG): Remove.
1548 (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
1549 ASM_LONG.
1550 * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
1551 * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
1552
1553 * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
1554 config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
1555 config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
1556 config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
1557 config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
1558 config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
1559 config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
1560 config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
1561 config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
1562 config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
1563 config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
1564 config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
1565 (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
1566 TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
1567 TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
1568 TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
1569 appropriate.
d68c98e1 1570
301d03af
RS
1571 * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
1572 config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
1573 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
1574 config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
1575 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
1576 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
1577 config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
1578 config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
1579 config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
1580 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
1581 config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
1582 config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
1583 config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
1584 config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
1585 config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
1586 config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
1587 config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
1588 config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
1589 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
1590 config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
1591 config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
1592 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
1593 config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
1594 ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
1595 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1596 UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
1597
00a8c0b4
SS
15982001-12-17 Stan Shebs <shebs@apple.com>
1599
1600 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
1601 (STACK_BOUNDARY): Remove definition.
1602 (CPP_PREDEFINES): Define __POWERPC__.
1603
a89c5741
GP
16042001-12-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1605
1606 * doc/c-tree.texi (Trees): Only refer to GCC.
1607
e536cfdf
AJ
16082001-12-17 Andreas Jaeger <aj@suse.de>
1609
1610 * c-common.def: Fix typo in comment.
1611
c7240cbd
DB
16122001-12-16 David O'Brien <obrien@FreeBSD.org>
1613
1614 * config.gcc (sparc64-*-freebsd*): Add target.
1615 * config/sparc/freebsd.h: New file.
1616 * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
1617 * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
1618 * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
1619
9f85ed45
AH
16202001-12-16 Aldy Hernandez <aldyh@redhat.com>
1621
4775fbf1
AH
1622 * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
1623 PLUS operands into registers for altivec mode.
9f85ed45 1624
cbf5468f
AH
16252001-12-16 Aldy Hernandez <aldyh@redhat.com>
1626
4775fbf1 1627 * builtins.c (apply_args_size): Change regno to unsigned.
cbf5468f 1628
1a3ab9e1
AH
16292001-12-16 Aldy Hernandez <aldyh@redhat.com>
1630
4775fbf1 1631 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
1a3ab9e1
AH
1632 ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
1633
9685bdf0
ZW
16342001-12-16 Zack Weinberg <zack@codesourcery.com>
1635
1636 * c-typeck.c (error_init, pedwarn_init, warning_init): Call
1637 gettext on argument before printing.
1638
1639 * fold-const.c (negate_expr): Always call fold on new
1640 NEGATE_EXPR.
1641
8d37a5c0
JM
16422001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
1643
1644 * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
1645 a DECL directly.
1646 * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
1647 (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
1648 * c-decl.c (build_compound_literal): Put the decl inside a
1649 DECL_STMT.
1650 * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
1651 Fixes PR c/5105.
1652
cf6ede82
AH
16532001-12-16 Aldy Hernandez <aldyh@redhat.com>
1654
303f8933 1655 * config.gcc: Add powerpc-*-eabisimaltivec*.
cf6ede82 1656
317c26c3
NB
16572001-12-16 Neil Booth <neil@daikokuya.demon.co.uk>
1658
1659 * c-common.c, c-common.h (back_end_hook): Remove.
1660 * c-lang.c (finish_file): Remove back_end_hook.
1661
3e037140
RK
1662Sun Dec 16 13:13:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1663
1664 * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
1665 last change.
1666
d13898a7
RH
16672001-12-16 Richard Henderson <rth@redhat.com>
1668
1669 * toplev.c (parse_options_and_default_flags): Don't enable
1670 flag_cprop_registers at -O1.
1671
15bc166f
KG
16722001-12-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1673
11f9ed1a
KG
1674 * avr.c (avr_simplify_comparision_p, adjust_insn_length,
1675 mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
1676 * avr.h (reg_class): Likewise.
1677 * avr.md: Likewise.
1678 * mcore.c (try_constant_tricks, mcore_byte_offset,
1679 mcore_halfword_offset): Likewise.
1680 * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
1681 * v850.c (not_power_of_two_operand): Likewise.
1682
9d955c3a
KG
1683 * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
1684 warnings.
1685 * convex.h (ASM_OUTPUT_ASCII): Likewise.
1686 * i370.h (ASM_OUTPUT_ASCII): Likewise.
1687 * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
1688 * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
1689 * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
1690 * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
1691 * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
1692 * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
1693 * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
1694 * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
1695 * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
1696 * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
1697 * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
1698 * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
1699 * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
1700 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
1701 * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
1702 * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
1703 * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
1704 * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
1705 * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
1706 * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
1707 * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
1708 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
1709 * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
1710 * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
1711
10b2117e
KG
1712 * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
1713 * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
1714 * psos.h (CPP_PREDEFINES): Likewise.
1715 * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
1716 * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
1717 ASM_OUTPUT_EXTERNAL): Likewise.
1718 * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1719 Likewise.
1720 * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
1721 * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1722 Likewise.
1723 * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
1724
faf31866
KG
1725 * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
1726 * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
1727 * fold-const.c (real_hex_to_f): Use hex_value.
1728 * real.c (asctoeg): Use hex_value & ISXDIGIT.
1729 * toplev.c (toplev_main): Call hex_init.
1730 * tradcpp.c (main): Call hex_init.
1731
15bc166f
KG
1732 * nextstep-protos.h: New file.
1733 * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
1734 * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
1735 STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
1736 (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
1737 handle_pragma): Move prototypes to nextstep-protos.h.
1738 * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
1739 m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
1740
66fe41af
CR
17412001-12-16 Craig Rodrigues <rodrigc@gcc.gnu.org>
1742
1743 PR other/3725
1744 * configure.in: Add AC_SUBST(target_alias).
1745 * configure: Regenerated.
1746
97feffc2
RH
17472001-12-15 Richard Henderson <rth@redhat.com>
1748
1749 * config/alpha/alpha.md (sibcall_osf_1_er): New.
1750 (sibcall_value_osf_1_er): New.
1751
2aad5d68
DN
17522001-12-15 Dan Nicolaescu <dann@ics.uci.edu>
1753
303f8933 1754 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
2aad5d68 1755 addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
303f8933
DN
1756 addrs; eliminate restriction of only using fp and sp as base
1757 registers.
1758 * config/sparc/sparc-protos.h: Update.
1759 * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
1760 (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
1761 from old define_peepholes.
1762 Convert all the ldd/std peepholes to peephole2.
2aad5d68 1763
4023fb28
UW
17642001-12-15 Ulrich Weigand <uweigand@de.ibm.com>
1765
1766 * s390.md (prologue, epilogue, *return_si, *return_di): New.
e536cfdf 1767 s390.c (find_unused_clobbered_reg, s390_frame_info,
4023fb28
UW
1768 save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
1769 s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
1770 s390.c (s390_arg_frame_offset): Use s390_frame_info.
1771 (leaf_function_flag, cur_is_leaf_function,
1772 save_fprs, restore_fprs, force_const_mem_late): Remove.
1773 (s390_function_prologue, s390_function_epilogue): Mostly remove.
1774 s390.md (lit): New. Uses ...
1775 s390.c (s390_output_constant_pool): ... this, so adapt and make global.
1776 s390-protos.h (s390_output_constant_pool): Declare.
1777 s390.md (load_multiple, store_multiple): Allow use after reload.
1778 s390.c (load_multiple_operation, store_multiple_operation): Likewise.
1779 s390.h (INCOMING_FRAME_SP_OFFSET): Define.
1780 s390.h (CALL_REALLY_USED_REGISTERS): Define.
1781 config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
1782 s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
1783 s390.c (s390_sr_alias_set): New global variable, initialized ...
1784 (override_options): ... here. New.
1785 s390-protos.h (override_options): Declare.
1786 s390.h (OVERRIDE_OPTIONS): Call it.
1787 s390.c (s390_function_profiler): New.
1788 s390-protos.h (s390_function_profiler): Declare.
1789 s390.h (FUNCTION_PROFILER): Call it.
1790 s390.c (s390_profile): Remove.
1791
1792 * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
1793 (addr_generation_dependency_p): Consider literal pool register loads.
1794 (s390_adjust_priority): Do not schedule load_multiple.
1795 s390.md (attribute "type"): Define some additional types.
1796 (function_unit "integer"): Adapt.
1797 (many insns): Adapt "type" attribute setting.
1798
1799 * s390.c (general_s_operand, s_imm_operand): New.
1800 (s_operand): Remove old definition, call general_s_operand instead.
1801 s390-protos.h (s_imm_operand): Declare.
e536cfdf 1802 s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
4023fb28
UW
1803 r_or_x_or_im16_operand, r_or_im8_operand): Remove.
1804 s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
1805 r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
1806 s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
1807 s390.md (many insns): Rework insn predicates.
1808
1809 * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
1810 non-symbolic constants. Reload will force them because of ...
1811 (s390_preferred_reload_class): ... this. New.
1812 s390-protos.h (s390_preferred_reload_class): Declare.
1813 s390.h (PREFERRED_RELOAD_CLASS): Call it.
1814 s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
1815 *reload_la_31 splitters): Handle constants after reload.
1816 (many insns): no longer force all constants immediately.
1817 s390.c (legitimate_reload_constant_p): New helper routine.
1818 s390-protos.h (legitimate_reload_constant_p): Declare.
1819 s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
1820
e536cfdf 1821 * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
4023fb28
UW
1822 HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
1823 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
1824 (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
1825 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
1826 (DWARF_FRAME_REGISTERS): Define.
1827 s390.c (regclass_map): Add virtual frame pointer.
1828 (legitimate_la_operand_p): Allow use of virtual frame pointer.
1829 s390.md (*la_ccclobber, *addaddr_ccclobber): New.
1830 (addaddr, addsi_64): Delete.
1831
e536cfdf 1832 * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
4023fb28
UW
1833 floating point registers.
1834 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
1835 (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
1836 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
1837
1838 * s390.md (movti): Replace multi-insn output with splitters.
1839 (movdi_31, movdf_31): Likewise.
1840 (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
1841 (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
1842 (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
1843 (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
1844 (movsf_64, movsf_31): Remove, replace by ...
1845 (movsf): ... this.
1846 (movqi_64): Use lhi instead of llill.
1847 (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
1848
1849 * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
1850 extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
1851 extendqihi2 and associated splitters): Reworked.
1852 (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
1853 zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
1854 zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
1855 *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
1856 *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
1857 zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
1858 zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
1859 and associated splitters): Likewise.
e536cfdf 1860 (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
4023fb28 1861 and associated splitters): New.
e536cfdf 1862 (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
4023fb28
UW
1863 *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
1864 (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
1865 s390.h (PROMOTE_PROTOTYPES): Remove.
1866 config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
1867
1868 * s390.md (muldi3): Delete, use instead ...
1869 (mulsidi3): ... this.
1870 (*muldi3_64): Rename to muldi3.
1871 (mulsi_6432): Fix template.
1872 (divdi3, moddi3): Delete, replace by ...
1873 (divmoddi4): ... this.
1874 (divmodtidi3): Fix template.
1875 (divmodtisi3): New.
1876 (udivdi3, umoddi3): Delete, replace by ...
1877 (udivmoddi4): ... this.
1878 (udivmodtidi3): Fix template.
1879 (divsi3, modsi3): Delete, replace by ...
1880 (divmodsi4): ... this.
1881 (divmoddisi3): Fix template.
1882 (udivsi3, umodsi3): Adapt.
1883
1884 * s390.md (anddi3): Remove SS alternative, use instead ...
1885 (anddi3_ss, anddi3_ss_inv): ... these.
1886 (anddi3_ni): New.
1887 (andsi3*, andhi3*, andqi3*): Likewise.
1888 (iordi3): Remove SS alternative, use instead ...
1889 (iordi3_ss, iordi3_ss_inv): ... these.
1890 (iordi3_oi): New.
1891 (iorsi3*, iorhi3*, iorqi3*): Likewise.
1892 (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
1893 (xordi3): Remove SS alternative, use instead ...
1894 (xordi3_ss, xordi3_ss_inv): ... these.
1895 (xordi3_oi): New.
1896 (xorsi3*, xorhi3*, xorqi3*): Likewise.
1897 (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
1898 (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
1899 Expand to XOR with -1.
1900 (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
1901 (cmpdi_tm): Delete, replace by ...
1902 (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
1903 (cmpsi_cct): Delete, replace by ...
1904 (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
1905 (cmpdi_tm2, cmpsi_tm2): Improve.
1906 (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
e536cfdf 1907 s390.c (s390_single_hi, s390_extract_hi,
4023fb28 1908 s390_single_qi, s390_extract_qi): New helper routines.
e536cfdf 1909 s390-protos.h (s390_single_hi, s390_extract_hi,
4023fb28
UW
1910 s390_single_qi, s390_extract_qi): Declare.
1911 s390.c (tmxx_operand, const1_operand): Remove.
1912 s390-protos.h (tmxx_operand, const1_operand): Likewise.
1913 s390.h (PREDICATE_CODES): Likewise.
1914
1915 * s390.md (sqrtdf2, sqrtsf2): New.
1916
1917 * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
1918 (check_and_change_labels): Remove section-change special case.
1919
e536cfdf 1920 * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
4023fb28
UW
1921 in leaf functions. Needs ...
1922 (DYNAMIC_CHAIN_RTX): ... this. New.
1923
1924 * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1925
1926 * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
e536cfdf 1927 clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
4023fb28
UW
1928 input operands using a match_dup clause.
1929 (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1930
1931 * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1932 floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1933
1934 * s390.md (floatsidf2_ibm): Use correct operand.
1935
1936 * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1937 fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1938 non-portable constants.
1939 s390.c (s390_gen_rtx_const_DI): New helper routine.
1940 s390-protos.h (s390_gen_rtx_const_DI): Declare.
1941
1942 * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
1943
1944 * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
1945 ASM_OUTPUT_BYTE): Clean up assembly output.
1946 (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
1947 (ASM_OUTPUT_ASCII): Remove.
1948
1949 * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
1950
5f77a9c5
ZW
19512001-12-15 Zack Weinberg <zack@codesourcery.com>
1952
1953 * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
1954 before including unwind-dw2-fde.c, if we are not using the
1955 special code in this file.
1956
3a37b08e
RH
19572001-12-15 Richard Henderson <rth@redhat.com>
1958
1959 * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
1960 MASK_EXPLICIT_RELOCS if the assembler supports it.
1961 * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
1962 * configure, config.in: Rebuild.
e536cfdf 1963
f79a65c0
RK
1964Sat Dec 15 17:53:03 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1965
1966 * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
1967 for rounded_stack_size.
1968
b0287a90
JM
19692001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
1970
1971 * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
1972 config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
1973 toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
1974 "bit-field" spellings in messages.
1975 * po/gcc.pot: Regenerate.
1976
1737c953
JM
19772001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
1978
1979 * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
1980 American spelling in messages.
1981 * po/gcc.pot: Regenerate.
1982
7fcd4787
KH
19832001-12-15 Kazu Hirata <kazu@hxi.com>
1984
1985 * config/h8300/h8300.md: Adjust whitespacing. Remove
1986 constraints from expanders. Replace \@ with @.
1987
7b07d808
RE
19882001-12-15 Richard Earnshaw <rearnsha@arm.com>
1989
1990 * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
1991
22c56562
UW
19922001-12-15 Ulrich Weigand <uweigand@de.ibm.com>
1993
1994 * regrename.c (copyprop_hardreg_forward): Do not keep register
1995 value data live across abnormal call or eh egdes.
1996
3a531a8b
RK
1997Sat Dec 15 08:29:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1998
1999 * expr.c (highest_pow2_factor, case INTEGER_CST): Return
2000 BIGGEST_ALIGNMENT for 0.
2001
dcfcd436
JH
2002Sat Dec 15 14:13:03 CET 2001 Jan Hubicka <jh@suse.cz>
2003
3a531a8b
RK
2004 * predict.def (PRED_NORETURN): Make probabilities match reality.
2005 (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
2006 Likewise.
dcfcd436 2007
275b60d6
JJ
20082001-12-15 Jakub Jelinek <jakub@redhat.com>
2009
2010 * configure.in: Check for ld.
2011 (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
2012 * configure, config.in: Rebuilt.
2013 * config.gcc: Add crtbeginT.o to extra_parts where needed.
2014 * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
2015 frame unwinding on Linux.
2016 * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
2017 frame unwinding.
2018 * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
2019 (LINK_EH_SPEC): Define.
2020 * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
2021 * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
2022 * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
2023 iterate further if pc falls into current library, but fde was not
2024 found.
2025 * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
2026 if using glibc.
2027 (LINK_EH_SPEC): Define.
2028 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
2029 Use crtbeginT.o for -static.
2030 (LINK_EH_SPEC): Define.
2031 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
2032 * Makefile.in (crtbeginT.o): Add rule.
2033 * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
2034 If neither -static-libgcc nor -shared-libgcc is passed and -shared,
2035 use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
2036 If none of the above switches are passed, use -lgcc -lgcc_eh.
2037 (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
2038 * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
2039 creating libgcc_s.so, put them into separate libgcc_eh.a instead.
2040 * unwind-dw2-fde.c: Don't include any headers if this file
2041 is included from other .c file.
2042 * unwind-dw2-fde-glibc.c: New file.
2043 * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
2044 Use it instead of EH_FRAME_SECTION_NAME where appropriate.
2045
88f92c0f
KG
20462001-12-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2047
2048 * builtins.c (expand_builtin_memcmp): Mark parameter with
2049 ATTRIBUTE_UNUSED.
2050 * cfgcleanup.c (insns_match_p): Likewise.
2051 * regrename.c (mode_change_ok): Likewise.
2052 * gcc.c (execute): Const-ify.
2053
d3b4cd6f
AH
20542001-12-14 Aldy Hernandez <aldyh@redhat.com>
2055
2056 * c-parse.in (typename): Do not split attributes.
5f77a9c5 2057 Remove unsupported attributes warning.
d3b4cd6f 2058
5f77a9c5 2059 * c-decl.c (groktypename): Apply attributes.
d3b4cd6f 2060
892a4e60
RH
20612001-12-14 Richard Henderson <rth@redhat.com>
2062
e536cfdf 2063 * config/ia64/ia64.c (spill_restore_mem): Mark iterator
892a4e60
RH
2064 initialization as possibly dead.
2065
8610ba70
RH
20662001-12-14 Richard Henderson <rth@redhat.com>
2067
2068 * regrename.c (mode_change_ok): New.
2069 (find_oldest_value_reg): Use it.
2070
752ae914
RH
20712001-12-14 Richard Henderson <rth@redhat.com>
2072
2073 * regrename.c (struct value_data): Add max_value_regs.
2074 (init_value_data): Initialize it.
2075 (kill_value): Kill values that overlap the dying register.
2076 (set_value_regno): New.
2077 (kill_set_value, kill_autoinc_value, copy_value): Use it.
2078 (copyprop_hardreg_forward_1): Kill earlyclobber operands
2079 before looking at inputs.
2080
ebd97b96
DE
20812001-12-14 David Edelsohn <edelsohn@gnu.org>
2082
2083 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
2084 DECL_WEAK for function descriptors.
2085 * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
2086 weak support present.
2087 (ASM_WEAKEN_LABEL): Same.
2088
103c41c1
KH
20892001-12-14 Kazu Hirata <kazu@hxi.com>
2090
2091 * config/h8300/h8300.md (anonymous pattern): Add a missing
2092 mode.
2093
e32815aa
KH
20942001-12-14 Kazu Hirata <kazu@hxi.com>
2095
2096 * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
2097 comment typo.
2098
64378c91
KH
20992001-12-14 Kazu Hirata <kazu@hxi.com>
2100
2101 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
2102 Remove the initialization requierment.
2103 (h8300_handle_tiny_data_attribute): Likewise.
2104
05fb1639
KH
21052001-12-14 Kazu Hirata <kazu@hxi.com>
2106
2107 * config/h8300/h8300.md (udivqi3): Remove.
2108 (divqi3): Likewise.
2109 (udivhi3): Likewise.
2110 (divhi3): Likewise.
2111 (umodqi3): Likewise.
2112 (modqi3): Likewise.
2113 (umodhi3): Likewise.
2114 (modhi3): Likewise.
2115 (udivmodqi3): New.
2116 (divmodqi3): Likewise.
2117 (udivmodhi3): Likewise.
2118 (divmodhi3): Likewise.
2119
08f7f057
JH
2120Sat Dec 15 01:39:12 CET 2001 Jan Hubicka <jh@suse.cz>
2121
2122 * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
2123 by active_insn_p; count conditional jump as instruction.
2124
aa28f076
DD
21252001-12-14 DJ Delorie <dj@redhat.com>
2126 Danny Smith <dannysmith@users.sourceforge.net>
2127
2128 * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
2129 at SYM_NAME[0] or SYM_NAME[3].
2130 (STRIP_NAME_ENCODING): Don't check for leading '*'.
2131
99f78cdd
IR
21322001-12-14 Ira Ruben <ira@apple.com>
2133
2134 Add -### option (displays driver-generated commands without
2135 executing and quotes all arguments).
2136 * doc/invoke.texi: Add -###.
2137 * gcc.c (verbose_only_flag) - New flag.
2138 * (execute): If -### write quoted arguments and return.
2139 * (display_help): Print meaning of -###.
2140 * (process_command): Handle -###.
2141
21422001-12-14 Ira Ruben <ira@apple.com>
2143
2144 Fix to no allow -save-temps to clobber user's source file.
2145 * gcc.c: Add static globals input_stat and input_stat_set.
2146 (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
2147 set, check that user's input file is not overwritten.
2148 (set_input): Reset input_stat_set for each new file.
2149
27b2c32e
JH
2150Fri Dec 14 22:14:44 CET 2001 Jan Hubicka <jh@suse.cz>
2151
2152 * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
2153
29655d3d
ZW
21542001-12-14 Zack Weinberg <zack@codesourcery.com>
2155
2156 * combine.c (record_dead_and_set_regs): Use
2157 regs_invalidated_by_call. Don't note stores for CALL_INSNs.
2158
dc6f4158
AJ
21592001-12-14 Roger Sayle <roger@eyesopen.com>
2160
2161 * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
2162 __builtin_fsqrt to __builtin_sqrt.
2163
2164 * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
2165 * doc/extend.texi: Simplify documentation to match patch.
2166
f4365627
JH
2167Fri Dec 14 21:23:54 CET 2001 Jan Hubicka <jh@suse.cz>
2168
2169 * config.gcc: Revamp target_cpu_default2 to strings;
2170 support new x86 variants.
2171 * i386.c (override_options): Default x86_cpu_string and x86_arch_string
2172 properly; set prefetch_sse.
2173 * i386.h (x86_prefetch_sse): Declare.
2174 (TARGET_PREFETCH_SSE): New.
2175 (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
2176 (TARGET_CPU_DEFAULT_*): New.
2177
2178Thu Dec 13 21:57:13 CET 2001 Janis Johnson <janis187@us.ibm.com>
2179 Jan Hubicka <jh@suse.cz>
2180
2181 * config/i386/i386.h (struct processor_costs): Add new members
2182 prefetch_block and simultaneous_prefetches.
2183 (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
2184 * config/i386/i386.c (processor_costs structs): Add values for
2185 prefetch_block and simultaneous_prefetches.
2186 * config/i386/i386.md (unspec values): Remove values for prefetch
2187 operations, which now use the PREFETCH rtx code.
2188 (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
2189 unified prefetch support.
2190
4ff8507e
JM
21912001-12-14 Jason Merrill <jason@redhat.com>
2192
2193 * diagnostic.c (sorry): Increment sorrycount before saving the
2194 buffer state.
2195
abf80f8f
JH
2196Fri Dec 14 19:53:23 CET 2001 Jan Hubicka <jh@suse.cz>
2197
2198 * i386.md (sqrt?f): Fix conditionals.
2199
c1bd46a8
DR
2200Fri Dec 14 07:29:52 2001 Douglas B. Rupp <rupp@gnat.com>
2201
b6bfa876
DR
2202 * config.gcc (alpha64-dec-*vms*): New case.
2203 * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
2204 * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
2205 * config/alpha/xm-vms64.h: Likewise.
2206
c1bd46a8
DR
2207 * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
2208 (alpha_write_linkage): Test for null alpha_links.
2209 (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
2210 (vms_section_type_flags, vms_asm_named_section): Handle them.
2211
965f5423
JH
2212Fri Dec 14 12:05:14 CET 2001 Jan Hubicka <jh@suse.cz>
2213
2214 * i386.c (ix86_fpmath, ix86_fpmath_string): New.
2215 (override_option): Set ix86_fpmath.
2216 * i386.h (MASK_MIX_SSE_I387): Remove.
2217 (TARGET_SSE_MATH): New.
2218 (TARGET_MIX_SSE_I387): Use ix86_fpmath.
2219 (TARGET_SWITCHES): Remove "mix-sse-i387".
2220 (fpmath_unit): New enum.
2221 (ix86_fpmath, ix86_fpmath_string): Declare.
2222 * i386.md (swapsf): Fix condition.
2223 (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
2224 (fp_?f_*_nosse): New.
2225 (fp_*): Use TARGET_SSE_MATH.
2226 * invoke.texi (-mfpmath): Document.
2227 (-msse2): Add.
2228
a4cf1d85
JM
22292001-12-14 Jason Merrill <jason@redhat.com>
2230
2231 * dwarf2out.c (output_die): Print the string in the comment for
2232 a DW_FORM_strp.
2233
172270b3
RE
22342001-12-14 Richard Earnshaw <rearnsha@arm.com>
2235
2236 * netbsd.h (COLLECT_SHARED_INIT_FUNC)
2237 (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
2238 * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
2239 (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
2240
3de23727
RH
22412001-12-13 Richard Henderson <rth@redhat.com>
2242
2243 * regrename.c (kill_value_regno): Simplify chain removal.
2244 (kill_value): Kill all of HARD_REGNO_NREGS.
2245 (kill_set_value): Use kill_value not kill_value_regno.
2246 (kill_autoinc_value): Likewise.
2247 (copyprop_hardreg_forward): Don't collect refresh_blocks.
2248 Call delete_noop_moves.
2249
c3f23a53 22502001-12-13 Aldy Hernandez <aldyh@redhat.com>
803e8894 2251
a4cf1d85 2252 * attribs.c (c_common_attribute_table): Swap decl_req and type_req
803e8894 2253 for the mode attribute.
a4cf1d85 2254 (handle_mode_attribute): Handle types, not decls.
803e8894 2255
ade3dc07
JM
22562001-12-13 Jason Merrill <jason@redhat.com>
2257
2258 * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
2259
466eb3e0
AH
22602001-12-13 Aldy Hernandez <aldyh@redhat.com>
2261
2262 * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
752ae914
RH
2263 constraint to base register.
2264 (eh_set_lr_si): Same.
466eb3e0 2265
05c8e58b
HPN
22662001-12-13 Hans-Peter Nilsson <hp@axis.com>
2267
2268 * expr.c (expand_expr, case ADDR_EXPR): Don't honor
2269 flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
2270 modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
2271
1ed1b4fb
RK
2272Thu Dec 13 20:30:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2273
2274 * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
2275 warning and reformat comments.
2276 (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
2277 (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
2278 if overflow.
2279
10baca6b
AH
22802001-12-12 Aldy Hernandez <aldyh@redhat.com>
2281
ade3dc07
JM
2282 * config/rs6000/rs6000.c (rs6000_override_options): Add
2283 SUBSUBTARGET_OVERRIDE_OPTIONS.
10baca6b 2284
ade3dc07 2285 * config/rs6000/eabialtivec.h: New file.
10baca6b
AH
2286
2287 * config/rs6000/linuxaltivec.h: New file.
2288
2289 * config.gcc: Add powerpc-*-eabialtivec and
2290 powerpc-*-linux-gnualtivec.
2291
a32274ad
NB
22922001-12-13 Neil Booth <neil@daikokuya.demon.co.uk>
2293
2294 * toplev.c (process_options, parse_options_and_default_flags):
2295 Set flag_no_inline before the post_options hook.
2296
4a78c787
RH
22972001-12-13 Richard Henderson <rth@redhat.com>
2298
2299 * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
2300 is false.
2301
414e05cf
RE
23022001-12-13 Richard Earnshaw <rearnsha@arm.com>
2303
2304 * collect2.c (COLLECT_SHARED_INIT_FUNC)
2305 (COLLECT_SHARD_FINI_FUNC): Define default values.
dc6f4158 2306 (write_c_file_stat): Use them to call construtor and destructor
414e05cf
RE
2307 functions in shared libraries.
2308 * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
2309 (COLLECT_SHARD_FINI_FUNC): Document them.
2310 * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
2311 (COLLECT_SHARD_FINI_FUNC): Define.
2312
2313 * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
2314 shared library. Pass -shared through to the linker.
2315 * config/arm/netbsd.h (LINK_SPEC): Likewise.
2316
2317 * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
2318 (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
2319 (SHLIB_INSTALL): Define.
2320
a3c48721
RE
23212001-12-13 Richard Earnshaw <rearnsha@arm.com>
2322
2323 * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
2324 the same way as we handle SYMBOL_REFS.
2325
62ab1caf
RK
2326Thu Dec 13 07:47:24 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2327
2328 * loop.c (remove_constant_addition): Fix prototype and whitespace.
2329 (emit_prefetch_instructions): Remove warnings and whitespace
2330 changes.
2331
c48f792c
DR
2332Thu Dec 13 06:48:38 2001 Douglas B. Rupp <rupp@gnat.com>
2333
2334 * config/alpha/vms-cc.c (preprocess_args): Fix forward
2335 declaration.
2336
0dd0e980
JH
2337Thu Dec 13 12:31:07 CET 2001 Jan Hubicka <jh@suse.cz>
2338
2339 * predict.c (estimate_probability): Reorganize opcode heuristics.
2340 * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
2341 PRED_FPOPCODE): New.
2342
2343 * i386.c (override_options): Recognize various CPU variants and set
2344 SSE/MMX/3dNOW flags accordingly.
2345 * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
2346 MASK_3DNOW_A_SET): New.
2347 (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
2348 (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
2349 (MASK_*): Renumber.
2350 (TARGET_FLAGS): Use new masks.
2351 (CPP_CPU_SPECS): Recognize new CPU variants.
2352 * invoke.texi (-mcpu): Update documentation.
2353
2354 * flags.h (flag_prefetch_loop_arrays): Declare.
2355 * loop.h (LOOP_PREFETCH): Define new constant.
2356 * loop.c (strength_reduce): Call emit_prefetch_instructions.
2357 (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
2358 PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
2359 constants.
2360 (check_store_data): New structure.
2361 (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
2362 New functions.
2363 * toplev.c: Include insn-flags.h.
2364 (flag_prefetch_loop_arrays): New global variable.
2365 (lang_independent_option): Add -fprefetch-loop-arrays.
2366 (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
752ae914 2367 is set.
0dd0e980
JH
2368 * Makefile.in (toplev.c): Depend on insn-flags.h.
2369 * invoke.texi (-fprefetch-loop-arrays): Document.
2370
2371 * predict.c (estimate_probability): Distribute the loop exit
2372 probability according to number of exit edges.
2373
2374 * cfgcleanup.c (insns_match_p): Break out from ...;
2375 (flow_find_cross_jump): ... here;
2376 (outgoing_edges_match): Add parameter MODE; attempt to match everything
2377 except for tablejumps.
2378 (try_crossjump_to_edge): Accept complex edges.
2379 (try_crossjump_bb): Likewise.
2380
aff8a8d5
CM
23812001-11-29 Corey Minyard <minyard@acm.org>
2382
2383 * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
2384 instead of plus_constant.
2385 * simplify-rtx.c (neg_const_int): New.
2386 (simplify_gen_binary, simplify_plus_minus): Use it.
2387
c2bd38e8
RS
23882001-12-12 Roger Sayle <roger@eyesopen.com>
2389
2390 * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
2391 expand_builtin_strcpy): Additional arguments TARGET and MODE.
2392 (expand_builtin_bzero, expand_builtin_strcpy,
2393 expand_builtin_strncpy, expand_builtin_bzero): Pass additional
2394 TARGET and MODE parameters to the above functions.
2395 (expand_builtin_memset, expand_builtin_memcpy): Optimize the
2396 case where the LEN parameter is constant zero.
2397 (expand_builtin_memcmp): No longer conditional on
2398 HAVE_cmpstrsi. Take an additional mode parameter. Optimize
2399 the cases where len is either constant zero or one.
2400 Optimize to call to memcpy, even if the memcpy isn't inlined.
2401 (expand_builtin_strncpy): Optimize to call memcpy, even if the
2402 memcpy isn't inlined.
2403 (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
2404 to optimize to a call to memcmp.
2405 (expand_builtin): expand_builtin_memcmp can always be called,
2406 and pass the required parameters to expand_builtin_memcmp,
2407 expand_builtin_memset, expand_builtin_memcpy and
2408 expand_builtin_strcpy.
2409
5742588d
DB
24102001-12-12 David O'Brien <obrien@FreeBSD.org>
2411
2412 * config.gcc (arm-*-freebsd*): Add target.
2413 * config/arm/freebsd.h: New file.
2414 * config/arm/arm.h (CPP_PREDEFINES): Do not define.
2415 (CPP_SPEC): #undef before defining.
2416 (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
2417 * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
2418 -Amachine=arm.
2419 * config/arm/linux-elf.h: Likewise.
2420 * config/arm/netbsd.h: Likewise.
2421 * config/arm/riscix.h: Likewise.
2422 * config/arm/riscix1-1.h: Likewise.
2423 * config/arm/semiaof.h: Likewise.
2424
8582c27b
RH
24252001-12-12 Richard Henderson <rth@redhat.com>
2426
2427 * regrename.c (copyprop_hardreg_forward): New optimization.
2428 (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
2429 kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
2430 replace_oldest_value_reg, replace_oldest_value_addr,
2431 replace_oldest_value_mem, copyprop_hardreg_forward_1,
2432 debug_value_data, validate_value_data): New.
2433 * rtl.h (copyprop_hardreg_forward): Declare.
2434 * toplev.c (flag_cprop_registers): New.
2435 (f_options): Add -fcprop-registers
2436 (rest_of_compilation): Invoke it.
2437 (parse_options_and_default_flags): Set it at -O1.
2438 * doc/invoke.texi: Document it.
2439
2bee6045
JJ
24402001-12-12 Jakub Jelinek <jakub@redhat.com>
2441
2442 * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
2443 (DEBUG_RANGES_SECTION_LABEL): Define.
2444 (ranges_section_label): Add.
2445 (add_AT_range_list): New.
2446 (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
2447 (output_loc_list): Location expression length is always 2-byte.
2448 (output_die): Handle dw_val_class_range_list.
2449 (gen_lexical_block_die): Call add_AT_range_list.
2450 (dwarf2out_init): Initialize ranges_section_label.
2451 (dwarf2out_finish): Emit ranges_section_label.
2452
59c83dbf
JJ
24532001-12-12 Jakub Jelinek <jakub@redhat.com>
2454
2455 * c-typeck.c (digest_init): Allow initializing
2456 static storage duration objects with compound literals.
2457 * doc/extend.texi (Compound literals): Document the extension.
2458
d14419e4
RH
24592001-12-12 Richard Henderson <rth@redhat.com>
2460
2461 * emit-rtl.c (adjust_address_1): Always copy address to avoid
2462 shared rtl.
2463
2d9d49e4
OH
2464Wed Dec 12 07:37:52 2001 Olivier Hainque <hainque@act-europe.fr>
2465
2466 * stmt.c (expand_end_case): Do subtraction of lower bound as trees
2467 to avoid overflow.
2468
cdb29058
DR
2469Wed Dec 12 07:35:24 2001 Douglas B. Rupp <rupp@gnat.com>
2470
2471 * cppfiles.c (read_include_file): Set buffer size properly when
2472 file is shorter than expected.
2473
ce960d5a
NP
2474Wed Dec 12 08:35:33 2001 Nicola Pero <n.pero@mi.flashnet.it>
2475
2476 * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
2477 enumeral types - encode them using 'i'.
2478
ad1a6d45
NS
24792001-12-12 Nathan Sidwell <nathan@codesourcery.com>
2480
2481 * doc/extend.texi (Deprecated Features): Deprecate implicit
2482 typename. Document that named return and initializer lists are now
2483 removed.
2484
3f2c5d1a
RS
24852001-12-11 Roger Sayle <roger@eyesopen.com>
2486
2487 * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
2488 compiler warning about enumeration values not being handled.
2489
4a696ca8 24902001-12-11 Momchil Velikov <velco@fadata.bg>
3f2c5d1a 2491
4a696ca8
MV
2492 * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
2493 shifts.
2494
14291bc7
RH
24952001-12-11 Richard Henderson <rth@redhat.com>
2496
2497 * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
2498 * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
2499 * config/alpha/alpha.md (prefetch): New.
2500
8deb7514
RH
25012001-12-11 Richard Henderson <rth@redhat.com>
2502
2503 * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
2504 if C has only low bits set and doesn't intersect with X or Y.
2505
3dba4251
JW
2506Tue Dec 11 23:58:39 EST 2001 John Wehle (john@feith.com)
2507
2508 * basic-block.h (flow_preorder_transversal_compute): Declare.
2509 * cfganal.c (flow_preorder_transversal_compute): Implement.
2510
f5f53ae3
JW
2511Tue Dec 11 23:54:27 EST 2001 John Wehle (john@feith.com)
2512
2513 * cfganal.c (flow_depth_first_order_compute): Always
2514 increment dfsnum.
2515
a13287e1
AM
25162001-11-30 Alan Matsuoka <alanm@redhat.com>
2517
3f2c5d1a 2518 * combine.c (combine_simplify_rtx) : Can't simplify
a13287e1
AM
2519 cases that use mode class MODE_CC.
2520
a8c7e72d
RH
25212001-12-11 Richard Henderson <rth@redhat.com>
2522
2523 * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
2524 which there is no divide expander.
2525
98ce21b3
RH
25262001-12-11 Richard Henderson <rth@redhat.com>
2527
2528 * except.c (sjlj_find_directly_reachable_regions): Don't
2529 consider RNL_BLOCKED a directly reachable region.
2530 (sjlj_assign_call_site_values): Trust directly_reachable.
2531 (sjlj_emit_dispatch_table): Likewise.
2532
eb15dedd
RH
25332001-12-11 Richard Henderson <rth@redhat.com>
2534
2535 * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
2536 we represent the address load's dependency on the gp.
2537 (divmoddi_internal_er): Likewise.
2538 (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
2539
e7dfe4bb
RH
25402001-12-11 Richard Henderson <rth@redhat.com>
2541
2542 * emit-rtl.c (widen_memory_access): New.
2543 * expr.h (widen_memory_access): Declare it.
2544 * config/alpha/alpha.c (get_aligned_mem): Use it.
2545
0051b6ca
RH
25462001-12-11 Richard Henderson <rth@redhat.com>
2547
2548 * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
2549 simplification above out of range check.
2550
f3bfd09c
DN
25512001-12-11 Dan Nicolaescu <dann@ics.uci.edu>
2552
2553 * config/sparc/sparc.md (prefetch): New.
2554
e817125d
AH
25552001-12-11 Aldy Hernandez <aldyh@redhat.com>
2556
98ce21b3 2557 * output.h (regno_uninitialized): Make argument unsigned.
e817125d 2558
98ce21b3 2559 * flow.c (regno_uninitialized): Make regno unsigned.
e817125d 2560
aa97fdf3
DB
25612001-12-11 David O'Brien <obrien@FreeBSD.org>
2562
2563 * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
2564 * config/cris/cris.h (ENDFILE_SPEC): Define.
2565 * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
2566 * config/pa/elf.h: Likewise.
2567
c66c59d1
RH
25682001-12-11 Richard Henderson <rth@redhat.com>
2569
2570 * objc/objc-act.c (build_string_class_template): New.
2571 (build_objc_string_object): Call it.
2572
0d7839da
SE
25732001-12-11 Steve Ellcey <sje@cup.hp.com>
2574
2575 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2576 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
2577 * calls.c (store_unaligned_arguments_into_pseudos): Check
2578 FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
2579 are passed/returned.
2580 * expr.c (move_block_from_reg): Ditto.
2581 (move_block_from_reg): Ditto.
2582 (copy_blkmode_from_reg): Ditto.
2583 * stmt.c (expand_return): Ditto.
2584 * stor-layout.c (compute_record_mode): If
3f2c5d1a 2585 FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
0d7839da
SE
2586 MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
2587 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
2588 so that Structures of one field are still treated as structures.
2589 (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
2590 (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
2591 (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
2592 * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
2593 * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
2594 to special case handling of structure padding.
2595
81217be9
DB
25962001-12-11 Daniel Berlin <dan@cgsoftware.com>
2597
2598 * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
2599 (may_trap_exp): Stores only are risk if they trap, too, not just
2600 if code == MEM.
2601
448cad06
AH
26022001-12-11 Aldy Hernandez <aldyh@redhat.com>
2603
98ce21b3
RH
2604 * flow.c (find_regno_partial): Indent properly. Add a default to
2605 switch.
448cad06 2606
9aa8a1df
NB
26072001-12-11 Neil Booth <neil@daikokuya.demon.co.uk>
2608
2609 * c-common.c (combine_strings): Complain if concatenating
2610 __FUNCTION__.
2611 * c-parse.in (yylexname): Flag artificial strings.
2612 * tree.h (TREE_ARTIFICIAL_STRING_P): New.
2613doc:
2614 * extend.texi: Update.
2615
0afeef64
AH
26162001-12-11 Aldy Hernandez <aldyh@redhat.com>
2617
2618 * c-common.c (type_for_mode): Handle unsigned vectors.
2619 (type_for_mode): Remove redundant calls to TYPE_MODE.
2620
2621 * tree.c (make_vector): New.
2622 (build_common_tree_nodes_2): Use make_vector for vector types.
2623 Add unsigned vector types.
2624
2625 * tree.h (tree_index): Add unsigned types for vectors.
2626 (unsigned_V16QI_type_node): New.
2627 (unsigned_V4SI_type_node): New.
2628 (unsigned_V8QI_type_node): New.
2629 (unsigned_V8HI_type_node): New.
2630 (unsigned_V4HI_type_node): New.
2631 (unsigned_V2SI_type_node): New.
2632
4c594031
SS
26332001-12-11 Stan Shebs <shebs@apple.com>
2634
2635 * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
2636 test of class names.
2637
91171315
DB
26382001-12-11 David O'Brien <obrien@FreeBSD.org>
2639
2640 * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
2641 cpu configuration headers.
2642 * config/h8300/elf.h: Include dbxelf.h.
2643 * config/m68k/linux.h: Likewise.
2644 * config/m68k/m68020-elf.h: Likewise.
2645 * config/m68k/m68kv4.h: Likewise.
2646 * config/sh/elf.h: Likewise.
2647 * config/m68k/m68kemb.h: Add comment about the its purpose.
2648
ff1c8a1a
RH
26492001-12-11 Richard Henderson <rth@redhat.com>
2650
2651 * objc/objc-act.c (build_constructor): Cast initializer values
2652 to the proper field types.
2653
f0451e26
JJ
26542001-12-11 Jakub Jelinek <jakub@redhat.com>
2655
2656 * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
2657
8d51ecf8
RS
26582001-12-10 Roger Sayle <roger@eyesopen.com>
2659
2660 * builtins.c (expand_builtin): Use a switch statement to list
2661 those functions not expanded without optimizations, instead of a
2662 series of equality tests.
2663
ee262b6f
DR
2664Tue Dec 11 07:08:57 2001 Douglas B. Rupp <rupp@gnat.com>
2665
02f7da12
DR
2666 * config/alpha/vms.h (LIB_SPEC): Define.
2667 * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
2668
32065bf2
DR
2669 * libgcc2.c (_bb): Remove ctime declaration.
2670
c926f674
DR
2671 * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
2672 that works if LN_S = cp.
2673
1ba35d3e
DR
2674 * config/alpha/x-vms (version): Change "." to "_".
2675
ee262b6f
DR
2676 * configure.in: Hardcode that vfork works on VMS host.
2677 * configure: Regenerated.
2678
a9657ce8
DR
2679Mon Dec 10 18:37:31 2001 Douglas B. Rupp <rupp@gnat.com>
2680
2681 * gcc.c (convert_filename): Add do_obj parameter. Don't convert
2682 unless do_obj true.
2683 (process_command): Modify calls to convert_filename.
2684
cb375790
RO
26852001-12-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2686
2687 * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
2688
805f1694
JL
2689Mon Dec 10 15:54:27 2001 Jeffrey A Law (law@cygnus.com)
2690
2691 * combine.c (known_cond): Check mode of each operand to determine
2692 if COND is comparing floating point values.
2693
fe7f5677
DE
26942001-12-10 David Edelsohn <edelsohn@gnu.org>
2695
2696 * rs6000.h (processor_type): Add PPC405.
2697 (RTX_COSTS): Add PPC405. Correct rs64 and ppc630 multiply costs.
2698 * rs6000.md: Add PPC405 information. Utilize imul2 and imul3 for
2699 rios1, rs64, and ppc630 processors.
d7a5e253 2700 * rs6000.c (processor_target_table): Add PPC405.
fe7f5677 2701
864962bd
RH
27022001-12-10 Richard Henderson <rth@redhat.com>
2703
2704 * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
2705 instead of hardcoding subregs into the _be and _le patterns.
2706
a23c9413
NB
27072001-12-10 Neil Booth <neil@daikokuya.demon.co.uk>
2708
2709 * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
2710
6fc5dc67
RK
2711Mon Dec 10 09:19:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2712
2713 * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
2714 what insn does.
2715
01342a36
JM
27162001-12-10 Joseph S. Myers <jsm28@cam.ac.uk>
2717
2718 * doc/cpp.texi: Don't condition menus on @ifinfo. Condition the
2719 copyright notice formerly conditioned on @ifinfo on @ifnottex
2720 instead.
2721
c6bc7526
RK
2722Mon Dec 10 06:15:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2723
2724 * vmsdbgout.c (lookup_filename): Remove warning.
2725
ef057c45
DR
2726Mon Dec 10 06:09:57 2001 Douglas B. Rupp <rupp@gnat.com>
2727
96a9c44f
DR
2728 * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
2729
ef057c45
DR
2730 * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
2731 (exeext, target_alias, prefix, local_prefix): Define.
2732 * config/alpha/x-vms (USE_COLLECT2): Make empty.
2733 * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
2734 file specifications. Remove ".".
2735 (GCC_INCLUDE_DIR): Remove redefinition (redundant).
2736 * fixinc/mkfixinc.sh (alpha*-dec-vms*): Change to alpha*-dec-*vms*
2737
bc524dd0
NS
27382001-12-09 Nathan Sidwell <nathan@codesourcery.com>
2739
2740 * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
2741
d7c23cdc
DR
2742Sun Dec 9 21:57:24 2001 Douglas B. Rupp <rupp@gnat.com>
2743
2744 * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
2745 Add rules for building [vp]crt0.o
2746 * config/alpha/vms.h (START_FILE_SPEC): Define.
2747 * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
2748 * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
2749 * doc/invoke.texi: Document special Alpha/VMS options.
2750
6d08665a
RK
2751Sun Dec 9 20:25:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2752
2753 * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
2754 * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
2755 not GNUC.
2756
0b6c426b
RK
2757Sun Dec 9 20:19:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2758 Douglas B. Rupp <rupp@gnat.com>
2759
2760 * tree.c (append_random_char): Conditionalize INO for VMS.
2761
ec10f7c7
RH
27622001-12-09 Richard Henderson <rth@redhat.com>
2763
2764 * cfgcleanup.c (label_is_jump_target_p): New function.
2765 (try_optimize_cfg): Use label_is_jump_target_p to check if label is
2766 target of a JUMP_INSN from the preceding block.
2767
5a10f3cc
DR
2768Sun Dec 9 18:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
2769
2770 * vmsdbgout.c (lookup_filename): Assign null string instead
2771 of null pointer to fnam.
2772
11cb1475
RH
27732001-12-09 Richard Henderson <rth@redhat.com>
2774
2775 * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
2776 immediately after a call; insert nops before a call.
2777
30864e14
RH
27782001-12-09 Richard Henderson <rth@redhat.com>
2779
2780 * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
2781 not FUNCTION_BOUNDARY.
2782 * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
2783 * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
2784 * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
2785
e4171066
HPN
27862001-12-09 Hans-Peter Nilsson <hp@bitrange.com>
2787
2788 * config/mmix/mmix.c (mmix_function_block_profiler,
2789 mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2790 unused functions.
2791 * config/mmix/mmix-protos.h (mmix_function_block_profiler,
2792 mmix_block_profiler, mmix_function_block_profiler_exit): Delete
2793 prototypes.
2794
2795 * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
2796 Delete obsoleted macros.
2797
d6a7951f
JM
27982001-12-09 Joseph S. Myers <jsm28@cam.ac.uk>
2799
c21cd8b1
JM
2800 * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
2801 doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
2802
d6a7951f
JM
2803 * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
2804 cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
2805 function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
2806 config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
2807 config/i370/i370.c, config/i386/i386.c,
2808 config/i386/i386-interix.h, config/i386/i386.md,
2809 config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
2810 config/m32r/m32r-protos.h, config/mcore/mcore.h,
2811 config/rs6000/rs6000.h, config/sparc/linux64.h,
2812 config/sparc/sparc.c, config/v850/v850-protos.h,
2813 config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
2814 spelling errors.
2815
617e0e1d
DB
28162001-12-09 Daniel Berlin <dan@cgsoftware.com>
2817
2818 * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
2819 altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
2820
2821 * config/rs6000/rs6000.c: Ditto.
2822
2823 * config/rs6000/rs6000.md: Ditto.
2824
046b71ed
KG
28252001-12-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2826
b3656137
KG
2827 * 1750a.md: Add default case in switch.
2828 * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
2829 if-else statement.
2830 * dsp16xx.c (print_operand_address): Likewise.
2831 * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
2832 * ia64.md: Add missing braces.
2833 * rs6000-protos.h (s8bit_cint_operand): Prototype.
2834 * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
98ce21b3 2835 if-else statement.
b3656137
KG
2836 * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
2837 * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
2838 * dbxout.c (dbxout_source_file): Move a variable into the scope
2839 where it is used.
2840 * final.c (profile_function): Mark parameter with
2841 ATTRIBUTE_UNUSED.
2842 * genemit.c (gen_expand): Likewise for generated file.
2843 * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
2844
cadf4f29
KG
2845 * vmsdbg.h: Delete spurious close-comment.
2846 (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
2847 * vmsdbgout.c (write_modbeg): Define return type.
2848
046b71ed
KG
2849 * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
2850 * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2851 * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2852 * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
2853 * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
2854 * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
2855 * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
2856
09a625f7
TR
28572001-12-08 Tom Rix <trix@redhat.com>
2858
2859 * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
2860 * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
8d51ecf8
RS
2861 * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
2862 for powerpc64.
2863 * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
2864 movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
2865 * config/rs6000/rs6000.c (expand_block_move): Do not use
09a625f7
TR
2866 gen_movstrsi_2reg and powerpc64.
2867
ecbcf7b3
AH
28682001-10-08 Aldy Hernandez <aldyh@redhat.com>
2869
2870 * c-common.h (rid): Add RID_CHOOSE_EXPR and
98ce21b3 2871 RID_TYPES_COMPATIBLE_P.
ecbcf7b3 2872
98ce21b3
RH
2873 * c-parse.in (reswords): Add __builtin_choose_expr.
2874 Add __builtin_types_compatible_p.
2875 Add CHOOSE_EXPR token.
ecbcf7b3 2876 Add TYPES_COMPATIBLE_P token.
98ce21b3
RH
2877 Add production for CHOOSE_EXPR.
2878 Add production for TYPES_COMPATIBLE_P.
ecbcf7b3 2879
98ce21b3
RH
2880 * doc/extend.texi (__builtin_choose_expr): Add documentation.
2881 (__builtin_types_compatible_p): Likewise.
ecbcf7b3 2882
79dc3d44
DE
28832001-12-08 David Edelsohn <edelsohn@gnu.org>
2884
2885 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
2886 to unions.
2887
78e78537
NB
28882001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
2889
2890 * c-parse.in: Take string literals in assembler constructs,
2891 not expressions.
2892 * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
2893 check the strings are STRING_CSTs.
2894
cb97d97d
NB
28952001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
2896
2897 * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
2898 using combine_strings to do the concatenation.
2899 * c-parse.in: Replace uses of the string non-terminal with STRING.
2900 Don't attempt string concatenation.
2901 (OBJC_STRING): New terminal.
2902 (string): Remove non-terminal.
2903 (_yylex): Call combine_strings on function names. Generate
2904 OBJC_STRING terminals; don't pass '@' on to yacc.
2905 * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
2906 (build_asm_stmt): Similarly.
2907
18d6067b
KG
29082001-12-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2909
2910 * rtlanal.c (get_jump_table_offset): Delete unused variable.
2911
fa980e6b
RE
29122001-12-08 Richard Earnshaw <rearnsha@arm.com>
2913
2914 * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
2915 (prefetch): Rewrite using PREFETCH RTL primitive.
2916 * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
2917 * arm.c (arm_init_builtins): Don't initialize a builtin for
2918 __builtin_prefetch here.
d6a7951f 2919 (arm_expand_builtin): Don't expand __builtin_prefetch here.
fa980e6b 2920
fd9245b7
RE
29212001-12-08 Richard Earnshaw <rearnsha@arm.com>
2922
2923 * final.c (cleanup_subreg_operands): Use recog_data.operand_loc
2924 in test for a subreg.
2925
be006382
JDA
29262001-12-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
2927
2928 * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2929 strings.
2930
4b7b9007
RH
29312001-12-07 Richard Henderson <rth@redhat.com>
2932
ad706f54
RH
2933 * doc/extend.texi: Fix typo last change.
2934
4b7b9007
RH
2935 * c-decl.c (c_language): Remove duplicate.
2936
c859cda6
DJ
29372001-12-07 Dale Johannesen <dalej@apple.com>
2938
98ce21b3
RH
2939 * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
2940 * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
2941 specific codegen, eliminate a register copy.
2942 (print_operand_address): Add support for Darwin's lo16(constant)
c859cda6 2943 syntax.
98ce21b3
RH
2944 (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
2945 generation of addresses within very large data objects.
2946 (s8bit_cint_operand): New.
2947 * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
2948 Move "mtjmpr" to correct functional unit for 750/7400/7450.
2949 Add imul2 and imul3 insn types for multiplication by 16- and
c859cda6 2950 8-bit constants.
98ce21b3 2951 Change tablejump patterns to strongly discourage using LR
c859cda6
DJ
2952 rather than CTR.
2953 Add %lo16 patterns for Darwin loads and stores.
2954
6246471c
KG
29552001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2956
2957 * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2958
09ebda1b
SC
29592001-12-07 Stephane Carrez <Stephane.Carrez@sun.com>
2960
2961 * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
2962 with %sp because it can cause the delayed instruction to load
2963 below the stack.
2964
595b6314
KG
29652001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2966
2967 * alpha.c (alpha_expand_unaligned_store,
2968 alpha_expand_unaligned_store_words): Use constm1_rtx in place of
2969 call to immed_double_const.
2970
1b9191d2
AH
29712001-12-07 Aldy Hernandez <aldyh@redhat.com>
2972
2973 * doc/extend.texi (Variable Attributes): Document vector_size.
2974
98ce21b3 2975 * attribs.c (c_common_attribute_table): Add vector_size.
1b9191d2 2976 (handle_vector_size_attribute): New.
98ce21b3 2977 (vector_size_helper): New.
1b9191d2
AH
2978 (decl_attributes): Relayout the decl after calculating attribs.
2979
73e2155a
JM
29802001-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
2981
2982 * doc/gcc.texi: Don't include install-old.texi. Adjust menu
2983 description for Trouble section.
2984 * doc/install-old.texi: Adjust for inclusion as chapter of new
2985 installation manual.
2986 * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
2987 Adjust to include old installation chapter as chapter of new
2988 installation manual.
2989
d644189f
JW
2990Fri Dec 7 11:07:35 EST 2001 John Wehle (john@feith.com)
2991
2992 * rtl.h (get_jump_table_offset): Declare.
2993 * rtlanal.c (get_jump_table_offset): Implement.
2994
65a07688
RK
2995Fri Dec 7 07:06:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2996
5af0b89c
RK
2997 * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
2998 Deleted; were used only by BB profiler code.
2999 (sbb_head, sbb_tail, sbb_label_num): Likewise.
3000 (end_final): Delete now-unused vars I, PTR, and SPTR.
3001
65a07688
RK
3002 * expr.c (store_field): Remove warning.
3003 (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
3004 (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
3005 (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
3006 divisor constant power of 2.
3007 (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
3008
999c746f
KG
30092001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3010
3011 * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
3012 shifting.
3013
7d5f33bc
AH
30142001-12-06 Aldy Hernandez <aldyh@redhat.com>
3015
3016 * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
98ce21b3 3017 (DWARF_FRAME_REGISTERS): Delete.
7d5f33bc 3018
e83d297b
JJ
30192001-12-06 Janis Johnson <janis187@us.ibm.com>
3020
3021 * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
3022 * builtins.def (BUILT_IN_PREFETCH): Change arguments.
3023 * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
3024 with defaults for read prefetch with high degree of locality.
3025 * doc/extend.texi (__builtin_prefetch): Update documentation.
3026 * doc/md.texi (prefetch): Add documentation.
3027
6d638aac
RO
30282001-12-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3029
3030 * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
3031 UNIX V5.1A stdio.h.
3032 * fixinc/fixincl.x: Regenerate.
3033 Fixes PR libf2c/4826.
3034
919543ab 30352001-12-06 Aldy Hernandez <aldyh@redhat.com>
98ce21b3 3036 Richard Henderson <rth@redhat.com>
919543ab
AH
3037
3038 * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
98ce21b3 3039 (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
919543ab 3040
98ce21b3
RH
3041 * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
3042 to PRE_GCC3_DWARF_FRAME_REGISTERS.
3043 (frame_state): Same.
919543ab
AH
3044 (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
3045
990290e8
KG
30462001-12-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3047
3048 * langhooks.c (lhd_staticp): Mark parameter with
3049 ATTRIBUTE_UNUSED.
3050
7227d624
L
30512001-12-06 H.J. Lu <hjl@gnu.org>
3052
3053 * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
3054 reduce noise.
3055 (.po.pox): Likewise.
3056 (o/$(PACKAGE).pot): Likewise.
3057
a1a0fd4e
AO
30582001-12-06 Alexandre Oliva <aoliva@redhat.com>
3059
3060 * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
3061 * tree-inline.c (expand_call_inline): ... here.
3062
441f30d9
L
30632001-12-06 H.J. Lu <hjl@gnu.org>
3064
3065 * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
3066 (.po.pox): Likewise.
3067 (o/$(PACKAGE).pot): Likewise.
3068
c40409ce
DB
30692001-12-06 David O'Brien <obrien@FreeBSD.org>
3070
3071 * config.gcc: Include dbxelf.h before elfos.h.
3072 * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
3073
55485cd9
ZW
30742001-12-06 Zack Weinberg <zack@codesourcery.com>
3075
3076 * cppfiles.c (open_file): If we've opened a directory by
3077 mistake, close it.
3078 (find_include_file): Avoid turning / into // or // into ///.
3079
e04546dc
NC
30802001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
3081
3082 * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
3083 (STRUCT_VALUE_REGNUM): Restore definition.
3084
69da3e3a
AM
30852001-12-06 Andrew MacLeod <amacleod@redhat.com>
3086
3087 * flow.c (find_regno_partial): Return register, not the expression
3088 the register is in.
3089
f189c7ca
RK
3090Thu Dec 6 09:24:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3091
3092 * function.c (handle_epilogue_set): Check for FP setting case when
3093 SP is set from FP in same insn.
3094
4e26a7af
NC
30952001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
3096
a8571098 3097 * config/arm/arm.c (load_multiple_sequence): Pass pointer to
98ce21b3 3098 RTX when calling alter_subreg().
a8571098 3099 (store_multiple_sequence): Pass pointer to RTX when calling
98ce21b3 3100 alter_subreg().
4e26a7af 3101
a57263bc
RK
3102Thu Dec 6 06:55:13 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3103
3104 * function.c (assing_parms): Fix typo in last change.
3105 * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
3106 * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
3107 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3108 * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
3109
5b8c2356
AM
31102001-12-06 Alan Modra <amodra@bigpond.net.au>
3111
3112 * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
3113 correct code selecting section.
3114
8456b95a
JH
3115Thu Dec 6 12:45:33 CET 2001 Jan Hubicka <jh@suse.cz>
3116
3117 * final.c (count_basic_block, add_bb, add_bb_string):
3118 Kill.
3119 (end_final, final_start_function, final, final_scan_insn,
3120 leaf_function_p): Kill BB profiler related code.
3121 * flags.h (profile_block_flag): Kill.
3122 * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
3123 BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
3124 __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
3125 bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
3126 reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
3127 __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
3128 __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
3129 __bb_init_trace_func): Kill.
3130 * toplev.c (profile_block_flag): Kill.
3131 (indepdendent_decode_option, process_options): Kill -a related code.
3132 * alpha.c (direct_call_operand): Likewise.
3133 * arm.c (arm_expand_prologue, thumb_expand_prologue,
3134 thumb_expand_epilogue): Likewise.
3135 * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
3136 * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3137 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3138 MACHINE_STATE_RESTORE): Kill.
3139 * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3140 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3141 MACHINE_STATE_RESTORE): Kill.
3142 * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
3143 * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
3144 ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
3145 code.
3146 (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
3147 * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3148 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3149 MACHINE_STATE_RESTORE): Kill.
3150 * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
3151 * i960.c (i960_output_function_prologue): Kill BB profiler related
3152 code.
3153 * ia64.c (ia64_compute_frame_size): Likewise.
3154 * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3155 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3156 MACHINE_STATE_RESTORE): Kill.
3157 * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
3158 * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3159 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3160 MACHINE_STATE_RESTORE): Kill.
3161 * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
3162 * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3163 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3164 MACHINE_STATE_RESTORE): Kill.
3165 * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
3166 Kill BB profiler related code.
3167 * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3168 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3169 MACHINE_STATE_RESTORE): Kill.
3170 * mips.c (mips_expand_prologue): Kill BB profiler related code.
3171 * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3172 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3173 MACHINE_STATE_RESTORE): Kill.
3174 * rs6000.c (rs6000_override_options): Kill BB profiler related code.
3175 * s960.c (s390_function_prologue): Kill BB profiler related code.
3176 * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3177 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3178 MACHINE_STATE_RESTORE): Kill.
3179 * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3180 * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3181 * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3182 * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3183 * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
3184 sparc_nonflat_function_epilogue): Kill BB profiler related code.
3185 (sparc_function_block_profiler, sparc_block_profiler,
3186 sparc_function_block_profiler_exit): Kill.
3187 * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
3188 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3189 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3190 MACHINE_STATE_RESTORE): Kill.
3191 * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3192 * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
3193 * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3194 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3195 MACHINE_STATE_RESTORE): Kill.
3196 * doc/invoke.texi: Kill documentation of -a and -ax.
3197 * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
3198 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
3199 MACHINE_STATE_RESTORE): Kill.
3200
a39353e0
SC
32012001-10-26 Steve Christiansen <smc@us.ibm.com>
3202
3203 * doc/rtl.texi: Use a table to display RTL format characters.
3204
26d04e79
BT
32052001-12-06 Bo Thorsen <bo@suse.co.uk>
3206
3207 * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
3208
b5ed05aa
RK
3209Wed Dec 5 19:18:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3210
3211 * function.c (keep_stack_depressed): Check global_live_at_start
3212 of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
3213
f3465a44
DB
32142001-12-05 David O'Brien <obrien@FreeBSD.org>
3215
3216 * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
3217 as set by the generic FreeBSD configure framework.
3218
742a37d5
JM
32192001-12-04 Jason Merrill <jason@redhat.com>
3220
3221 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
3222 start_inlining, end_inlining.
3223 * tree-inline.c (expand_call_inline): Call them.
3224 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
3225 (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
3226 (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
3227 * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
3228 (lhd_tree_inlining_end_inlining): New fn.
3229
26f943fd
NB
32302001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
3231
3232 * c-common.c (shadow_warning): New function, moved from cp/decl.c.
3233 * c-common.h (shadow_warning): New.
3234 * c-decl.c: Include c-common.h.
3235 (warn_if_shadowing): New, broken out of pushdecl.
3236 (pushdecl): Use warn_if_shadowing.
3237 (store_parm_decls): Prevent duplicate -Wshadow warnings.
3238
8ca8f9a7
DR
3239Wed Dec 5 17:59:19 2001 Douglas B. Rupp <rupp@gnat.com>
3240
3241 * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
3242 (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
3243 (LIB_SPEC): Remove.
8d51ecf8 3244
37a08a29
RK
3245Wed Dec 5 16:03:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3246
dc4ad668
RK
3247 * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
3248 (QUAL_UNION_TYPE): New type.
3249
0974a3b8
RK
3250 * varasm.c (output_constant, case ERROR_MARK): New case.
3251
37a08a29
RK
3252 * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
3253 (c_com): Delete its reference.
3254 * builtins.c: Delete memory checking code.
3255 * calls.c, expr.c, function.c, stmt.c: Likewise.
3256 * builtins.c (expand_builtin_arg_info): Remove reference to
3257 EXPAND_MEMORY_USE_* modifiers.
3258 * explow.c (expr_size): Likewise.
3259 * expr.c (expand_expr, expand_increment): Likewise.
3260 * expr.h (ARGS_SIZE_RTX): Likewise.
3261 * function.c (assign_parms, expand_pending_sizeso): Likewise.
3262 * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
3263 * expr.c (in_check_memory_usage): Delete.
3264 (get_push_address, get_memory_usage_from_modifier): Delete.
3265 (expand_assigment): Use EXPAND_WRITE on destination.
3266 (expand_expr): Delete ro_modifier.
3267 * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
3268 add EXPAND_WRITE.
3269 (memory_use_mode): Delete.
3270 * flags.h (flag_check_memory_usage): Deleted.
3271 (flag_prefix_function_name): Likewise.
3272 * function.c (expand_function_start): Don't set
3273 current_function_check_memory_usage.
3274 * function.h (check_memory_usage): Delete.
3275 * libfuncs.h, optabs.c: Delete chkr_* stuff.
3276 * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
3277 EXPAND_WRITE.
3278 * toplev.c (flag_check_memory_usage): Deleted.
3279 (flag_prefix_function_name): Likewise.
3280 (f_options, process_options): Delete references to above.
3281 * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
3282 * varasm.c (CHKR_PREFIX): Deleted.
3283 (make_decl_rtl): Remove flag_prefix_function_name handling.
3284 (assemble_name): Likewise.
3285 * doc/extend.texi: Remove no_check_memory_usage attribute.
3286 * doc/invoke.texi: Remove -fcheck-memory-usage
3287 and -fprefix-function-name.
3288
0df47f66
AS
32892001-12-05 Andreas Schwab <schwab@suse.de>
3290
3291 * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
3292 from autoconf.
3293
578316b9
NC
32942001-12-05 Nick Clifton <nickc@cambridge.redhat.com>
3295
3296 * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
3297
89632846
WC
32982001-12-05 William Cohen <wcohen@redhat.com>
3299
3300 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
3301 instruction.
3302
2212663f
DB
33032001-12-05 Daniel Berlin <dan@cgsoftware.com>
3304
3305 * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
8d51ecf8 3306 builtins.
2212663f
DB
3307
3308 * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
3309 better reflect reality (change from Apple's tree).
3310 Add more of altivec instructions.
3311 Add ftruncv4sf2 pattern.
3312 Remove more unspecs (vector merge instructions, etc).
3313
3314 * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
8d51ecf8 3315 builtins.
2212663f
DB
3316 (bdesc_1arg): New, for 1 argument altivec builtins.
3317 (altivec_expand_builtin): Handle unary and ternary ops.
3318 (altivec_init_builtins): Ditto.
3319
1615c261
RK
3320Wed Dec 5 09:33:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3321
3322 * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
3323 * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
3324
1218665b
JJ
33252001-12-05 Jakub Jelinek <jakub@redhat.com>
3326
3327 * gcse.c (store_killed_in_insn): Consider pure calls
3328 as potential store killers in addition to normal calls.
3329
7254c5fa
JJ
33302001-12-05 Jakub Jelinek <jakub@redhat.com>
3331
3332 * expr.c (expand_expr): When checking promoted value, use
3333 DECL_MODE (exp) and not mode.
3334
822baa84
JJ
33352001-12-05 Jakub Jelinek <jakub@redhat.com>
3336
3337 * c-typeck.c (output_init_element): Call digest_init
3338 just once, not in each if branch and check its return value for
3339 error_mark_node.
3340
f79349c7
JJ
33412001-12-05 Jakub Jelinek <jakub@redhat.com>
3342
3343 * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
3344 type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
3345 (finish_struct): Break the loop if n_incomplete went to 0.
3346 For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
3347
f7130778
DR
3348Wed Dec 5 07:41:13 2001 Douglas B. Rupp <rupp@gnat.com>
3349
3350 * config/alpha/alpha.c (alpha_va_start): Update VMS case.
3351
5f98259a
RK
3352Wed Dec 5 07:27:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3353 Douglas B. Rupp <rupp@gnat.com>
8d51ecf8 3354
5f98259a
RK
3355 * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
3356 * doc/invoke.texi: Add -gvms.
3357 * doc/passes.texi: Add mention of vmsdbgout.c.
3358 * doc/tm.texi: Document VMS debugging output.
3359
c56e3582
RK
3360Wed Dec 5 06:26:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3361
a733bab5
RK
3362 * function.h (tree, rtx): Remove no-longer-needed definitions.
3363
53b6fb26
RK
3364 * function.c (keep_stack_depressed): Refine check for register
3365 clobbered over call.
3366
c24ae149
RK
3367 * expr.c (store_expr): When copying string constant into array,
3368 use functions that update memrefs instead of computations on
3369 addresses to better track MEMs. Also properly handle 32/64 pointers.
3370 (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
3371 (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
3372
c56e3582
RK
3373 * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
3374 underneath COMPONENT_REFs.
3375 (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
3376
76306300
NB
33772001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
3378
3379 * toplev.c (display_target_options): Don't print twice.
3380
52488da1
JW
3381Wed Dec 5 00:42:16 EST 2001 John Wehle (john@feith.com)
3382
3383 * emit-rtl.c (set_unique_reg_note): Don't set
3384 a REG_EQUAL or REG_EQUIV note if multiple sets
3385 are present.
3386
32a6f30e
JDA
33872001-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
3388
3389 * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
3390 CASE_DROPS_THROUGH.
3391
0626ef8a
AM
33922001-12-04 Andrew MacLeod <amacleod@redhat.com>
3393
3394 * rtl.h (initialize_uninitialized_subregs): New prototype.
3395 * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
3396 when optimization is on.
3397 * flow.c (find_regno_partial): Find subregs within an expression.
3398 (initialize_uninitialized_subregs): Initialize live on entry registers
3399 which are used in subreg expressions.
3400
7c1e8336
PE
34012001-12-04 Phil Edwards <pme@gcc.gnu.org>
3402
3403 * Makefile.in: Add INSTALL_SCRIPT using INSTALL definition.
3404
ffe85584
DD
34052001-12-04 DJ Delorie <dj@redhat.com>
3406
3407 * fixinc/fixincl.c (initialize): Avoid problemsome macro
3408 parameter names (PR 3388).
3409
c3bb62b9
AM
34102001-12-05 Alan Modra <amodra@bigpond.net.au>
3411
3412 * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
3413 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
3414
db3acfa5
JM
34152001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
3416
3417 * c-common.def (COMPOUND_LITERAL_EXPR): New.
3418 * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
3419 (c_staticp): New function.
3420 * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
3421 (c_staticp): Declare.
3422 * c-typeck.c (default_function_array_conversion, build_unary_op):
3423 Don't handle CONSTRUCTOR specially.
3424 (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
3425 * c-decl.c (build_compound_literal): New function.
3426 * c-tree.h (build_compound_literal): Declare.
3427 * c-parse.in (primary): Use build_compound_literal.
3428 * c-lang.c (LANG_HOOKS_STATICP): Define.
3429 * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
3430 * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
3431 * doc/extend.texi: Update documentation of compound literals.
3432 Fixes PR c/4787.
3433
d062a680
JM
34342001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
3435
3436 * langhooks.h (struct lang_hooks): Add staticp.
3437 * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
3438 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
3439 * langhooks.c (lhd_staticp): New function.
3440 * tree.c (staticp): Call lang_hooks.staticp for language-specific
3441 tree codes.
3442
69927b59
NB
34432001-12-04 Neil Booth <neil@daikokuya.demon.co.uk>
3444
3445 * cppspec.c (lang_specific_driver): Set is_cpp_driver.
3446 * gcc.c (process_command): Ensure the cpp driver sees
3447 --help and --target-help, and that the help is printed
3448 exactly once.
3449
344c6d1f
DE
34502001-12-04 David Edelsohn <edelsohn@gnu.org>
3451
3452 * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
3453
ff524991
HPN
34542001-12-04 Hans-Peter Nilsson <hp@axis.com>
3455
3456 * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
3457 flag_strict_aliasing. Use separate assignment statements.
3458
a078a589
ZW
34592001-12-04 Zack Weinberg <zack@codesourcery.com>
3460
3461 * build-make, cross-make: Delete file.
3462 * configure.in: Set and substitute CROSS, ALL,
3463 SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
3464 HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
3465 whether build == host and host == target. Do not
3466 AC_SUBST_FILE build_overrides or cross_overrides. Do not
3467 AC_SUBST cross_defines or extra_c_flags.
3468 * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
3469 (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
3470 HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
3471 partially or completely with autoconf-substituted @variable@
3472 notation.
3473 (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
3474 @build_overrides@, @extra_c_flags@, all.build, install-build,
3475 install-cross-rest, install-float-h-cross): Deleted.
3476 (install-normal): Rename to install. Delete old "install"
3477 indirection rule.
3478
8a38ed86
AM
34792001-12-04 Andrew MacLeod <amacleod@redhat.com>
3480
8d51ecf8 3481 * stmt.c (expand_return): Clear destination instead of clobbering it
8a38ed86
AM
3482 when setting a return value via bitsets.
3483
d1bd43d9
AO
34842001-12-04 Alexandre Oliva <aoliva@redhat.com>
3485
be1bb2a4
AO
3486 * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
3487 it has DECL_SAVED_TREE.
8d51ecf8 3488
23700f65
AO
3489 * c-decl.c (duplicate_decls): Revert rth's patch. If newdecl
3490 is in a different binding level, get its abstract origin to be
3491 olddecl.
3492 * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
3493 check earlier.
3494 * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
3495 DECL_INITIAL is NULL.
3496
b318748f
JJ
34972001-12-04 Jakub Jelinek <jakub@redhat.com>
3498
3499 * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
3500 Return correct value if one of the subexpressions was optimized to
3501 0 resp. 1. Optimize (x | A) | x and (x & A) | x.
3502 (and_reg_cond): Similarly.
3503
108b7d3d
JJ
35042001-12-04 Jakub Jelinek <jakub@redhat.com>
3505
3506 * function.c (assign_parms): Set last_named only for last named
3507 argument.
3508
5402e639 35092001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
aed5964b
JM
3510
3511 * doc/install.texi: Use the GFDL. Include years from old install
3512 manual in copyright notice. Include copyright and GFDL notice on
3513 HTML index page. Include usual footer on testing.html.
3514 * doc/install.texi2html: Build gfdl.html. Use -I
3515 $SOURCEDIR/include.
3516 * doc/include/fdl.texi: Adapt for use in the install manual.
3517
635771af
JM
35182001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
3519
3520 * doc/install.texi: Document that installed native compiler for
3521 building cross compilers should be GCC 2.95 or later.
3522
2ca2d9ee
EC
35232001-12-03 Eric Christopher <echristo@redhat.com>
3524
3525 * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
3526 * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
3527 patterns.
3528
cc164822
JJ
35292001-12-03 Janis Johnson <janis187@us.ibm.com>
3530
3531 * rtl.def (PREFETCH): New rtx code.
3532 * doc/rtl.texi (PREFETCH): Add documentation.
3533 * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
3534 * rtlanal.c (reg_referenced_p): Ditto.
3535 * sched-vis.c (print_exp): Ditto.
3536 * ssa-dce.c (find_inherently_necessary): Ditto.
3537
3538 * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
3539 (PREFETCH_BLOCK): Define.
3540 * config/ia64/ia64.md (itanium_class): Add lfetch.
3541 (prefetch, prefetch_internal): New.
3542
3543 * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
3544 * builtins.def (BUILT_IN_PREFETCH): New.
3545 * builtins.c (expand_builtin_expect): New.
3546 (expand_builtin): Call it.
a5eb2838 3547 * doc/extend.texi: Document __builtin_prefetch.
cc164822
JJ
3548
3549 * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
3550 conflicts with new generic prefetch functionality.
3551 * config/i386/i386.c (ix86_expand_builtin): Use new name for
3552 prefetch_sse.
3553
4e089a75
ZL
35542001-12-02 Ziemowit Laski <zlaski@apple.com>
3555
3556 * objc/Make-lang.in: Update copyright.
3557 (OBJC_OBJS): Add objc-lang.o.
3558 (objc-lang.o): New rule.
3559 * objc/config-lang.in: Fix file description and update
3560 copyright.
3561 * objc/objc-act.c: Do not include langhooks.h and
3562 langhooks-def.h
3563 (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
3564 (objc_post_options): Move to objc-lang.c.
3565 (objc_init_options): Move to objc-lang.c.
3566 (objc_init): Make non-static.
3567 (objc_decode_option): Make non-static.
3568 (HASHFUNCTION): Remove macro.
3569 (hash_func): New function.
3570 (hash_enter): Replace HASHFUNCTION with hash_func.
3571 (hash_lookup): Replace HASHFUNCTION with hash_func.
3572 (maybe_objc_tree_codes): New function.
3573 (init_objc): Move ObjC tree code initialization to
3574 maybe_objc_tree_codes().
3575 * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
3576 (objc_init): New public prototype.
3577 (objc_decode_option): New public prototype.
3578 (maybe_add_objc_tree_codes): New public prototype.
3579 * objc/objc-lang.c: New file.
3580 (lang_hooks): Moved from objc-act.c.
3581 (objc_post_options): Moved from objc-act.c.
3582 (objc_init_options): Moved from objc-act.c.
3583
a76033a0
GK
35842001-12-03 Geoff Keating <geoffk@redhat.com>
3585
3586 * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
3587 of array elements.
3588
bdf41308
NB
35892001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
3590
3591 PR c/4988
69927b59 3592 * gcc.c (process_command): Don't add a preprocessor option for
bdf41308
NB
3593 --help and --target-help; cc1 is enough.
3594
c725bd79
NB
35952001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
3596
3597 * c-decl.c (grokdeclarator): Use ISO word.
3598 * cppinit.c: Remove leading capital from diagnostic messages, as
3599 per GNU coding standards.
3600 * emit-rtl.c: Similarly.
3601 * final.c: Similarly.
3602 * gcc.c: Similarly.
3603 * tradcpp.c: Similarly.
3604 * config/arm/arm.c: Similarly.
3605 * config/arm/arm.h: Similarly.
3606 * config/avr/avr.c: Similarly.
3607 * config/avr/avr.h: Similarly.
3608 * config/c4x/c4x.c: Similarly.
3609 * config/cris/cris.c: Similarly.
3610 * config/cris/cris.h: Similarly.
3611 * config/d30v/d30v.c: Similarly.
3612 * config/dsp16xx/dsp16xx.c: Similarly.
3613 * config/dsp16xx/dsp16xx.h: Similarly.
3614 * config/h8300/h8300.c: Similarly.
3615 * config/i386/i386.c: Similarly.
3616 * config/i386/xm-djgpp.h: Similarly.
3617 * config/i960/i960.h: Similarly.
3618 * config/m32r/m32r.c: Similarly.
3619 * config/m68hc11/m68hc11.c: Similarly.
3620 * config/m88k/m88k.c: Similarly.
3621 * config/m88k/m88k.h: Similarly.
3622 * config/mcore/mcore.c: Similarly.
3623 * config/mcore/mcore.h: Similarly.
3624 * config/mips/mips.c: Similarly.
3625 * config/mmix/mmix.c: Similarly.
3626 * config/pa/pa.c: Similarly.
3627 * config/rs6000/rs6000.c: Similarly.
3628 * config/rs6000/sysv4.h: Similarly.
3629 * config/s390/s390.c: Similarly.
3630 * config/sparc/sparc.c: Similarly.
3631 * config/v850/v850-c.c: Similarly.
3632 * config/v850/v850.c: Similarly.
3633
52acbdcb
ZW
36342001-12-03 Zack Weinberg <zack@codesourcery.com>
3635
3636 * rs6000.h (RETURN_IN_MEMORY): Cast result of
3637 int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
3638
97d52102
JL
3639Mon Dec 3 09:18:34 2001 Jeffrey A Law (law@cygnus.com)
3640
3641 * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
3642 bit twiddling constant.
3643
9cd56be1
JH
3644Mon Dec 3 16:16:37 CET 2001 Jan Hubicka <jh@suse.cz>
3645
97d52102 3646 * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
9cd56be1
JH
3647 call purge_dead_edges after removing.
3648 (delete_null_pointer_checks): Do not handle delete_list.
3649
3650 * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
3651 (count_basic_blocks): ... here.
3652 (find_basic_blocks, find_bb_boundaries): Cleanup.
3653
3654 * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
3655 overflow for types greater then 2 * HOST_WIDE_INT.
3656
3657 * reload.c (find_reloads): Update the duplicates after swapingg.
3658
5e2ce672
JH
3659Mon Dec 3 13:52:19 CET 2001 Jan Hubicka <jh@suse.cz>
3660
3661 * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
3662
6fa3f289
ZW
36632001-12-02 Zack Weinberg <zack@codesourcery.com>
3664
3665 * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
3666 MASK_LONG_DOUBLE_128): Delete.
3667 (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
3668 TARGET_AIX_STRUCT_RET): New flags.
3669 (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
3670 -mlong-double-64. Add entries for -m(no-)aix-struct-return
3671 and -m(no-)svr4-struct-return.
3672 (TARGET_OPTIONS): Add entry for -mlong-double-.
3673 (rs6000_long_double_size_string, rs6000_long_double_type_size,
3674 rs6000_altivec_abi): Declare.
3675 (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
3676 LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
3677 (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
3678 structures of size <= 8 bytes in registers.
3679 (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
3680
3681 * config/rs6000/rs6000.c (rs6000_long_double_size_string,
3682 rs6000_long_double_type_size, rs6000_altivec_abi): New
3683 globals.
3684 (rs6000_override_options): Set rs6000_long_double_type_size
3685 from rs6000_long_double_size_string, if nonzero. Set the
3686 MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
3687 not already set.
3688 (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
3689 target_flags bit.
3690 (rs6000_init_builtins): This hook now takes no arguments.
3691
3692 * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
3693 DRAFT_V4_STRUCT_RET to 1.
3694
39bc99c2
JM
36952001-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
3696
3697 * c-typeck.c (really_start_incremental_init, push_init_level):
3698 Avoid constructor_max_index being other than an INTEGER_CST.
3699
671f5733
DE
37002001-12-02 David Edelsohn <edelsohn@gnu.org>
3701
3702 * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
3703 unsigned.
3704 (ASM_GENERATE_INTERNAL_LABEL): Same.
3705 (UNIQUE_SECTION): Fix typo.
3706
385d4094
RH
37072001-12-02 Richard Henderson <rth@redhat.com>
3708
3709 * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
3710
998d7deb
RH
37112001-12-02 Richard Henderson <rth@redhat.com>
3712
3713 * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
3714 (MEM_EXPR): Rename from MEM_DECL; adjust all users.
3715 * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
3716 * expr.h, final.c, reload1.c: Adjust users.
3717
3718 * alias.c (nonoverlapping_component_refs_p): New.
3719 (decl_for_component_ref, adjust_offset_for_component_ref): New.
3720 (nonoverlapping_memrefs_p): Use them.
3721 * emit-rtl.c (component_ref_for_mem_expr): New.
3722 (set_mem_attributes): Use it.
3723 (set_mem_offset): New.
6fa3f289 3724 * expr.c (expand_assignment): Call set_mem_attributes for
998d7deb
RH
3725 inner references; adjust the memory offset as needed.
3726 * print-rtl.c (print_mem_expr): New.
3727 (print_rtx): Use it.
3728
7a0c8d71
DR
3729Sun Dec 2 09:22:25 2001 Douglas B. Rupp <rupp@gnat.com>
3730
3d55d212
DR
3731 * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
3732
7a0c8d71
DR
3733 * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
3734 (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
3735 (ASM_SPEC): Don't redefine.
3736 (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
3737 * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
3738 * config/alpha/vms-dwarf2.asm: New file.
3739
3740 * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
3741 * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
3742 * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
3743 (vmsdbgout_after_prologue): New declaration.
3744 * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
3745 * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
3746 * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
3747 (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
3748 (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
3749 (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
3750 * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
3751 Test VMS_DEBUGGING_INFO.
3752 (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
3753 (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
3754 * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
3755 * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
3756 VMS_AND_DWARF2_DEBUG.
3757 (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
3758 (decode_g_option): Add "vms" to debug_type_names.
3759 (process_options): Set vmsdbg_debug_hooks if -gvms.
3760 (lang_independent_init): Emit line number for VMS unless -g0.
3761 * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
3762 * vmsdbg.h, vmsdbgout.c: New files.
3763
fb67cb9f
RK
3764Sun Dec 2 09:03:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3765
3766 * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
3767
710af899
KG
37682001-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3769
3770 * cfgrtl.c (purge_all_dead_edges): Initialize variable.
3771 * dwarf2out.c (is_cxx): Prototype.
3772 * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
3773 warning.
3774 * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
3775
a1f04b2e
RK
3776Sun Dec 2 07:12:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3777
3778 * libgcc2.c (__bb_exit_func): Fix line wrap problems.
3779
41543739
GK
37802001-12-02 Geoff Keating <geoffk@redhat.com>
3781
3782 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
3783 * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
3784 rather than simplify_subreg. Check for volatile-ness. Check that
3785 we're not splitting one slow operation into two slow operations.
3786
931db8d2
DE
37872001-12-02 David Edelsohn <edelsohn@gnu.org>
3788
3789 * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
3790 before shifting.
3791
1f978f5f
NB
37922001-12-02 Neil Booth <neil@daikokuya.demon.co.uk>
3793
3794 * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
3795 capital from diagnostics.
3796 * c-lex.c (cb_file_change): Similarly.
3797 * c-parse.in : Similarly.
3798 * cfgrtl.c (verify_flow_info): Similarly.
3799 * collect2.c: Similarly.
3800 * cppfiles.c (find_include_file): Similarly.
3801 * cppinit.c (cpp_handle_option): Similarly.
3802 * cpplex.c (cpp_spell_token): Similarly.
3803 * cppmain.c (do_preprocessing): Similarly.
3804 * gcc.c (translate_options, process_command, do_spec1,
3805 main, pfatal_execute): Similarly.
3806 * genattr.c (main): Similarly.
3807 * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
3808 write_test_expr, main): Similarly.
3809 * gencodes.c (main): Similarly.
3810 * genconfig.c (main): Similarly.
3811 * genconstants.c (main): Similarly.
3812 * genemit.c (main): Similarly.
3813 * genextract.c (main): Similarly.
3814 * genflags.c (main): Similarly.
3815 * genopinit.c (main): Similarly.
3816 * genoutput.c (process_template, main): Similarly.
3817 * genpeep.c (main): Similarly.
3818 * genrecog.c (main): Similarly.
3819 * gensupport.c (is_predicable, identify_predicable_attribute,
3820 alter_predicate_for_insn, init_md_reader_args, main): Similarly.
3821 * ggc-page.c (alloc_anon): Similarly.
3822 * mips-tfile.c (add_string, add_procedure, add_file, read_line,
3823 parse_begin, parse_bend, parse_def, parse_end, parse_file,
3824 parse_stabs_common, parse_stabs, write_varray, write_object,
3825 read_seek, copy_object, main, error): Similarly.
3826 * profile.c (compute_branch_probabilities): Similarly.
3827 * reg-stack.c (check_asm_stack_operands): Similarly.
3828 * reload.c (find_reloads): Similarly.
3829 * reload1.c (spill_failure, failed_reload): Similarly.
3830 * rtl-error.c (_fatal_insn_not_found): Similarly.
3831 * toplev.c (read_integral_parameter, crash_signal,
3832 decode_f_option, set_target_switch, parse_options_and_default_flags)
3833 : Similarly.
3834 * tradcif.y (parse_number, yylex): Similarly.
3835 * tradcpp.c (main, fancy_abort): Similarly.
3836 * tree.c (tree_check_failed): Similarly.
3837 * varray.c (varray_check_failed): Similarly.
3838 * xcoffout.c (xcoff_output_standard_types): Similarly.
3839objc:
3840 * objc-act.c (get_object_ref, lookup_and_install_protocols,
3841 build_objc_string_object, objc_declare_alias, build_ivar_chain,
3842 finish_message_expr, build_protocol_expr, is_public,
3843 start_class): Similarly.
3844
357351e5
NB
38452001-12-01 Neil Booth <neil@daikokuya.demon.co.uk>
3846
3847 * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
3848 trailing period from diagnostics.
3849 * c-lex.c (cb_file_change): Similarly.
3850 * cppmacro.c (check_trad_stringification): Similarly.
3851 * gcc.c (do_spec_1): Similarly.
3852 * genattr.c (main): Similarly.
3853 * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
3854 * gencodes.c (main): Similarly.
3855 * genconfig.c (main): Similarly.
3856 * genconstants.c (main): Similarly.
3857 * genemit.c (main): Similarly.
3858 * genextract.c (main): Similarly.
3859 * genopinit.c (main): Similarly.
3860 * genoutput.c (main): Similarly.
3861 * genpeep.c (main): Similarly.
3862 * genrecog.c (main): Similarly.
3863 * mips-tfile.c (add_file, error): Similarly.
3864 * profile.c (init_branch_prob): Similarly.
3865 * reload1.c (spill_failure): Similarly.
3866 * stmt.c (parse_output_constraint): Similarly.
3867 * varasm.c (assemble_variable): Similarly.
3868
ede75ee8
KG
38692001-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3870
22036103
KG
3871 * m68k.c (init_FPA_table): Provide static prototype.
3872 * mips/abi64.h (mips_function_value): Move prototype to ...
3873 * mips-protos.h (mips_function_value): ... here.
3874 * mips.c: Include halfpic.h.
3875 * output.h (rdata_section): Prototype.
3876
ede75ee8
KG
3877 * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3878 * m88k.c (m88k_svr3_asm_out_constructor,
3879 m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
3880 !OBJECT_FORMAT_ELF.
3881 * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3882 * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
3883 * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
3884
6ac7bf2c
GK
38852001-12-01 Geoff Keating <geoffk@redhat.com>
3886
3887 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
3888 LO_SUM addresses less than word size are not legitimate,
3889 because they lead to invalid SUBREGs.
3890 * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
3891
a22455df
OH
38922001-12-01 Olivier Hainque <hainque@act-europe.fr>
3893
3894 * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
3895 while scanning for multiple back edges.
3896
8a155ecc
FS
38972001-12-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3898
3899 * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
3900 * config/rs6000/tramp.asm: Use it.
3901
cfc45fb4
ZW
39022001-12-01 Zack Weinberg <zack@codesourcery.com>
3903
3904 * gencheck.c, gengenrtl.c: Don't define xmalloc.
3905 * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
3906 xmalloc.
3907
6b5ffd4e
JDA
39082001-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3909
3910 * pa.c (output_ascii): Cast `p' to unsigned char.
3911
f18c054f
DB
39122001-11-30 Daniel Berlin <dan@cgsoftware.com>
3913
6fa3f289
ZW
3914 * config/rs6000/rs6000.c (altivec_expand_builtin): add
3915 ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
f18c054f
DB
3916 *_16qi,_8hi, rename existing V4SI ones to *_4si.
3917 (altivec_init_builtins): Ditto.
3918 (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
6fa3f289 3919
f18c054f 3920 * config/rs6000/rs6000.md: Add attribute types vecsimple,
6fa3f289 3921 veccomplex, vecfloat, and vecperm, for altivec instructions.
d6a7951f
JM
3922 Modify altivec patterns to use appropriate attribute type.
3923 Modify altivec patterns to match RTL operations where appropriate
f18c054f
DB
3924 (IE no unspec where we can avoid it).
3925 Add vector unit scheduling for ppc7450.
d6a7951f 3926 Rename patterns to what they are where appropriate
f18c054f
DB
3927 (altivec_vaddfp->addv4sf3, etc)
3928
3929 * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3930 Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3931
3932 * config/rs6000/sysv4.h: Add -mcpu=7450.
3933
6fa3f289 3934 * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
f18c054f
DB
3935 _builtin_altivec_ld_interal function.
3936
6af8c740
KG
39372001-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3938
3939 * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
3940 strchr, strrchr, isascii, gettimeofday.
3941 * config.in, configure: Regenerate.
3942
671f5733 39432001-11-30 Zoltan Hidvegi <hzoli@hzoli.2y.net>
d2384b42
ZH
3944
3945 * unroll.c (unroll_loop): Correct special exit cases.
3946
38875aba
SC
39472001-11-30 Stephane Carrez <Stephane.Carrez@sun.com>
3948
3949 * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
3950 accept DFmode and DImode only.
3951
7b094d6e
AH
39522001-11-30 Aldy Hernandez <aldyh@redhat.com>
3953
3954 * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
6fa3f289 3955 (STACK_DYNAMIC_OFFSET): Same.
7b094d6e 3956
dd6bdc62
RH
39572001-11-30 Richard Henderson <rth@redhat.com>
3958
3959 * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
3960
289e96b2
AH
39612001-11-30 Aldy Hernandez <aldyh@redhat.com>
3962
6fa3f289
ZW
3963 * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
3964 (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
3965 the values in call_used_registers.
289e96b2 3966
c36b1123
JL
3967Fri Nov 30 12:48:26 2001 Jeffrey A Law (law@cygnus.com)
3968
3969 * gthr-dce.h: If _DCE_THREADS is not defined, then just include
3970 gthr-single.
3971
1d3d6b1e
JM
39722001-11-30 Jason Merrill <jason@redhat.com>
3973
3974 * dwarf2out.c (is_cxx): New fn.
3975 (add_data_member_location_attribute): Check it.
3976 * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
3977
3248917b
RK
3978Fri Nov 30 08:26:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3979
3980 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
3981
7d9e680f
DB
39822001-11-30 Daniel Berlin <dan@cgsoftware.com>
3983
3984 * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
3985 MODE_VECTOR_FLOAT as allowed.
3986
06f0b04c
ZW
39872001-11-29 Zack Weinberg <zack@codesourcery.com>
3988
3989 Purge cruft now we have build libiberty.
3990
3991 * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
3992 HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
3993 USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
3994 USE_HOST_STRSTR): Delete variables.
3995 (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
3996 hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
3997 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3998 $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
3999 (LIBIBERTY, BUILD_LIBIBERTY): New variables.
4000 (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
4001 (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
4002 (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
4003 (HOST_LIBS): Ditto.
4004 (HOST_RTL): Remove hashtab.o safe-ctype.o.
4005 (OBJS): Remove splay-tree.o.
4006 (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
4007 (distclean): No need to delete splay-tree.c obstack.c
4008 hashtab.c safe-ctype.c.
4009 (mostlyclean): Delete build copies of print-rtl.c bitmap.c
4010 errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
4011 * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
4012 Delete.
4013 * configure.in: Don't use them.
4014 Set and substitute @FORBUILD@.
4015 * config.in, configure: Regenerate.
4016 * doprint.c: Move to libiberty/_doprnt.c.
4017 * doc/configterms.texi: Document that libiberty is now built
4018 up to three times. Fix typo.
4019
649ce3f2
JM
40202001-11-30 Jason Merrill <jason@redhat.com>
4021
4022 * dwarf2out.c (add_data_member_location_attribute): Do the
4023 right thing for virtual bases.
4024 * dbxout.c (dbxout_type): For a virtual base, print the offset
4025 within the vtable.
4026
c7c73736
ZH
40272001-11-29 Zoltan Hidvegi <hzoli@hzoli.2y.net>
4028
4029 * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
4030
20c29ebe
AH
40312001-11-29 Aldy Hernandez <aldyh@redhat.com>
4032
06f0b04c 4033 * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
20c29ebe
AH
4034 go in memory.
4035 Remove unused attribute for named.
4036
0d35f155
KG
40372001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4038
4039 * genattrtab.c (attr_rtx_1): New function containing the
4040 majority of `attr_rtx'. Move variable declarations into the
4041 scope where they are used. Eliminate unnecessary gotos.
4042 (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
4043 VA_FIXEDARG, and VA_CLOSE.
4044
d3295e25
HPN
40452001-11-30 Hans-Peter Nilsson <hp@axis.com>
4046
4047 * config/cris/cris.c (cris_notice_update_cc): Check first
4048 destination also against overlap with cc_status.value2 and second
4049 destination against overlap with cc_status.value1. For overlaps,
4050 clear overlapped value, don't just CC_STATUS_INIT.
4051
4052 * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
45b677bc 4053 Fix typo in comment.
d3295e25 4054 (LINK_SPEC): Remove whitespace at end of line.
06f0b04c 4055
c65fd410
JJ
40562001-11-29 Jakub Jelinek <jakub@redhat.com>
4057
4058 * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
4059
b2ace8a4
JJ
40602001-11-29 Jakub Jelinek <jakub@redhat.com>
4061
4062 * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
4063 macros for the supported debugging types.
4064
c1d5afc4
CR
40652001-11-29 Craig Rodrigues <rodrigc@gcc.gnu.org>
4066
4067 PR other/4932
4068 * config/i386/i386.c (print_operand): Verify that the
4069 argument to %c is a constant and not a conditional which
4070 needs to be reversed.
4071
8125704b
GK
4072Thu Nov 29 11:12:59 2001 Geoffrey Keating (geoffk@redhat.com)
4073
06f0b04c
ZW
4074 * emit-rtl.c (gen_lowpart_common): Fix conversion of
4075 REAL_VALUE_TYPEs to an array of target integers. Fix extraction
4076 of low part of those arrays for 32bit and 64bit hosts.
8125704b 4077
298d914f
KG
40782001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4079
4080 * Makefile.in (insn-output.o): Depend on insn-codes.h.
4081
d3945f0a
JM
40822001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
4083
4084 * configure.in (target_list): Add generated-manpages.
4085 * configure: Regenerate.
4086 * Makefile.in (generated-manpages): Depend on
4087 lang.generated-manpages.
4088 * objc/Make-lang.in (objc.generated-manpages): New dummy target.
4089
38f90bec
NC
40902001-11-29 Nick Clifton <nickc@cambridge.redhat.com>
4091
4092 * config/arm/crti.asm (_init): Add .thumb_func if compiled
06f0b04c
ZW
4093 with -mthumb.
4094 (_fini): Add .thumb_func if compiled with -mthumb.
38f90bec 4095
4e0a5dc2
EC
40962001-11-28 Eric Christopher <echristo@redhat.com>
4097
4098 * config/mips/mips.c (override_options): Fix thinko in mips_tune
4099 for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
4100
a1fa5544
JW
4101Thu Nov 29 00:24:15 EST 2001 John Wehle (john@feith.com)
4102
4103 * alpha.md (tablejump): Use pic_offset_table_rtx
4104 instead of gen_rtx_REG.
4105
35a53991
JL
4106Wed Nov 28 15:36:13 2001 Jeffrey A Law (law@cygnus.com)
4107
4108 * expr.c (store_expr): When copying a string constant into an
4109 array, reset the known alignment of the MEM for the section to
4110 be cleared to BITS_PER_UNIT.
4111
117b0c0a
HPN
41122001-11-28 Hans-Peter Nilsson <hp@axis.com>
4113
4114 * config/cris/cris.c: Remove whitespace at end of line.
4115
04cec1a7
DR
4116Wed Nov 28 14:51:23 2001 Douglas B. Rupp <rupp@gnat.com>
4117
4118 * config.gcc (i[34567]86-*-interix3*): New case.
4119 * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
4120 New files.
4e0a5dc2 4121
391f61d9
RH
41222001-11-28 Richard Henderson <rth@redhat.com>
4123
4124 * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
4125 symbolic_operand as the predicate.
4126
e6dc3aa0
RH
41272001-11-28 Richard Henderson <rth@redhat.com>
4128
4129 * doloop.c (doloop_modify_runtime): Properly select induction
4130 variable; skip late entry test if biv initializer created by loop.
4131
5e74f966
RK
4132Wed Nov 28 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4133
f724a9d2
RK
4134 * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
4135 EXPR_WITH_FILE_LOCATION, so change checks and documentation.
4136
3e87ad4d
RK
4137 * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
4138
c46080ab
RK
4139 * tree.h: Add missing checks on some macros; make formatting more
4140 consistent.
4141
3874585e
RK
4142 * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
4143 level; only add to pending_sizes if find it.
4144
f80230c1
RK
4145 * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
4146
36221fc4
RK
4147 * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
4148 Add casts to remove warnings.
4149
033265ba
RK
4150 * Makefile.in (OBJS): Sort alphabetically.
4151
5e74f966
RK
4152 * print-rtl.c (print_rtx): If RTX code is bad, just say so.
4153 Also minor cleanups.
4154
f80230c1
RK
4155Wed Nov 28 06:52:27 2001 Arnaud Charlet <charlet@ACT-Europe.FR>
4156
4157 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
4158 (FLAGS_TO_PASS): Add STAGE_PREFIX.
4159 (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
4160 to STAGE_PREFIX.
4161
db4a8254
JH
4162Wed Nov 28 10:42:19 CET 2001 Jan Hubicka <jh@suse.cz>
4163
4164 * cse.c (true_dependence_in_rtx): New function.
4165 (invalidate): Use it.
4166
4167 * c-common.h (GOTO_FAKE_P): New macro.
4168 * tree-inline.c (GOTO_FAKE_P): Set.
4169 * c-tree.texi (GOTO_FAKE_P): Document.
4170
4171 * varasm.c (assemble_variable): Set reloc to 3 for error_mark
4172 containing pointers.
4173 (output_addressed_constants): Check for local/external relocations.
4174 * elfos.h (SELECT_SECTION): Classify data section.
4175 * tm.texi (SELECT_SECTION): Update documentation.
4176
4177 * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
4178 (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
4179
59a64a46
KG
41802001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4181
4182 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4183 UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
4184 OBJECT_FORMAT_ROSE.
4185
3d556836
HPN
41862001-11-28 Hans-Peter Nilsson <hp@axis.com>
4187
4188 * config/cris/cris.c: Tweak spacing for prototypes.
4189 (LOSE_AND_RETURN): New macro.
4190 (cris_operand_lossage): New function.
4191 (cris_print_index, cris_print_base): Use cris_operand_lossage
4192 rather than fatal_insn.
4193 (cris_print_operand, cris_print_operand_address): Use
4194 LOSE_AND_RETURN rather than fatal_insn and internal_error.
4195 (cris_output_addr_const): Use LOSE_AND_RETURN and
4196 output_operand_lossage rather than fatal_insn and internal_error
4197 for valid but unexpected rtx expressions.
4198
4199 * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
4200 for a SUBREG in src or dest, abort instead.
4201
215e1152
BM
42022001-11-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4203
4204 * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
4205 doc.
4206
8a63621f
JJ
42072001-11-27 Jakub Jelinek <jakub@redhat.com>
4208
4209 * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
4210 preprocessor define. If only DBX_DEBUGGING_INFO or only
4211 DWARF2_DEBUGGING_INFO is supported for the target, provide
4212 appropriate definitions.
4213
0abc6a6a
NB
42142001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
4215
4216 * Makefile.in: Update, and add c-objc-common.o dependencies.
4217 * c-lang.c: Remove unnecessary includes.
4218 (c_init): Move bulk of code to c_objc_common_init, and call it.
4219 (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
4220 inline_forbidden_p, c_cannot_inline_tree_fn): Move to
4221 c-objc-common.c.
4222 * c-objc-common.c: New. Mostly pulled from c-lang.c.
4223 * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
4224 c_objc_common_init, c_missing_noreturn_ok_p): New.
4225 * toplev.c: Update comment.
4226 * doc/passes.texi: Update.
4227objc:
931db8d2 4228 * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
0abc6a6a
NB
4229 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
4230 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
4231 (objc_init): Update to use c_objc_common_init.
4232
42332001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
4234
4235 * cpphash.c (_cpp_init_hashtable): Update.
4236 * cpphash.h (struct spec_nodes): Remove n_L.
4237 * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
4238
9827f778
RH
42392001-11-17 Richard Henderson <rth@redhat.com>
4240
4241 * unroll.c (loop_iterations): Move last change ...
4242 * doloop.c (doloop_modify_runtime): ... here.
4243
ec3fba56
CM
42442001-11-17 Corey Minyard <minyard@acm.org>
4245 Richard Henderson <rth@redhat.com>
4246
4247 * unroll.c (loop_iterations): Detect one situation in which we
4248 overestimate the number of iterations.
4249
b856c15d
RO
42502001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4251
4252 * gcc.c (set_input): Export.
4253 Move declaration ...
4254 gcc.h (set_input): ... here.
4255
42562001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4257
4258 * gcc.c (set_collect_gcc_options): New function, split out from
4259 main.
4260 Ignore elided switches.
4261 (do_spec): Invoke before executing command.
4262 (do_spec_1): Likewise.
4263 Fixes PR other/3968.
4264
ae08d4c0
HPN
42652001-11-27 Hans-Peter Nilsson <hp@axis.com>
4266
4267 * config/cris/cris.h (INT_ASM_OP): Remove.
4268
b9fbb936
RO
42692001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4270
4271 * config/i386/sol2.h (WINT_TYPE): Redefine.
4272 (WINT_TYPE_SIZE): Likewise.
4273
ec8e621d
KG
42742001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4275
475c267f
KG
4276 * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
4277 (dup2): Make static and add prototype.
4278 * m68k/plexus.h: Don't define NO_DUP2.
4279 * configure.in (AC_CHECK_FUNCS): Add dup2.
4280 * config.in, configure: Regenerate.
4281
ec8e621d
KG
4282 * ia64/aix.h (REG_SIZE): Don't #undef.
4283 * sparc.h (REG_SIZE): Delete.
4284 * flow.c (mark_used_regs): Don't use REG_SIZE.
4285 * regs.h (REG_SIZE): Delete.
4286
4a2fadae
AS
42872001-11-27 Andreas Schwab <schwab@suse.de>
4288
4289 * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
4290 PREFERRED_DEBUGGING_TYPE.
4291
ac79cd5a
RK
4292Tue Nov 27 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4293
4294 * Makefile.in (c-lang.o): Depends on langhooks-def.h.
4295 (expr.o, varasm.o): Depends on langhooks.h.
4296 * c-common.c (c_safe_from_p): Always declare.
4297 (c_expand_expr): Refine when declared.
4298 * c-lang.c (c-common.h): Now include.
4299 (LANG_HOOKS_SAFE_FROM_P): Define new hook.
4300 (c_init): Don't set lang_safe_from_expr.
4301 * expr.c (langhooks.h): Now include.
4302 (lang_safe_from_p): No longer define.
4303 (safe_from_p): Use lang hook.
4304 (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
4305 (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
4306 * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
4307 * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
4308 (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
4309 * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
4310 * langhooks.h (struct lang_hooks): New fields expand_constant
4311 and safe_from_p.
4312 * output.h (output_constant): Size arg is HOST_WIDE_INT.
4313 * stmt.c (expand_decl_init): No longer need to expand constant
4314 for CONST_DECL.
4315 * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
4316 * toplev.c (lang_expand_constant): Delete var.
4317 * tree.c (save_expr): Don't put another SAVE_EXPR around simple
4318 operations on SAVE_EXPR.
4319 * varasm.c (langhooks.h): Now include.
4320 (compare_constant_1): Use lang_hooks, not lang_expand_constant.
4321 (record_constant_1, output_addressed_constants): Likewise.
4322 (initializer_constant_valid_p, output_constant): Likewise.
4323 (output_constant_def): Process no-defer of string constant.
4324 (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
4325 (output_constant): Strip more conversions.
4326 Track our size and pad for the rest.
4327 (array_size_for_constructor): Remove code for non-byte STRING_CST.
4328 (output_constructor): SIZE now HOST_WIDE_INT.
4329
188235df
RH
43302001-11-27 Richard Henderson <rth@redhat.com>
4331
4332 * ifcvt.c (noce_try_store_flag_constants): Test for overflow
4333 in computing DIFF.
4334
07e96fc6
ZW
43352001-11-27 Zack Weinberg <zack@codesourcery.com>
4336
4337 * cppfiles.c (read_include_file): Add comment.
4338
5652450c
RH
43392001-11-26 Richard Henderson <rth@redhat.com>
4340
4341 * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
4342
89e6abff
RH
43432001-11-26 Richard Henderson <rth@redhat.com>
4344
4345 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
4346 * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
4347 commented out override.
4348
4d6baafa
NB
43492001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
4350
4351 * cppfiles.c (stack_include_file): Don't optimize zero-length
4352 files.
4353 (read_include_file): NUL-terminate read files.
4354 * cpplex.c (handle_newline, skip_escaped_newlines,
4355 get_effective_char, skip_whitespace, parse_identifier,
4356 parse_identifier_slow, parse_number, parse_string,
4357 _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
4358 NUL-terminated.
4359 * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
4360 Be sure buffers are NUL terminated.
4361 * cppmacro.c (warn_of_redefinition): Kill compile warning.
4362
43632001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
4364
4365 * c-common.c: Include tree-inline.h.
4366 (c_language): Move separate definitions here.
4367 (c_common_init_options, c_common_post_options): New.
4368 (c_common_lang_init): Rename c_common_init.
4369 * c-common.h (c_common_lang_init): Similarly.
4370 (c_common_init_options, c_common_post_options): New.
4371 * c-lang.c (c_post_options): Move body to c_common_post_options.
4372 (c_init_options): Use c_common_init_options.
4373 (c_init): Update.
4374 * langhooks.def: Rearrange.
4375 * langhooks.h: Rearrange, and improve comments.
4376 * toplev.c (do_compile): New function.
4377 (toplev_main): Use it.
4378 (lang_independent_f_options, parse_options_and_default_flags,
4379 process_options): Remove trailing periods.
4380 * Makefile.in: Update.
4381objc: * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
4382 functions.
4383 (ojbc_init): Update.
4384
d4b4b319
RH
43852001-11-26 Richard Henderson <rth@redhat.com>
4386
4387 * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
4388
8b6000fc
DD
43892001-11-26 DJ Delorie <dj@redhat.com>
4390
4391 * expr.c (store_constructor): Actually use the value computed
4392 if WORD_REGISTER_OPERATIONS.
4393
c70ebb68
RH
43942001-11-26 Richard Henderson <rth@redhat.com>
4395
4396 * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
4397 for CONSTRUCTOR.
4398
fa9b5c6b
DE
43992001-11-26 David Edelsohn <edelsohn@gnu.org>
4400
4401 * rs6000.c (output_mi_thunk): Handle minimal-toc and call
4402 correct function on AIX.
4403
8924f58b
AO
44042001-11-26 Alexandre Oliva <aoliva@redhat.com>
4405
4406 * toplev.c (process_options): Don't force
4407 flag_optimize_sibling_calls to zero just because exceptions are
4408 enabled.
4409
afb14002
JL
4410Mon Nov 26 12:37:05 2001 Jeffrey A Law (law@cygnus.com)
4411
4412 * df.h (transfer_function_sbitmap): Use PARAMS around argument
4413 list in function prototypes.
4414 (transfer_function_bitmap): Likewise.
4415
b0b3cf5e
LR
44162001-11-26 Loren J. Rittle <ljrittle@acm.org>
4417
4418 * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
4419 * config/i386/netbsd-elf.h: Likewise.
4420
79fde587
DE
44212001-11-26 David Edelsohn <edelsohn@gnu.org>
4422
4423 * doc/trouble.texi: Remove outdated RS/6000 comments.
4424
5bc72aeb
JH
4425Mon Nov 26 13:49:41 CET 2001 Jan Hubicka <jh@suse.cz>
4426
4427 * final.c (walk_alter_subreg): Fix return value.
4428
4429Mon Nov 26 11:36:20 CET 2001 Jan Hubicka <jh@suse.cz>
0e1638d4
JH
4430
4431 * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
4432 alter_subreg.
4433 * sparc.md (post-reload splitters): Do not call alter_subreg.
4434 * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
4435
78b583fe
AH
44362001-11-25 Aldy Hernandez <aldyh@redhat.com>
4437
4438 * regclass.c (choose_hard_reg_mode): Handle vector arguments.
4439
addd7df6
AM
44402001-11-26 Alan Modra <amodra@bigpond.net.au>
4441
4442 * final.c: (insn_lengths): Make it an int *, so that large jump
4443 tables don't overflow.
4444
7e5fb12f
JM
44452001-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
4446
4447 * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
4448 (format_types): Use it for scanf.
4449 (dollar_arguments_pointer_p): New.
4450 (init_dollar_format_checking): Store details of which arguments
4451 are pointers.
4452 (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
4453 (finish_dollar_format_checking): Take extra parameter
4454 pointer_gap_ok. Treat unused arguments differently if
4455 pointer_gap_ok and the unused arguments are pointers.
4456 (check_format_info_main): Pass extra argument to
4457 finish_dollar_format_checking.
4458 * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
4459 unused arguments are present between used arguments with operand
4460 numbers.
4461
a6253d46
DB
44622001-11-25 Daniel Berlin <dan@cgsoftware.com>
4463
4464 * df.c: Add prototypes for hybrid_search_bitmap and
4e0a5dc2 4465 hybrid_search_sbitmap.
a6253d46
DB
4466 (hybrid_search_bitmap): New function.
4467 (hybrid_search_sbitmap): New function.
4468 (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
4469 (iterative_dataflow_bitmap): Ditto.
4e0a5dc2 4470
4f81fba1
SC
44712001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4472
4473 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
4474 address computations.
4475
259ed6e2
SC
44762001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4477
4478 * config/m68hc11/m68hc11.c (d_register_operand): Must accept
4479 register b (low part of d).
4480
f4b00a9a
SC
44812001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4482
4483 * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
4484 passed to mcount.
4485
d133777f
DR
4486Sun Nov 25 06:22:09 2001 Douglas B. Rupp <rupp@gnat.com>
4487
4488 * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
4489 * config/alpha/x-vms: New file, to compile the above.
4490 * config.gcc (alpha*-dec-vms*): Add x-vms.
4491
2dbbe435
HPN
44922001-11-24 Hans-Peter Nilsson <hp@axis.com>
4493
4494 * genextract.c (main): Set ro_loc for peepholes.
4495
7201ce79
DR
4496Sat Nov 24 17:04:10 2001 Douglas B. Rupp <rupp@gnat.com>
4497
e1c12209
DR
4498 * fix-header.c (main): Move inf_buffer termination and inf_limit
4499 calculation to after read.
4500
7201ce79
DR
4501 * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
4502 (__UNIX_FOPEN): Define.
4503
08e42d8b
RK
4504Sat Nov 24 16:11:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4505
4506 * function.c (assign_stack_temp_for_type): Clear alias set before
4507 setting new one.
4508
134c32f6
DE
45092001-11-23 David Edelsohn <edelsohn@gnu.org>
4510
4511 * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
4512 format.
4513 * rs6000.md (cmptf): Fix typo.
4514
eac50d7a
RS
45152001-11-23 Richard Sandiford <rsandifo@redhat.com>
4516
4517 * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
4518 * varasm.c (output_constructor): Use assemble_integer rather
4519 than ASM_OUTPUT_BYTE.
4520
e1e7d56b
AJ
45212001-11-23 Andreas Jaeger <aj@suse.de>
4522
4523 * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
4524 extension.
4525
56101178
NC
45262001-11-23 Nick Clifton <nickc@cambridge.redhat.com>
4527
4528 * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
4529 default definition.
4530 (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
4531 (MULTILIB_DEFAULTS): Remove previous definition.
4532
f26311c1
NB
45332001-11-23 Neil Booth <neil@daikokuya.demon.co.uk>
4534
4535 * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
4536 * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
4537
a338be44
KG
45382001-11-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4539
4540 * cris.h: Revert thinko in last patch.
4541
754d9299
JM
45422001-11-23 Joseph S. Myers <jsm28@cam.ac.uk>
4543
a1f300c0
JM
4544 * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
4545 FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
4546 cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
4547 dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
4548 explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
4549 sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
4550
754d9299
JM
4551 * predict.c, reg-stack.c: Fix spelling errors.
4552
60f4621c
AH
45532001-10-09 Andrew Haley <aph@redhat.com>
4554
4555 * calls.c (check_sibcall_argument_overlap): Use slot_offset for
4556 start of stack slot.
4557
09eb1aab
GS
45582001-11-22 Graham Stott <grahams@redhat.com>
4559
4560 * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
4561 replacement jump after original jump.
4562
4563 (verify_flow_info): Remove redundent initialisation.
4564 Handle reaching end of insn list before finding a BARRIER.
4565 Only issue one missing barrier diagnostic.
4566
44a5da09
GS
45672001-11-22 Graham Stott <grahams@redhat.com>
4568
4569 * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
4570
669fe758
RK
4571Thu Nov 22 06:49:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4572
4573 * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
4574 insn actually does.
4575
eb9601ab
NC
45762001-11-22 Nick Clifton <nickc@cambridge.redhat.com>
4577
98180123
NC
4578 * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
4579 Fix typo -mm32rx=> -m32rx.
4580
ebe413e5
NC
4581 * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
4582 targets.
4583
eb9601ab 4584 * config.gcc (xscale-coff): Add necessary header files to
06f0b04c 4585 tm_file variable.
eb9601ab 4586
44518ddd
ZW
45872001-11-20 Zack Weinberg <zack@codesourcery.com>
4588
4589 * rs6000.c (output_cbranch): Use $, not %$, in output template.
4590
89d684bb
BM
45912001-11-21 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4592
4593 * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
4594 (lang_type_quals): Declare.
e1e7d56b
AJ
4595 (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
4596 retrieve language-specific qualifiers for a type node, instead of
4597 C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
89d684bb
BM
4598 lang_dump_tree.
4599 * tree-dump.h: Rename from c-dump.h.
4600 * c-common.h (C_TYPE_QUALS): Removed.
4601 Move declarations for tree-dump.c interface to...
4602 * tree.h: ... here. Remove lang_dump_tree.
4603 * langhooks.h (struct lang_hooks_for_tree_dump): New.
4604 (struct lang_hooks): Add tree_dump hooks.
4605 * langhooks.c (lhd_tree_dump_dump_tree): New function.
4606 (lhd_tree_dump_type_quals): New function.
4607 * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
4608 Declare.
4609 (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
4610 * Makefile.in: Move tree-dump.o to language-independent back-end.
4611
4617e3b5
KG
46122001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4613
4614 * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
4615 * alpha.h (DBX_REGISTER_NUMBER): Likewise.
4616 * arc.h (DBX_REGISTER_NUMBER): Likewise.
4617 * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
4618 * avr.h (DBX_REGISTER_NUMBER): Likewise.
4619 * c4x.h (DBX_REGISTER_NUMBER): Likewise.
4620 * clipper.h (DBX_REGISTER_NUMBER): Likewise.
4621 * convex.h (DBX_REGISTER_NUMBER): Likewise.
4622 * cris.h (DBX_REGISTER_NUMBER): Likewise.
4623 * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
4624 * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
4625 * fr30.h (DBX_REGISTER_NUMBER): Likewise.
4626 * h8300.h (DBX_REGISTER_NUMBER): Likewise.
4627 * i370.h (DBX_REGISTER_NUMBER): Likewise.
4628 * i860.h (DBX_REGISTER_NUMBER): Likewise.
4629 * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
4630 * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
4631 * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4632 * m32r.h (DBX_REGISTER_NUMBER): Likewise.
4633 * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
4634 * m88k.h (DBX_REGISTER_NUMBER): Likewise.
4635 * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
4636 * mcore.h (DBX_REGISTER_NUMBER): Likewise.
4637 * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
4638 * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
4639 * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
4640 * romp.h (DBX_REGISTER_NUMBER): Likewise.
4641 * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
4642 * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
4643 * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
4644 * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
4645 * v850.h (DBX_REGISTER_NUMBER): Likewise.
4646 * vax.h (DBX_REGISTER_NUMBER): Likewise.
4647 * we32k.h (DBX_REGISTER_NUMBER): Likewise.
e1e7d56b 4648
4617e3b5
KG
4649 * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
4650 * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
4651
13422e9d
L
46522001-11-21 H.J. Lu <hjl@gnu.org>
4653
4654 * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
4655
40c13662
KG
46562001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4657
4658 * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
4659 emit_cmp_and_jump_insns.
4660
4661 * stormy16.c (xstormy16_expand_builtin_va_arg,
4662 xstormy16_expand_casesi): Likewise.
4663
c11c10d8
RK
4664Wed Nov 21 17:37:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4665
3258e996
RK
4666 * function.c (keep_stack_depressed): Major rework.
4667 (handle_epilogue_set, emit_equiv_load): New functions.
4668 (thread_prologue_and_epilogue_insns): keep_stack_depressed now
4669 has return value.
4670 * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
4671 * rtl.h (SET_IS_RETURN_P): New macro.
4672
c11c10d8
RK
4673 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
4674 and also support TREE_ADDRESSABLE.
4675 * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
4676
2e7d5318
DE
46772001-11-21 David Edelsohn <edelsohn@gnu.org>
4678
4679 * rs6000.md (cmptf_internal1): Replace %$ with $.
4680
ca47c89e
DR
4681Wed Nov 21 16:44:01 2001 Douglas B. Rupp <rupp@gnat.com>
4682
ae1139f9
DR
4683 * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
4684 (read_include_file): Use STAT_SIZE_TOO_BIG.
4685
ca47c89e
DR
4686 * cppinit.c (INO_T_COPY): Define.
4687 (INO_T_EQ): Uppercase parameters.
4688 (append_include_chain): Use INO_T_COPY.
4689
9d083c8c
RS
46902001-11-21 Richard Sandiford <rsandifo@redhat.com>
4691
4692 * cfg.c: Fix typos and formatting in the introductory comment.
4693
b9224c94
JH
4694Wed Nov 21 12:38:37 CET 2001 Jan Hubicka
4695
4696 * profile.c (compute_branch_probabilites): Compute probabilities
4697 for entry/exit edges; estimate probabilities for zero counts.
4698
1258ee80
JJ
46992001-11-21 Jakub Jelinek <jakub@redhat.com>
4700
4701 * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
4702 to emit_library_call.
4703 * function.c (expand_main_function, expand_function_start,
4704 expand_function_end): Likewise.
4705 * profile.c (output_func_start_profiler): Likewise.
4706 * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
4707 second argument to emit_library_call.
4708 * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
4709 as second argument to emit_library_call.
4710 * calls.c (emit_library_call): Update fn_type description.
4711
83dea45d
JJ
47122001-11-21 Jakub Jelinek <jakub@redhat.com>
4713
4714 * c-decl.c (c_expand_deferred_function): Only call c_expand_body
4715 if fndecl is still DECL_INLINE and has DECL_RESULT.
4716
cd4c46f3
KG
47172001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4718
4719 * clipper.c (clipper_movstr): Avoid uninitialized warning.
4720 * i960.c (is_mask, legitimize_address): Likewise.
4721 * m88k.c (m88k_expand_prologue): Likewise.
4722 * m88k.md: Likewise.
4723 * mcore.c (emit_new_cond_insn): Likewise.
4724 * stormy16.c (xstormy16_emit_cbranch): Likewise.
4725
f607bc57
ZW
47262001-11-20 Zack Weinberg <zack@codesourcery.com>
4727
4728 * config.gcc: Delete powerpcle-*-solaris2* stanza.
4729 * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
4730 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
4731 config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
4732 config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
4733 config/rs6000/t-ppcos: Expunge all references to Solaris.
4734
4735 * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
4736
4737 * config/rs6000/rs6000.md: Replace '%$' with '$' in all
4738 output templates.
4739 * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
4740 and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
4741
533f5e0f
KG
47422001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4743
4744 * sh.md: Avoid uninitialized warnings.
4745 * vax.c (vax_rtx_cost): Likewise.
4746
00b960c7
AH
47472001-11-15 Aldy Hernandez <aldyh@redhat.com>
4748
4749 * rs6000.c (direct_return): Check if we are saving altivec
4750 registers.
4751 (first_altivec_reg_to_save): New.
4752 Updated stack frame layout comments.
4753 (rs6000_stack_info): Calculate altivec register save size.
4754 Save link register if we saved some altivec registers.
4755 (rs6000_stack_info): Align save size to 16 if altivec abi or
4756 abi_darwin.
4757 (rs6000_stack_info): Calculate altivec register offsets.
4758 (rs6000_stack_info): Add altivec info to save_size.
4759 (debug_stack_info): Add altivec debug info.
4760 (rs6000_emit_prologue): Save altivec registers and vrsave.
4761 (compute_vrsave_mask): New.
4762 (altivec_expand_builtin): Remove unused variables.
4763 (rs6000_parse_abi_options): Add static qualifier.
4764 (rs6000_expand_builtin): Remove unused parameters.
4765 (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
4766 (altivec_init_builtins): Same.
4767 (is_altivec_return_reg): New.
4768 (vrsave_operation): New.
4769 (ALTIVEC_REG_BIT): New.
4770 (generate_set_vrsave): New.
4771
4772 * rs6000.md (get_vrsave): New.
4773 (set_vrsave): New.
4774 (*set_vrsave_internal): New.
4775
4776 * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
4777 altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
4778 altivec_padding_size, vrsave_mask.
4779 (TOTAL_ALTIVEC_REGS): New.
4780 (EPILOGUE_USES): Add VRSAVE_REGNO.
4781
1b735a57
JL
47822001-11-20 Jeff Law <law@redhat.com>
4783
4784 * unroll.c (copy_loop_body): Update LABEL_NUSES for the
4785 exit label as necessary.
4786
92a21141 47872001-11-20 Brad Kaiser <bkaiser@acelink.net>
f607bc57 4788
92a21141
BK
4789 * reload1.c (elimination_effects): Use function_invariant_p
4790 instead of CONSTANT_P when considering register equivalences.
4791
b91da81f
DB
47922001-11-20 David O'Brien <obrien@FreeBSD.org>
4793
4794 * config.gcc: Add FreeBSD/PowerPC target.
4795 (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
4796 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
4797 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
4798 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
4799 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
4800 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
4801 freebsd-spec.h to tm_file.
4802 (rs6000-*-lynxos*): Add lynx.h to tm_file.
4803 * config/freebsd.h: Tidy up.
4804 (USING_CONFIG_FREEBSD): Define.
4805 (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
4806 FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
4807 FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
4808 (TARGET_HAS_F_SETLKW): Define.
4809 (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
4810 * config/freebsd-spec.h: New file.
4811 * config/rs6000/freebsd.h: New file.
4812 * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
4813 * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
4814 USING_SVR4_H to know when to turn on ELF support.
4815 * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
4816 define only if not already defined.
4817 Add FreeBSD support.
4818 * config/rs6000/aix.h (TARGET_VERSION): Define.
4819 * config/rs6000/beos.h: Likewise.
4820 * config/rs6000/darwin.h: Likewise.
4821 * config/rs6000/mach.h: Likewise.
4822 * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
4823 Don't include lynx.h directly.
4824
5d393c8e
GS
48252001-11-20 Graham Stott <grahams@redhat.com>
4826
4827 * unwind-dw2-fde.c (__deregister_frame_info_bases):
4828 Fix lossage in last change return OB.
4829
a6e50ecb
DR
4830Tue Nov 20 11:56:12 2001 Douglas B. Rupp <rupp@gnat.com>
4831
4832 * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
4833 Remove unneeded exit related macros.
4834
06f4e019
DE
48352001-11-20 David Edelsohn <edelsohn@gnu.org>
4836
4837 * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
4838
4839 * rs6000.c (rs6000_emit_move): Add TFmode case.
4840 * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
4841 LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
4842 LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
4843 * rs6000.h: ... to here.
4844 * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
4845 trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
d6f99ca4 4846 fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
06f4e019 4847
916f389b
RK
4848Tue Nov 20 06:41:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4849
4850 * emit-rtl.c (get_mem_attrs): Fix typo.
4851
2dbd62ff
JJ
48522001-11-20 Jakub Jelinek <jakub@redhat.com>
4853
4854 * c-lang.c (finish_file): Backout 2001-11-16
4855 changes, instead set DECL_DEFER_OUTPUT for static inline functions
4856 before calling c_expand_deferred_function.
4857
55fae1a9
JJ
48582001-11-20 Jakub Jelinek <jakub@redhat.com>
4859
4860 * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
4861 Don't register empty .eh_frame sections.
4862 (__deregister_frame_info_bases, __deregister_frame): Don't
4863 unregister them either.
4864
5f0e9ea2
GK
48652001-11-19 Geoffrey Keating <geoffk@redhat.com>
4866
4867 * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
4868 (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
4869 * configure: Regenerate.
4870 * config.in: Add dummy definitions of new flags.
4871 * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
4872 * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
4873 * gcc.c (ASM_DEBUG_SPEC): New macro.
4874 (asm_debug): New static variable.
4875 (default_compilers): Add asm_debug when assembling from
4876 user input.
4877 (static_specs): Add asm_debug.
4878
a5f4f16c
LR
48792001-11-20 Loren J. Rittle <ljrittle@acm.org>
4880
4881 * config.gcc (*-*-freebsd*): Remove configuration block.
4882
d8140df6
LR
48832001-11-19 Loren J. Rittle <ljrittle@acm.org>
4884
4885 bootstrap/4422
4886 * configure.in: Setup ability to run ./stage[1234]/xgcc in
4887 fixinc *as if* it were a proper lang subdirectory.
4888 * configure: Rebuilt.
4889
c185387d
LR
48902001-11-19 Loren J. Rittle <ljrittle@acm.org>
4891
4892 * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
4893
79663a62
KG
48942001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4895
4896 * 1750a.md: Don't use hex format for a const_int.
4897
e98f90d3
GK
48982001-11-19 Geoffrey Keating <geoffk@redhat.com>
4899
4900 * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
4901
497e89e1
ZW
49022001-11-19 Zack Weinberg <zack@codesourcery.com>
4903
4904 * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
4905 defined (prevents link errors when gettext isn't in the system
4906 library).
4907
53c98b1f
DD
49082001-11-19 DJ Delorie <dj@redhat.com>
4909
4910 * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
4911 (validate_const_int): New.
4912 (read_rtx): Validate constant integers.
4913 * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
4914
8b97450d
JJ
49152001-11-19 Jakub Jelinek <jakub@redhat.com>
4916
4917 * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
4918
6baf9874
DR
4919Mon Nov 19 16:57:44 2001 Douglas B. Rupp <rupp@gnat.com>
4920
4921 * toplev.c (DUMPFILE_FORMAT): Define default.
4922 (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
4923 (close_dump_file, compile_file): Likewise.
4924 * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4925 * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4926
419fef71
JL
49272001-11-19 Jeff Law <law@redhat.com>
4928
4929 * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4930 a nop-jump.
4931
49322000-11-19 Neil Booth <neil@daikokuya.demon.co.uk>
3293c3e3
NB
4933
4934 * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4935 Don't fall off the base token run.
4936
c29593dc
JW
49372001-11-19 Jason Wilkins <fenix@io.com>
4938
4939 * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
4940
ed239f5a
RK
4941Mon Nov 19 15:13:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4942
4943 * tree.def (VIEW_CONVERT_EXPR): New tree code.
4944 * tree.h (handled_component_p): New declaration.
4945 * alias.c (handled_component_p): Move function from here ...
4946 * expr.c (handled_component_p): ... to here and non longer static.
4947 (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
4948 (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
4949 (get_inner_reference): Handle VIEW_CONVERT_EXPR.
4950 (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
4951 (expand_expr, case VIEW_CONVERT_EXPR): New case.
4952 (expand_expr, cse ADDR_EXPR): No need to copy if already
4953 BIGGEST_ALIGNMENT.
4954 * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
4955 * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
4956 (output_constant): Handle VIEW_CONVERT_EXPR.
4957 * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
4958 Add new case for VIEW_CONVERT_EXPR.
4959
a5a9cb26
KG
49602001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4961
4962 * a29k/unix.h (ASM_FILE_START): Const-ify.
4963 * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
4964 * i386/isc.h (ASM_FILE_START): Const-ify.
4965 * i386/sun386.h (ASM_FILE_START): Likewise.
4966 * m32r.md: Likewise.
4967 * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
4968 * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
4969 * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
4970 * mn10200.md: Initialize variable.
4971
7fcd7218
JH
4972Mon Nov 19 18:06:21 CET 2001 Jan Hubicka <jh@suse.cz>
4973
4974 * gcse.c (try_replace_reg): Copy RTX before creating note.
4975
4976 * df.h (df_ref_flags): New uenum.
4977 (DF_REF_FLAGS): New macro.
4978 (struct ref): Add field "flags".
4979 * df.c (HANDLE_SUBREG): Remove.
4980 (df_ref_create): Likewise; set flags field of ref.
4981 (df_def_record_1): Strip down read_write subreg; remove
4982 commented out code; set READ_WRITE flag.
4983 (read_modify_subreg_p): New static function.
4984 (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
4985 new argument "flags".
4986 (df_insn_refs_record): Update call of df_uses_record.
4987 (df_insn_modify): Avoid #if 0 around comment.
4988 (df_dump): Dump the read/write flag.
4989
4990 * predict.c (propagate_freq): Make cyclic_probability and frequency
4991 volatile
4992
4993 * i386.c (ix86_cc_mode): Accept USE.
4994
4995 * cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed
4996 jump is turned into simplejump.
4997
598f4c4c
JM
49982001-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
4999
5000 * doc/fragments.texi, doc/trouble.texi: Remove links to old
5001 installation chapter.
5002 * doc/gcc.texi: Don't claim that this manual documents
5003 installation. Mark Installation menu entry as being out of date.
5004
394f41b6
DR
5005Mon Nov 19 07:21:35 2001 Douglas B. Rupp <rupp@gnat.com>
5006
5007 * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
5008 (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
5009 * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
5010
aa6ad1a6
JM
50112001-11-19 Jason Merrill <jason@redhat.com>
5012
5013 * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
5014 cur_token, not after.
5015
5016 * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
5017 Lose ASM_OUTPUT_CONSTRUCTOR.
5018 * system.h: Poison it and INT_ASM_OP.
5019 * c-lang.c (finish_file): Don't check for it.
5020 * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
5021
75540760
KG
50222001-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5023
5024 * mmix.c (mmix_cc1_ignored_option): Const-ify.
5025 (mmix_init_machine_status): Make static to match declaration.
5026 (mmix_unique_section): Const-ify.
5027 (mmix_output_quoted_string): Avoid automatic aggregate
5028 initialization.
5029 (mmix_output_register_setting): Likewise.
5030 (mmix_output_shiftvalue_op_from_str): Likewise.
5031
5032 * mmix.h (mmix_cc1_ignored_option): Const-ify.
5033 (ASM_OUTPUT_BYTE): Fix format specifier warning.
5034 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5035
39244792
CR
50362001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
5037
5038 PR c/4448
5039 * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
f607bc57 5040 name __objc_thread_exit_status so that it matches the
39244792
CR
5041 variable defined in objc/thr.h.
5042
20266bb1
CR
50432001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
5044
5045 PR bootstrap/4020
5046 * mklibgcc.in: Add missing semi-colons.
5047 * Makefile.in: Same.
5048
e27cc84b
RK
5049Sun Nov 18 16:47:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5050
5051 * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
5052 after re-laying out decl in incomplete case.
5053 (expand_expr, case ADDR_EXPR): Fix typo in copy case.
5054
72170b22
JM
50552001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
5056
5057 * doc/install-old.texi: Move some sections out to ...
5058 * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
5059 ... here. New files. Make into chapters rather than sections.
5060 * doc/gcc.texi: Include the new files and add menu entries for
5061 them.
5062 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5063
69deb6e0
RK
5064Sun Nov 18 14:13:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5065
c3d32120
RK
5066 * tree.h (TYPE_ALIGN_OK): New flag.
5067 * emit-rtl.c (set_mem_attributes): Handle it.
5068 * expr.c (emit_single_push_insn): Only set to alias set 0 if
5069 doing sibcall optimization.
5070 (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
5071 when make temporary.
5072 (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
5073 (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
5074
69deb6e0
RK
5075 * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
5076
aa99bd09
JM
50772001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
5078
5079 * c-decl.c (c_decode_option): Give deprecation warning for
5080 -traditional.
5081 * doc/invoke.texi (-traditional): Note that this option is
5082 deprecated.
5083
5505dff9
DR
5084Sun Nov 18 07:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
5085
6f4fdd10
DR
5086 * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
5087 arg to HOST_WIDE_INT, not long.
5088
5505dff9
DR
5089 * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
5090 (HAS_INIT_SECTION): Define.
5091 (REAL_ARITHMETIC): Don't undefine.
5092
bca0284a
ED
50932001-11-18 Egor Duda <deo@logos-m.ru>
5094
5095 * config/i386/cygwin.h: Strip leading '*' from name, if any.
5096
22703ccc
NB
50972001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
5098
5099 * Makefile.in (c-parse.o, c-common.o): Update dependencies.
5100 * c-common.c: Include diagnostic.h.
5101 (c_common_finish): New.
5102 * c-common.h (c_common_finish): New.
5103 * c-lang.c (LANG_HOOKS_FINISH): Override.
5104 * c-parse.in: Don't include diagnostic.h.
5105 (finish_parse): Remove.
5106 * langhooks.h: Update comments.
5107 * toplev.c (lang_dependent_init): New prototype.
5108 (finalize): New.
5109 (compile_file): Split cleanup code out to finalize.
5110 (lang_dependent_init): Stop if lang_hooks.init fails.
5111 (toplev_main): Update.
5112 * tree.h (finish_parse): Remove.
5113objc:
5114 * objc-act.c (LANG_HOOKS_FINISH): Override.
5115
6f684b53
DR
5116Sat Nov 17 23:30:44 2001 Douglas B. Rupp <rupp@gnat.com>
5117
5118 * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
5119 * config/alpha/vms_tramp.asm: New file.
5120 * config/alpha/vms-tramp.asm: Removed.
5121
7d14c755
JM
51222001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
5123
5124 * c-common.c (struct disabled_builtin, disabled_builtins,
5125 disable_builtin_function, builtin_function_disabled_p): New.
5126 (builtin_function_2): Check for disabled built-in functions.
5127 * c-common.h (disable_builtin_function): Declare.
5128 * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
5129 * doc/invoke.texi: Document -fno-builtin-FUNCTION.
5130 * doc/extend.texi: Mention -fno-builtin-FUNCTION.
5131
f3095b5f
CR
51322001-11-17 Craig Rodrigues <rodrigc@gcc.gnu.org>
5133
5134 PR target/4606
5135 * config.gcc: Remove reference to va-clipper.h.
5136
089a05b8
SS
51372001-11-17 Stan Shebs <shebs@apple.com>
5138
5139 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
5140 AltiVec-related bitfields.
5141
572202a7
RK
5142Sat Nov 17 12:06:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5143
5144 * except.c (enum eh_region_type): Add ERT_UNKNOWN.
5145 (mark_eh_region, case ERT_UKNONW): New case.
5146
d0e06c90 51472001-11-17 Christopher Faylor <cgf@redhat.com>
c03dcc62 5148 Corinna Vinschen <vinschen@redhat.com>
d0e06c90
CF
5149
5150 * config/i386/cygwin.h: Search target specific include directory for
5151 w32api stuff, if appropriate.
5152
5370b45d
DR
5153Sat Nov 17 08:20:44 2001 Douglas Rupp <rupp@gnat.com>
5154
5155 * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
5156
f3fe2696
AH
51572001-11-16 Aldy Hernandez <aldyh@redhat.com>
5158
5159 * config/rs6000/rs6000.md: Change all ldvx to lvx.
5160
e13c5526
AO
51612001-11-16 Alexandre Oliva <aoliva@redhat.com>
5162
5163 * gensupport.c (process_rtx): Don't assume filename is the first
5164 argument of any rtl.
5165
268399cd
JDA
51662001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5167
5168 * vax-protos.h (reg_was_0_p): New prototype.
5169 * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
5170 * vax.c (follows_p, reg_was_0_p): New functions.
5171
550b2951
JDA
51722001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
5173
5174 * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
5175 (casesi1): Likewise. Define new pattern which arises by simplification
5176 when operand 1 is a constant int. Correct pattern which arises by
5177 simplification when operand 1 is zero.
5178
f910b1bb
DB
51792001-11-16 David O'Brien <obrien@FreeBSD.org>
5180
5181 * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
5182 arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
5183 arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
5184 arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
5185 arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
5186 arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
5187 xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
5188 * config/arm/aof.h: Don't include arm.h.
5189 * config/arm/aout.h: Likewise.
5190 * config/arm/coff.h: Don't include semi.h and aout.h.
5191 * config/arm/elf.h: Don't include aout.h.
5192 * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
5193 (TARGET_VERSION): Undef before defining.
5194 (ARM_OS_NAME): Likewise
5195 (TARGET_DEFAULT): Likewise
5196 (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
5197 * config/arm/pe.h: Don't include arm/coff.h.
5198 * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
5199 SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
5200 * config/arm/riscix1-1.h: Likewise.
5201 * config/arm/rix-gas.h: Don't include riscix.h.
5202 (DBX_CONTIN_LENGTH): Undef before defining.
5203 * config/arm/semi.h: Don't include aout.h.
5204 * config/arm/semiaof.h: Don't include aof.h.
5205 * config/arm/strongarm-coff.h: Don't include coff.h.
5206 * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
5207 * config/arm/vxarm.h: Don't include arm/coff.h.
5208 * config/arm/xscale-coff.h: Don't include coff.h.
5209
847898f6
RK
5210Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5211
5212 * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
5213 emit_cmp_insn.
5214
d0225025
AJ
52152001-11-16 Andreas Jaeger <aj@suse.de>
5216
5217 * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
5218 to ....
5219 (fixup_fallthru_exit_predecessor): ... this.
5220 Change callers and prototype.
5221
29628f27
BS
52222001-11-16 Bernd Schmidt <bernds@redhat.com>
5223
f607bc57 5224 * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
29628f27
BS
5225 hand; don't use gen_setcc_2.
5226 (ix86_expand_builtin): Fix pshufw.
5227 * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
f607bc57 5228 case UNORDERED to emit the right assembler instruction.
29628f27
BS
5229 (mmx_pshufw): Lose operand 2.
5230 (cvtsi2ss): Fix representation.
5231 From Graham Stott:
5232 (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
5233
81bbae61
JM
52342001-11-16 Joseph S. Myers <jsm28@cam.ac.uk>
5235
5236 * doc/include/linux-and-gnu.texi: Remove.
5237 * doc/gnu.texi: New.
5238 * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
5239 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5240
6b857ce3
KH
52412001-11-16 Kazu Hirata <kazu@hxi.com>
5242
5243 * config/a29k/a29k.c: Fix comment formatting.
5244 * config/a29k/a29k.h: Likewise.
5245 * config/arc/arc.c: Likewise.
5246 * config/arc/arc.h: Likewise.
5247 * config/vax/vax.c: Likewise.
5248 * config/vax/vax.h: Likewise.
5249 * config/we32k/we32k.c: Likewise.
5250 * config/we32k/we32k.h: Likewise.
5251
bcb07710
JL
52522001-11-16 Jeff Law <law@redhat.com>
5253
5254 * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
5255 creating a new jump insn.
5256
5257Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
c952ff4b
RK
5258
5259 * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
5260 copy misaligned data.
5261 * varasm.c (assemble_variable): Set alignment into MEM when changed.
5262
f4dc10d1
GS
52632001-11-16 Graham Stott <grahams@redhat.com>
5264
5265 * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
5266 OPALIGN type.
5267
6d41a92f
OH
52682001-11-16 Olivier Hainque <hainque@act-europe.fr>
5269
f607bc57
ZW
5270 * except.c: Support for catching a list of types with a single handler
5271 (struct eh_region): Change type and filter to lists for catch regions.
5272 (mark_eh_region): Mark the filter list for GC also.
5273 (expand_start_catch): Always build a list if argument not NULL and
5274 register each type of the list through add_type_for_runtime.
5275 (duplicate_eh_region_1): Change type into type_list for catch regions.
5276 (assign_filter_values): Assign a filter to each type associated with a
5277 catch region. Assign filter for NULL types in a unique entry in the
5278 filter list.
5279 (build_post_landing_pads): Emit compare and jump for each filter of
5280 the list associated with a catch region.
5281 (reachable_next_level): When the type thrown is known, stop the search
5282 as soon as one type within a catch list matches. Also, a handler is
5283 potentially reachable only if at least one of the types it catches
5284 has not been previously caught.
5285 (collect_one_action_chain): Retrieve the filter for a NULL type list
5286 from the first filter list entry. For non NULL type lists, add an
5287 action record for every filter assigned.
5288 * except.h: Reflect changes in comment before expand_start_catch.
6d41a92f 5289
a8ca89dc
RK
5290Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5291
5292 * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
5293 BLKmode.
5294
3b2d1507
AT
5295Fri Nov 16 06:37:05 2001 Andreas Tobler <a.tobler@schweiz.ch>
5296
5297 * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
5298
25e7f439
JJ
52992001-11-16 Jakub Jelinek <jakub@redhat.com>
5300
5301 * c-lang.c (finish_file): Don't emit static inline functions if
5302 they weren't referenced.
5303
38b3baae
SS
53042001-11-15 Stan Shebs <shebs@apple.com>
5305
5306 * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
d0225025 5307
e790b36a
BM
53082001-11-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5309
d0225025 5310 * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
e790b36a
BM
5311 call.
5312 * config/i386/i386.md: Likewise.
5313
5237fc07
RK
5314Thu Nov 15 21:40:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5315
5316 * timevar.c (rtl.h): Include so get fancy abort.
5317
9f1a9740
DJ
53182001-11-15 Dale Johannesen <dalej@apple.com>
5319
5320 * config/darwin.h (SELECT_RTX_SECTION): Force address
5321 initializers into 'const' section
5322 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of
5323 if_then_else to match result, not operands
5324
a06ef755
RK
5325Thu Nov 15 17:57:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5326
5327 * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
5328 * emit-rtl.c (change_address): Fix typo in default alignment.
5329 (adjust_address_1): Use mode of NEW, not MODE, when setting size.
5330 * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
5331 * rtl.h (REGNO_PTR_FRAME_P): New macro.
5332
5333 * expr.c (store_field): Pass tree instead of max size; callers changed.
5334 Change handling of alignment.
5335 Only copy to_rtx if is TARGET.
5336 (expand_expr_unaligned): Delete; callers now use expand_expr.
5337 (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
5338 (expand_assignment): Change handling of alignment.
5339 Only copy to_rtx if was original.
5340 (get_inner_reference): No longer return alginment; callers changed.
5341 (expand_expr, case COMPONENT_REF): Change handling of alignment.
5342 (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
5343 (compare_from_rtx): Delete ALIGN parm; all callers changed.
5344 (do_compare_rtx_and_jump): Likewise.
5345 * expr.h: Reflect above changes.
5346 * tree.h: Likewise.
5347 * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
5348 to get_inner_reference.
d43e0b7d
RK
5349 * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
5350 * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
a06ef755
RK
5351 * optabs.c: Likewise.
5352 (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
5353 (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
d43e0b7d
RK
5354 * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
5355 compare_rtx_and_jump, and emit_cmp_jump_insns.
a06ef755
RK
5356 * fold-const.c: Remove PALIGN in calls to get_inner_reference.
5357 * function.c (assign_stack_temp_for_type): No longer static.
5358 * optabs.h (emit_cmp_insn): Remove ALIGN parm.
5359 (prepare_cmp_insn): Delete declaration.
5360 * rtl.h (assign_stack_temp_for_type): Add declaration.
d43e0b7d
RK
5361 * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
5362 * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
5363 * config/i386/i386.c,config/mips/mips.c: Likewise.
a06ef755
RK
5364 * config/i860/i860.c, config/ia64/ia64.c: Likewise.
5365 * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
5366
7960cfbb
SS
53672001-11-15 Stan Shebs <shebs@apple.com>
5368
5369 * config/rs6000/rs6000.h: Fix a comment typo.
5370 (RTX_COSTS): Sort processor versions better.
5371
8d795882
KH
53722001-11-15 Kazu Hirata <kazu@hxi.com>
5373
5374 * config/h8300/h8300.md: Fix insn length of bit insns.
5375
18b5b8d6
JM
53762001-11-15 Jason Merrill <jason@redhat.com>
5377
5378 * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
5379 DIEs if there were errors in the source.
5380
5381 * config/alpha/alpha-interix.h, config/alpha/elf.h,
5382 config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
5383 config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
5384 config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
5385 config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
5386 config/elfos.h, config/lynx.h, config/netware.h,
5387 config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
5388 config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
5389 uses to use ASM_LONG.
5390
94414790
AM
53912001-11-15 Alan Matsuoka <alanm@redhat.com>
5392
5393 * gensupport.c process_include : Change call to alloca to
5394 xmalloc.
5395
9bddde52
AH
53962001-11-15 Aldy Hernandez <aldyh@redhat.com>
5397
5398 * config/rs6000/rs6000.md: Use spaces instead of tabs in output
5399 templates.
5400
fea54805
RK
5401Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5402
5403 * final.c (alter_subreg): If simplify_subreg can't do anything,
5404 handle REG ourselves and abort for others.
5405
768caa28
RH
54062001-11-15 Richard Hodson <hodsonr@dionecorp.com>
5407
5408 * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
5409 routines.
5410
56c2b525
NB
54112001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
5412
5413 * fix-header.c (read_scan_file): Update.
5414
a9915c78
RK
5415Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5416
5417 * toplev.c (toplev_main): Don't start timing until after
5418 command-line options are parsed.
5419
3cae5780
AS
54202001-11-15 Andreas Schwab <schwab@suse.de>
5421
fed7dc63
AS
5422 * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
5423 makefile frag, not host makefile frag.
5424 (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
5425 (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
5426 used.
f607bc57 5427 (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
fed7dc63
AS
5428 * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
5429 * config/m88k/t-dgux (STMP_FIXPROTO): Define.
5430 * config/i386/t-cygwin (STMP_FIXPROTO): Define.
5431 * config/i386/t-dgux (STMP_FIXPROTO): Define.
5432 * config/x-interix: Don't define STMP_FIXPROTO and
5433 FIXPROTO_DEFINES.
5434 * config/t-interix: New file, define STMP_FIXPROTO.
5435 * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
5436 * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
5437 * config/t-svr4 (FIXPROTO_DEFINES): Define.
5438 * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
5439 * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
5440 * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
5441 * config/m68k/t-hp3200: Renamed from x-hp3200.
5442 * config/i370/t-oe: Renamed from x-oe.
5443 * config/mips/t-iris: Renamed from x-iris.
5444 * config/pa/t-bsd: Renamed from x-pa.
5445 * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
5446 * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
5447 config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
5448 config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
5449 config/rs6000/x-cygwin: Remove files.
5450
3cae5780
AS
5451 * configure.in: Check for target objdump and use that in eh_frame
5452 optimization test.
5453 * configure: Regenerated.
5454
2b7d71b2
JJ
54552001-11-15 Jakub Jelinek <jakub@redhat.com>
5456
5457 * jump.c (squeeze_notes): Return true if no real insns were found.
5458 * rtl.h (squeeze_notes): Adjust prototype.
5459 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
5460 squeeze_notes finds no real instructions, abort.
5461 (merge_blocks_move_successor_nojumps): Likewise.
5462 * loop.c (find_and_verify_loops): Likewise.
5463 * stmt.c (expand_end_case): Likewise.
5464 * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
5465 find any real instructions.
5466
8f5a5db8
JJ
5467 * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
5468
feb265ab
JJ
5469 * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
5470 conditional jump, request updating life into for the block
5471 containing it. Fix a typo which prevented life info update.
5472 Clear blocks bitmap before using it.
5473
f5e99456
NB
54742001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
5475
5476 * c-common.c: Include c-lex.h.
5477 (c_common_lang_init): Change prototype. Call init_c_lex and
5478 init_pragma from here.
5479 * c-common.h (c_common_lang_init): Change prototype.
5480 * c-decl.c (init_decl_processing): Rename. Call c_parse_init.
5481 * c-lang.c (c_init): Change prototype. Update.
5482 (c_init_options): Update.
5483 * c-lex.c (cpp_filename): Remove.
5484 (init_c_lex): Update. Read the main file, and get the original
5485 file name.
5486 (yyparse): Finish the command line options.
5487 * c-parse.in (c_parse_init): Call init_reswords here.
5488 (init_parse): Remove.
5489 * c-tree.h (c_init_decl_processing): New.
5490 * cpphash.c (_cpp_init_hashtable): After initializing the hash
5491 table, populate it.
5492 * cppinit.c (read_original_filename, cpp_finish_options): New.
5493 (cpp_create_reader): New prototype. Defer hash table initialization.
5494 (cpp_start_read): Rename cpp_read_main_file. Initialize the
5495 hash table. Get the original filename.
5496 * cpplib.h (cpp_create_reader): Update.
5497 (cpp_start_read): Remove.
5498 (cpp_read_main_file, cpp_finish_options): New.
5499 * cppmain.c (main, do_preprocessing): Update.
5500 * langhooks.h (struct langhooks): Update init prototype.
5501 * toplev.c (general_init, parse_options_and_default_flags,
5502 process_options, lang_indpendent_init, lang_dependent_init,
5503 init_asm_output): New; perform the bulk of initialization.
5504 (compile_file): Move most of initialization to above functions.
5505 (debug_hooks): Initialize statically.
5506 (set_Wunused): Relocate.
5507 (toplev_main): Move most of initialization to other init functions.
5508 Have a clear logic flow.
5509 * tree.h (init_parse, init_decl_processing): Remove.
5510objc:
5511 * objc-act.c (objc_init): Update prototype, combine with old
5512 init_parse.
5513 (objc_init_options): Update.
5514
5515
00baba68
AJ
55162001-11-15 Andreas Jaeger <aj@suse.de>
5517
5518 * cfgrtl.c (purge_all_dead_edges): Use int as argument for
5519 portability.
5520 * basic-block.h: Adjust prototype.
5521
82e41834
KH
55222001-11-15 Kazu Hirata <kazu@hxi.com>
5523
5524 * config/rs6000/aix31.h: Fix comment formatting.
5525 * config/rs6000/beos.h: Likewise.
5526 * config/rs6000/darwin.h: Likewise.
5527 * config/rs6000/eabi.asm: Likewise.
5528 * config/rs6000/linux.h: Likewise.
5529 * config/rs6000/linux64.h: Likewise.
5530 * config/rs6000/lynx.h: Likewise.
5531 * config/rs6000/netbsd.h: Likewise.
5532 * config/rs6000/rs6000.c: Likewise.
5533 * config/rs6000/rs6000.h: Likewise.
5534 * config/rs6000/rs6000.md: Likewise.
5535 * config/rs6000/sol2.h: Likewise.
5536 * config/rs6000/tramp.asm: Likewise.
5537 * config/rs6000/xcoff.h: Likewise.
5538 * config/rs6000/xm-beos.h: Likewise.
5539
7a0f9993
AM
55402001-11-14 Alan Matsuoka <alanm@redhat.com>
5541
00baba68 5542 * rtl.def (INCLUDE) : Define.
7a0f9993
AM
5543 * gensupport.c (init_include_reader, process_include,
5544 save_string) : New functions to implement an include facility
5545 in .md files.
00baba68 5546 * gensupport.h : Add prototype for init_md_reader_args.
7a0f9993
AM
5547 * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
5548 genextract.c genflags.c genopinit.c genoutput.c
5549 genpeep.c genrecog.c: Change call to init_md_reader to
5550 init_md_reader_args.
5551 * md.texi: Document (include "path") and -I directives for RTL
5552 generation tools.
5553
902197eb
DD
55542001-11-14 DJ Delorie <dj@redhat.com>
5555
5556 * integrate.c (get_hard_reg_initial_reg): New.
5557 * integrate.h (get_hard_reg_initial_reg): Prototype.
5558 * local-alloc.c (block_alloc): Don't tie pseudos that
5559 represent call-saved hard regs' initial values.
5560
9da85b16
KG
55612001-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5562
5563 * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
5564 recursion.
5565
d59b3b67
RS
55662001-11-14 Roger Sayle <roger@eyesopen.com>
5567
5568 * fold-const.c (fold): Optimize strlen comparisons against zero.
5569
0f7a7be7
DB
55702001-11-14 David O'Brien <obrien@FreeBSD.org>
5571
5572 * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
5573 sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
5574 sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
5575 sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
5576 sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
5577 sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
5578 sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
5579 Include various CPU headers via tm_file. a.out based platforms now
5580 properly include sparc/aout.h. sol2.h usage now implies including
5581 elfos.h, svr4.h, and sparc/sysv4.h.
5582 * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
5583 Also define to '1'.
5584 * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
5585 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5586 DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
5587 Remove. They are a.out specific and belong in sparc/aout.h.
5588 * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
5589 ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5590 DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from
5591 sparc/sparc.h.
5592 * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
5593 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
5594 Moved here from sparc/sparc.h.
5595 * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
5596 defining.
5597 * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
5598 * config/sparc/lynx.h: Don't include lynx.h.
5599 (SELECT_SECTION): Do not undef.
5600 * config/sparc/openbsd.h: Don't include sparc/sparc.h.
5601 * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
5602 and sparc/sysv4.h.
5603 * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
5604 * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from
5605 sparc/aout.h now.
5606 * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
5607 Don't undef, there is no need.
5608 * config/sparc/splet.h (CPP_PREDEFINES): Define.
5609 * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
5610 * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
5611 Don't include sparc/sparc.h.
5612 * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
5613 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
5614 DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include
5615 elfos.h and svr4.h.
5616 (TARGET_VERSION): Define.
5617 * config/sparc/vxsim.h (TARGET_VERSION): Define.
5618
49778644
JH
5619Wed Nov 14 19:46:08 CET 2001 Jan Hubicka <jh@suse.cz>
5620
5621 * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
5622 (cfg_layout_finalize): Use it.
5623 * bb-reorder.c (HAVE_epilogue): Remove.
00baba68 5624 (make_reorder_chain): Do not care special placement of
49778644
JH
5625 last basic block.
5626
5627 * predict.c (expected_value_to_br_prob): Delete the note
5628 once transformed.
5629
5630 * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
5631 measure integration time separately.
5632
b5c02bff
RK
5633Wed Nov 14 12:30:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5634
5635 * function.c (struct temp_slot): ALIGN now unsigned.
5636
bf0e974b
KH
56372001-11-14 Kazu Hirata <kazu@hxi.com>
5638
5639 * config/dsp16xx/dsp16xx.c: Fix comment formatting.
5640 * config/dsp16xx/dsp16xx.h: Likewise.
5641 * config/dsp16xx/dsp16xx.md: Likewise.
5642
a77b1dbc
KH
56432001-11-14 Kazu Hirata <kazu@hxi.com>
5644
5645 * config/h8300/h8300.c (get_shift_alg): Reorganize the code
5646 that deals with 7-bit shifts in HImode.
5647
49d801d3
JH
5648Wed Nov 14 14:17:05 CET 2001 Jan Hubicka <jh@suse.cz>
5649
5650 * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
5651 * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
5652 (final_scan_insn): Update call of alter_subreg.
5653 (cleanup_subreg_operands): Likewise.
5654 (alter_subreg): Rewrite using simplify_subreg.
5655 (output_address, output_operand): Update call of alter_subreg.
5656 * output.h (alter_subreg): Update prototype.
5657 * sdbout.c (sdbout_symbol): Update call of alter_subreg.
5658 * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
a1f300c0 5659 * Makefile.in (final.o): Add dependency on expr.h
49d801d3 5660
b1bba9c0
RK
5661Wed Nov 14 06:37:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5662
5663 * c-lang.c (finish_file): Make I unsigned to eliminate warning.
5664
c6fa9728
JS
56652001-11-13 Jeff Sturm <jsturm@one-point.com>
5666
5667 * doc/install.texi (sparc-*-linux*): Mention requirements for
5668 binutils and glibc.
5669
77bd67cb
JM
56702001-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
5671
5672 * Makefile.in (POD2MAN): Don't include --section=1.
5673 (manext): Rename to man1ext. All users changed.
5674 (man7ext): New.
5675 (man7dir): New.
5676 (generated-manpages): Also depend on $(docdir)/gfdl.7,
5677 $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
5678 ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
5679 --section=1 in calls to $(POD2MAN).
5680 ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
5681 (maintainer-clean, install, uninstall): Handle the new man pages.
5682 ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
5683 (installdirs): Create man7dir.
5684 * doc/cpp.texi: Include GFDL in this manual. In the man page,
5685 refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover
5686 texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in
5687 the SEE ALSO man page section.
5688 * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7)
5689 and fsf-funding(7) in the SEE ALSO man page section.
5690 * doc/invoke.texi: Apply GFDL to man page. Include gpl(7),
5691 gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
5692 * doc/include/fdl.texi, doc/include/funding.texi,
5693 doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
5694 * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
5695
a8988448
RH
56962001-11-13 Richard Henderson <rth@redhat.com>
5697
5698 * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
5699 as appropriate for the artificial decl.
5700
7c380843
RH
57012001-11-13 Richard Henderson <rth@redhat.com>
5702
5703 * loop.c (combine_movables): Turn off combination until
5704 move_movables validation bugs are fixed.
5705
c19083d8
DD
57062001-11-13 DJ Delorie <dj@redhat.com>
5707
5708 * config.gcc (powerpc|rs6000): Set default cpp options based
5709 on --with-cpu settings.
5710 * config/rs6000/softfloat.h: New.
5711
4a4ae922
KH
57122001-11-13 Kazu Hirata <kazu@hxi.com>
5713
5714 * config/h8300/h8300.c (shift_alg_si): Use special code for
5715 25-bit shifts on H8/S.
5716 (get_shift_alg): Generate special code for 25-bit shifts on
5717 H8/S.
5718
630036c6
JJ
57192001-11-13 Jakub Jelinek <jakub@redhat.com>
5720
5721 * emit-rtl.c (adjust_address_1): Add ADJUST argument.
5722 (adjust_automodify_address_1): New.
5723 * expr.h (adjust_address, adjust_address_nv): Adjust.
5724 (adjust_automodify_address, adjust_automodify_address_nv): Define.
5725 (adjust_address_1): Update prototype.
5726 (adjust_automodify_address_1): Add prototype.
5727 * expr.c (move_by_pieces_1): Use adjust_automodify_address.
5728 (store_by_pieces_2): Likewise.
5729
047cd3df
RK
5730Tue Nov 13 05:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5731
1d974ca7
RK
5732 * Makefile.in (explow.o): Now depends on ggc.h.
5733 * explow.c (ggc.h): Include.
5734 (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
5735
5736 * Makefile.in (expr.o): Depends on insn-attr.h.
5737 * expr.c (insn-attr.h): New include.
5738 (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
5739 of MEM.
5740 (highest_pow2_factor, case INTEGER_CST): Handle negative values.
5741 (expand_expr): Remove unneeded mark_temp_addr_taken calls and
5742 clean up related usage in ADDR_EXPR.
5743 (expand_expr_unaligned): Likewise.
5744
047cd3df
RK
5745 * emit-rtl.c (change_address): Fix typo in alias setting.
5746
9df9b76e
KG
57472001-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5748
5749 * Makefile.in (cfgcleanup.o): Depend on insn-config.h
5750
da4083c7
CR
57512001-11-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
5752
5753 PR bootstrap/3451
5754 * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
5755 GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
5756
0f658c83
DB
57572001-11-12 David O'Brien <obrien@FreeBSD.org>
5758
5759 * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
5760 sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
5761 sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
5762 sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
5763 sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
5764 sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
5765 sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
5766 sparc64-*-linux*): Include various CPU headers via tm_file.
5767 * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
5768 (SELECT_SECTION): Likewise.
5769 (SELECT_RTX_SECTION): Likewise.
5770 * config/sparc/sparc_bi.h: New file.
5771 * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
5772 * config/sparc/linux-aout.h: Likewise.
5773 * config/sparc/linux.h: Don't include sparc/sysv4.h.
5774 * config/sparc/linux64.h: Likewise.
5775 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
5776 * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h.
5777 * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
5778 and dbxcoff.h
5779 (ASM_OUTPUT_IDENT): Do not #undef.
5780 (SELECT_SECTION): Likewise.
5781 (SELECT_RTX_SECTION): Likewise.
5782 * config/sparc/liteelf.h: Don't include gofast.h.
5783 * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
5784 * config/sparc/lynx.h: Don't include sparc/sparc.h.
5785 * config/sparc/pbd.h: Likewise.
5786 * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
5787 * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
5788 * config/sparc/rtemself.h: Don't include rtems.h.
5789 * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
5790 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
5791 sparc_bi.h instead.
5792 * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
5793 * config/sparc/sol2.h: Include sparc/sparc.h directly.
5794 * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
5795 * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
5796 * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
5797 * config/sparc/sp86x-elf.h: Don't include gofast.h.
5798 * config/sparc/splet.h: Don't include sparc/aout.h.
5799 * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
5800 * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
5801 * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
5802 * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
5803 * config/sparc/vxsparc64.h: Don't include gofast.h.
5804 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
5805
222bde43
JM
58062001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
5807
5808 * doc/standards.texi: Mention C99 TC1.
5809
9b55553e
KG
58102001-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5811
5812 * mips-protos.h (mips_output_conditional_branch): Const-ify.
5813 * mips.c (mips_output_conditional_branch): Likewise.
5814
dd69e230
KH
58152001-11-12 Kazu Hirata <kazu@hxi.com>
5816
5817 * config/h8300/h8300.c (shift_alg_si): Use special code for
5818 15-bit logical shifts and 31-bit logical shifts.
5819 (get_shift_alg): Generate special code for 15-bit and 31-bit
5820 logical shifts.
5821
e0f19bd0
KH
58222001-11-12 Kazu Hirata <kazu@hxi.com>
5823
5824 * config/h8300/h8300.c (shift_alg_qi): Use rotations when
5825 doing 6-bit logical shifts on H8/S.
5826 (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
5827 (get_shift_alg): Generate special code for 21-bit shifts on
5828 H8/S.
5829
692b7eb3
KH
58302001-11-12 Kazu Hirata <kazu@hxi.com>
5831
5832 * config/h8300/h8300.c (get_shift_alg): Remove a redundant
5833 label.
5834
0af5bc3e
RK
5835Mon Nov 12 11:58:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5836
5837 * alias.c (nonoverlapping_memrefs_p): Only update size from memref
5838 if both size and offset known.
5839
c6890454
DB
58402001-11-12 David O'Brien <obrien@FreeBSD.org>
5841
5842 * config/ia64/freebsd.h: Fix misspelling.
5843
73a8ed7e
JM
58442001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
5845
5846 * doc/gcc.texi: Move several chapters out to ...
5847 * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
5848 doc/include/linux-and-gnu.texi, doc/interface.texi,
5849 doc/makefile.texi, doc/passes.texi, doc/portability.texi:
5850 ... here. New files.
5851 * doc/gcc.texi, doc/contrib.texi: Move section headings into
5852 contrib.texi.
5853 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5854
285a5742
KH
58552001-11-12 Kazu Hirata <kazu@hxi.com>
5856
5857 * config/alpha/alpha-interix.h: Fix comment formatting.
5858 * config/alpha/alpha.c: Likewise.
5859 * config/alpha/alpha.h: Likewise.
5860 * config/alpha/alpha32.h: Likewise.
5861 * config/alpha/freebsd.h: Likewise.
5862 * config/alpha/unicosmk.h: Likewise.
5863 * config/alpha/vms.h: Likewise.
5864
96eaf358
KH
58652001-11-12 Kazu Hirata <kazu@hxi.com>
5866
5867 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5868
e9716dc5
JJ
58692001-11-12 Jakub Jelinek <jakub@redhat.com>
5870
5871 * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
5872 numbers.
5873
1edcd60b
RK
5874Mon Nov 12 05:18:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5875
40c0668b
RK
5876 * emit-rtl.c (set_mem_attributes): If making object, can set alignment
5877 from type.
5878 (replace_equiv_address): Call update_temp_slot_address.
5879
749552c4
RK
5880 * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
5881
1edcd60b
RK
5882 * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
5883
769828ab
KH
58842001-11-12 Kazu Hirata <kazu@hxi.com>
5885
5886 * config/h8300/h8300.c (shift_alg_qi): New.
5887 (shift_alg_hi): Likewise.
5888 (shift_alg_si): Likewise.
5889 (get_shift_alg): Change the type of count to unsigned int.
5890 Use the tables.
5891
8b0e9a72
AO
58922001-11-11 Alexandre Oliva <aoliva@redhat.com>
5893
5894 * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
5895 * c-decl.c (c_expand_body): Take argument can_defer_p. Use it
5896 to decide whether to defer a function.
5897 (finish_function): Adjust.
5898 (c_expand_deferred_function): New function.
5899 * c-lang.c (deferred_fns): New variable.
5900 (c_init): Initialize it, and mark it as a root.
5901 (defer_fn): New function.
5902 (finish_file): Expand all deferred functions.
5903 * c-tree.h (defer_fn): Declare.
5904 (c_expand_deferred_function): Likewise.
5905 * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
5906 * objc-act.c (deferred_fns): New variable.
5907 (objc_init): Initialize it, and mark it as a root.
5908 (defer_fn): New function.
5909 (finish_file): Expand all deferred functions.
5910
950a3816
KG
59112001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5912
5913 * alpha.c (unicosmk_special_name): Prototype.
5914 (unicosmk_ssib_name): Delete unused variable.
5915 * alpha/unicosmk.h (common_section, ssib_section): Prototype.
5916 * alpha/vms.h (PREFIX): Undef before defining.
5917 * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
5918 * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
5919 controlling usage. Const-ify.
5920 (alias_number): Delete unused variable.
5921 * m32r/m32r.c (m32r_sched_init): Add missing argument.
5922 (m32r_expand_block_move): Fix uninitialized warnings.
5923 * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
5924 always true' warnings.
5925 * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5926 * sh/sh.c: Include "integrate.h".
5927 (output_far_jump): Fix uninitialized warning.
5928 * final.c (shorten_branches): Avoid automatic aggregate
5929 initialization.
5930 * integrate.c (subst_constants): Likewise.
5931
0c50ee73
KH
59322001-11-11 Kazu Hirata <kazu@hxi.com>
5933
5934 * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5935 (get_shift_alg): Remove redundant code.
5936
fe19a83d
KH
59372001-11-11 Kazu Hirata <kazu@hxi.com>
5938
5939 * config/pa/milli64.S: Fix comment formatting.
5940 * config/pa/pa-64.h: Likewise.
5941 * config/pa/pa-linux.h: Likewise.
5942 * config/pa/pa-protos.h: Likewise.
5943 * config/pa/pa.c: Likewise.
5944 * config/pa/pa.h: Likewise.
5945 * config/pa/pa32-linux.h: Likewise.
5946 * config/pa/pa32-regs.h: Likewise.
5947 * config/pa/pa64-hpux.h: Likewise.
5948 * config/pa/pa64-regs.h: Likewise.
5949 * config/pa/som.h: Likewise.
5950
b64a6a11
JM
59512001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
5952
5953 * doc/gcc.texi: Move several chapters out to ...
5954 * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
5955 doc/service.texi, doc/standards.texi, doc/trouble.texi,
5956 doc/vms.texi: ... here. New files.
5957 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5958
eaec9b3d
JM
59592001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
5960
5961 * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
5962 cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
5963 collect2.c, combine.c, config.in, configure, configure.in,
5964 conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
5965 genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
5966 reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
5967 spelling errors.
5968
d746694a
RK
5969Sun Nov 11 05:56:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5970
592bf28c
RK
5971 * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
5972 Adjust operand number in CONST_DOUBLE.
5973
04050c69
RK
5974 * expmed.c (extract_bit_field): No longer pass in alignment.
5975 (extract_fixed_bit_field, extract_split_bit_field): Likewise.
5976 (store_bit_field, store_fixed_bit_field, store_split_bit_field):
5977 Likewise.
5978 * expr.c (store_constructor, store_constructor_field): Likewise.
5979 (store_field, emit_group_load, emit_group_store): Likewise.
5980 * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
5981 (store_bit_field, extract_bit_field): Likewise.
5982 * calls.c, expr.c, function.c: Change calls to above functions.
5983 * ifcvt.c, stmt.c: Likewise.
00baba68 5984
d746694a
RK
5985 * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
5986 constant and one is on frame.
5987 If know memref offset, adjust size from decl.
5988
e59f7d3d
KG
59892001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5990
5991 * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
5992 format specifier warning.
5993 * convex.h (ASM_OUTPUT_BYTE): Likewise.
5994 * elfos.h (ALIGN_ASM_OP): Undef before defining.
5995 * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5996 warning.
5997 * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5998 * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5999 * i386-interix.h (gen_stdcall_suffix): Prototype.
6000 * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6001 * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6002 ASM_OUTPUT_LONG_DOUBLE): Likewise.
6003 * i386/interix.c (gen_stdcall_suffix): Const-ify.
6004 * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
6005 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
6006 specifier warnings.
6007 * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6008 * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6009 ASM_OUTPUT_LONG_DOUBLE): Likewise.
6010 * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6011 * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6012 * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6013 * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6014 * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
6015 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
6016 * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
6017 * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
6018 Likewise.
6019 * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
6020 Likewise.
6021 * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
6022 * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
6023 ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
6024 Likewise.
6025 * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
6026 Likewise.
6027 * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
6028 Likewise.
6029 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
6030 * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6031 * m68k/news.h (PRINT_OPERAND): Likewise.
6032 * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
6033 ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
6034 * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
6035 * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
6036 definition.
6037 * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
6038 ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
6039 ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
6040 * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
6041 * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
6042 ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
6043 PRINT_OPERAND): Likewise.
6044 * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
6045 Likewise.
6046 * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
6047 * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
6048 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
6049 * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
6050 * mips.c (mips_output_external_libcall): Mark parameter with
6051 ATTRIBUTE_UNUSED.
6052 (mips_asm_file_start): Move variable into the scope where it's
6053 used.
6054 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
6055 * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
6056 * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
6057 * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6058 * ns32k.c (print_operand): Likewise.
6059 * pa.c (print_operand, output_div_insn): Likewise.
6060 * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
6061 ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
6062 * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
6063 * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
6064 specifier warnings.
6065 * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6066 * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6067 (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
6068 * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
6069 specifier warnings.
6070 * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6071
6072 * sdbout.c (sdbout_end_epilogue): Mark parameter with
6073 ATTRIBUTE_UNUSED.
6074 * varasm.c (assemble_global): Likewise.
6075
3e619f14
L
60762001-11-11 H.J. Lu <hjl@gnu.org>
6077
6078 * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
6079
2cca7283
JH
6080Sun Nov 11 01:26:00 CET 2001 Jan Hubicka <jh@suse.cz>
6081
6082 * final.c (*_MAX_SKIP): Use *_max_skip variables.
6083 * flags.h (align_loops_max_skip, align_jumps_max_skip,
6084 align_labels_max_skip): New global variables.
6085 * toplev.c (align_loops_max_skip, align_jumps_max_skip,
6086 align_labels_max_skip): New global variables.
6087 (toplev_main): Set new variables.
6088 * i386.c (override_options): Set max_skip values.
6089
2f0b7af6
GK
60902001-11-10 Geoffrey Keating <geoffk@redhat.com>
6091
6092 * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
6093 * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
6094 * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
6095 don't print an @fptr for labels either.
6096 (xstormy16_output_addr_vec): Don't print @fptr here.
6097 * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
6098
2c1ed626
JL
6099Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com)
6100
6101 * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
6102 an ANSI/ISO definitino.
6103 (ssa_const_prop): Likewise.
6104
0cd5e3a1
AH
61052001-11-10 Aldy Hernandez <aldyh@redhat.com>
6106
6107 * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
6108 altivec registers.
6109
57870f8a
KG
61102001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6111
9e1ac915
KG
6112 * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
6113 * cpplex.c (hex_digit_value): Use hex_p/hex_value.
6114 * cppmain.c (general_init): Call hex_init.
57e9b915 6115 * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
9e1ac915 6116
57870f8a
KG
6117 * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
6118
6119 * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
6120 of dgux.c:output_file_start().
6121
6122 * i386/dgux.c: Delete file.
6123
62918bd3
RH
61242001-11-09 Richard Henderson <rth@redhat.com>
6125
6126 * config/alpha/alpha.c (decl_in_text_section): New.
6127 (current_file_function_operand): Use it.
6128 (alpha_encode_section_info, alpha_end_function): Likewise.
6129
243a7070
DB
61302001-11-07 David O'Brien <obrien@FreeBSD.org>
6131
6132 * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
6133 * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
6134 they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
6135 so OS specific files and use CPP_PREDEFINES for their needs.
6136 * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of
6137 target headers to tm_file.
6138 * config/ia64/aix.h (TARGET_VERSION): Likewise.
6139 * config/ia64/hpux.h (TARGET_VERSION): Likewise.
6140 * config/ia64/linux.h (TARGET_VERSION): Likewise.
6141 (FUNCTION_PROFILER): Remove.
a1f300c0 6142 * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
243a7070
DB
6143 version in config/ia64/linux.h.
6144 * config/ia64/freebsd.h: New file.
6145 * config/freebsd.h: Tidy up.
6146 (_USING_CONFIG_FREEBSD): Define.
6147 (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
6148 (FBSD_CPP_SPEC): Define generic FreeBSD spec.
6149 (FBSD_STARTFILE_SPEC): Likewise.
6150 (FBSD_ENDFILE_SPEC): Likewise.
6151 (FBSD_LIB_SPEC): Likewise.
6152 (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
6153 (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
6154 set an ELF-improper one.
6155
b8e42321
JDA
61562001-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
6157
6158 * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
6159 constant can be loaded in a single instruction to a register. When
6160 loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use
6161 depdi for insertion of most significant 32-bits on 64-bit hosts.
6162 * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
6163 with ldil/ldo/depdi instruction sequence on 64-bit hosts.
6164 * pa.md: New addmove pattern for adding constant_int to HImode
6165 register and moving result to HImode register. Remove HImode HIGH
6166 and LO_SUM patterns.
6167
5d69f816
NB
61682001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
6169
6170 * Makefile.in: Update.
6171 * c-decl.c (print_lang_decl, print_lang_type): Remove.
6172 (print_lang_identifier): Rename c_print_identifier.
6173 * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
6174 (print_lang_statistics, lang_print_xnode): Remove.
6175 * c-parse.in (set_yydebug): Rename c_set_yydebug.
6176 * c-tree.h (c_set_yydebug, c_print_identifier): New.
6177 * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
6178 LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
6179 LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
6180 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
6181 (LANG_HOOKS_INITIALIZER): Update.
6182 * langhooks.h (struct lang_hooks): New members.
6183 (lang_print_tree_hook): New.
6184 * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
6185 * print-tree.c: Include langhooks.h.
6186 (print_node): Update.
6187 * toplev.c (decode_d_option): Update.
6188 * tree.c: Include langhooks.h.
6189 (dump_tree_statistics): Update.
6190 * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
6191 print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
6192objc:
6193 * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
6194 LANG_HOOKS_SET_YYDEBUG): Override.
6195 (lang_print_xnode, print_lang_statistics): Remove.
6196
1ee9fb20
RH
61972001-11-09 Richard Henderson <rth@redhat.com>
6198
6199 * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
6200 on the symbol string.
6201
137bb46a
KG
62022001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6203
1e5cf796
KG
6204 * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
6205 ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
6206 * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
6207
137bb46a
KG
6208 * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
6209
6210 * tlink.c (recompile_files): Copy strings passed to `putenv'.
6211
4192f0d2
GK
62122001-11-09 Geoffrey Keating <geoffk@redhat.com>
6213
50e9f73a
GK
6214 * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
6215 (TYPE_READONLY): Likewise.
6216
ff6051b7
GK
6217 * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
6218
322fe6e1
GK
6219 * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
6220 don't pass --gdwarf2 to the assembler if the compiler will also
6221 provide debug info.
6222
00baba68 6223 * config/stormy16/stormy16.c (xstormy16_expand_casesi):
4192f0d2
GK
6224 Don't change INDEX.
6225
9ddfb1a7
RK
6226Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6227
a4311dfe
RK
6228 * alias.c (nonoverlapping_memrefs_p): New function.
6229 (true_dependence, canon_true_depenence, write_dependence_p): Call it.
6230
9ddfb1a7
RK
6231 * emit-rtl.c (set_mem_attributes): Get alignments for constants.
6232
2473ee11
AH
62332001-11-09 Aldy Hernandez <aldyh@redhat.com>
6234
f607bc57 6235 * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
2473ee11
AH
6236 (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
6237 generating altivec code.
6238 (FIXED_REGISTERS): VRSAVE is fixed.
6239 (CALL_USED_REGISTERS): VRSAVE is call used.
6240
1ee9fb20 62412001-11-09 Jason Eckhardt <jle@rice.edu>
53c12e8d
JE
6242
6243 * config/mips/mips.c (mips_output_conditional_branch): Do not hard
6244 code the branch target as ".+16/.+12", but rather use labels.
6245
512672fd
JL
6246Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com)
6247
00baba68 6248 * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
9db5bf71
JL
6249 to work around limitations of certain versions of GAS.
6250
512672fd
JL
6251 * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
6252 (muldi3): Update due to SUBREG_BYTE changes.
6253 (casesi): Similarly.
6254
2e7bb36b
ZW
62552001-11-09 Zack Weinberg <zack@codesourcery.com>
6256
6257 * doc/invoke.texi: Remove comment referring to -xf77-version.
6258
cde34caf
KH
62592001-11-09 Kazu Hirata <kazu@hxi.com>
6260
6261 * config/convex/convex.c: Fix comment formatting.
6262 * config/convex/convex.h: Likewise.
6263
359cd11e
ZW
62642001-11-08 Zack Weinberg <zack@codesourcery.com>
6265
6266 * Makefile.in (.po.pox): Look both in srcdir and builddir
6267 for $(PACKAGE).pot.
6268 (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
6269 to the source directory.
6270
de41e41c
BE
62712001-11-09 Ben Elliston <bje@redhat.com>
6272 Michael Meissner <meissner@redhat.com>
f607bc57 6273 Andrew MacLeod <amacleod@redhat.com>
de41e41c
BE
6274 Richard Henderson <rth@redhat.com>
6275 Nick Clifton <nickc@redhat.com>
6276 Catherine Moore <clm@redhat.com>
6277
6278 * m32r.c: Add support for m32rx processor.
6279 * m32r.h: Ditto.
6280 * m32r.md: Ditto.
6281 * t-m32r: Ditto.
6282 * m32r-protos.h: Add prototypes for m32rx functions.
6283 * doc/invoke.texi: Document -m32rx option.
6284
a3d87e92
JJ
62852001-11-09 Jakub Jelinek <jakub@redhat.com>
6286
6287 * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
6288 or after reload.
6289
7ade1c9c
GP
62902001-11-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6291
6292 * doc/install.texi2html: Use $MAKEINFO --no-split.
6293
66e918e5
AS
62942001-11-09 Andreas Schwab <schwab@suse.de>
6295
6296 * Makefile.in ($(HOST_PREFIX_1)rtl.o,
6297 $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
00baba68 6298 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
66e918e5
AS
6299 $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
6300 $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
6301
2aae2cc7
L
63022001-11-09 H.J. Lu <hjl@gnu.org>
6303
6304 * config/mips/mips.c (mips_output_function_prologues): Cast
6305 `tsize' to long for output.
6306
3ac88239
NB
63072001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
6308
6309 * c-lang.c (LANG_HOOKS_NAME): New.
6310 (lang_hooks): Constify.
6311 (c_init_options): Update.
6312 (lang_identify): Remove.
6313 * c-parse.in (language_string): Remove.
6314 * dbxout.c: Include langhooks.h.
6315 (dbxout_symbol_location): Update.
6316 * dwarf2out.c: Include langhooks.h.
6317 (gen_compile_unit_die): Update.
6318 * dwarfout.c: Include langhooks.h.
6319 (prototyped_attribute, output_compile_unit_die): Update.
6320 * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
6321 (LANG_HOOKS_INITIALIZER): Update.
6322 * langhooks.h (struct lang_hooks): New members. Constify.
6323 * stringpool.c: Don't include toplev.h.
6324 (set_identifier_size): Remove.
6325 * toplev.c (toplev_main): Initialize identifier size.
6326 (print_version): Update.
6327 * tree.h (language_string, init_lex, lang_identify,
6328 set_identifier_size): Remove.
6329 * Makefile.in: Update dependencies.
6330 * config/darwin.c: Include langhooks.h.
6331 (func_name_maybe_scoped): Update.
6332 * config/darwin.h (ASM_END_FILE): Update.
6333 * config/nextstep.h (ASM_END_FILE): Update.
6334 * config/nextstep21.h (ASM_END_FILE): Update.
6335 * config/i386/sun386.h (ASM_END_FILE): Update.
6336 * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
6337 (rs6000_output_function_epilogue): Update.
6338objc:
6339 * objc-act.c (LANG_HOOKS_NAME): Override.
6340 (struct lang_hooks): Constify.
6341 (objc_init_options): Update.
6342 (lang_identify): Remove.
6343
11b161d0
JW
6344Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
6345
6346 * fold-const.c (lshift_double): Honor PREC.
6347 (rshift_double): Likewise.
6348
702020d6
KH
63492001-11-08 Kazu Hirata <kazu@hxi.com>
6350
6351 * config/1750a/1750a.c: Fix comment formatting.
6352 * config/1750a/1750a.h: Likewise.
6353
cc9a08e0
PE
63542001-11-08 Phil Edwards <pedwards@disaster.jaj.com>
6355
6356 * configure.in (--enable-languages): Be more permissive about
6357 syntax. Check for empty lists better. Warn about $LANGUAGES.
6358 * configure: Regenerated.
6359
aa1c9d38
RH
63602001-11-08 Richard Henderson <rth@redhat.com>
6361
6362 * dwarf2asm.c (dw2_force_const_mem): Fix typo.
6363
c6243b4c
GK
63642001-11-08 Geoffrey Keating <geoffk@redhat.com>
6365
6366 * config.gcc: Rename stormy16 to xstormy16.
6367 * config/stormy16/stormy-abi: Likewise.
6368 * config/stormy16/stormy16-protos.h: Likewise.
6369 * config/stormy16/stormy16.c: Likewise.
6370 * config/stormy16/stormy16.h: Likewise.
6371 * config/stormy16/stormy16.md: Likewise.
6372
63732001-11-06 Geoffrey Keating <geoffk@redhat.com>
6374
6375 * tree.h (TYPE_VOLATILE): Add enable-checking code.
6376 (TYPE_READONLY): Likewise.
6377
66c60e67
RK
6378Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6379
78571511
RK
6380 * reload1.c (reload): Don't delete equiv insn if can throw.
6381
66c60e67
RK
6382 * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
6383 (clear_storage): Likewise, for OBJECT.
6384
99a2782c
JL
6385Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
6386
6387 * pa.c (emit_move_sequence): Fix SUBREG expression to
6388 use proper byte offset when extending a constant from
6389 SImode to DImode.
6390
89753b3a
JJ
63912001-11-09 Jakub Jelinek <jakub@redhat.com>
6392
6393 * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
6394 which cannot throw.
6395
6608bd4d
RK
6396Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6397
6398 * explow.c (convert_memory_address, case SUBREG): Only return
6399 inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
6400
f098ead2
RH
64012001-11-08 Richard Henderson <rth@redhat.com>
6402
6403 * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
6404 (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
6405 (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
6406
775db490
AH
64072001-11-08 Aldy Hernandez <aldyh@redhat.com>
6408
f607bc57 6409 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
775db490 6410
9eb4015a
JJ
64112001-11-08 Jakub Jelinek <jakub@redhat.com>
6412
6413 * dwarf2out.c (debug_str_hash): New.
6414 (struct indirect_string_node): New.
6415 (struct dw_val_struct): Change type of val_str to it.
6416 (DEBUG_STR_SECTION_FLAGS): Define.
6417 (add_AT_string): Push string into hashtable, increment reference
6418 counter.
6419 (AT_string): Return string from ht_identifier.
6420 (AT_string_form): New.
6421 (free_AT): For dw_val_class_str, just decrement reference counter.
6422 (size_of_string): Remove.
6423 (size_of_die): Use AT_string_form to decide what size the string
6424 occupies in DIE.
6425 (size_of_pubnames): Use strlen instead of size_of_string.
6426 (value_format): Use AT_string_form for dw_val_class_str.
6427 (output_die): Output DW_FORM_strp strings using
6428 dw2_asm_output_offset.
6429 (indirect_string_alloc, output_indirect_string): New.
6430 (dwarf2out_finish): Emit .debug_str strings if there are any.
6431
b21d216c
AF
64322001-11-08 Andreas Franck <afranck@gmx.de>
6433
6434 * configure.in: Add AC_ARG_PROGRAM to support program name
6435 transformation with --program-prefix, --program-suffix and
6436 --program-transform-name.
6437 * configure: Regenerated.
6438 * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
6439 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
6440 GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
6441 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
6442 program_transform_name the way suggested by autoconf.
6443 (GCC_TARGET_INSTALL_NAME): Define.
6444 (install-driver): Use the transformed target alias name.
6445
c8a14e0e
RH
64462001-11-08 Richard Henderson <rth@redhat.com>
6447
6448 * config/mips/mips.c (save_restore_insns): Remove GP from the
6449 restore registers mask early instead of special casing it inside
6450 the loop.
6451
8ac9ea61
NB
64522001-11-08 Neil Booth <neil@daikokuya.demon.co.uk>
6453
6454 * cp/decl.c (shadow_warning): New function.
6455 (pushdecl): Improve -Wshadow warnings. Don't give both a warning
6456 and an error when a block scope decl shadows a parameter.
6457
86724f7f
RH
64582001-11-08 Richard Henderson <rth@redhat.com>
6459
6460 * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
6461 case as well.
6462
8270e11f
JDA
64632001-11-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
6464
6465 * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
6466 to implement floating negation on processors prior to PA 2.0.
6467
d6d26764
JJ
64682001-11-08 Jakub Jelinek <jakub@redhat.com>
6469
6470 * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
6471 (USE_LINKONCE_INDIRECT): Define.
6472 (dw2_output_indirect_constant_1): Try to output indirect constants
6473 into linkonce sections if possible.
6474 (dw2_force_const_mem): Likewise. Register indirect_pool with GGC.
6475 (dw2_output_indirect_constants): Likewise.
6476
58568475
AH
64772001-11-07 Aldy Hernandez <aldyh@redhat.com>
6478
6479 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
6480
2916c085
NB
64812001-11-07 Neil Booth <neil@daikokuya.demon.co.uk>
6482
6483 * c-decl.c (pushdecl): Remove file and line.
6484 * c-typeck.c (pop_init_level): Remove size.
6485
83c6af99
AH
64862001-11-07 Aldy Hernandez <aldyh@redhat.com>
6487
6488 * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
6489 for rs6000.
6490
6491 * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
6492 (TARGET_ALTIVEC): New.
6493 (TARGET_SWITCHES): Add altivec.
6494 (FIRST_PSEUDO_REGISTER): Change to 109.
6495 (CALL_USED_REGISTERS): Same.
6496 (FIRST_ALTIVEC_REGNO): New.
6497 (LAST_ALTIVEC_REGNO): New.
6498 (ALTIVEC_REGNO_P): New.
6499 (UNITS_PER_ALTIVEC_WORD): New.
6500 (ALTIVEC_VECTOR_MODE): New.
6501 (FIXED_REGISTERS): Add altivec registers.
6502 (REG_ALLOC_ORDER): Same.
6503 (HARD_REGNO_NREGS): Adjust for altivec registers.
6504 (HARD_REGNO_MODE_OK): Same.
6505 (MODES_TIEABLE_P): Same.
6506 (REGISTER_MOVE_COST): Same.
6507 (REGNO_REG_CLASS): Same.
6508 (reg_class): Add ALTIVEC_REGS.
6509 (REG_CLASS_NAMES): Same.
6510 (REG_CLASS_CONTENTS): Same.
6511 (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
6512 (ALTIVEC_ARG_RETURN): New.
6513 (FUNCTION_VALUE): Handle VECTOR_TYPE.
6514 (LIBCALL_VALUE): Handle altivec vector modes.
6515 (VECTOR_MODE_SUPPORTED_P): New.
6516 (ALTIVEC_ARG_MIN_REG): New.
6517 (ALTIVEC_ARG_MAX_REG): New.
6518 (ALTIVEC_ARG_NUM_REG): New.
6519 (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
6520 (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
6521 (REGISTER_NAMES): Add altivec regs.
6522 (DEBUG_REGISTER_NAMES): Same.
6523 (ADDITIONAL_REGISTER_NAMES): Same.
6524 (rs6000_builtins): New.
6525 (MD_EXPAND_BUILTIN): New.
6526 (MD_INIT_BUILTINS): New.
6527 (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
6528 for AltiVec instructions.
6529 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
6530 (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
6531 registers.
6532 (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
6533 (TARGET_SWITCHES): Add no-altivec.
6534 (DATA_ALIGNMENT): Align vectors to 128 bits.
6535 (TARGET_OPTIONS): Add abi= option.
6536 Add rs6000_abi_string extern.
6537 (LOCAL_ALIGNMENT): New.
6538 (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
6539 (MASK_ALTIVEC_ABI): New.
6540 (TARGET_ALTIVEC_ABI): New.
6541 (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
6542 call-saved.
6543 (STACK_BOUNDARY): Adjust for altivec.
6544 (BIGGEST_ALIGNMENT): Same.
6545 (rs6000_args): Add vregno.
6546 (USE_ALTIVEC_FOR_ARG_P): New.
6547 (FIXED_REGISTERS): Add vrsave register.
6548 (CALL_USED_REGISTERS): Same.
6549 (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
6550 (VRSAVE_REGNO): New.
6551 (reg_class): Add VRSAVE_REGS.
6552 (REG_CLASS_NAMES): Same.
6553 (REG_CLASS_CONTENTS): Same.
6554 (REGNO_REG_CLASS): Same.
00baba68 6555
83c6af99
AH
6556 * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
6557 (ABI_STACK_BOUNDARY): Same.
6558 (BIGGEST_ALIGNMENT): Same.
6559 (ADJUST_FIELD_ALIGN): Remove undef. Define anew.
6560 (ROUND_TYPE_ALIGN): Same.
00baba68 6561
83c6af99 6562 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
216caa2b
AH
6563 to 64.
6564
6565 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
6566 to 64.
6567
6568 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
83c6af99
AH
6569 to 64.
6570
6571 * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
6572 (altivec_expand_builtin): New.
6573 (altivec_init_builtins): New.
6574 (TARGET_EXPAND_BUILTIN): New.
6575 (TARGET_INIT_BUILTINS): New.
6576 (rs6000_init_builtins): New.
6577 (struct builtin_description): New.
6578 (bdesc_2arg): New.
6579 (rs6000_reg_names): Add altivec registers.
6580 (alt_reg_names): Same.
6581 (secondary_reload_class): Altivec regs can hold altivec regs and
6582 memory.
6583 (rs6000_emit_move): Force constants into memory for AltiVec moves.
6584 (print_operand): Add 'y' case for printing altivec memory
6585 operands.
6586 (rs6000_legitimize_address): Legitimize vector addresses into
6587 [REG+REG] or [REG].
6588 (altivec_expand_binop_builtin): New.
6589 New string rs6000_current_abi.
6590 (rs6000_override_options): Call rs6000_parse_abi_options.
6591 (rs6000_parse_abi_options): New.
6592 (function_arg_boundary): Vector arguments must be 16
6593 byte aligned.
6594 (function_arg_advance): Handle vector arguments.
6595 (function_arg_partial_nregs): Same.
6596 (init_cumulative_args): Same.
6597 (function_arg): Same.
6598
6599 * config/rs6000/rs6000.md (altivec_lvx): New.
6600 (type): Add altivec attribute.
6601 (movv4si): New.
6602 (*movv4si_internal): New.
6603 (movv16qi): New.
6604 (*movv16qi_internal): New.
6605 (movv8hi): New.
6606 (*movv8hi_internal1): New.
6607 (movv4sf): New.
6608 (*movv4sf_internal1): New.
6609 (altivec_stvx): New.
6610 (vaddubm): New.
6611 (vadduhm): New.
6612 (vadduwm): New.
6613 (vaddfp): New.
6614 (vaddcuw): New.
6615 (vaddubs): New.
6616 (vaddsbs): New.
6617 (vadduhs): New.
6618 (vaddshs): New.
6619 (vadduws): New.
6620 (vaddsws): New.
6621 (vand): New.
6622 (vandc): New.
6623 (vavgub): New.
6624 (vavgsb): New.
6625 (vavguh): New.
6626 (vavgsh): New.
6627 (vavguw): New.
6628 (vavgsw): New.
6629 (vcmpbfp): New.
6630 (vcmpequb): New.
6631 (vcmpequh): New.
6632 (vcmpequw): New.
6633 (vcmpeqfp): New.
6634 (vcmpgefp): New.
6635 (vcmpgtub): New.
6636 (vcmpgtsb): New.
6637 (vcmpgtuh): New.
6638 (vcmpgtsh): New.
6639 (vcmpgtuw): New.
6640 (vcmpgtsw): New.
6641 (vcmpgtfp): New.
6642 (vcmpgefp): New.
6643 (vcmpgtub): New.
6644 (vcmpgtsb): New.
6645 (vcmpgtuh): New.
6646 (vcmpgtsh): New.
6647 (vcmpgtuw): New.
6648 (vcmpgtsw): New.
6649 (vcmpgtfp): New.
6650 (vmaxub): New.
6651 (vmaxsb): New.
6652 (vmaxuh): New.
6653 (vmaxsh): New.
6654 (vmaxuw): New.
6655 (vmaxsw): New.
6656 (vmaxfp): New.
6657 (vmrghb): New.
6658 (vmrghh): New.
6659 (vmrghw): New.
6660 (vmrglb): New.
6661 (vmrglh): New.
6662 (vmrglw): New.
6663 (vminub): New.
6664 (vminsb): New.
6665 (vminuh): New.
6666 (vminsh): New.
6667 (vminuw): New.
6668 (vminsw): New.
6669 (vminfp): New.
6670 (vmuleub): New.
6671 (vmulesb): New.
6672 (vmuleuh): New.
6673 (vmulesh): New.
6674 (vmuloub): New.
6675 (vmulosb): New.
6676 (vmulouh): New.
6677 (vmulosh): New.
6678 (vnor): New.
6679 (vor): New.
6680 (vpkuhum): New.
6681 (vpkuwum): New.
6682 (vpkpx): New.
6683 (vpkuhss): New.
6684 (vpkshss): New.
6685 (vpkuwss): New.
6686 (vpkswss): New.
6687 (vpkuhus): New.
6688 (vpkshus): New.
6689 (vpkuwus): New.
6690 (vpkswus): New.
6691 (vrlb): New.
6692 (vrlh): New.
6693 (vrlw): New.
6694 (vslb): New.
6695 (vslh): New.
6696 (vslw): New.
6697 (vsl): New.
6698 (vslo): New.
6699 (vsrb): New.
6700 (vrsh): New.
6701 (vrsw): New.
6702 (vsrab): New.
6703 (vsrah): New.
6704 (vsraw): New.
6705 (vsr): New.
6706 (vsro): New.
6707 (vsububm): New.
6708 (vsubuhm): New.
6709 (vsubuwm): New.
6710 (vsubfp): New.
6711 (vsubcuw): New.
6712 (vsububs): New.
6713 (vsubsbs): New.
6714 (vsubuhs): New.
6715 (vsubshs): New.
6716 (vsubuws): New.
6717 (vsubsws): New.
6718 (vsum4ubs): New.
6719 (vsum4sbs): New.
6720 (vsum4shs): New.
6721 (vsum2sws): New.
6722 (vsumsws): New.
6723 (vxor): New.
6724
2a6f0eca
DB
67252001-11-07 Daniel Berlin <dan@cgsoftware.com>
6726
f607bc57
ZW
6727 * Makefile.in (df.o): Add fibheap.h to dependencies.
6728
6729 * df.h: Add prototypes for transfer functions, iterative_dataflow
6730 functions.
6731 (enum df_flow_dir): New enum.
6732 (enum df_confluence_op): New enum.
6733 (struct df): Add inverse_rts_map.
6734
6735 * df.c: Add sbitmap.h to the list of includes.
6736 (df_rd_global_compute): Removed.
6737 (df_ru_global_compute): Removed.
6738 (df_lr_global_compute): Removed.
6739 (df_rd_transfer_function): New function.
6740 (df_ru_transfer_function): New function.
6741 (df_lr_transfer_function): New function.
6742 (df_analyse_1): allocate/compute/free df->inverse_rts_map.
6743 Use iterative_dataflow_bitmap instead of df_*_global_compute.
6744 (iterative_dataflow_sbitmap): New function.
6745 (iterative_dataflow_bitmap): New function.
2a6f0eca 6746
526ca58c
JM
67472001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
6748
6749 * doc/gcc.texi: Move terminology and spelling conventions to
6750 htdocs/codingconventions.html.
6751
8fb1e50e
GS
67522001-11-07 Graham Stott <grahams@redhat.com>
6753
6754 * cse.c (cse_insn): Emit BARRIER after unconditional jump.
6755
b972dd02
JH
6756Wed Nov 7 13:33:34 CET 2001 Jan Hubicka <jh@suse.cz>
6757
6758 * expmed.c (expand_mult): Force operand to register before computing
6759 cost.
6760 * i386.c (x86_decompose_lea): New global vairable.
6761 * i386.h (x86_decompose_lea): Declare.
6762 (TARGET_DECOMPOSE_LEA): New macro.
6763 (RTX_COST): Handle leas properly.
6764
0d3f10e5
RH
67652001-11-06 Richard Henderson <rth@redhat.com>
6766
6767 * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
6768 defined for a CONSTRUCTOR; don't check it.
6769
4c259acf
DS
67702001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
6771
6772 * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
6773 test for absolute pathnames.
6774
90f4c415
OH
67752001-11-06 Olivier Hainque <hainque@act-europe.fr>
6776
6777 * unwind-dw2.c (execute_cfa_program): Evaluate call frame
6778 instructions up to the target pc inclusive.
6779
bc532bf7
SC
67802001-11-06 Steve Christiansen <smc@us.ibm.com>
6781
6782 * loop.c (loop_regs_scan): Don't invalidate PIC register.
6783
e0e00329
EC
67842001-11-06 Eric Christopher <echristo@redhat.com>
6785
6786 * config/mips/mips.md(movdf_internal2): Add constraints for float
6787 to general register move.
6788 * config/mips/elf64.h: Add default ABI.
6789
d23c55c2
NB
67902001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6791
6792 * alias.c:: Include langhooks.h.
6793 * emit-rtl.c: Similarly.
6794 * toplev.c: Similarly.
6795 * tree-inline.c: Similarly.
6796 * langhooks-def.h: New, the old langhooks.h. Give the default
6797 hooks a common prefix.
6798 * langhooks.h: Contents extracted from toplev.h.
6799 * toplev.h: Move langhook stuff to langhooks.h.
6800 * langhooks.c: Give default hooks a common prefix.
6801
6802 * c-lang.c: Include langhooks-def.h.
6803 * objc/objc-act.c: Similarly.
6804 * Makefile.in: Update.
6805 * objc/Make-lang.in: Update.
6806
80f9249a
JM
68072001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
6808
6809 * doc/install.texi: Document that configure options not listed in
6810 this file are unsupported. Document --with-system-zlib.
6811
9e446a5c
RK
6812Tue Nov 6 09:21:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6813
03f54026
RK
6814 * rtl.h (mem_for_const_double): New declaration.
6815 * varasm.c (mem_for_const_double): New function.
6816 * config/convex/convex.md (movdf): Use it.
6817 * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
6818 * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
6819 * config/m68k/m68kv4.h: Likewise.
6820
bfd82dbf
RK
6821 * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
6822 of new GP reg classes.
6823
9e446a5c
RK
6824 * expr.c (store_field): When making temp object for unaligned
6825 component, set it to alias set 0.
6826
207bf485
JM
68272001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
6828
6829 * c-common.c (c_expand_expr_stmt): Apply default conversions to
6830 non-lvalue arrays if C99.
6831 * c-typeck.c (default_conversion): Split out code handling
6832 array-to-pointer and function-to-pointer conversions into a
6833 separate default_function_array_conversion function.
6834 (default_function_array_conversion): New function. Keep track of
6835 whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue
6836 arrays unchanged outside C99 mode instead of giving an error for
6837 them.
6838 (build_component_ref): Use pedantic_non_lvalue when handling
6839 COMPOUND_EXPR. Don't handle COND_EXPR specially.
6840 (convert_arguments): Use default_function_array_conversion.
6841 (build_unary_op): For ADDR_EXPR, take a flag indicating whether
6842 non-lvalues are OK.
6843 (unary_complex_lvalue): Likewise.
6844 (internal_build_compound_expr): Use
6845 default_function_array_conversion. Apply default conversions to
6846 function in compound expression.
6847 (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
6848 Use default_function_array_conversion.
6849 * doc/extend.texi: Update documentation of subscripting non-lvalue
6850 arrays.
6851 Fixes PR c/461.
6852
9f6682b7
ZW
68532001-11-05 Zack Weinberg <zack@codesourcery.com>
6854
6855 * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
6856 (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
6857 corresponding to the complete set of .po and .gmo files in
6858 the source directory's po subdir, modified by LINGUAS. Don't
6859 look at ALL_LINGUAS.
e0e00329 6860 * configure.in: Don't set ALL_LINGUAS.
9f6682b7
ZW
6861 * configure: Regenerate.
6862
6863 * Makefile.in (.po.gmo): Don't move into source directory.
6864 (.po.pox): Clarify comments.
6865 (install-po): Look for .gmo files in both srcdir and objdir;
e0e00329 6866 don't fail if a file is totally missing.
9f6682b7
ZW
6867 (distclean): rmdir ada subdirectory too.
6868
f3afc192
GK
68692001-11-05 Geoffrey Keating <geoffk@redhat.com>
6870
6871 * config/rs6000/rs6000.c (rs6000_select_section): Handle
6872 CONSTRUCTORs _correctly_.
6873
e6ec164c
NB
68742001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6875
6876 * c-decl.c (delete_block): Remove.
6877 * c-tree.h (delete_block): Remove.
6878
63d75005
NB
68792001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6880
6881 * cppexp.c (lex, parse_defined): Update warning about defined.
6882
ac4f7ad9
GK
68832001-11-05 Geoffrey Keating <geoffk@redhat.com>
6884
6885 * config/rs6000/rs6000.c (rs6000_select_section): Handle
6886 CONSTRUCTORs too.
6887
648f5f04
NC
68882001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
6889
e529bd42
NC
6890 * config/arm/arm.c (arm_return_in_memory): Cope with
6891 int_size_in_bytes returning -1.
6892
648f5f04
NC
6893 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
6894 DECL being NULL.
6895
d56a8211
JH
6896Mon Nov 5 16:15:25 CET 2001 Jan Hubicka <jh@suse.cz>
6897
a1f300c0 6898 * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
eaec9b3d 6899 remove unneeded dependencies;
d56a8211
JH
6900 (cfglayout.o): New.
6901 * cfglayout.c, cfglayout.h: New files; break out from ...
e0e00329 6902 * bb-reorder.c: ... here; Remove unneeded includes;
d56a8211 6903
46aaf10d
DE
69042001-11-04 Alan Modra <amodra@bigpond.net.au>
6905
6906 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
6907
69082001-11-04 David Edelsohn <edelsohn@gnu.org>
6909
6910 * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
6911 mode as well. Do not explicitly create intermediate regs.
6912
5f37d07c
KG
69132001-11-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6914
6915 * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
6916 (common_section): Delete unused variable.
6917 (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
6918 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6919 * arm-protos.h (arm_poke_function_name, aof_add_import,
6920 aof_delete_import): Const-ify.
6921 * arm.c (legitimize_pic_address): Wrap variables in the macro
6922 controlling their usage.
6923 (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
6924 (arm_poke_function_name, pic_chain, import, aof_add_import,
6925 aof_delete_import): Const-ify.
6926 * i386.c (ix86_osf_output_function_prologue): Const-ify.
6927 * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6928 ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6929 * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6930 * i860/sysv3.h: Add missing comment closure.
6931 * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6932 * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6933 to symbolic_operand.
9f6682b7 6934
5f37d07c
KG
6935 * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6936 (i960-*-*): Set tmake_file.
6937 (sparc86x-*-elf*): Fix typo in header name.
9f6682b7 6938
5f37d07c
KG
6939 * sched-rgn.c (schedule_insns): Delete unused variable.
6940
e9b2c823
NB
69412001-11-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6942
6943 PR c/2820
6944 * c-typeck.c (lookup_field): Rework to return a chain down to
6945 the looked-up field.
6946 (build_component_ref): Use the new lookup_field to handle
6947 nested anonymous entities correctly.
6948
f2827474
RK
6949Sun Nov 4 11:53:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6950
6951 * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
6952 Change parameters to gen_rtx_CONST_DOUBLE.
6953 (GEN_INT64, sparc_emit_set_const64): Likewise.
6954 * config/sparc/sparc.md (movdf split): Likewise.
6955
52560c7b
GK
69562001-11-03 Geoffrey Keating <geoffk@redhat.com>
6957
27d80140
GK
6958 * unroll.c (calculate_giv_inc): Use find_last_value rather
6959 than just hoping the last instruction is the right SET.
6960 [Fixes 990604-1.c on stormy16.]
6961
3eaaf577
GK
6962 * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
6963 library at all if -T is used.
6964
e9818db2
GK
6965 * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
6966 some uses of uninitialized variables in error cases.
6967
5766e0ef
GK
6968 * config/stormy16/stormy16.c (stormy16_output_shift): Don't
6969 look at 'temp' if we won't be using it.
6970
3fdb2f71
GK
6971 * config/stormy16/stormy16.h (CONST_COSTS): Define.
6972 (RTX_COSTS): Define.
6973 (ADDRESS_COST): Define.
6974 (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
6975
e06bc4e1
GK
6976 * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
6977
52560c7b
GK
6978 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
6979 stormy16_asm_output_mi_thunk.
6980 * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
6981 function.
6982 * config/stormy16/stormy16-protos.h
6983 (stormy16_asm_output_mi_thunk): New prototype.
6984
f5143c46
JM
69852001-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
6986
6987 * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
6988 FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
6989 caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
6990 cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
6991 sched-int.h, toplev.c, config/alpha/alpha.c,
6992 config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
6993 config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
6994 config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
6995 config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
6996 config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
6997 config/ns32k/ns32k.md, config/rs6000/rs6000.c,
6998 config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
6999
55710451
KG
70002001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7001
c3fb23f4
KG
7002 * Makefile.in (dbxout.o): Depend on function.h.
7003 * collect2.c (is_in_list): Hide unused function.
7004 * dbxout.c: Include function.h.
7005 (source_label_number, dbxout_source_line, dbxout_source_file,
7006 dbxout_function_end, dbxout_begin_function): Wrap/move inside
7007 macros controlling usage.
7008 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
7009 * output.h (exports_section): Prototype.
7010
55710451
KG
7011 * convex.c (convex_output_function_prologue): Fix format specifier
7012 warning.
7013 (asm_declare_function_name): Fix signed/unsigned warning.
7014 (print_operand): Fix format specifier warning.
7015 * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
7016 * dsp16xx-protos.h (uns_comparison_operator,
7017 num_1600_core_shifts): Prototype.
7018 * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
7019 (frame_size, frame_pointer_offset): Delete.
7020 (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
7021 Make static. Fix format specifier warnings.
7022 * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
7023 (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
7024 * dsp16xx.md: Add default case in switches.
7025 * fr30.h (IN_RANGE): Delete.
7026 * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7027 * mcore-protos.h (mcore_output_cmov): Const-ify.
7028 * mcore.c (mcore_output_cmov): Likewise.
7029 * mcore.h (switch_to_section): Make static and prototype.
7030 * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
7031 unsigned>=0 warnings.
7032 * mn10300.h (REGNO_IN_RANGE_P): Likewise.
7033 * rs6000-protos.h (read_only_data_section,
7034 read_only_private_data_section): Prototype.
7035 * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
7036 * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
7037 * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
7038
1943c2c1
KG
70392001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7040
40cdfca6
KG
7041 * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
7042 ATTRIBUTE_UNUSED.
7043 * final.c (final_scan_insn): Add brackets around body of if-stmt.
7044 * gcc.c (convert_filename): Add static prototype. Const-ify.
7045 Wrap variable in macros controlling its use.
7046 * output.h (sdata_section): Add prototype.
7047
1943c2c1
KG
7048 * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
7049 (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
7050 * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
7051 (ASM_FILE_START): Const-ify.
7052 (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
7053 specifier warning.
7054 * c4x.md: Don't use the 'U' integer suffix.
7055 * clipper.md (clipper_movstr): Delete declaration.
7056 * d30v-protos.h (d30v_move_2words): Const-ify.
7057 (debug_stack_info): Add prototype.
7058 * d30v.c: Include "integrate.h".
7059 (d30v_function_arg_boundary, d30v_function_arg,
7060 d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
7061 signed/unsigned warnings.
7062 (d30v_print_operand_memory_reference, d30v_move_2words):
7063 Const-ify.
7064 * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
7065 * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
7066 * fr30.md: Const-ify.
7067 * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
7068 * i370.c (i370_label_scan, mvs_get_label): Make definition static.
7069 (mvs_get_label_page): Hide unused static function.
7070 * i860.c (current_function_original_name): Const-ify.
7071 * i860/sysv3.h (current_function_original_name): Likewise.
7072 * i860/sysv4.h (current_function_original_name): Likewise.
7073 * i960.md: Add default case in switches. Remove unused variable.
7074 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
7075 * m32r.md: Const-ify.
7076 * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
7077 * m68hc11.c: Include "reload.h".
7078 (static_chain_reg, print_options, m68hc11_asm_file_start):
7079 Const-ify.
7080 * m68hc11.md: Delete unused variable. Const-ify. Add parens
7081 around & in comparison.
7082 * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7083 * mn10200.c (shift_mode): Remove trailing comma.
7084 * mn10300-protos.h (output_tst): Const-ify.
7085 * mn10300.c (output_tst): Likewise.
7086 * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
7087 warnings.
7088 * pa-protos.h (output_ascii): Use regular char *, not unsigned.
7089 * pa.c (output_ascii): Likewise.
7090 * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
7091 * pdp11.md (expand_unop): Delete declarations.
7092 * pj-protos.h (pj_output_addsi3): Const-ify.
7093 * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
7094 pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
7095 unique_src_operand): Add prototypes.
7096 (pj_output_store_into_lval): Make definition static.
7097 (pj_function_incoming_arg): Don't use unary plus.
7098 (pj_output_addsi3): Const-ify.
7099 * romp.md (get_symref): Delete declarations.
7100 * v850-c.c (mark_current_function_as_interrupt): Don't return
7101 value from void function.
7102 * v850.c: Include "integrate.h".
7103 * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
7104 * vax-protos.h (const_section): Add prototype.
7105
7ba2b35c
AH
71062001-11-03 Aldy Hernandez <aldyh@redhat.com>
7107
9f6682b7
ZW
7108 * machmode.def: Add documentation for the seventh argument in
7109 vector modes.
7ba2b35c 7110
7fba3293
HPN
71112001-11-04 Hans-Peter Nilsson <hp@bitrange.com>
7112
7113 * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
7114 consistently.
7115 <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
7116 <-melf>: Don't have markup for ELF acronym.
7117
bcf684c7
HPN
71182001-11-03 Hans-Peter Nilsson <hp@bitrange.com>
7119
7120 * config.gcc (mmix-*-*): New target.
7121 * doc/invoke.texi: Document MMIX options.
7122 * doc/contrib.texi: Add note about MMIX port to my entry.
7123 * config/mmix/t-mmix: New file.
7124 * config/mmix/mmix.h: New file.
7125 * config/mmix/mmix-protos.h: New file.
7126 * config/mmix/mmix.c: New file.
7127 * config/mmix/mmix.md: New file.
7128 * config/mmix/crti.asm: New file.
7129 * config/mmix/crtn.asm: New file.
7130
80ffc95e
KH
71312001-11-03 Kazu Hirata <kazu@hxi.com>
7132
7133 * config/sparc/linux-aout.h: Fix comment formatting.
7134 * config/sparc/linux.h: Likewise.
7135 * config/sparc/linux64.h: Likewise.
7136 * config/sparc/lynx.h: Likewise.
7137 * config/sparc/pbd.h: Likewise.
7138 * config/sparc/sol2-sld-64.h: Likewise.
7139 * config/sparc/sol2.h: Likewise.
7140 * config/sparc/sparc.c: Likewise.
7141 * config/sparc/sparc.h: Likewise.
7142 * config/sparc/sparc.md: Likewise.
7143 * config/sparc/sunos4.h: Likewise.
7144 * config/sparc/vxsim.h: Likewise.
7145 * config/sparc/vxsparc.h: Likewise.
7146 * config/sparc/vxsparc64.h: Likewise.
7147
343fb412
RK
7148Sat Nov 3 10:37:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7149
a79e3a45 7150 * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
00baba68 7151 reference to CONST_DOUBLE_MEM in comment.
a79e3a45
RK
7152 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
7153 (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
7154 (init_emit_once): Don't clear CONST_DOUBLE_MEM.
7155 * function.c (pop_function_context_from): Don't call
7156 restore_varasm_status.
7157 * function.h (restore_varasm_status): Delete declaration.
7158 * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
7159 * rtl.c: Likewise.
7160 * rtl.def (CONST_DOUBLE): Update comment.
7161 * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
7162 (CONST_DOUBLE_CHAIN): Likewise.
7163 (CONST_DOUBLE_MEM): Delete.
7164 (gen_rtx_CONST_DOUBLE): Update parameters.
7165 * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
7166 Remove reference to CONST_DOUBLE_MEM.
7167 (const_alias_set): New variable.
7168 (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
7169 (immed_real_const_1): Adjust tests for 0, 1, and 2.
7170 Don't set CONST_DOUBLE_MEM.
7171 (clear_const_double_mem): Don't do anything with const_tiny_rtx.
7172 (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
7173 Put constant in const_alias_set.
7174 (struct pool_constant): ALIGN now unsigned.
7175 OFFSET now HOST_WIDE_INT.
7176 Delete LABEL.
7177 (restore_varasm_status): Deleted.
7178 (mark_pool_constant): Mark desc->rtl.
7179 (force_const_mem): Rework to store rtl in hash table,
7180 not CONST_DOUBLE_MEM.
7181 Put constant in const_alias_set.
7182 (find_pool_constant): Check desc->rtl.
7183 (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
7184 (init_varasm_once): Initialize const_alias_set.
7185
d6b6783b
RK
7186 * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
7187 force_const_mem.
7188
6b3736a1
RK
7189 * reload.c (combine_reloads): Don't combine an output reload if there
7190 are other reloads around for part of the output.
7191
7192 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
7193 constant expression.
7194 (set_mem_decl): New function.
7195 * expr.h (set_mem_decl): New declaration.
7196 * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
7197 (output_asm_operand_names): Add tab.
7198 * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
7199
343fb412
RK
7200 * builtins.c (get_memory_rtx): Properly set MEM alias set and
7201 attributes.
7202
13ba36b4
JM
72032001-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
7204
7205 * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
7206 Use "invalid" instead of "illegal". Use @r in comments in
7207 examples.
7208
234f46ae
NB
72092001-11-02 Neil Booth <neil@daikokuya.demon.co.uk>
7210
7211 * c-decl.c (pushdecl): Move block inside if conditional to remove
7212 possibility of a segfault. Lookup block-level extern
7213 variables in enclosing scopes correctly.
7214
7215 * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
7216
bb33f166
AH
72172001-11-02 Aldy Hernandez <aldyh@redhat.com>
7218
9f6682b7
ZW
7219 * expmed.c (store_bit_field): Use simplify_gen_subreg to make
7220 SUBREG so we avoid SUBREGing memory.
bb33f166 7221
9f6682b7 7222 * expmed.c (store_bit_field): Same.
bafe341a 7223
c9e8cb32
DD
72242001-11-02 DJ Delorie <dj@redhat.com>
7225
7226 * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
7227 using FP registers for DImode mem-mem moves is acceptable.
7228
720ea9b1
AH
72292001-11-02 Aldy Hernandez <aldyh@redhat.com>
7230
7231 * builtins.c (apply_args_size): Handle vector arguments.
7232 (apply_result_size): Same.
7233
9f6682b7 7234 * machmode.def: Set WIDER mode field for all vector entries.
720ea9b1 7235
f5a5ea4a
GS
72362001-11-02 Graham Stott <grahams@redhat.com>
7237
7238 * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
7239
009da785
EC
72402001-11-01 Eric Christopher <echristo@redhat.com>
7241
9f6682b7
ZW
7242 * config.gcc: Revert part of earlier patch.
7243 * config/mips/linux.h: Ditto.
009da785 7244 * df.c: Include tm_p.h to avoid warnings.
9f6682b7 7245 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
009da785
EC
7246 #if/#endif.
7247 * config/mips/mips.c: Define mips_abi regardless.
7248 (mips_output_function_prologues): Add long casts for .frame
7249 output.
7250 (override_options): Allow use of ABI_32.
7251
9caea35c
KH
72522001-11-01 Kazu Hirata <kazu@hxi.com>
7253
7254 * config/m68hc11/m68hc11.c: Fix comment formatting.
7255 * config/m68hc11/m68hc11.h: Likewise.
7256 * config/m68hc11/m68hc11.md: Likewise.
7257
157689c6
NB
72582001-11-01 Neil Booth <neil@daikokuya.demon.co.uk>
7259
7260 * c-typeck.c (default_conversion): Retain the original expression
7261 codes.
7262 * gcc.dg/Wparentheses.c: New tests.
7263
edf1c8df
DM
72642001-11-01 David S. Miller <davem@redhat.com>
7265
7266 * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
7267 64-bit Sparc description more in line with reality.
7268
5735c3ea
JM
72692001-11-01 Joseph S. Myers <jsm28@cam.ac.uk>
7270
7271 * Makefile.in (GCOV_OBJS): Add version.o.
7272 * gcov.c: Include "version.h" and <getopt.h>.
7273 (gcov_version_string): Remove.
7274 (print_usage): Take a parameter to determine whether this is a
7275 call from --help or an error message. Give fuller output that
7276 follows the GNU Coding Standards for --help.
7277 (print_version): New function.
7278 (options): New.
7279 (process_args): Use getopt_long. Support long options. Follow
7280 GNU Coding Standards for --help and --version.
7281 * doc/gcov.texi: Document long options.
7282 Addresses part of PR other/704.
7283
6126a380
JDA
72842001-11-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
7285
7286 * pa.c (output_move_double): Fix typo in double load.
7287
93cacb72
KH
72882001-11-01 Kazu Hirata <kazu@hxi.com>
7289
7290 * config/h8300/h8300.c (h8300_encode_label): Compute a string
7291 before passing it to ggc_alloc_string.
7292
7a1929e1
KH
72932001-11-01 Kazu Hirata <kazu@hxi.com>
7294
7295 * config/m68k/3b1.h: Fix comment formatting.
7296 * config/m68k/3b1g.h: Likewise.
7297 * config/m68k/a-ux.h: Likewise.
7298 * config/m68k/amix.h: Likewise.
7299 * config/m68k/apollo68.h: Likewise.
7300 * config/m68k/atari.h: Likewise.
7301 * config/m68k/aux-exit.c: Likewise.
7302 * config/m68k/ccur-GAS.h: Likewise.
7303 * config/m68k/crds.h: Likewise.
7304 * config/m68k/dpx2.h: Likewise.
7305 * config/m68k/dpx2g.h: Likewise.
7306 * config/m68k/hp310.h: Likewise.
7307 * config/m68k/hp320.h: Likewise.
7308 * config/m68k/isi.h: Likewise.
7309 * config/m68k/linux.h: Likewise.
7310 * config/m68k/lynx.h: Likewise.
7311 * config/m68k/m68k-psos.h: Likewise.
7312 * config/m68k/m68k.c: Likewise.
7313 * config/m68k/m68k.h: Likewise.
7314 * config/m68k/m68k.md: Likewise.
7315 * config/m68k/m68kelf.h: Likewise.
7316 * config/m68k/m68kv4.h: Likewise.
7317 * config/m68k/mot3300.h: Likewise.
7318 * config/m68k/news.h: Likewise.
7319 * config/m68k/next.h: Likewise.
7320 * config/m68k/pbb.h: Likewise.
7321 * config/m68k/plexus.h: Likewise.
7322 * config/m68k/sgs.h: Likewise.
7323 * config/m68k/sun3.h: Likewise.
7324 * config/m68k/tower.h: Likewise.
7325 * config/m68k/vxm68k.h: Likewise.
7326
d490e8ad
DD
73272001-10-31 DJ Delorie <dj@redhat.com>
7328
7329 * config/mips/mips.h (mips_cache_flush_func): Prototype.
7330 (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
7331 (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
7332 * config/mips/mips.c (mips_cache_flush_func): New.
7333 * doc/invoke.texi: Document the new options.
7334
b4ac17fc
HPN
73352001-10-31 Hans-Peter Nilsson <hp@axis.com>
7336
7337 * config.gcc (cris-*-linux*, tm_file): Rearrange order.
7338 * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
7339
2b371d25
HPN
7340 * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
7341
78b14aa6
HPN
7342 * config/cris/cris.c: Include output.h after tree.h but before
7343 target.h.
7344
5b7874aa
ZW
73452001-10-31 Zack Weinberg <zack@codesourcery.com>
7346
7347 * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
7348 (INTL_SUBDIRS): Just intl.
7349 (.SUFFIXES): Add .gmo .po .pox.
7350 (native): Also depend on build-@POSUB@.
7351 (intl.all, intl.install): Depend on config.h and things it includes.
7352 (po-generated): New target; depend on c-parse.c and tradcif.c.
7353 (install-normal): Also depend on install-@POSUB@.
7354 (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
7355 (build-, install-, build-po, update-po, install-po,
7356 .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
7357
7358 * aclocal.m4: Prefix each entry in CATALOGS with "po/"
7359 * configure.in: Don't munge XGETTEXT. Don't generate
7360 po/Makefile.in.
7361 * configure: Regenerate.
7362
7363 * exgettext: Delete.
7364 * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
7365 * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
7366
5fb56602
KH
73672001-10-31 Kazu Hirata <kazu@hxi.com>
7368
7369 * config/h8300/h8300.md (two anonymous patterns): New.
7370
b63781e9
AH
73712001-10-31 Aldy Hernandez <aldyh@redhat.com>
7372
7373 * tree.h (tree_index): Add support for V16QI and V8HI.
7374 (V8HI_type_node): New.
7375 (V16QI_type_node): New.
7376
7377 * tree.c (build_common_tree_nodes_2): Same.
7378
7379 * c-common.c (type_for_mode): Same.
7380
892a2d68
KH
73812001-10-31 Kazu Hirata <kazu@hxi.com>
7382
7383 * config/i386/att.h: Fix comment formatting.
7384 * config/i386/beos-elf.h: Likewise.
7385 * config/i386/bsd.h: Likewise.
7386 * config/i386/bsd386.h: Likewise.
7387 * config/i386/crtdll.h: Likewise.
7388 * config/i386/cygwin.asm: Likewise.
7389 * config/i386/cygwin.h: Likewise.
7390 * config/i386/djgpp.h: Likewise.
7391 * config/i386/freebsd-aout.h: Likewise.
7392 * config/i386/freebsd.h: Likewise.
7393 * config/i386/gas.h: Likewise.
7394 * config/i386/i386-interix.h: Likewise.
7395 * config/i386/i386-protos.h: Likewise.
7396 * config/i386/i386.c: Likewise.
7397 * config/i386/i386.h: Likewise.
7398 * config/i386/i386.md: Likewise.
7399 * config/i386/i386elf.h: Likewise.
7400 * config/i386/interix.c: Likewise.
7401 * config/i386/isc.h: Likewise.
7402 * config/i386/isccoff.h: Likewise.
7403 * config/i386/iscdbx.h: Likewise.
7404 * config/i386/linux.h: Likewise.
7405 * config/i386/lynx.h: Likewise.
7406 * config/i386/mingw32.h: Likewise.
7407 * config/i386/netbsd-elf.h: Likewise.
7408 * config/i386/next.h: Likewise.
7409 * config/i386/osf1elf.h: Likewise.
7410 * config/i386/osfrose.h: Likewise.
7411 * config/i386/sco5.h: Likewise.
7412 * config/i386/seq-gas.h: Likewise.
7413 * config/i386/seq-sysv3.h: Likewise.
7414 * config/i386/sequent.h: Likewise.
7415 * config/i386/sol2.h: Likewise.
7416 * config/i386/sun386.h: Likewise.
7417 * config/i386/uwin.asm: Likewise.
7418 * config/i386/uwin.h: Likewise.
7419 * config/i386/vxi386.h: Likewise.
7420 * config/i386/win32.h: Likewise.
7421 * config/i386/winnt.c: Likewise.
7422 * config/i386/xm-cygwin.h: Likewise.
7423 * config/i386/xm-mingw32.h: Likewise.
7424
5519a4f9
KH
74252001-10-31 Kazu Hirata <kazu@hxi.com>
7426
7427 * builtins.def: Fix comment typos.
7428 * config/alpha.c: Likewise.
7429 * config/arm/arm.c: Likewise.
7430 * config/avr/avr.h: Likewise.
7431 * config/d30v/d30v.c: Likewise.
7432 * config/d30v/d30v.h: Likewise.
7433 * config/d30v/d30v.md: Likewise.
7434 * config/dsp16xx/dsp16xx.c: Likewise.
7435 * config/fr30/fr30.c: Likewise.
7436 * config/fr30/fr30.md: Likewise.
7437 * config/i386/i386.c: Likewise.
7438 * config/i860/i860.c: Likewise.
7439 * config/i960/i960.c: Likewise.
7440 * config/ia64/ia64.c: Likewise.
7441 * config/mips/mips.c: Likewise.
7442 * config/pa/pa.c: Likewise.
7443 * config/rs6000/rs6000.c: Likewise.
7444 * config/s390/s390.c: Likewise.
7445 * config/sparc/sparc.c: Likewise.
7446
987ba558
KH
74472001-10-30 Kazu Hirata <kazu@hxi.com>
7448
54aa2c51
KH
7449 * config/mips/elf.h: Fix comment formatting.
7450 * config/mips/elf64.h: Likewise.
7451 * config/mips/iris5.h: Likewise.
7452 * config/mips/iris5gas.h: Likewise.
7453 * config/mips/iris6.h: Likewise.
7454 * config/mips/isa3264.h: Likewise.
7455 * config/mips/linux.h: Likewise.
7456 * config/mips/mips.c: Likewise.
7457 * config/mips/mips.h: Likewise.
7458 * config/mips/mips.md: Likewise.
7459 * config/mips/mips16.S: Likewise.
7460 * config/mips/netbsd.h: Likewise.
7461 * config/mips/osfrose.h: Likewise.
7462 * config/mips/r3900.h: Likewise.
7463 * config/mips/sni-svr4.h: Likewise.
7464 * config/mips/svr4-t.h: Likewise.
7465 * config/mips/ultrix.h: Likewise.
987ba558 7466
87a2e7a8
DB
74672001-10-30 Daniel Berlin <dan@cgsoftware.com>
7468
7469 * bitmap.c (bitmap_element_free): Don't forget to update head->indx
7470 when we update head->current.
7471
e7175247
NB
74722001-10-30 Neil Booth <neil@daikokuya.demon.co.uk>
7473
7474 * tree.c (id_string_size): Remove.
7475 (dump_tree_statistics): Update.
7476 * toplev.c (compile_file): If dumping stats, dump tree stats too.
7477
6bbdfefd
JH
7478Tue Oct 30 19:00:43 CET 2001 Jan Hubicka <jh@suse.cz>
7479
7480 * sched-rgn.c (schedule_insns): Fix comment.
7481
5fed851d
ZW
74822001-10-30 Zack Weinberg <zack@codesourcery.com>
7483
7484 * configure.in: Correct previous change: don't assume that
7485 gas's version number _isn't_ the last thing on the line, or
7486 isn't the only number on the line, either.
7487 * configure: Regenerate.
7488
79f5e6be
KH
74892001-10-30 Kazu Hirata <kazu@hxi.com>
7490
7491 * cfgcleanup.c: Fix a comment typo.
7492
e5837c07
KH
74932001-10-30 Kazu Hirata <kazu@hxi.com>
7494
7495 * alias.c: Fix comment formatting.
7496 * recog.c: Likewise.
7497 * config/cris/cris.c: Likewise.
7498 * config/cris/cris.h: Likewise.
7499 * config/i960/i960.c: Likewise.
7500 * config/i960/i960.h: Likewise.
7501
3569057d
KH
75022001-10-30 Kazu Hirata <kazu@hxi.com>
7503
bc70506b 7504 * config/arm/arm.c: Fix a comment typo.
3569057d
KH
7505 * config/arm/arm.h: Likewise.
7506 * config/ia64/ia64.c: Likewise.
7507
3d238248
JJ
75082001-10-30 Jakub Jelinek <jakub@redhat.com>
7509
7510 * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
7511 REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
7512 * rtl.h (set_unique_reg_note): Change return value.
7513 * gcse.c (try_replace_reg): Use set_unique_reg_note.
7514 * cse.c (cse_insn): Likewise.
7515 * expr.c (emit_move_insn): Likewise.
7516 * explow.c (force_reg): Likewise.
7517 * local-alloc (update_equiv_regs): Likewise.
7518 * loop.c (move_moveables, load_mems): Likewise.
7519 * reload (find_reloads): Likewise.
7520
53fcdc76
PB
75212001-10-30 Paolo Bonzini <bonzini@gnu.org>
7522
7523 Localization fixes.
7524 * c-decl.c (parmlist_tags_warning, start_struct,
7525 check_for_loop_decls): Separate messages for struct, union and
7526 enum cases to allow for languages in which they have different
7527 genders.
7528 * c-format.c (scanf_flag_specs): Separate short and long name of
7529 the assignment suppression feature.
7530 (check_format_types): Localize "pointer" and "different types"
7531 strings.
7532 * c-lex.c (lex_number): Localize "an unsigned long int" and
7533 related strings.
7534 (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
7535 warning message.
7536 * c-typeck.c (build_unary_up): Separate messages for increment and
7537 decrement cases to allow for languages in which they use different
7538 articles. Localize the strings "increment" and "decrement" in one
7539 case.
7540
73991d6a
JH
7541Tue Oct 30 11:08:11 CET 2001 Jan Hubicka <jh@suse.cz>
7542
7543 * lcm.c (optimize_mode_switching): Do not rebuild liveness information
7544 when no changes has been made.
7545
7546 * gcse.c (reg_set_bitmap): Turn into reg_set.
7547 (modify_mem_list_set, canon_modify_mem_list_set)
7548 (clear_modify_mem_tables, free_modify_mem_tables): New.
7549 (gcse_main); Use free_modify_mem_tables.
7550 (free_gcse_mem): Likewise; free the bitmaps.
7551 (alloc_gcse_main): Initialize the bitmaps.
7552 (canon_list_insert): Set canon_modify_mem_list_set.
7553 (record_last_mem_set_info): Likewise; set modify_mem_list_set.
7554 (compute_hash_table): Use clear_modify_mem_tables.
7555 (reset_opr_set_tables): Likewise.
7556 (oprs_not_set_p): reg_set_bitmap is regset.
7557 (mark_set, mark_clobber): Likewise.
7558
7559 * df.h (DF_EQUIV_NOTES): New constant.
7560 (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
7561 when asked for.
7562
7563 * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
7564 (init_regions, schedule_insns): Conditionalize the checking
7565 code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
7566
4fe8523b
JH
7567Tue Oct 30 11:02:31 CET 2001 Jan Hubicka <jh@suse.cz>
7568
7569 * i386.md (movti_rex64 splitter): Fix condition.
7570
79e2e160
ZW
75712001-10-29 Zack Weinberg <zack@codesourcery.com>
7572
0461a052
ZW
7573 * configure.in: Do not assume that gas's version number is the
7574 last thing on the first line of as --version output.
7575 * configure: Regenerate.
5b7874aa 7576
79e2e160
ZW
7577 * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to
7578 MT_WARNING, MT_ERROR, MT_FATAL.
7579 (main): Call gcc_init_libintl.
7580 (v_message): Call gettext on msgid and "warning: "
7581 * tradcif.y: Include intl.h.
7582 (yyerror): Make parameter definition consistent with
7583 prototype. Call gettext on msgid argument.
7584
1ac04695
KG
75852001-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7586
b016d07e
KG
7587 * combine.c (num_sign_bit_copies): Avoid signed/unsigned
7588 warnings.
7589
1ac04695
KG
7590 * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
7591
cd7c9015
RK
7592Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7593
7594 * reload1.c (eliminate_regs): Test for reg_renumber being allocated
7595 before referencing it.
7596
f3597919
DD
75972001-10-26 DJ Delorie <dj@redhat.com>
7598
7599 * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
7600 override -G, and force -G0.
7601
affd4f33
JM
76022001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
7603
684d9f3b
JM
7604 * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
7605 FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
7606 c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
7607 timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
7608
affd4f33
JM
7609 * loop.h (struct induction): Rename ext_dependant to
7610 ext_dependent.
7611 * loop.c: Change all uses.
7612 (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
7613 All callers changed.
7614 * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
7615
686deecb
JM
76162001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
7617
7618 * c-parse.in (expr_no_commas, primary), c-typeck.c
7619 (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
7620
54ee9799
DE
76212001-10-29 David Edelsohn <edelsohn@gnu.org>
7622
7623 Undo assemble_name change in earlier patch.
7624
92bcd93d 7625Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
5b7874aa 7626
92bcd93d
NP
7627 * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
7628 determining the type of the receiver, do not check that TREE_CODE
54ee9799
DE
7629 of receiver is CALL_EXPR before calling receiver_is_class_object().
7630 (receiver_is_class_object): For the GNU runtime: recognize
92bcd93d
NP
7631 the case that the receiver is self in a class method context.
7632 Check that TREE_CODE of receiver is CALL_EXPR when checking that
7633 the receiver is a call to objc_get_class.
7634
4ff3bd5f
JDA
76352001-10-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
7636
7637 * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
7638
94784fb9
RK
7639Mon Oct 29 07:23:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7640
15228eb6
RK
7641 * Makefile.in (OBJS): Put all files in alphabetical order.
7642
94784fb9
RK
7643 * dwarf2out.c (add_const_value_attribute): Fix error in last
7644 change.
7645
473fb060
JH
7646Mon Oct 29 12:43:06 CET 2001 Jan Hubicka <jh@suse.cz>
7647
7648 * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
7649 * cfgcleanup.c (merge_blocks): Update the life flag after merging;
7650 fix warning.
7651 * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
7652 (life_analysis): call purge_all_dead_edges after deleting noops.
7653 (delete_noop_move): Do not purge CFG.
7654 * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
7655
d2574c50
DE
76562001-10-28 David Edelsohn <edelsohn@gnu.org>
7657
7658 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
7659 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
7660 (ASM_GLOBALIZE_LABEL): Use assemble_name.
7661 (ASM_OUTPUT_COMMON): Likewise.
7662 * config/rs6000/rs6000.c (print_operand): Use assemble_name.
7663 (rs6000_output_function_epilogue): Likewise.
7664 (output_mi_thunk): Fix typo.
7665 (rs6000_output_symbol_ref): Use assemble_name.
7666 (output_toc): Likewise.
7667 * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
7668 * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
7669 assemble_name calls STRIP_NAME_ENCODING.
7670 (ASM_OUTPUT_LABEL): Use assemble_name.
7671 (ASM_GLOBALIZE_LABEL): Likewise.
7672 (ASM_DECLARE_FUNCTION_NAME): Likewise.
7673 (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name.
7674 (ASM_OUTPUT_LOCAL): Likewise.
7675
ce2d32cd
RK
7676Sun Oct 28 15:45:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7677
7678 * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
7679 (expand_builtin_apply, expand_builtin_return): Likewise.
7680 (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
7681
67dda4b5
JM
76822001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
7683
ff7cc307
JM
7684 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7685 ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
7686 c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
7687 configure, configure.in, except.c, except.h, flow.c, function.c,
7688 gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
7689 predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
7690 sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
7691 unroll.c: Fix spelling errors.
7692
0c688a7d
JM
7693 * doc/extend.texi, doc/invoke.texi: Fix spelling.
7694
67dda4b5
JM
7695 * doc/gcc.texi: Document use of "dependent" and American spelling.
7696
58f69841
JH
7697Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
7698
7699 * expr.c (emit_group_load): Support CONCATs by storing them to memory
7700 and reloading.
7701
61cb205c
RK
7702Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7703
7704 * expr.c (store_constructor_field): Only call adjust_address on MEM.
7705
9591d210
JH
7706Sun Oct 28 16:48:09 CET 2001 Jan Hubicka <jh@suse.cz>
7707
7708 * genrecog.c (write_switch): Output if before switch for
7709 DT_elt_zero_wide_safe.
7710
d506f649
KG
77112001-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7712
7713 * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
7714 * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
7715 (FUNCTION_PROFILER): Const-ify.
7716 * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
7717 (eliminate_constant_term, assemble_name, output_addr_const):
7718 Remove declarations.
7719 (ptr_half_pic_address_p, half_pic_hash): Prototype.
7720 (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
7721 half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
7722 * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
7723 (half_pic_declare, half_pic_external): Const-ify.
7724 * toplev.c: Include "halfpic.h".
7725
f63d1bf7
JM
77262001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
7727
f710504c
JM
7728 * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
7729 config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
7730 config/i386/i386.c, config/i386/i386-interix.h,
7731 config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
7732 config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
7733 config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
7734 config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
7735 config/sparc/sparc.c, config/m68hc11/m68hc11.c,
7736 config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
7737 config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
7738 spelling errors.
7739
f63d1bf7
JM
7740 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
7741 ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
7742 c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
7743 collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
7744 haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
7745 regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
7746 system.h, toplev.c: Fix spelling errors.
7747
70072ed9
RK
7748Sat Oct 27 17:32:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7749
157bd2bb
RK
7750 * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
7751
e7af1d45
RK
7752 * dwarf2out.c (reg_number): Abort if pseudo.
7753 (reg_loc_descriptor): Return 0 if pseudo.
7754 (is_based_loc): Return 0 if pseudo.
7755 (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
7756 recursive calls.
7757 (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
7758 (loc_descriptor): Return 0 if can't find location and handle 0
7759 return from recursive calls.
7760 (loc_descriptor_from_tree): Likewise.
7761 Fix handling of indirect.
7762 Also return 0 for PLACEHOLDER_EXPR.
7763 Clean up COMPONENT_REF cases.
7764 (add_AT_location_descriptor): Simplify, but handle 0 return from
7765 loc_descriptor.
7766 (add_const_value_attribute): Avoid shift count warning.
7767 (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
7768 Set comp_unit_die as context if not in function.
7769
6b7d57c7
RK
7770 * config/mips/mips-protos.h: Break up long lines.
7771 Remove needless #ifdef/#endif blocks.
7772 Don't declare functions declared in file made by genpreds or recog.h.
7773 * config/mips/mips.c (mips_output_function_prologue): TSIZE
7774 is now HOST_WIDE_INT; delete unneeded casts.
7775 * config/mips/mips.h: Don't use #elif.
5b7874aa 7776
70072ed9
RK
7777 * expr.c (stor_constructor_field): Always call adjust_address.
7778 Copy TARGET before changing its alias set.
7779 (store_field): Likewise, for TO_RTX.
7780 (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
7781 replacement.
7782 (safe_from_p, case ADDR_EXPR): Properly check for conflict.
7783 (find_placeholder): Return 0 if can't find object.
7784 (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
7785 returns 0.
7786
f4f17e7d
JH
7787Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka <jh@suse.cz>
7788
7789 * ifcvt.c (if_convert): Call clear_aux_for_blocks.
7790
7dddfb65
JH
7791Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka <jh@suse.cz>
7792
7793 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
7794 merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
7795 (merge_blocks): Properly udpate life after making edge nonfallthru.
7796 * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
7797
a7812c0b
KH
77982001-10-26 Kazu Hirata <kazu@hxi.com>
7799
7800 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7801
a38b987a
NB
78022001-10-26 Neil Booth <neil@daikokuya.demon.co.uk>
7803
7804 * c-typeck.c (convert_arguments): When comparing for enumeral
7805 type equality, use TYPE_MAIN_VARIANT.
7806 * gcc.dg/Wconversion.c: New tests.
7807
d65f7478
KH
78082001-10-26 Kazu Hirata <kazu@hxi.com>
7809
7810 * s390/s390.c: Fix comment typos.
7811 * s390/s390.h: Likewise.
7812 * s390/s390.md: Likewise.
7813
6c624f7f
AO
78142001-10-26 Alexandre Oliva <aoliva@redhat.com>
7815
7816 * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
7817 (walk_tree): Use it for tail calls where appropriate.
7818
45c23566
AO
78192001-10-26 Alexandre Oliva <aoliva@redhat.com>
7820
7821 * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
7822 non-local label_refs.
7823
11a802bf
KH
78242001-10-26 Kazu Hirata <kazu@hxi.com>
7825
7826 * config/h8300/h8300.md (4 anonymous patterns): New.
7827
cb33eb17
KH
78282001-10-26 Kazu Hirata <kazu@hxi.com>
7829
7830 * config/h8300/h8300.c (get_shift_alg): Clean up. Return the
7831 algorithm through the shift_info structure.
7832 (emit_a_shift): Update the use of get_shift_alg.
7833
bdfa170f
DB
78342001-10-27 Daniel Berlin <dan@cgsoftware.com>
7835
5b7874aa
ZW
7836 * sched-rgn.c: Remove bitset typedef.
7837 Change bitset to sbitmap in prototypes / variable types.
7838 Remove bbset_size.
7839 Remove edgeset_bits.
7840 Remove edgeset_size.
7841 s/BITSET_ADD/SET_BIT/g
7842 s/BITSET_INVERT/sbitmap_ones/g
7843 s/BITSET_INTER/sbitmap_a_and_b/g
7844 s/BITSET_UNION/sbitmap_a_or_b/g
7845 s/BITSET_DIFFER/sbitmap_difference/g
7846 s/bitset_member/TEST_BIT/g
7847 (BITSET_*): Removed.
7848 (bitset_member): Removed.
7849 (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
7850 EXECUTE_IF_SET_IN_SBITMAP.
7851 (split_edges): Rewrite, use sbitmap functions instead of bitset
7852 operations.
7853 (schedule_region): Allocate/free sbitmaps, rather than bitsets.
bdfa170f 7854
019d2e99
AS
78552001-10-26 Andreas Schwab <schwab@suse.de>
7856
7857 * reload1.c (emit_input_reload_insns): Fix parens in last
7858 (undocumented) change that was supposed to change only whitespace.
7859
6cf3f6e7
RK
7860Fri Oct 26 07:18:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7861
7862 * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
7863
7864 * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
7865 ASM_OPERANDS.
7866
16e99e29
AJ
78672001-10-26 Andreas Jaeger <aj@suse.de>
7868
7869 * flow.c (clear_log_links): Remove unused variable.
7870 * cfgcleanup.c (cleanup_cfg): Likewise.
7871
350ebd54
AO
78722001-10-26 Alexandre Oliva <aoliva@redhat.com>
7873
7874 * tree-inline.c (remap_decl): Don't copy size and size_unit here.
7875 (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
7876
b73c0bc8
RH
78772001-10-26 Richard Henderson <rth@redhat.com>
7878
7879 * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
7880 rename PV_REG to R27_REG.
7881 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
7882 (REG_CLASS_FROM_LETTER): Update.
7883 (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
7884 * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
7885 (udivsi3, modsi3, umodsi3): Likewise.
7886 (divdi3, udivdi3, moddi3, umoddi3): Likewise.
7887
108c1afc
RH
78882001-10-26 Richard Henderson <rth@redhat.com>
7889
7890 * cfg.c (clear_aux_for_blocks): Split out of ...
7891 (free_aux_for_blocks): here.
7892 (clear_aux_for_edges): Split from ...
7893 (free_aux_for_edges): here.
7894 * basic-block.h: Declare them.
7895 * lcm.c (compute_antinout_edge): Use them.
7896 (compute_laterin, compute_available, compute_nearerout): Likewise.
7897 (optimize_mode_switching): Likewise.
7898
4992fc7f
RH
78992001-10-26 Richard Henderson <rth@redhat.com>
7900
7901 * Makefile.in (unstage*): Remove as, ld, collect-ld before
7902 moving everything back to the main build directory.
7903
e742b08a
CF
79042001-10-26 Christopher Faylor <cgf@redhat.com>
7905
eaec9b3d 7906 * config/i386/cygwin.h: Search target specific include directory, if
e742b08a
CF
7907 appropriate.
7908
f3a8e4f5
KG
79092001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7910
7911 * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
7912 of macro guards. Fix #endif comment.
7913
7914 * output.h (default_exception_section, default_eh_frame_section):
7915 Move prototypes outside of macro guard.
16e99e29 7916
f3a8e4f5
KG
7917 * crtstuff.c: Fix #endif comment.
7918
8feb4e28
JL
7919Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com)
7920
16e99e29 7921 * doc/md.texi (movMM): Clarify semantics of storing into a
8feb4e28
JL
7922 non-paradoxical SUBREG.
7923
37207ee7
ZW
79242001-10-25 Zack Weinberg <zack@codesourcery.com>
7925
7926 * langhooks.c (lang_hook_default_clear_binding_stack): New.
7927 (lang_hook_default_get_alias_set): Move next to other alias
7928 hooks.
7929 * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7930 (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7931 (LANG_HOOKS_INITIALIZER): Add it.
7932 * toplev.h (struct lang_hooks): Add clear_binding_stack.
7933 * toplev.c (compile_file): Call lang_hooks.clear_binding_stack
7934 instead of a loop calling poplevel.
7935
cdd90341
NC
79362001-10-25 Nick Clifton <nickc@cambridge.redhat.com>
7937
7938 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7939 occurrences of #elif with #if...#endif.
7940
1ec586ae
KG
79412001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7942
7943 * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
7944
9fb60a0d
RK
7945Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7946
10b76d73
RK
7947 * alias.c (can_address_p): No longer static.
7948 * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
7949 Return 0 if all parameters are default values.
7950 (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
7951 (adjust_address_1): Try harder to compute a size.
7952 * expr.c (expand_assignment, store_constructor): If can't address,
7953 set MEM_KEEP_ALIAS_SET_P.
7954 (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
7955 (store_field): Likewise.
7956 (store_constructor): Simplify call to store_constructor_field.
7957 * expr.h (can_address_p): New declaration.
7958 * gensupport.c (gen_rtx_CONST_INT): New function.
7959 * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
7960 (MEM_SIZE): Get size from mode, if not set and not BLKmode.
7961 (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
7962
9fb60a0d
RK
7963 * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
7964
cf521102 79652001-10-24 Christopher Faylor <cgf@redhat.com>
356b0698 7966
cf521102
CF
7967 * config/i386/cygwin.h: Use proper path for mingw crt files when
7968 -mno-cygwin.
c307e6dd 7969
2ea792c2
JJ
7970Wed Oct 24 18:43:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7971
7972 * dwarf2out.c (file_info_cmp): Always return consistent results.
7973
79742001-10-24 Roger Sayle <roger@eyesopen.com>
37207ee7 7975
2ea792c2
JJ
7976 * stmt.c (expand_end_case): Index jumptables from zero for
7977 suitably small values of minval.
7978
79792001-10-24 Jakub Jelinek <jakub@redhat.com>
7980
7981 * stor-layout.c (place_union_field): If any field was aligned with
7982 attribute aligned, set record type's TYPE_USER_ALIGN.
7983 (place_field): Likewise.
7984 (finalize_record_size): Don't clear TYPE_USER_ALIGN.
7985 (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
7986
79872001-10-24 Zack Weinberg <zack@codesourcery.com>
7988
7989 * c-common.h (struct c_common_identifier): Remove rid_code field.
7990 (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
7991
7992 * c-typeck.c (constructor_designated): New local flag.
7993 (struct constructor_stack): Add "designated" field to match.
7994 (start_init): Clear it.
7995 (really_start_incremental_init, push_init_level): Push and
7996 clear it.
7997 (pop_init_level): Pop it.
7998 (set_designator): Set it.
7999
8000 (pop_init_level): Suppress "missing initializer" warnings if
8001 constructor_designated is true.
8002 (process_init_element): Suppress warning about union
8003 initialization under traditional C, if constructor_designated
8004 is true.
8005
8006Wed Oct 24 15:35:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8007
8008 * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
8009 change.
8010
8011Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com)
8012
8013 * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
8014
80152001-10-24 Dan Nicolaescu <dann@ics.uci.edu>
8016
8017 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
8018 the node was already a set to a constant.
8019
8020Wed Oct 24 12:41:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8021
8022 * emit-rtl.c (set_mem_attributes): Fix typo in last change.
8023 * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
8024
80252001-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8026
8027 * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
8028 (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning.
8029 (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
8030 * s390.c (s390_final_chunkify): Don't use string concatenation.
8031 (s390_function_prologue, s390_function_epilogue): Const-ify.
8032 * s390.h (FUNCTION_PROFILER): Remove unused variable.
8033
80342001-10-24 Jakub Jelinek <jakub@redhat.com>
8035
8036 * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
8037 prototypes.
8038
80392001-10-23 Stan Shebs <shebs@apple.com>
8040
8041 * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
8042 -traditional-cpp in first-stage compilation.
8043
8044Tue Oct 23 21:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8045
8046 * gensupport.c (target_flags): Add.
8047
8048Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
8049
8050 * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
8051 if needed.
8052 (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
8053 * except.c (expand_builtin_frob_return_addr): Likewise.
8054 (expand_builtin_eh_return): Likewise.
8055 * stmt.c (expand_computed_goto): Likewise.
8056 * explow.c (memory_address): Likewise.
8057 (allocate_dynamic_stack_space): Clean up predicate testing.
8058 (probe_stack_range): Convert SIZE to Pmode.
8059 * calls.c (rtx_for_function_call): Only call convert_memory_address
8060 if needed.
8061 Pass function call operand as ptr_mode, not Pmode.
8062 * expr.c (expand_assignment): Clean up calls to convert_memory
8063 address by only doing so when needed and making offsets Pmode.
8064 (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
8065 * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
8066 is in Pmode, not ptr_mode.
8067
80682001-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8069
8070 * darwin-protos.h (constructor_section, destructor_section,
8071 mod_init_section, mod_term_section): Prototype.
8072 * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
8073 Const-ify.
8074 * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
8075 Likewise.
8076 (SECTION_FUNCTION): Prototype `FUNCTION'. Delete
8077 objc_section_init declaration.
8078 (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
8079 (objc_section_init, try_section_alias): Make static.
8080 (alias_section): Make static and hide unused function.
8081 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
8082
8083Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8084
8085 * alias.c (can_address_p): Compnonents are not addressable if
8086 the containing type has alias set 0.
8087 (get_alias_set): Rework to use STRIP_NOPS.
8088 Only call front-end routine on object, type, or object with
8089 NOPs stripped, not inner values.
8090 Use language hook to call front-end routine.
8091 * builtins.c (get_memory_rtx): Always call set_mem_attributes.
8092 (expand_builtin_apply): Call set_mem_align on MEMs we make.
8093 Don't pass alignment to emit_block_move.
8094 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
8095 (expand_builtin_memset): Likewise, but for clear_storage.
8096 * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
8097 and remove C++ specific parts.
8098 * c-common.h (c_common_get_alias_set): Add declaration.
8099 * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
8100 * calls.c (emit_call_1): Fix typo in sibcall_pop case.
8101 (save_fixed_argument_area): Call set_mem_align.
8102 Remove alignment in call to emit_block_move.
8103 (emit_library_call_value_1, store_one_arg): Likewise.
8104 (target_for_arg): Remove; disabled long ago.
8105 * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
8106 once and similar cleanups.
8107 (offset_address): Use proper introductory comment.
8108 * expr.c (emit_block_move): Use alignment from that of MEM args, not
8109 from explicit operand; all callers changed.
8110 (clear_storage): Likewise.
8111 (expand_assignment): Don't call set_mem_alias_set on to_rtx.
8112 (store_field): Remove kludge on alias set used for to_rtx.
8113 (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
8114 (expand_expr_unaligned): Call set_mem_attributes instead of
8115 set_mem_alias_set.
8116 * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
8117 * function.c (assign_stack_temp_for_type): Set MEM alignment.
8118 (expand_function_end): Track MEM attributes of trampolines.
8119 * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
8120 * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
8121 attributes from original.
8122 * langhooks.c (lang_hook_default_get_alias_set): New function.
8123 (hook_get_alias_set_0): New function.
8124 * langhooks.h (hook_get_alias_set_0): New declaration.
8125 (lang_hook_default_get_alias_set): Likewise.
8126 (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
8127 * reload1.c (alter_reg): Use adjust_address_nv.
8128 * rtl.c (get_mode_alignment): Moved to here.
8129 * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
8130 change default if unknown from 1 to BITS_PER_UNIT.
8131 * stor-layout.c (get_mode_alignment): Remove from here.
8132 * toplev.h (struct lang_hoks): Add get_alias_set field.
8133 * tree.h (lang_get_alias_set): Delete declaration.
8134 * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
8135 * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
8136 (ix86_va_arg): Likewise.
8137 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
8138 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
8139 * config/sparc/sparc.c (sparc_va_arg): Likewise.
8140 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
8141 (expand_block_move_mem): Remove dead code.
8142
81432001-10-22 Neil Booth <neil@daikokuya.demon.co.uk>
8144
8145 * c-common.c (warn_div_by_zero): New.
8146 * c-common.h (warn_div_by_zero): New.
8147 * c-decl.c (c_decode_option): Take it on the command line.
16e99e29 8148 * c-typeck.c (build_binary_op): Warn about division by zero.
2ea792c2
JJ
8149 * doc/invoke.texi: Document the new command line option, fix
8150 documentation of -Wmultichar.
16e99e29
AJ
8151 * testsuite/gcc.dg/divbyzero.c: New tests.
8152 * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
2ea792c2
JJ
8153
8154Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka <jh@suse.cz>
8155
8156 * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
8157
8158 * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
8159 to avoid update_life_info call.
8160 * basic-block.h (CLEANUP_UPATE_LIFE): Define.
8161 * cfgcleanup.c (bb_flags): New enum.
8162 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
8163 (notice_new_block, update_forwarder_flag): New functions.
8164 (try_simplify_condjump): Use FORWARDER_BLOCK_P.
8165 (try_forward_edges): Likewise; update flags.
8166 (merge_blocks): Likewise.
8167 (outgoing_edges_match): Likewise.
8168 (try_crossjump_to_edge): Likewise.
8169 (try_optimize_cfg): Likewise; initialize and clear the flags;
8170 recompute life info if needed.
8171 (cleanup_cfg): No need to clear aux pointers.
8172
81732001-10-23 Alexandre Oliva <aoliva@redhat.com>
8174
8175 * config/i386/i386.c (override_options): Default to minimum
8176 stack alignment when optimizing for code size.
8177 * doc/invoke.texi (-mpreferred-stack-boundary): Document the
8178 change.
8179
8180 * config/i386/i386.c (override_options): Set upper limit of
8181 -mpreferred-stack-boundary to 12.
8182
81832001-10-22 Zack Weinberg <zack@codesourcery.com>
8184
8185 * recog.c (peephole2_optimize): Add default case to switch.
8186
81872001-10-23 Joseph S. Myers <jsm28@cam.ac.uk>
8188
8189 * doc/gcc.texi (Sending Patches): Remove.
8190
81912001-10-22 Hans-Peter Nilsson <hp@bitrange.com>
8192
8193 * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
8194 fields when comparing.
8195
81962001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8197
8198 * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses.
8199 * arm.c (HOST_INT, HOST_UINT): Likewise.
8200
82012001-10-22 Stan Shebs <shebs@apple.com>
8202
8203 * config/darwin-protos.h (darwin_exception_section): Declare.
8204 (darwin_eh_frame_section): Declare.
8205
8206Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka <jh@suse.cz>
8207
8208 * i386.md (movti_rex64): Fix mode.
8209
82102001-10-22 Stan Shebs <shebs@apple.com>
8211
8212 * target.h (struct gcc_target): Add asm_out.exception_section,
8213 asm_out.eh_frame_section.
8214 * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
8215 (TARGET_ASM_EH_FRAME_SECTION): New.
8216 (TARGET_INITIALIZER): Update.
8217 * output.h (default_exception_section): Declare.
8218 (default_eh_frame_section): Declare.
8219 * dwarf2out.c: Include target.h.
8220 (output_call_frame_info): Call target hook for eh frames.
8221 (default_eh_frame_section): New function.
8222 * except.c: Include target.h.
8223 (output_function_exception_table): Call target hook for exception
8224 section.
8225 * varasm.c (default_exception_section): Rename from
8226 exception_section, remove EXCEPTION_SECTION macro.
8227
8228 * config/darwin.h (darwin_eh_frame_section): New function.
8229 (EXCEPTION_SECTION): Remove.
8230 (TARGET_ASM_EXCEPTION_SECTION): Define.
8231 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
8232 (nextstep_exception_section): New function.
8233 (nextstep_eh_frame_section): New function.
8234 (TARGET_ASM_EXCEPTION_SECTION): Define.
8235 (TARGET_ASM_EH_FRAME_SECTION): Define.
8236
8237 * config/pa/som.h (EXCEPTION_SECTION): Remove.
8238 (TARGET_ASM_EXCEPTION_SECTION): Define.
8239 * config/rs6000/sysv4.h, config/rs6000/xcoff.h
8240 (EXCEPTION_SECTION): Remove.
8241 (TARGET_ASM_EXCEPTION_SECTION): Define.
8242 * config/stormy16/stormy16.h: Remove comments referencing
8243 EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
8244
8245 * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
8246 TARGET_ASM_EH_FRAME_SECTION.
8247
82482001-10-22 Nick Clifton <nickc@cambridge.redhat.com>
8249
8250 * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
8251 terms.
8252
8253 * c-format.c: Fix spelling typo in comment.
8254
8255 * sched-int.h: Fix typo in GCC preamble.
8256
82572001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
8258
8259 PR debug/4252
8260 * doc/invoke.texi: Remove references to -fdump-translation-unit.
8261
82622001-10-22 Richard Henderson <rth@redhat.com>
8263
8264 * config/i386/i386.c (ix86_expand_clear): New.
8265 * config/i386/i386-protos.h: Declare it.
8266 * config/i386/i386.md (setcc peep2s): Use it.
8267 (movsi_xor): Unexport.
8268
82692001-10-22 Richard Henderson <rth@redhat.com>
8270
8271 * flow.c (clear_log_links): Use free_INSN_LIST_list, not
8272 free_EXPR_LIST_list for LOG_LINKS.
8273
82742001-10-21 Robert Lipe <robertlipe@usa.net>
8275
8276 * config/i386/i386.c (sco_asm_named_section): Delete.
8277 (sco_asm_out_constructor): Delete.
8278 * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
8279 (ASM_OUTPUT_DOUBLE_INT): Likewise.
8280 (TARGET_ASM_CONSTRUCTOR): Delete. Use default.
8281 (TARGET_ASM_NAMED_SECTION): Use default for ELF.
8282 (EXCEPTION_SECTION): Delete EH scn renaming hack.
8283
82842001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8285
8286 * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
8287 and/or fold extra calls into fewer ones.
8288 * collect2.c (dump_file): Likewise.
8289 * cppexp.c (parse_number): Likewise.
8290 * cpplex.c (_cpp_lex_direct): Likewise.
8291 * final.c (output_asm_insn, asm_fprintf): Likewise.
8292 * fix-header.c (inf_scan_ident, main): Likewise.
8293 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
8294 Likewise.
8295 * fold-const.c (real_hex_to_f): Likewise.
8296 * gen-protos.c (parse_fn_proto): Likewise.
8297 * genattrtab.c (check_attr_test, check_attr_value): Likewise.
8298 * genrecog.c (change_state, write_action): Likewise.
8299 * gensupport.c (shift_output_template): Likewise.
8300 * local-alloc.c (requires_inout): Likewise.
8301 * mips-tfile.c (IS_ASM_IDENT): Likewise.
8302 * protoize.c (is_id_char, main): Likewise.
8303 * real.c (asctoeg): Likewise.
8304 * recog.c (asm_operand_ok): Likewise.
8305 * reload.c (find_reloads): Likewise.
8306 * scan.c (scan_identget_token): Likewise.
8307 * sched-vis.c (print_value): Likewise.
8308 * stringpool.c (ggc_alloc_string): Likewise.
8309 * toplev.c (read_integral_parameter, decode_g_option): Likewise.
8310 * tradcif.y (parse_number, yylex, parse_escape): Likewise.
8311 * tradcpp.c (rescan): Likewise.
8312 * tree.c (clean_symbol_name): Likewise.
8313 * varasm.c (decode_reg_name): Likewise.
8314
8315 * alpha.h (ASM_OUTPUT_ASCII): Likewise.
8316 * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
8317 * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
8318 * m88k.c (output_ascii): Likewise.
8319 * m88k.h (OVERRIDE_OPTIONS): Likewise.
8320 * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
8321 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
8322 * sh.h (REG_CLASS_FROM_LETTER): Likewise.
8323
83242001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
8325
8326 * langhooks.c (lang_hook_default_do_nothing,
8327 lang_hook_default_decode_option): New defaults.
8328 * langhooks.h: Make hooks unconditional and non-NULL.
8329 * toplev.c (compile_file, toplev_main): Update.
8330 * toplev.h: Update comments.
8331 * objc/objc-act.c (lang_hooks): Update to new paradigm.
8332
83332001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8334
8335 * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
8336
8337 * system.h (IN_RANGE): New macro.
8338
83392001-10-21 Zack Weinberg <zack@codesourcery.com>
8340
8341 * aclocal.m4 (AM_WITH_NLS): Also create and substitute
8342 INTLDEPS variable, which does not include $LIBICONV.
8343 * Makefile.in: Use INTLDEPS in LIBDEPS.
8344 * configure: Regenerate.
8345
83462001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
8347
8348 * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
8349 * cpplex.c (lex_percent, lex_dot): Remove.
8350 (get_effective_char, skip_block_comment, skip_line_comment,
8351 parse_identifier_slow, parse_number, parse_string, save_comment,
8352 _cpp_lex_direct): Update to do lookback freely.
8353 (IF_NEXT_IS, BACKUP): New macros.
8354 * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
8355 * cppmacro.c (paste_tokens): Update.
8356
83572001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
8358
8359 * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
8360
83612001-10-20 Hans-Peter Nilsson <hp@axis.com>
8362
8363 * reload1.c (reload): Check CONSTANT_P before calling
8364 LEGITIMATE_PIC_OPERAND_P.
8365 * config/cris/cris.c (cris_legitimate_pic_operand): Revert
8366 workaround of 2001-10-13.
8367
8368Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
8369
8370 * i386.c (split_di): Handle splitting of DFmode.
8371
8372Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8373
8374 * emit-rtl.c (set_mem_attributes): Alignment is in bits.
8375 (adjust_address_1, offset_address): Likewise.
8376
8377 * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
8378 (output_asm_insn): Call it for each line output.
8379 Don't record an operand more than once.
8380
8381 * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
8382 * main.c: Include config.h and system.h, but not ansidecl.h.
8383 * Makefile.in (main.o): Update accordingly.
8384
8385Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka <jh@suse.cz>
8386
8387 * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
8388
8389Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka <jh@suse.cz>
8390
8391 * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
8392 * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
8393 Break out from ...
8394 (find_sub_basic_blocks): ... here;
8395 (find_many_sub_basic_blocks): New.
8396 * recog.c (split_all_insns): Update find_sub_basic_blocks call.
8397
8398 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
8399
8400 * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
8401
8402 * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
8403
8404 * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
8405 * flow.c (update_life_info): Measure time.
8406 * c-decl.c: Include timevar.h
8407 (c_expand_body): Measure time.
8408 * toplev.c (rest_of_compilation): Measure time of mode switching
8409 separately.
ff7cc307 8410 * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
2ea792c2
JJ
8411
8412 * toplev.c (flag_asynchronous_unwind_tables): New global variable.
8413 (lang_independent_options): Add asynchronous-unwind-tables
8414 (toplev_main): flag_asynchronous_unwind_tables implies
8415 flag_unwind_tables.
8416 * flags.h (flag_asynchronous_unwind_tables): Declare.
8417 * dwarf2out.c (dwarf2out_stack_adjust): Take into account
8418 flag_asynchronous_unwind_tables.
8419 (output_call_frame_info): Likewise.
8420 * invoke.texi (-fasynchronous-unwind-tables): Document.
8421 * i386.c (optimization_options): Enable
8422 flag_asynchronous_unwind_tables.
8423
8424 * i386.c (ix86_expand_setcc): Always expect target to be QImode.
8425 * i386.md (s* expanders): Destination is QImode.
8426
8427 * toplev.c (rest_of_compilation): Do not call clear_log_links.
8428 * rtl.h (clear_log_links): Kill.
8429 * flow.c (clear_log_links): Make static; accept blocks parameter;
8430 do no clear life info.
8431 (update_life_info): Call clear_log_links.
8432
8433 * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
8434
84352001-10-20 Neil Booth <neil@daikokuya.demon.co.uk>
8436
8437 * cpplex.c (handle_newline, skip_escaped_newlines,
8438 get_effective_char, skip_block_comment, skip_line_comment,
8439 parse_identifier_slow, parse_number, parse_string,
8440 _cpp_lex_direct): Update to do more stepping back.
8441 (trigraph_ok): Similarly. Rename trigraph_p.
8442 (SAVE_STATE, RESTORE_STATE): Remove.
8443 (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check.
8444
8445 * cpplib.c (destringize): Rename destringize_and_run, and
8446 call run_directive directly.
8447 (_cpp_do__Pragma): Simplify.
8448
84492001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8450
8451 * pe.c (arm_pe_unique_section): Const-ify.
8452 * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
8453 (switch_to_section): Add static prototype.
8454
8455 * output.h (drectve_section): Prototype.
8456
84572001-10-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8458
8459 * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
8460 fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
8461 parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
8462 i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
8463 i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
8464 i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
8465 i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
8466 i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
8467 i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
8468 i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
8469 i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
8470 i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
8471 ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
8472 mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
8473 powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
8474 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
8475 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
8476 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
8477 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
8478 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
8479 rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
8480 sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
8481 v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
8482 cris-*-none, cris-*-linux*: Update ${tmfile} list.
8483 (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
8484 i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
8485 mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
8486 powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
8487 v850-*-*): Delete superflous ${cpu_type} setting.
8488 * config/linux.h: Delete svr4.h include.
8489 (SET_ASM_OP): Delete.
8490 * config/netware.h (INT_ASM_OP): Undef before define.
8491 * config/ptx4.h: Delete elfos.h include.
8492 (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
8493 * config/svr4.h: Delete elfos.h include. Update commentary.
8494 * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
8495 config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
8496 config/mn10200/mn10300.h, config/stormy16/stormy16.h,
8497 config/v850/v850.h: Delete svr4.h include.
8498 * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
8499 config/m68k/m68kv4.h, config/m88k/sysv4.h,
8500 config/sparc/sysv4.h: Update includes.
8501 * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
8502 config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
8503 config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
8504 config/m88k/dguxbcs.h: Delete includes.
8505 * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
8506 (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
8507 * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
8508 it.
8509 * config/m88k/dgux.h: Delete include.
8510 (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before
8511 defining it.
8512 * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
8513 ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
8514 * config/sh/elf.h: Update include.
8515 (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
8516 DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
8517
85182001-10-19 Catherine Moore <clm@redhat.com>
8519
8520 * config/stormy16/stormy-abi: Updates to varargs descriptions.
8521 * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse
8522 base and count fields.
8523 (stormy16_expand_builtin_va_start): last_reg_count changed to
8524 size_of_reg_args. Use count + size in first comparison.
8525
8526Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8527
8528 * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
8529 * toplev.h (struct lang_hooks): New field HONOR_READONLY.
8530 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
8531 TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
8532 Set alignment from type if INDIRECT_REF.
8533 (adjust_address_1, offset_address): Simplify alignment compuitation.
8534 * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
8535 here; done by set_mem_attributes.
8536
85372001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8538
8539 * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
8540 * arm-protos.h (rdata_section, zero_init_section, common_section):
8541 Prototype.
8542 * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
8543 * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
8544 traditional mode stringification.
8545 * function.c (thread_prologue_and_epilogue_insns): Wrap variable
8546 in macros controling its use.
8547 * rtlanal.c: Include tm_p.h.
8548 * varasm.c (asm_output_aligned_bss): Mark parameter with
8549 ATTRIBUTE_UNUSED.
8550 (assemble_constant_align, assemble_start_function, assemble_align,
8551 assemble_variable, assemble_trampoline_template,
8552 output_constant_def_contents): Wrap potentially empty if-stmt body
8553 in brackets.
8554
85552001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8556
8557 * a29k-protos.h (literal_section): Prototype.
8558 * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
8559 * a29k.md: Ensure function pointers are prototyped.
8560 * genattrtab.c (write_eligible_delay): Mark parameter with
8561 ATTRIBUTE_UNUSED.
8562
85632001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8564
8565 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
8566 * 1750a.c (print_operand): Fix format specifier warning.
8567 * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
8568 * 1750a.md: Likewise.
8569 * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
8570 * genemit.c (output_add_clobbers): Mark parameter with
8571 ATTRIBUTE_UNUSED.
8572 * genrecog.c (write_subroutine): Likewise.
8573 * integrate.c (expand_inline_function): Delete unused variable.
8574 * varasm.c (remove_from_pending_weak_list): Wrap with
8575 ASM_WEAKEN_LABEL.
8576
85772001-10-19 Jakub Jelinek <jakub@redhat.com>
8578
8579 * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
8580 field is different to previous argument's neg field.
8581
8582 * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
8583
8584Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8585
8586 * final.c (get_decl_from_op): New function.
8587 (output_asm_insn): Call it; write "*" when item with decl is address.
8588
85892001-10-19 Janis Johnson <janis187@us.ibm.com>
8590
8591 * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
8592 about 64-bit support from the 3.0_branch version.
8593
85942001-10-19 Zack Weinberg <zack@codesourcery.com>
8595
8596 * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
8597 USE_INCLUDED_LIBINTL when appropriate.
8598 * configure, config.in: Regenerate.
8599 * Makefile.in (datadir): Set to @datadir@.
8600 (intl.o): Also depend on $(CONFIG_H) and system.h.
8601
8602 * intl.c: Factor out common gettext initialization sequence.
8603 (gcc_init_libintl): New function.
8604 * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
8605 otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
8606 off NLS. Add multiple include guard. No need to #ifdef-guard
8607 an #undef. Prototype gcc_init_libintl here.
8608
8609 * collect2.c (main), cppmain.c (general_init), gcc.c (main),
8610 gcov.c (main), protoize.c (main), toplev.c (toplev_main):
8611 Use gcc_init_libintl.
8612
86132001-10-19 Catherine Moore <clm@redhat.com>
8614
8615 * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
8616
8617 * config/stormy16/stormy16.c (stormy16_split_move): Make
8618 sure that REG_INC notes are present for auto_inc operands.
8619
86202001-10-19 Andreas Jaeger <aj@suse.de>
8621
8622 * configure: Regenerated.
8623 * configure.in: Add x86_64 to switch statements.
8624
b2c9c37e
RH
86252001-10-18 Richard Henderson <rth@redhat.com>
8626
2ea792c2 8627 * config/alpha/alpha.md (sibcall_osf_1): Load destination
b2c9c37e
RH
8628 address into $27 explicitly.
8629 (sibcall_value_osf_1): Likewise.
8630
0d4903b8
RK
8631Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8632
8633 * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
8634 (offset_address): New function.
8635 (free_emit_status): Free regno_decl.
8636 (init_emit): Pass proper number of elements to xcalloc.
8637 Allocate regno_decl.
8638 (mark_emit_status): Mark regno_decl values.
8639 * expr.c (highest_pow2_factor): New function.
8640 (expand_assigment): Use it and offset_address.
8641 Properly handle ptr_mode vs. Pmode in offset calculation.
8642 (store_constructor, expand_expr_unaligned): Likewise.
8643 (expand_expr, case COMPONENT_EXPR): Likewise.
8644 * expr.h (offset_address): New decl.
8645 * function.h (struct emit_status): Add regno_decl.
8646 (REGNO_DECL): New macro.
8647 * final.c (output_asm_name): Move in file and don't conditionalize
8648 on flag_print_asm_name.
8649 (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
8650 Output names of operands, if known.
8651 * function.c (assign_parms): Set REGNO_DECL.
8652 * integrate.c (integrate_decl_tree): Likewise.
8653 * stmt.c (expand_decl): Likewise.
8654 * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
2ea792c2 8655
9162542e
AO
86562001-10-18 Alexandre Oliva <aoliva@redhat.com>
8657
8658 * attribs.c (handle_noinline_attribute): New function.
8659 (handle_used_attribute): Likewise.
8660 (c_common_attribute_table): Added noinline and used.
8661 * doc/extend.texi (Function Attributes): Document them.
8662 * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
8663 Warn when merging inline with attribute noinline.
8664 (start_decl, start_function): Warn if inline and attribute
8665 noinline appear in the same declaration.
8666
51fabca5
NB
86672001-10-17 Neil Booth <neil@daikokuya.demon.co.uk>
8668
8669 * config.gcc: Update c4x and i370 for C front end-specific
8670 dependencies.
8671 * config/c4x/c4x-c.c: New.
8672 * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
8673 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8674 New declarations.
8675 * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
8676 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
8677 Make extern.
8678 (c4x_init_pragma): Remove.
8679 (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
8680 c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
8681 c4x_pr_ignored): Move to c4x-c.c.
8682 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
8683 * config/c4x/t-c4x: Update.
8684 * config/i370/i370-c.c: New.
8685 * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
8686 (i370_pr_map): Move to i370-c.c.
2ea792c2 8687 * config/i370/t-i370: New.
51fabca5
NB
8688
8689 * doc/tm.texi: Update.
8690
a4f6c312
SS
86912001-10-17 Stan Shebs <shebs@apple.com>
8692
8693 * config/rs6000/rs6000.c: Make assorted mechanical formatting and
8694 typo fixes throughout.
8695 (machopic_output_stub): Remove some dead code.
8696
34f5271d
RE
86972001-10-17 Richard Earnshaw <rearnsha@arm.com>
8698
8699 * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
8700 leak.
8701
738cc472
RK
8702Wed Oct 17 05:26:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8703
8704 * Makefile.in (print-rtl.o): Depend on TREE_H.
8705 * alias.c (get_alias_set): Make two passes over objects to first
8706 see if inner object is access via restricted pointer.
8707 Defer allocating alias set for restricted pointer until here.
8708 Call find_placeholder with second arg nonzero.
8709 Minor cleanups.
3c5ad1ff
RK
8710 * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
8711 set for restricted pointer types.
738cc472
RK
8712 * emit-rtl.c (set_mem_attributes): Set more attributes.
8713 (set_mem_align, change_address, adjust_address_1): New functions.
8714 (change_address_1): Now static.
8715 (adjust_address, adjust_address_nv): Deleted.
8716 (replace_equiv_address): Call change_address_1.
8717 * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
8718 (find_placeholder): Get starting point from PLIST arg.
8719 (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
8720 * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
8721 (adjust_address, adjust_address_nv): New macros.
8722 * print-rtl.c (tree.h): New include.
8723 (print_rtx, case MEM): Print all memory attributes.
8724
4d8f669f
RH
87252001-10-17 Richard Henderson <rth@redhat.com>
8726
8727 * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
8728
14976c58
MK
87292001-10-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
8730
8731 * c-tree.texi: Eliminate duplicated word.
8732 * cpp.texi: Likewise.
8733 * install.texi: Likewise.
8734 * invoke.texi: Likewise.
8735 * tm.texi: Likewise.
8736
808dbdd5
MC
87372001-10-17 Michael Collison <collison@isisinc.net>
8738
8739 * dsp16xx.c: Fix comment formatting to match GNU standards.
2ea792c2 8740 (dsp16xx_output_function_prologue): Change type of 'size'
808dbdd5
MC
8741 parameter from 'int' to HOST_WIDE_INT.
8742 (dsp16xx_output_function_epilogue): Change type of 'size'
8743 parameter from 'int' to HOST_WIDE_INT.
8744
f88c65f7
RH
87452001-10-16 Richard Henderson <rth@redhat.com>
8746
8747 * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
8748 * configure, config.in: Rebuild.
8749
8750 * config/i386/i386.c (ix86_output_addr_vec_elt): New.
8751 (ix86_output_addr_diff_elt): New.
8752 * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
8753 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8754 (JUMP_TABLES_IN_TEXT_SECTION): New.
8755 * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
8756 * config/i386/i386-protos.h: Update.
8757
8758 * config/i386/386bsd.h, config/i386/beos-elf.h,
8759 config/i386/freebsd-aout.h, config/i386/freebsd.h,
8760 config/i386/i386-interix.h, config/i386/i386elf.h,
8761 config/i386/linux.h, config/i386/netbsd-elf.h,
8762 config/i386/netbsd.h, config/i386/openbsd.h,
8763 config/i386/ptx4-i.h, config/i386/rtemself.h,
8764 config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
8765 (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
8766
2ec37136
FW
87672001-10-16 Florian Weimer <fw@deneb.enyo.de>
8768
8769 * stmt.c (expand_asm_operands): Update commentary.
8770
abe72dd8
SS
87712001-10-16 Stan Shebs <shebs@apple.com>
8772
8773 * config/darwin.h (GCC_NAME): Remove, no longer used.
8774 (NO_MATH_LIBRARY): Ditto.
8775 (MATH_LIBRARY): Define to emptiness.
8776 (DWARF2_DEBUGGING_INFO): Define.
8777 (PREFERRED_DEBUGGING_TYPE): Define.
8778 (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
8779 (EXCEPTION_SECTION): Define.
8780 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8781 * config/darwin.c (darwin_encode_section_info): Handle case of
8782 DECL_INITIAL being error_mark_node.
8783
1afec8ad
RH
87842001-10-16 Richard Henderson <rth@redhat.com>
8785
8786 * alpha.c (current_file_function_operand): Don't fail for profiling.
8787 (direct_call_operand): New.
8788 * alpha-protos.h: Declare it.
8789 * alpha.h (EXTRA_CONSTRAINT): Use it.
8790 (PREDICATE_CODES): Add it.
8791 (ASM_OUTPUT_MI_THUNK): Remove.
8792 * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
8793 * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
8794
08777234 87952001-10-16 Krister Walfridsson <cato@df.lth.se>
2ea792c2 8796
08777234
KW
8797 * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
8798 (JUMP_TABLES_IN_TEXT_SECTION): Define.
8799
d39ac0fd
JH
8800Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka <jh@suse.cz>
8801
8802 * cfg.c (free_edge): Break out from ....
8803 (remove_edge): ... here.
8804 (clear_edges): Use free_edge.
8805
8806 * att.h (ASM_QUAD): Add comment.
8807 * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
8808
44cf5b6a
JH
8809Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka <jh@suse.cz>
8810
8811 * i386.c (split_ti): New function.
8812 (ix86_split_to_parts): Support TImodes.
8813 * i386.h (VALID_INT_MODE_P): Add TImode.
8814 * i386.md (movdi splitter): Fix.
8815 (movti): Support 64bit integer registers.
8816 (movti_rex64): New function and splitter.
8817
8818 * i386.c (*_cost): Add movsx/movzx cost.
8819 * i386.h (struct processor_costs): Add movsx/movzx fields.
8820 (RTX_COSTS): Handle zero/sign extend + avoid believing that
8821 64bit operations require split on 64bit machine.
8822 (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
8823
ff7cc307 8824 * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
44cf5b6a
JH
8825 (ix86_expand_move): Avoid pushes of memory if size does not match;
8826 move long constants to register.
8827 (x86_initialize_trampoline): Fix mode.
8828 * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
8829 Use ASM_QUAD on 64bit.
8830 * i386.md (test pattern): Disallow impossible constants.
8831 (tablejump PIC expander): Fix emitting of sum.
8832 (movdicc_rex64): Rename to movdicc.
8833 * linux64.h (LINK_SPEC): Add missing '%'.
8834
e95301f5
AO
88352001-10-16 Alexandre Oliva <aoliva@redhat.com>
8836
8837 * tree-inline.c (inlinable_function_p): Leave it up to the
8838 front-end to turn -finline-functions into DECL_INLINE set for all
8839 functions.
8840
deb5bfcc
SS
88412001-10-16 Stan Shebs <shebs@apple.com>
8842
8843 * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
8844
0936a455
AM
88452001-10-16 Alan Modra <amodra@bigpond.net.au>
8846
ffb5e2e2
AM
8847 * recog.c: Formatting and comment typo fixes.
8848
0936a455
AM
8849 * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas
8850 version in single tree build.
8851 * configure: Regenerate.
8852
2d4368e6
DE
88532001-10-15 David Edelsohn <edelsohn@gnu.org>
8854
8855 * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
8856 MODE arguments to gen_rtx and compare operand with const0_rtx.
8857
41441dc7
NB
88582001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
8859
8860 * system.h: Poison old unused target macros.
8861 * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
8862 * config/stormy16/stormy16.c: Update references to obsolete macros.
8863 * config/stormy16/stormy16.h: Similarly.
8864 * config/stormy16/stormy16.md: Similarly.
8865 * config/cris/cris.h: Similarly.
8866
4b115ff0
NB
88672001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
8868
8869 * cpplib.c (struct pragma_entry): Store the name as a hashnode.
8870 (lookup_pragma_entry, insert_pragma_entry, do_pragma,
8871 cpp_register_pragma): Update accordingly.
8872
a5da89c6
NB
88732001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
8874
8875 * c-pragma.h (cpp_register_pragma_space): Remove.
8876 * cpplib.h (cpp_register_pragma_space): Remove.
8877 * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
8878 (cpp_register_pragma_space): Remove.
8879 (cpp_register_pragma): Simplify using lookup_pragma_entry,
8880 add sanity checks.
8881 (do_pragma): Similarly.
8882 (_cpp_init_internal_pragmas): Don't register namespaces.
8883
8884 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
8885 Don't register namespaces.
8886 * cp/lex.c (init_cp_pragma): Similarly.
8887 * doc/tm.texi: Update.
8888
0cb13cd2
CR
88892001-10-10 Craig Rodrigues <rodrigc@gcc.gnu.org>
8890
8891 PR c/4157
8892 * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
8893
c54db4c9
MC
88942001-10-13 Michael Collison <collison@dhcp-12-114.townisp.com>
8895
2ea792c2 8896 * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
c54db4c9
MC
8897 add scheduling support.
8898 * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
8899 * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
8900 * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
8901
8902
5e3db92d
HPN
89032001-10-13 Hans-Peter Nilsson <hp@axis.com>
8904
8905 * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
8906 missing CONSTANT_P test in core GCC.
8907
0c34509f
NB
89082001-10-12 Neil Booth <neil@daikokuya.demon.co.uk>
8909
8910 * cppmain.c (struct printer): New member source.
8911 (scan_translation_unit): Fix spacing at start of lines.
8912 (cb_line_change): Update.
8913
8914 * gcc.dg/cpp/spacing2.c: New test.
8915
44a4ca5e
HPN
89162001-10-12 Hans-Peter Nilsson <hp@axis.com>
8917
8918 * config/cris/arit.c: Use __builtin_labs, not abs.
8919
8920 * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
8921
8922 * config/cris/cris.c (cris_target_asm_function_epilogue): Move
8923 misplaced sprintf and fprintf argument.
8924
71a94577
ZW
89252001-10-12 Zack Weinberg <zack@codesourcery.com>
8926
8927 * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8928 * configure.in, Makefile.in: Take out obsolete check-po logic.
8929 * configure, config.in: Regenerate.
8930
7e21622e
ZL
89312001-10-12 Ziemowit Laski <zlaski@apple.com>
8932
8933 * objc/objc-act.c (finish_objc): Correct precondition for emitting
8934 symtab declarations.
8935
592696dd
SS
89362001-10-12 Stan Shebs <shebs@apple.com>
8937
8938 * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8939 declarations of arguments and local variables.
8940
4717f6c1
CF
89412001-10-12 Christopher Faylor <cgf@redhat.com>
8942
8943 * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
8944 ENDFILE_SPEC definition.
8945
71287280
KH
89462001-10-12 Kazu Hirata <kazu@hxi.com>
8947
8948 * gthr-dce.h: Fix comment formatting.
8949 * gthr-posix.h: Likewise.
8950 * gthr-single.h: Likewise.
8951 * gthr-solaris.h: Likewise.
8952 * gthr-vxworks.h: Likewise.
8953 * gthr-win32.h: Likewise.
8954
8554d9a4
JJ
89552001-10-12 Jakub Jelinek <jakub@redhat.com>
8956
8957 * final.c (output_asm_insn): Make sure assembly dialects are
8958 terminated, not nested. Output `|' and `}' characters if they
8959 don't appear inside assembly dialect selection.
8960 * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
8961 rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
8962 rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
8963 strsetsi_rex_1): Add {} braces.
8964
7cb4ff28
ZW
89652001-10-11 Zack Weinberg <zack@codesourcery.com>
8966
8967 * toplev.c (compile_file): Ignore return value from yyparse.
8968 Always pop any nested binding levels after yyparse returns.
8969
bcb913fb
RH
89702001-10-11 Richard Henderson <rth@redhat.com>
8971
8972 * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
8973
5929a2f0
RH
89742001-10-11 Richard Henderson <rth@redhat.com>
8975
8976 * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
8977 fall back to add_AT_long_long for large CONST_INT.
8978
10978207
RH
89792001-10-11 Richard Henderson <rth@redhat.com>
8980
8981 * config/i386/i386.md (setcc splitters): Add four splitters to
8982 simplify compound compares that simplify_comparison can't handle.
8983
8206c799
ZW
89842001-10-11 Zack Weinberg <zack@codesourcery.com>
8985
8986 * cpplex.c (digraph_spellings, token_spellings): Make static.
8987
a185c302
FS
89882001-10-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8989
8990 * unroll.c (loop_iterations): Fixup last patch.
8991
4a8d0c9c
RH
89922001-10-11 Richard Henderson <rth@redhat.com>
8993
8994 * rtl.h (REG_VTABLE_REF): New.
8995 * rtl.c (reg_note_name): Add it.
8996 * combine.c (distribute_notes): Handle it.
8997 * final.c (final_scan_insn): Handle it.
8998 * tree.def (VTABLE_REF): New.
8999 * expr.c (expand_expr): Handle it.
9000 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
9001 * output.h: Declare them.
9002
8063ddcf
RH
90032001-10-11 Richard Henderson <rth@redhat.com>
9004
9005 * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
9006 for a DECL_INITIAL.
9007
0faae2f5
DE
90082001-10-11 David Edelsohn <edelsohn@gnu.org>
9009
9010 * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
9011 available in 64-bit mode.
9012
0b85d816
HPN
90132001-10-11 Hans-Peter Nilsson <hp@axis.com>
9014
9015 * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
9016 cris-*-linux* cases.
9017 * config/cris/cris-protos.h: New file.
9018 * config/cris/cris.c: New file.
9019 * config/cris/cris.h: New file.
9020 * config/cris/cris.md: New file.
9021 * config/cris/linux.h: New file.
9022 * config/cris/aout.h: New file.
9023 * config/cris/arit.c: New file.
9024 * config/cris/cris_abi_symbol.c: New file.
9025 * config/cris/mulsi3.asm: New file.
9026 * config/cris/t-aout: New file.
9027 * config/cris/t-cris: New file.
9028 * config/cris/t-elfmulti: New file.
9029 * config/cris/t-linux: New file.
9030 * doc/invoke.texi: Add CRIS options.
9031 * doc/install.texi (Specific): Add blurb for CRIS.
9032
6462eafa
HS
90332001-10-10 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
9034
9035 * config/float-i128.h: Make sure __STDC__VERSION__ is defined
9036 before using it.
9037 * config/float/i32.h: Likewise.
9038 * config/float-i386.h: Likewise.
9039 * config/float-i64.h: Likewise.
9040 * config/float-m68k.h: Likewise.
9041 * config/float-sh.h: Likewise.
9042 * config/float-sparc.h: Likewise.
9043
8647444e
HPN
90442001-10-11 Hans-Peter Nilsson <hp@axis.com>
9045
9046 * doc/contrib.texi: Add note about CRIS port to my entry.
9047
eebedaa5
KH
90482001-10-11 Kazu Hirata <kazu@hxi.com>
9049
9050 * basic-block.h: Fix formatting.
9051 * bitmap.h: Likewise.
9052 * cpplib.h: Likewise.
9053 * c-tree.h: Likewise.
9054 * diagnostic.h: Likewise.
9055 * flags.h: Likewise.
9056 * ggc.h: Likewise.
9057 * longlong.h: Likewise.
9058 * real.h: Likewise.
9059 * reload.h: Likewise.
9060 * rtl.h: Likewise.
9061 * tree.h: Likewise.
9062
84b72302
RH
90632001-10-10 Richard Henderson <rth@redhat.com>
9064
9065 * c-parse.in (asm_operand): Allow named operands.
9066 * genconfig.c (max_recog_operands): Set to 29.
9067 * local-alloc.c (requires_inout): Skip multiple digits.
9068 * recog.c (asm_operand_ok): Likewise.
9069 (preprocess_constraints): Use strtoul for matching constraints.
9070 (constrain_operands): Likewise.
9071 * regmove.c (find_matches): Likewise.
9072 * reload.c (find_reloads): Likewise.
9073 * stmt.c (parse_output_constraint): Don't reject in-out
9074 constraint on operands > 9. Reject '[' in constraint.
9075 (expand_asm_operands): Handle named operands. Use strtoul
9076 for matching constraints.
9077 (check_operand_nalternatives): Split out from expand_asm_operands.
9078 (check_unique_operand_names): New.
9079 (resolve_operand_names, resolve_operand_name_1): New.
9080
9081 * doc/extend.texi (Extended Asm): Document named operands.
9082 * doc/md.texi (Simple Constraints): Document matching constraints
9083 on operands > 9.
9084
7f16eed4
RH
90852001-10-10 Richard Henderson <rth@redhat.com>
9086
592188a5
RH
9087 * combine.c (try_combine): Handle a SEQUENCE of one insn.
9088
9089 * i386.c (test splitter): Narrow tests vs paradoxical subregs.
9090 (jcc splitters): Add two splitters to simplify compound compares
9091 that simplify_comparison can't handle.
7f16eed4
RH
9092
90932001-10-10 Richard Henderson <rth@redhat.com>
9094
9095 * langhooks.c: Include langhooks.h.
9096 * Makefile.in (langhooks.o): Depend on it.
9097
eb9d8e4d
JW
9098Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com)
9099
9100 * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
9101 should not be considered as a no-op.
9102 * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
9103
b3694847
SS
91042001-10-10 Stan Shebs <shebs@apple.com>
9105
9106 * alias.c: Remove uses of "register" specifier in declarations
9107 of arguments and local variables.
9108 * c-common.c: Ditto.
9109 * c-convert.c: Ditto.
9110 * c-decl.c: Ditto.
9111 * c-format.c: Ditto.
9112 * c-semantics.c: Ditto.
9113 * c-typeck.c: Ditto.
9114 * caller-save.c: Ditto.
9115 * calls.c: Ditto.
9116 * cfg.c: Ditto.
9117 * cfgbuild.c: Ditto.
9118 * cfgrtl.c: Ditto.
9119 * collect2.c: Ditto.
9120 * combine.c: Ditto.
9121 * convert.c: Ditto.
9122 * cppexp.c: Ditto.
9123 * cppfiles.c: Ditto.
9124 * cse.c: Ditto.
9125 * dbxout.c: Ditto.
9126 * defaults.h: Ditto.
9127 * df.c: Ditto.
9128 * dwarf2out.c: Ditto.
9129 * dwarfout.c: Ditto.
9130 * emit-rtl.c: Ditto.
9131 * explow.c: Ditto.
9132 * expmed.c: Ditto.
9133 * expr.c: Ditto.
9134 * final.c: Ditto.
9135 * fix-header.c: Ditto.
9136 * floatlib.c: Ditto.
9137 * flow.c: Ditto.
9138 * fold-const.c: Ditto.
9139 * function.c: Ditto.
9140 * gcc.c: Ditto.
9141 * gcse.c: Ditto.
9142 * gen-protos.c: Ditto.
9143 * genattrtab.c: Ditto.
9144 * gencheck.c: Ditto.
9145 * genconfig.c: Ditto.
9146 * genemit.c: Ditto.
9147 * genextract.c: Ditto.
9148 * genflags.c: Ditto.
9149 * gengenrtl.c: Ditto.
9150 * genoutput.c: Ditto.
9151 * genpeep.c: Ditto.
9152 * genrecog.c: Ditto.
9153 * gensupport.c: Ditto.
9154 * global.c: Ditto.
9155 * gmon.c: Ditto.
9156 * graph.c: Ditto.
9157 * haifa-sched.c: Ditto.
9158 * hard-reg-set.h: Ditto.
9159 * hash.c: Ditto.
9160 * integrate.c: Ditto.
9161 * jump.c: Ditto.
9162 * lists.c: Ditto.
9163 * local-alloc.c: Ditto.
9164 * loop.c: Ditto.
9165 * mips-tdump.c: Ditto.
9166 * mips-tfile.c: Ditto.
9167 * optabs.c: Ditto.
9168 * prefix.c: Ditto.
9169 * print-rtl.c: Ditto.
9170 * read-rtl.c: Ditto.
9171 * real.c: Ditto.
9172 * recog.c: Ditto.
9173 * reg-stack.c: Ditto.
9174 * regclass.c: Ditto.
9175 * regmove.c: Ditto.
9176 * reload.c: Ditto.
9177 * reload1.c: Ditto.
9178 * reorg.c: Ditto.
9179 * resource.c: Ditto.
9180 * rtl.c: Ditto.
9181 * rtlanal.c: Ditto.
9182 * scan.c: Ditto.
9183 * sched-deps.c: Ditto.
9184 * sched-rgn.c: Ditto.
9185 * sdbout.c: Ditto.
9186 * simplify-rtx.c: Ditto.
9187 * stmt.c: Ditto.
9188 * stor-layout.c: Ditto.
9189 * toplev.c: Ditto.
9190 * tradcif.y: Ditto.
9191 * tradcpp.c: Ditto.
9192 * tree.c: Ditto.
9193 * unroll.c: Ditto.
9194 * varasm.c: Ditto.
9195 * xcoffout.c: Ditto.
9196
ba3c4fbb
RH
91972001-10-10 Richard Henderson <rth@redhat.com>
9198
9199 * rtl.h (can_reverse_comparison_p): Remove.
9200
0a977123
CF
92012001-10-10 Christopher Faylor <cgf@redhat.com>
9202
9203 * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
9204 used.
9205
92062001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
9207
9208 * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
9209 (Thanks to Chris Faylor for suggesting macro name).
9210 (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
9211 WIN32 defines.
9212 (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
9213 (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
9214 (MATH_LIBRARY): Undef before definition.
9215 (OUTPUT_QUOTED_STRING): Likewise.
9216 * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
9217
bde257ff
RH
92182001-10-10 Richard Henderson <rth@redhat.com>
9219
9220 * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
9221 (fde_unencoded_compare): Likewise. Don't use subtraction to get
9222 a tristate comparison value.
9223 (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
9224
c156ea30
FS
92252001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9226
e10f3d36
FS
9227 PR c++/4512
9228 * unroll.c (loop_iterations): Ignore insns generated by loop
9229 unrolling.
9230
c156ea30
FS
9231 * config.gcc (mips*-*-gnu*): Delete support.
9232 * config/mips/gnu.h: Remove.
9233
6d2f8887
KH
92342001-10-10 Kazu Hirata <kazu@hxi.com>
9235
9236 * calls.c: Fix formatting.
9237 * c-decl.c: Likewise.
9238 * cfgcleanup.c: Likewise.
9239 * combine.c: Likewise.
9240 * cppfiles.c: Likewise.
9241 * cpplib.c: Likewise.
9242 * cppmacro.c: Likewise.
9243 * crtstuff.c: Likewise.
9244 * cse.c: Likewise.
9245 * dwarf2out.c: Likewise.
9246 * expmed.c: Likewise.
9247 * expr.c: Likewise.
9248 * fold-const.c: Likewise.
9249 * function.c: Likewise.
9250 * gcse.c: Likewise.
9251 * genattrtab.c: Likewise.
9252 * ggc-page.c: Likewise.
9253 * integrate.c: Likewise.
9254 * libgcc2.c: Likewise.
9255 * loop.c: Likewise.
9256 * optabs.c: Likewise.
9257 * profile.c: Likewise.
9258 * protoize.c: Likewise.
9259 * real.c: Likewise.
9260 * recog.c: Likewise.
9261 * reload1.c: Likewise.
9262 * reload.c: Likewise.
9263 * reorg.c: Likewise.
9264 * resource.c: Likewise.
9265 * sched-rgn.c: Likewise.
9266 * sdbout.c: Likewise.
9267 * stmt.c: Likewise.
9268 * toplev.c: Likewise.
9269 * varasm.c: Likewise.
9270
1affb409
JJ
92712001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
9272
9273 * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
9274 * Makefile.in (langhooks.o): Add dependencies.
9275
b999aaeb
JW
9276Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
9277
9278 * rs6000.c (rs6000_emit_load_toc_table): Don't
9279 strdup the toc label.
9280 (create_TOC_reference): Likewise.
9281
09eaf5a5
DS
92822001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
9283
9284 * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
9285 version default.
9286
3da1eb0b
DS
92872001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
9288
2ea792c2 9289 * config/i386/i386.c (ix86_attribute_table): Correct
3da1eb0b
DS
9290 min_len, max_len fields for dllimport, dllexport and shared.
9291
df2a54e9
JM
92922001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
9293
9294 * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
9295 doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
9296 Consistently use "nonzero" instead of "non-zero".
9297
19eb1ad7
KH
92982001-10-09 Kazu Hirata <kazu@hxi.com>
9299
9300 * acconfig.h: Fix comment formatting.
9301 * c-dump.h: Likewise.
9302 * c-tree.h: Likewise.
9303 * conditions.h: Likewise.
9304 * expr.h: Likewise.
9305 * function.h: Likewise.
9306 * gthr.h: Likewise.
9307 * hwint.h: Likewise.
9308 * integrate.h: Likewise.
9309 * intl.h: Likewise.
9310 * loop.h: Likewise.
9311 * optabs.h: Likewise.
9312
2ba84f36
KH
93132001-10-09 Kazu Hirata <kazu@hxi.com>
9314
9315 * c-common.h: Fix comment formatting.
9316 * c-dump.c: Likewise.
9317 * cfg.c: Likewise.
9318 * diagnostic.h: Likewise.
9319 * except.c: Likewise.
9320 * gcc.h: Likewise.
9321 * gcov-io.h: Likewise.
9322 * genattrtab.c: Likewise.
9323 * output.h: Likewise.
9324 * predict.h: Likewise.
9325 * reload1.c: Likewise.
9326 * reload.h: Likewise.
9327 * resource.h: Likewise.
9328 * scan.h: Likewise.
9329 * system.h: Likewise.
9330 * tree.h: Likewise.
9331 * tree-inline.c: Likewise.
9332 * tsystem.h: Likewise.
9333 * varasm.c: Likewise.
9334 * xcoffout.h: Likewise.
9335
77332b4e
JM
93362001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
9337
9338 * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
9339
9f2f9eb6
JM
93402001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
9341
9342 * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
9343 config/i386/i386elf.h, config/i386/netbsd-elf.h,
9344 config/i386/netware.h, config/mcore/gfloat.h,
9345 config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
9346 config/netware.h, gccbug.in: Update FSF address.
9347
4fe9b91c
KH
93482001-10-09 Kazu Hirata <kazu@hxi.com>
9349
9350 * c-common.c: Fix comment typos.
9351 * cfgrtl.c: Likewise.
9352 * collect2.c: Likewise.
9353 * cpplex.c: Likewise.
9354 * doloop.c: Likewise.
9355 * dwarf2out.c: Likewise.
9356 * dwarfout.c: Likewise.
9357 * expr.c: Likewise.
9358 * fold-const.c: Likewise.
9359 * gcc.c: Likewise.
9360 * gcov.c: Likewise.
9361 * gcse.c: Likewise.
9362 * global.c: Likewise.
9363 * ifcvt.c: Likewise.
9364 * loop.c: Likewise.
9365 * optabs.c: Likewise.
9366 * protoize.c: Likewise.
9367 * regclass.c: Likewise.
9368 * reorg.c: Likewise.
9369 * rtl.h: Likewise.
9370 * stmt.c: Likewise.
9371 * tree.h: Likewise.
9372 * doc/cpp.texi: Likewise.
9373 * doc/c-tree.texi: Likewise.
9374 * doc/extend.texi: Likewise.
9375 * doc/invoke.texi: Likewise.
9376 * doc/objc.texi: Likewise.
9377 * doc/tm.texi: Likewise.
9378
8d2134aa
RH
93792001-10-08 Richard Henderson <rth@redhat.com>
9380
9381 * varasm.c (set_named_section_flags): Initialize "declared".
9382
a8c01a59
RL
93832001-10-08 Robert Lipe <robertlipe@usa.net>
9384
8d2134aa 9385 * varasm.c (struct in_named_entry): Add declared.
a8c01a59
RL
9386 (named_section_first_declaration): New function.
9387 (default_elf_asm_named_section): Use it.
9388 * output.h (named_section_first_declaration): New.
9389
646ded90
RH
93902001-10-08 Richard Henderson <rth@redhat.com>
9391
592188a5
RH
9392 * i386.md (movsi_xor): Export.
9393 (setcc peep2): Use it when available; add an alternative to
646ded90
RH
9394 match zero_extendhisi2_and.
9395
e052f1a9
KG
93962001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9397
9398 * romp-protos.h (romp_initialize_trampoline): New function.
9399 * romp.c (romp_initialize_trampoline): Likewise.
9400 * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
9401 romp_initialize_trampoline.
9402
da905677
KG
94032001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9404
9405 * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
9406 * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9407 * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9408 * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
9409
9d1e9f93
FS
94102001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9411
9412 * unroll.c (loop_iterations): Extend check for multiple back edges.
9413
69dcadff
AO
94142001-10-08 Alexandre Oliva <aoliva@redhat.com>
9415
9416 * langhooks.h: New file.
9417 * Makefile.in (OBJS): Added langhooks.o.
9418 (c-lang.o): Depend on langhooks.h.
9419 (c-common.o): Don't depend on tree-inline.h.
9420 (tree-inline.o): Depend on toplev.h.
9421 (langhooks.o): New rule.
9422 * c-common.c: Don't include tree-inline.h.
9423 (c_mark_lang_decl): Mark argument c as unused.
9424 (c_common_lang_init): Don't initialize hooks here.
9425 * c-lang.c: Include langhooks.h, then override some macros.
9426 (lang_hooks): Initialize with macros in langhooks.h.
9427 (c_init): Don't initialize hooks here.
9428 * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
9429 (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
9430 * tree-inline.c: Include toplev.h. Don't define hook variables.
9431 * tree-inline.h: Don't define hook types nor declare hook
9432 variables. Move macros to...
9433 * langhooks.c: ... new file, as functions. Adjust all callers.
9434
5a2ce672
JL
94352001-10-08 Jeffrey A Law <law@cygnus.com>
9436
9437 * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
9438 purge_mem_unchanging_flag on all instructions, not just on those
9439 before NOTE_INSN_FUNCTION_BEG.
9440
bbb12d76
NB
94412001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
9442
9443 * cppmacro.c (_cpp_create_definition): Leave comments off.
9444
9445 * doc/cpp.texi: Update.
9446
3e96a2fd
DD
94472001-10-08 DJ Delorie <dj@redhat.com>
9448
9449 * c-decl.c (grokfield): Make sure the only unnamed fields
9450 we're allowing are either structs or unions.
9451 * doc/extend.texi: Add documentation for the unnamed field
9452 extension.
9453
67f28219
ZW
94542001-10-08 Zack Weinberg <zack@codesourcery.com>
9455
9456 * aclocal.m4 (gcc_AC_PROG_GNAT): New.
2ea792c2 9457 * configure.in: Use it.
67f28219
ZW
9458 * configure: Regenerated.
9459 * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
2ea792c2 9460 config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
67f28219 9461
c0bfe993
NB
94622001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
9463
9464 * cppfiles.c (open_file): Don't mark zero-length files
9465 never-reread here. Don't output diagnostics here either.
9466 (stack_include_file): Mark them never-reread here.
9467 (_cpp_read_file): Update.
9468
d5d1b9e2
RH
94692001-10-08 Richard Henderson <rth@redhat.com>
9470
9471 * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
9472
1f1b0541
RH
94732001-10-08 Richard Henderson <rth@redhat.com>
9474
9475 * expr.c (store_expr): When converting a CONST_INT for storage
9476 in a SUBREG, convert it to both SUBREG modes before stripping
9477 the SUBREG.
9478
6ba3b214
RH
94792001-10-08 Richard Henderson <rth@redhat.com>
9480
9481 * varasm.c (restore_varasm_status): New.
9482 * function.h: Declare it.
9483 * function.c (pop_function_context_from): Call it.
9484
31ed8fea
RH
94852001-10-08 Richard Henderson <rth@redhat.com>
9486
9487 * c-common.h (struct c_lang_decl): Add declared_inline.
9488 * c-tree.h (DECL_DECLARED_INLINE_P): New.
9489 * c-lang.c (c_disregard_inline_limits): Use it.
9490 * c-decl.c (duplicate_decls): Likewise.
9491 (pushdecl, redeclaration_error_message): Likewise.
9492 (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
9493 (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
9494 Set DECL_INLINE if -finline-functions.
9495 (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
9496
d6da836d
NB
94972001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
9498
9499 * cppmacro.c (funlike_invocation_p): Move some logic to caller
9500 in enter_macro_context. Create a padding token in its own context
9501 if necessary when the search for '(' fails.
9502 (enter_macro_context): Update.
9503
cc712abf
JM
95042001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
9505
9506 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
9507 genmultilib, toplev.c: Fix spelling errors of "separate" as
9508 "seperate", and corresponding spelling errors of related words.
9509
8b60264b
KG
95102001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9511
9512 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
9513 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
9514 Likewise.
9515 * c-dump.c (dump_option_value_info): Likewise.
9516 * c-format.c (format_length_info, format_char_info,
9517 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
9518 * collect2.c (names): Likewise.
9519 * cppdefault.h (default_include): Likewise.
9520 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
9521 * flow.c (life_analysis): Likewise.
9522 * gcc.c (dir_separator_str, modify_target, option_map,
9523 target_option_translations, spec_list_1, extra_specs_1,
9524 init_spec): Likewise.
9525 * gcov.c (gcov_version_string): Likewise.
9526 * genattr.c (write_units): Likewise.
9527 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
9528 * gengenrtl.c (rtx_definition, defs): Likewise.
9529 * genrecog.c (pred_table): Likewise.
9530 * global.c (global_alloc): Likewise.
9531 * lcm.c (optimize_mode_switching): Likewise.
9532 * local-alloc.c (find_free_reg): Likewise.
9533 * params.h (param_info): Likewise.
9534 * predict.c (predictor_info): Likewise.
9535 * protoize.c (unexpansion_struct): Likewise.
9536 * real.c (bmask): Likewise.
9537 * recog.h (insn_operand_data, insn_data): Likewise.
9538 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
9539 * stmt.c (expand_nl_goto_receiver): Likewise.
9540 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
9541 target_switches, target_options): Likewise.
9542 * tradcif.y (token, tokentab2, yylex): Likewise.
9543 * tree.h (attribute_spec): Likewise.
2ea792c2 9544
8b60264b
KG
9545 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
9546 Likewise.
9547 * arc.c (arc_output_function_epilogue): Likewise.
9548 * arm.c (processors, all_cores, all_architectures,
9549 arm_override_options, isr_attribute_arg, isr_attribute_args,
9550 arm_isr_value): Likewise.
9551 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
9552 Likewise.
9553 * c4x.c (c4x_int_reglist): Likewise.
9554 * d30v.c (override_options): Likewise.
9555 * h8300.c (shift_insn): Likewise.
9556 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
9557 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
9558 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
9559 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
9560 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
9561 * i386.h (processor_costs, ix86_cost): Likewise.
9562 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
9563 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
9564 * m68k.c (codes_68881, codes_FPA): Likewise.
9565 * m88k.c (mode_from_align, max_from_align, all_from_align,
9566 best_from_align, m_options): Likewise.
9567 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
9568 * mcore.c (mode_from_align): Likewise.
9569 * mips/elf64.h (UNIQUE_SECTION): Likewise.
9570 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
9571 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
9572 * mips.h (mips_regno_to_class): Likewise.
9573 * ns32k.c (scales): Likewise.
9574 * pa.c (import_string, magic_milli): Likewise.
9575 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
9576 * sparc.c (leaf_reg_remap, sparc_override_options,
9577 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
9578 Likewise.
9579 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
9580
d1d18b46
DJ
95812001-10-07 Dale Johannesen <dalej@apple.com>
9582
9583 * reload1.c (reload_reg_free_p): Teach register interference
9584 checking that multiple output reloads are emitted in
9585 reverse order.
9586 reload1.c (reload_reg_reaches_end_p): Ditto.
9587 reload1.c (reloads_conflict): Ditto.
9588
59d42021
JM
95892001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
9590
9591 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
9592 NULL_TREE inside @code.
9593
96cd0e2d
JM
95942001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
9595
9596 * doc/gcc.texi: Document consistent style of "32-bit",
9597 "Objective-C", and "@code{NULL}".
9598
47ad4138
ZW
95992001-10-06 Zack Weinberg <zack@codesourcery.com>
9600
9601 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
9602 (cpp_token_len, cpp_spell_token, cpp_output_token,
9603 _cpp_equiv_tokens): Handle it.
9604 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
9605 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
9606 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
9607 error messages.
9608
7fb56130
RK
9609Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9610
9611 * gcc.c (default_compilers): Remove .ada.
9612
5b810d3c
NB
96132001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
9614
9615 * doc/cppinternals.texi: Update.
9616
d644be7b
ZW
96172001-10-06 Zack Weinberg <zack@codesourcery.com>
9618
9619 * gcc.c (main): Set this_file_error if the appropriate
9620 compiler for a language has not been installed.
9621
3afb4581 96222001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
2ea792c2 9623
592188a5 9624 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
3afb4581 9625
45b70dd4
JM
96262001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
9627
9628 * gccbug.in (CATEGORIES): Add ada.
9629
da6e254e
CM
96302001-10-05 Catherine Moore <clm@redhat.com>
9631
592188a5
RH
9632 * config/stormy16/stormy-abi: Document abi changes.
9633 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
9634 (ICALL_REGS): New register class.
9635 (NUM_ARGUMENT_REGISTERS): Now 6.
9636 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
9637 in registers.
9638 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
9639 * config/stormy16.md (call_internal, call_value_internal,
9640 indirect_jump): Use new 'z' constraint.
da6e254e 9641
9f1c2931
NB
96422001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
9643
9644 * doc/cppinternals.texi: Update.
9645
27d95cbe
RH
96462001-10-05 Richard Henderson <rth@redhat.com>
9647
9648 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
9649 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
9650 the gas section-name-as-label feature.
9651
591099cd
NB
96522001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
9653
9654 * doc/cppinternals.texi: Update.
9655
523fbd9d
RK
9656Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9657
9658 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
9659 to ensure valid SImode constants.
9660
d4e4baa9
AO
96612001-10-05 Alexandre Oliva <aoliva@redhat.com>
9662
4838c5ee
AO
9663 * Makefile.in (c-decl.o): Depend on tree-inline.h.
9664 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
9665 * c-decl.c: Include tree-inline.h.
9666 (c_expand_body): Call optimize_inline_calls. Determine whether
9667 a function is inlinable upfront, and only clear
9668 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
9669 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
9670 (c_disregard_inline_limits): New function.
9671 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
9672 (c_post_options): Enable tree inlining if inlining is enabled.
9673 Don't inline trees when instrumenting functions.
9674 (c_init): Initialize lang_disregard_inline_limits and
9675 lang_cannot_inline_tree_fn.
9676 * tree-inline.c (initialize_inlined_parameters): Handle calls
9677 with fewer arguments than declared parameters, and fewer
9678 parameters than passed arguments. Don't assume value is a
9679 DECL.
9680 (declare_return_variable): Convert return value back to the
9681 original type, if it was promoted.
9682 (tree_inlinable_function_p): New function.
9683 (inlinable_function_p): Don't look at DECL_INLINE if we're
9684 inlining all functions. Make it work with a NULL id.
9685 Re-check DECL_UNINLINABLE after language-specific checks.
4838c5ee 9686 * tree-inline.h (tree_inlinable_function_p): Declare it.
6afed784
AO
9687 * integrate.c (save_for_inline): Don't bother to prepare argvec
9688 when not inlining.
4838c5ee
AO
9689 * cse.c (check_for_label_ref): Don't check deleted labels.
9690
d4e4baa9
AO
9691 * Makefile.in (tree-inline.o): Depend on newly-included headers.
9692 * tree-inline.c: Include headers needed for the functions moved in.
9693 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
9694 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
9695 (copy_body, initialize_inlined_parameters): Likewise.
9696 (declare_return_variable, inlinable_function_p): Likewise.
9697 (expand_call_inline, expand_calls_inline): Likewise.
9698 (optimize_inline_calls, clone_body): Likewise.
9699 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
9700 (copy_tree_r, remap_save_expr): Likewise.
9701
588d3ade
AO
97022001-10-04 Alexandre Oliva <aoliva@redhat.com>
9703
9704 * Makefile.in (OBJS): Added tree-inline.o.
9705 (c-common.o): Depend on tree-inline.h.
9706 (tree-inline.o): New target.
9707 * c-common.c: Include tree-inline.h.
9708 (c_mark_lang_decl): Don't mark saved_tree.
9709 (c_common_lang_init): Set lang_anon_aggr_type_p.
9710 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
9711 (struct c_lang_decl): Moved saved_tree to tree_decl.
9712 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
9713 * integrate.h (function_attribute_inlinable_p): Declare it.
9714 * integrate.c (function_attribute_inlinable_p): Export it.
9715 * tree-inline.c: New file. Define variables declared in...
9716 * tree-inline.h: New file. Declare functions to be moved to
9717 tree-inline.c. Define macros and declare types and hooks for
9718 language-specific tree inlining.
9719 (flag_inline_trees): Moved definition from cp/decl2.c.
9720 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
9721 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
9722 (struct tree_decl): Moved saved_tree from c_lang_decl and
9723 inlined_fns from C++'s lang_decl.
9724
d6c0ca38
LR
97252001-10-04 Loren J. Rittle <ljrittle@acm.org>
9726
9727 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
9728 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
9729
d3d43aab
NB
97302001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
9731
9732 * doc/cppinternals.texi: Update.
9733
3054eeed
EC
97342001-10-04 Eric Christopher <echristo@redhat.com>
9735
9736 * config/mips/mips.c (init_cumulative_args): Remember to set
9737 cum->prototype.
9738 * config.gcc: Redo linux configuration. Add target_cpu_default
9739 of soft-float to all mipsisa32 combinations and tx39.
9740 * config/mips/linux.h: Remove include of mips.h.
9741
8276ed21
LR
97422001-10-03 Loren J. Rittle <ljrittle@acm.org>
9743
9744 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
9745 HOST_LDFLAGS and HOST_CPPFLAGS.
9746
8607f1bc
ZL
97472001-10-03 Ziemowit Laski <zlaski@apple.com>
9748
9749 * c-parse.in (objc_inherit_code, objc_pq_context,
9750 objc_public_flag): Make static.
9751 (objc_interface_context, objc_implementation_context,
9752 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
9753 global tree array in objc/objc-act.[ch].
9754 (methoddef): Remove unnecessary code.
9755
9756 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
9757 Hoist struct definitions to objc-act.h.
9758 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
9759 cat_count): Place declaration in objc-act.h.
9760 (objc_tree_index): Move enumeration to objc-act.h.
9761 (objc_global_trees): Place declaration and macro accessors in
9762 objc-act.h.
9763 (implementation_context): Remove duplicate; use
9764 objc_implementation_context instead:
9765 (method_context): Remove duplicate; use objc_method_context
9766 instead.
9767 (objc_ellipsis_node, objc_method_prototype_template,
9768 implemented_classes, function_type): Move global vars to
9769 objc_global_trees.
9770 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
9771 (build_message_expr): Move actual construction of ObjC message
9772 send nodes to finish_message_expr.
9773 (finish_message_expr): New routine, contains code formerly in
9774 build_message_expr.
9775 * objc/objc-act.h (finish_message_expr): New prototype.
9776 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
9777 declarations; these vars are now part of objc_global_trees.
9778 (objc_tree_index, objc_global_trees): Move definitions from
9779 objc-act.c.
9780 * objc/objc-tree.def: Update copyright info.
9781
508fc646
JW
9782Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
9783
9784 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
9785 op is NULL.
9786 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
9787 only if TARGET_ARCH64.
9788
80ebf43e
BS
97892001-10-02 Bernd Schmidt <bernds@redhat.com>
9790
9791 * doc/extend.texi: Fix some problems with previous checkin.
9792 * doc/invoke.texi: Likewise.
9793
644eddaa
NB
97942001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
9795
9796 * cpphash.h: Update comments.
9797 (cpp_context): Update.
9798 (spec_nodes): Remove n__Pragma.
9799 * cppinit.c (cpp_create_reader): Update.
9800 (builtin_array): Add _Pragma.
9801 * cpplib.h: Update comments.
9802 (NODE_DISABLED, BT_PRAGMA): New.
9803 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
9804 * cppmacro.c (struct cpp_macro): Remove disabled.
9805 (builtin_macro): Return int, handle _Pragma, push the new token
9806 on the context stack.
9807 (funlike_invocation_p): Unconstify, update.
9808 (enter_macro_context): Handle builtins here.
9809 (replace_args, push_token_context, push_ptoken_context):
9810 Update for prototype changes.
9811 (_cpp_pop_context): Update.
9812 (cpp_get_token): Don't handle buitins, nor _Pragma here.
9813 (cpp_sys_macro_p): Update.
9814 (_cpp_free_definition): Clear disabled flag.
9815 (_cpp_create_definition): Upate.
9816 * cppmain.c: Update comments.
9817
14f73b5a 9818Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
2ea792c2
JJ
9819 Andreas Jaeger <aj@suse.de>,
9820 Jan Hubicka <jh@suse.cz>
14f73b5a
JH
9821
9822 * doc/invoke.texi (i386 Options): Document x86-64 options.
9823 (i386 and x86-64 Options): Rename i386 options section.
9824
9825 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
9826 (TARGET_SWITCHES): Add -munwind-info.
9827 (MASK_NO_UNWIND_INFO): New.
9828 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
9829 biarch compilation.
9830 (ASM_OUTPUT_DOUBLE_INT): New.
9831
9832 * config/i386/linux64.h: New spec file for Linux x86-64 support.
9833 * config.gcc: Fix tm_file settings for x86-64.
9834 * config/i386/x86-64.h: New file with OS independent x86-64
9835 definitions.
9836 * config/i386/biarch64.h: New file used to configure compiler
9837 to biarch/64bit compilation.
9838
9839 * config/i386/i386.c: (override_options): Set flags default
9840 for 64bit compilation.
9841
9842Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
9843
9844 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
3054eeed 9845 (ix86_expand_int_movcc): Optimize DImode conditional moves with
14f73b5a
JH
9846 constants on x86_64.
9847 (ix86_attr_length_immediate_default): Support MODE_DI.
9848 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
9849 condition.
9850 (indirect_jump, tablejump): Turn into expander.
9851
80a497e4
JM
98522001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
9853
9854 * c-common.c (c_format_attribute_table): Make format and
9855 format_arg attributes apply to function types rather than to
9856 decls.
9857 (is_valid_printf_arglist): Construct an attribute list and pass
9858 that to check_function_format rather than a name.
9859 * c-common.h (check_function_format): Adjust prototype.
9860 * c-decl.c (duplicate_decls): Preserve attributes from type of
9861 built-in decl when allowing for harmless conflict in types.
9862 * c-format.c (record_function_format,
9863 record_international_format, function_format_list,
9864 international_format_info, international_format_list): Remove.
9865 (function_format_info): Remove next, name and assembler_name.
9866 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
9867 (decode_format_attr): New.
9868 (handle_format_attribute): Handle receiving a type rather than a
9869 decl. Call decode_format_attr. Store format information in a
9870 function_format_info.
9871 (handle_format_arg_attribute): Correct comment. Handle receiving
9872 a type rather than a decl. Use unsigned HOST_WIDE_INT for
9873 arg_num.
9874 (check_format_info_recurse, check_format_info_main): Take argument
9875 numbers as unsigned HOST_WIDE_INT.
9876 (check_function_format): Take a list of attributes from the
9877 function type rather than a name or assembler name. Check for
9878 format attributes in that list and the attributes on the type of
9879 the current function rather than looking through
9880 function_format_list.
9881 (check_format_info): Use unsigned HOST_WIDE_INT for argument
9882 numbers.
9883 (check_format_info_recurse): Take format_arg attributes from the
9884 type of the function calls rather than using
9885 international_format_list. Allow for multiple format_arg
9886 attributes.
9887 * c-typeck.c (build_function_call): Pass type attributes to
9888 check_function_format rather than name or assembler name. Don't
9889 require there to be a name or assembler name to check formats.
9890
6431177a
JM
98912001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
9892
9893 * attribs.c (decl_attributes): Possibly call
9894 insert_default_attributes to insert default attributes on
9895 functions in a lazy manner.
9896 * builtin-attrs.def: New file; define the default format and
9897 format_arg attributes.
9898 * c-common.c (c_format_attribute_table): Move to earlier in the
9899 file.
9900 (c_common_nodes_and_builtins): Initialize format_attribute_table.
9901 (enum built_in_attribute, built_in_attributes,
9902 c_attrs_initialized, c_init_attributes,
9903 c_common_insert_default_attributes): New.
9904 (c_common_lang_init): Don't initialize format_attribute_table. Do
9905 call c_init_attributes.
9906 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
9907 * c-common.h (init_function_format_info): Don't declare.
9908 (c_common_insert_default_attributes): Declare.
9909 * c-decl.c (implicitly_declare, builtin_function): Call
9910 decl_attributes.
9911 (init_decl_processing): Don't call init_function_format_info.
9912 (insert_default_attributes): New.
9913 * c-format.c (handle_format_attribute,
9914 handle_format_arg_attribute): Be quiet about inappropriate
9915 declaration when applying default attributes.
9916 (init_function_format_info): Remove.
9917 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
9918 (insert_default_attributes): Declare.
9919
ed0ea560
JM
99202001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
9921
9922 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
9923
357e3f3d
JW
99242001-10-01 Jim Wilson <wilson@redhat.com>
9925
9926 * sched-deps.c (add_dependence): When elide conditional dependence,
9927 check that insn doesn't modify cond2.
9928
ed947a96
DJ
99292001-10-01 Dale Johannesen <dalej@apple.com>
9930
9931 * config/rs6000/rs6000.h (enum processor_type): Add support
9932 for 7400 (G4) and 7450.
9933 (RTX_COSTS): Ditto.
9934 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9935 (rs6000_issue_rate): Ditto.
9936 (rs6000_adjust_cost): Fix cycle counts for compares.
9937 (debug_stack_info): Fix an obvious typo.
9938 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9939 * doc/invoke.texi: Document.
9940 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
9941 for Darwin.
9942 (PROCESSOR_DEFAULT): Ditto.
9943
d93f142f
LR
99442001-10-01 Loren J. Rittle <ljrittle@acm.org>
9945
9946 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
9947 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
9948 later recursive make invocation.
9949
11e9ecc5
HB
99502001-10-01 Hans Boehm <boehm@acm.org>
9951
9952 * optabs.c (emit_libcall_block): When using non-call exceptions,
9953 don't add REG_LIBCALL reg notes to trapping calls.
9954
607a6500
DB
99552001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
9956
9957 * flow.c (propagate_block_delete_libcall): Remove unused first arg
9958 (propagate_one_insn): Update for above change
9959
2adaabc6
DB
99602001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
9961
9962 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
9963 _Unwind_GetTextRelBase): Argument is unused.
9964
f47e9b4e
RK
9965Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9966
9967 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
9968 Loop through NOPs, placeholders, and components.
9969 Don't go through NOPs if change mode.
9970 (record_alias_subset): Do nothing if SUBSET and SET are the same.
9971 * emit-rtl.c (set_mem_alias_set): Enable check.
9972 * expr.c (find_placeholder): New function.
9973 (expand_expr, case PLACEHOLDER_EXPR): Use it.
9974 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
9975 to modify it and avoid unneeded copies.
9976 * expr.h (expand_expr): Always define.
9977 (find_placeholder): New declaration.
9978
d5d5ec45
SC
99792001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9980
9981 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
9982 operand 2 is the stack pointer.
9983 ("addr-peephole"): Fix address computation peephole when operand 2
9984 is the stack pointer.
9985
0692acba
RK
9986Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9987
9988 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
9989 (ix86_setup_incoming_varargs): Likewise.
9990
55b3d665
JM
99912001-10-01 Jason Merrill <jason_merrill@redhat.com>
9992
9993 * stor-layout.c (layout_type): Don't complain about too-large
9994 array here.
9995
173b24b9
RK
9996Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9997
9998 * function.c (keep_stack_depressed): Don't use delete_insn.
9999
10000 * expr.h (set_mem_alias_set): Move decl to here.
10001 * rtl.h (mem_attrs): New typedef and struct.
10002 (union rtunion_def): Add field for mem_attrs.
10003 (X0MEMATTR, MEM_ATTRS): New macros.
10004 (MEM_ALIAS_SET): Use MEM_ATTRS.
10005 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
10006 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
10007 (set_mem_alias_set): Delete decl from here.
3054eeed 10008
173b24b9
RK
10009 * alias.c (set_mem_alias_set): Delete from here.
10010 * emit-rtl.c (mem_attrs_htab): New variable.
10011 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
10012 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
10013 (mem_attrs_mark, get_mem_attrs): Likewise.
10014 (gen_rtx_MEM): Clear MEM_ATTRS.
10015 (set_mem_attributes): Move to here.
10016 (set_mem_alias_set): Likewise, and call get_mem_attrs.
10017 (init_emit_once): const_int_htab now deletable htab.
10018 Initialize mem_attrs_htab.
10019 * explow.c (set_mem_attributes): Delete from here.
10020 * function.c (put_var_into_stack): Clear MEM_ATTRS.
10021 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
10022 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
10023 * reload1.c (reload): Rework changing REG to MEM.
10024
e9449401
L
100252001-09-30 H.J. Lu <hjl@gnu.org>
10026
10027 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
10028 * config.in: Rebuild.
10029
c9b9c05c
SC
100302001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10031
10032 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
10033 ("tsthi_1"): Avoid allocation in register y.
10034 ("*movqi_68hc12"): Reorganize and fix constraints.
10035 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
10036 ("addqi3"): Likewise.
10037 ("addhi3"): Fix constraints.
10038 ("*logicalhi3_zexthi"): Disparage soft registers.
10039
713b2058
SC
100402001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10041
10042 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
10043 to tmp reg.
10044
b5b4c48c
SC
100452001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10046
10047 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
10048 that we use setjmp/longjmp exceptions.
10049
8c3b2693
NB
100502001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
10051
10052 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
10053 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
10054 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
10055 _cpp_pool_alloc, _cpp_next_chunk): Remove.
10056 (_cpp_extend_buff, BUFF_ROOM): Update.
10057 (_cpp_append_extend_buff): New.
10058 (struct cpp_reader): Remove macro_pool, add a_buff.
10059 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
10060 macro_pool.
10061 (cpp_destroy): Free a_buff instead of macro_pool.
10062 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
10063 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
10064 _cpp_pool_alloc, ): Remove.
10065 (parse_number, parse_string): Update use of _cpp_extend_buff.
10066 (_cpp_extend_buff): Update.
10067 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
10068 * cpplib.c (glue_header_name, parse_answer):
10069 Update use of _cpp_extend_buff.
10070 (cpp_register_pragma, cpp_register_pragma_space): Use
10071 _cpp_aligned_alloc.
10072 (do_assert, do_unassert): Check for EOL, update.
10073 * cppmacro.c (stringify_arg, collect_args): Update to use
10074 _cpp_extend_buff and _cpp_append_extend_buff.
10075 (save_parameter, parse_params, alloc_expansion_token,
10076 _cpp_create_definition): Rework memory management.
10077
ed9fca3f
AP
100782001-09-29 Andris Pavenis <pavenis@lanet.lv>
10079
10080 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
10081 update md_exec_prefix.
10082 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
10083 to string constant.
10084
ba956982
UW
100852001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
10086
10087 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
10088 (SELECT_CC_MODE): Use s390_select_ccmode.
10089 * config/s390/s390-protos.h (s390_select_ccmode): Add.
10090 * config/s390/s390.c (s390_select_ccmode): New.
10091 (s390_match_ccmode): Add CCLmode.
10092 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
10093 (output_branch_condition, output_inverse_branch_condition): Removed.
10094 (print_operand): Use s390_branch_condition_mnemonic.
10095 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
10096 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
10097 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
10098
10099 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
10100 when converting conditional branches to far branches.
10101 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
10102 cmpint_di): Use CCSmode instead of CCUmode.
10103
10104 * config/s390/s390.c (legitimate_la_operand_p): New.
10105 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
10106 * config/s390/s390.md (movsi): Convert load address patterns to
10107 arithmetic operations when necessary.
10108 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
10109 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
10110 (*do_la_reg_0): Don't use before reload.
10111
10112 * config/s390/s390.c (legitimize_address): Make more efficient
10113 use of two-register addressing mode.
10114
10115 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
10116 with -mno-backchain in some corner cases.
10117
10118 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
10119
3d17d93d
AO
101202001-09-29 Alexandre Oliva <aoliva@redhat.com>
10121
10122 * reload.c (find_reloads): Mark new USE insns with QImode.
10123 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
10124 find_reloads_subreg_address): Likewise.
10125 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
10126 encountered.
10127 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
10128 CLOBBERs.
10129 (reload): Make sure there are no USEs with mode other than
10130 VOIDmode. At the end, remove those marked with QImode.
10131
793e9558
PB
101322001-09-29 Per Bothner <per@bothner.com>
10133
10134 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
10135 * Makefile.in (includedir): Rename to local_includedir.
10136 (includedir): Define as $(prefix)/include.
10137 * config.in (PREFIX_INCLUDE_DIR): New variable.
10138 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
10139
1255c85c
BS
101402001-09-29 Bernd Schmidt <bernds@redhat.com>
10141
10142 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
10143 storehps builtins.
10144 * doc/extend.texi (Vector Extensions): New node.
10145 * doc/invoke.texi (Machine Dependent Options): Add documentation for
592188a5 10146 i386 -mmmx, -msse, -m3dnow.
1255c85c 10147
86be733d
JH
10148Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
10149
10150 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
10151
8d2cef84
HPN
101522001-09-29 Hans-Peter Nilsson <hp@axis.com>
10153
6dee7384
HPN
10154 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
10155
8d2cef84
HPN
10156 * doc/invoke.texi (Optimize Options): Delete spurious @table.
10157
a3623c48
RH
101582001-09-28 Richard Henderson <rth@redhat.com>
10159
410ad077
RH
10160 * varasm.c (assemble_integer): Bound alignment check by
10161 BIGGEST_ALIGNMENT.
10162
a3623c48
RH
10163 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
10164
5bc10877
RO
101652001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10166
10167 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
10168
47f339cf
BS
101692001-09-25 Bernd Schmidt <bernds@redhat.com>
10170
10171 Mostly from Graham Stott <grahams@redhat.com>
10172 * c-common.c (type_for_mode): Add support for V2SFmode.
10173 * tree.c (build_common_tree_nodes_2): Likewise.
10174 * tree.h (enum tree_index, global_trees): Likewise.
10175 * config/i386/i386.c (x86_3dnow_a): New variable.
10176 (override_options): Support 3Dnow extensions.
10177 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
10178 Athlon's version of 3Dnow.
10179 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
10180 (ix86_expand_builtin): Handle them.
10181 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
10182 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
10183 TARGET_3DNOW_A): New macros.
10184 (TARGET_SWITCHES): Add 3Dnow switches.
10185 (VALID_MMX_REG_MODE_3DNOW): New macro.
10186 (VECTOR_MODE_SUPPORTED_P): Use it.
10187 (enum ix86_builtins): Add entries for 3Dnow builtins.
10188 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
10189 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
10190 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
10191 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
10192 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
10193 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
10194 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
10195 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
10196 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
10197 sfence_insn, prefetch): Make these available if TARGET_SSE or
10198 TARGET_3DNOW_A.
3054eeed 10199
ad919812
JH
10200Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
10201
10202 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
10203 ix86_va_start, ix86_build_va_list): Declare.
10204 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
10205 ix86_va_start, ix86_build_va_list): New global functions.
10206 * i386.md (sse_prologue_save_insn): New insn.
10207 (sse_prologue_save): New expander.
10208 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
10209 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
10210
6142088c
NB
102112001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
10212
10213 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
10214 Use size_t everywhere, make definitions consistent with
3054eeed 10215 prototypes.
6142088c 10216
49ce134f
JH
10217Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
10218
10219 * gcse.c (replace_store_insn): Use delete_insn.
10220 * loop.c (move_movables): Likewise; avoid delete_insn
10221 from clobbering notes moved elsewhere.
10222 (check_dbra_loop): Use delete_insn.
10223 * ssa.c (convert_from_ssa): Likewise.
10224 * cse.c (cse_insn): Use delete_insn.
10225
ece54d54
NB
102262001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
10227
10228 * cpphash.h (struct cpp_buff): Make unsigned.
10229 (_cpp_get_buff): Take length of size_t.
10230 (_cpp_unaligned_alloc): New.
10231 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
10232 (struct cpp_reader): Remove ident_pool. Add u_buff.
10233 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
10234 (cpp_destroy): Destroy u_buff, not ident_pool.
10235 * cpplex.c (parse_number, parse_string, save_comment,
10236 cpp_token_as_text): Update to use the unaligned buffer.
10237 (new_buff): Make unsigned.
10238 (_cpp_unaligned_alloc): New.
10239 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
10240 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
10241 Similarly.
10242 (collect_args): Make unsigned.
10243
3b681e9d
ZW
102442001-09-27 Zack Weinberg <zack@codesourcery.com>
10245
10246 * cpplex.c (cpp_output_token): Use a putc loop for
10247 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
10248
10249 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
10250 * configure, config.in: Regenerate.
10251 * system.h: Replace fwrite and fprintf with their unlocked
10252 variants if available.
10253
b97d4c0b
RH
102542001-09-27 Richard Henderson <rth@redhat.com>
10255
10256 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
10257 in favour of .eh_frame.
10258
e9cf9523
AH
102592001-09-27 Aldy Hernandez <aldyh@redhat.com>
10260
3b681e9d 10261 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
e9cf9523
AH
10262 to macros.
10263 (LIBCALL_VALUE): Likewise.
10264
c9e7a609
NB
102652001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
10266
10267 * cpphash.h: Update comment.
10268 * cpplex.c: Update comments.
10269 (_cpp_can_paste): Remove.
10270 * cpplib.h (_cpp_can_paste): Remove.
10271 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
10272 lexer rather than _cpp_can_paste.
10273
4cf817a7
NB
102742001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
10275
10276 * doc/cppinternals.texi: Update.
10277
1e013d2e
NB
102782001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
10279
10280 * cpphash.h (struct cpp_pool): Remove locks and locked.
10281 (struct cpp_context): Add member buff.
10282 (struct cpp_reader): Remove member argument_pool.
10283 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
10284 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
10285 * cpplex.c (chunk_suitable): Remove pool argument.
10286 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
10287 (new_buff, _cpp_extend_buff): Update.
10288 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
10289 which buffer is returned.
10290 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
10291 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
10292 * cppmacro.c (lock_pools, unlock_pools): Remove.
10293 (push_ptoken_context): Take a _cpp_buff.
10294 (enter_macro_context): Pool locking removed.
10295 (replace_args): Use a _cpp_buff for the replacement list with
10296 arguments replaced.
10297 (push_token_context): Clear buff.
10298 (expand_arg): Use _cpp_pop_context.
10299 (_cpp_pop_context): Free a context's buffer, if any.
10300
a63f73f8
DD
103012001-09-26 DJ Delorie <dj@redhat.com>
10302
10303 * c-typeck.c (digest_init): Check for sizeless arrays.
10304
9c2f7166
RH
103052001-09-26 Richard Henderson <rth@redhat.com>
10306
10307 * optabs.c (init_one_libfunc): Create a dummy function type
10308 instead of using error_mark_node.
10309
b8af0ca5
NB
103102001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
10311
10312 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
10313 _cpp_extend_buff, _cpp_free_buff): New.
10314 (struct cpp_reader): New member free_buffs.
10315 * cppinit.c (cpp_destroy): Free buffers.
10316 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
10317 _cpp_extend_buff, _cpp_free_buff): New.
10318 * cpplib.h (struct cpp_options): Remove unused member.
10319 * cppmacro.c (collect_args): New. Combines the old parse_arg
10320 and parse_args. Use _cpp_buff for memory allocation.
10321 (funlike_invocation_p, replace_args): Update.
10322
2e106602
JH
10323Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
10324
10325 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
10326
fd2c57a9
AH
103272001-09-25 Andrew Haley <aph@cambridge.redhat.com>
10328
10329 * except.c (sjlj_mark_call_sites): Change address inside sequence.
10330
ee3d5b8e
AH
103312001-09-24 Andrew Haley <aph@cambridge.redhat.com>
10332
10333 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
10334 glibc.
10335
b499d9ab
JJ
103362001-09-25 Janis Johnson <janis187@us.ibm.com>
10337 Jim Wilson <wilson@redhat.com>
10338
10339 * doc/install.texi (Specific, ia64-*-linux): Document.
10340
ca6c03ca
JH
10341Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
10342
10343 * Makefile.in (cfgrtl.o): Add.
10344 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
10345 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
10346 free_aux_for_edge): Declare.
10347 * cfg.c
10348 (HAVE_return): Undefine.
10349 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
10350 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
10351 free_aux_for_edge): New global functions.
10352 (first_delete_block): New static variable.
10353 (init_flow): Clear first_delete_block.
10354 (basic_block_for_insn, label_value_list, tail_recursion_label_list,
10355 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
10356 try_redirect_by_replacing_jump, last_loop_beg_note,
10357 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
10358 delete_insn, delete_insn_chain, create_basic_block_structure,
10359 create_basic_block, flow_delete_block, compute_bb_for_insn,
10360 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
10361 set_block_for_new_insns, split_block, merge_blocks_nomove,
10362 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
10363 redirect_edge_and_branch, force_nonfallthru_and_redirect,
10364 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
10365 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
10366 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
10367 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
10368 purge_all_dead_edges): Move to ....
10369 * cfgrtl.c: New file; .... Here.
10370
10371 * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
10372 (reroder_basic_block): Use alloc_aux_for_blocks.
10373 * predict.c (estimate_bb_frequencies): Likewise; use
10374 alloc_aux_for_edges.
10375 * profile.c (compute_branch_probabilities): Likewise.
10376 (branch_prob): Likewise.
10377 * reg-stack.c (reg_to_stack): Likewise.
10378
10379 * emit-rtl.c (emit_insns_after): Never return NULL.
10380
10381 * basic-block.h (set_block_for_new_insns): Delete.
10382 * cfgrtl.c (set_block_for_new_insns): Delete.
10383
10384 * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
10385 calls when crossjumping.
10386
10387 * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
10388 * unroll.c (copy_loop_body): Use delete_insn.
10389
10390 * final.c (final, final_scan_insn): Use delete_insn/delete_note.
10391 * function.c (fixup_var_refs_insn, fixup_var_refs_1,
10392 keep_stack_depressed): Likewise.
10393 * gcse.c (cprop_cc0_jump): Likewise.
10394 * local-alloc.c (update_equiv_regs): Likewise.
10395 * loop.c (scan_loop, loop_delete_insns): Likewise.
10396 * regmove.c (try_auto_increment, fixup_match_1): Likewise.
10397 * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
10398 delete_output_reload, delete_address_reloads_1,
10399 reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
10400 Likewise.
10401 * sibcall.c (replace_call_placeholder): Likewise.
10402 * cse.c (cse_insn): Likewise.
10403
eeb06b1b
BS
104042001-09-25 Bernd Schmidt <bernds@redhat.com>
10405
10406 From Graham Stott <grahams@redhat.com>
10407 (def_builtin): Only define builtins appropriate for target_flags. All
10408 callers changed.
10409 (builtin_decsription): Add new field mask which is used to determine
10410 when to define the builtin via the macro def_builtin.
10411
10412 (bdesc_comi): Initialise new mask fields.
10413 (bdesc_2srg): Likewise.
10414 (bdesc_1arg): Likewise.
10415
3b681e9d 10416 * config/i386/i386.c (ix86_init_builtins): Correct return type
21e1b5f1
BS
10417 building v4hi_ftype_v4hi_int_int tree node.
10418 (ix86_expand_sse_comi): Fix typo swapping operands.
10419 Don't swap comparision condition, it is already swapped.
10420 (ix86_expand_sse_compare): Before swapping operands
10421 move operand 1 into new rtx and not the target rtx.
10422 Don't swap comparison condition, it is already swapped.
10423 Always check whether we need to create a new TARGET.
10424
10425 * config/i386/i386.md: (sse_comi) Fix typos.
10426 (sse_ucomi): Likewise.
10427 (cvtss2si): Fix operand 0 contraint.
10428 (cvttss2si): Likewise.
10429 (sse_unpckhps): Fix mode for operand 2.
10430 (sse_unpcklps): Likewise.
10431
87f8b15f
GS
104322001-09-25 Graham Stott <grahams@redhat.com>
10433
10434 * sibcall.c (skip_copy_to_return_value): Tighten return value
10435 copy check.
10436
6a40a9d6
DE
104372001-09-24 David Edelsohn <edelsohn@gnu.org>
10438
10439 * rs6000.c (lwa_operand): Address must be word aligned.
10440
6abba055
RK
10441Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10442
10443 * tree.c (type_hash_marked_p): Consider as marked if debug symbol
10444 number has been set.
10445 (type_hash_mark): Mark type itself.
10446
4ed5bcfb
NB
104472001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
10448
10449 * c-lex.c (cb_def_pragma): Update.
10450 (c_lex): Update, and skip padding.
10451 * cppexp.c (lex, parse_defined): Update, remove unused variable.
10452 * cpphash.h (struct toklist): Delete.
10453 (union utoken): New.
10454 (struct cpp_context): Update.
10455 (struct cpp_reader): New members eof, avoid_paste.
10456 (_cpp_temp_token): New.
10457 * cppinit.c (cpp_create_reader): Update.
10458 * cpplex.c (_cpp_temp_token): New.
10459 (_cpp_lex_direct): Add PREV_WHITE when parsing args.
10460 (cpp_output_token): Don't print leading whitespace.
10461 (cpp_output_line): Update.
10462 * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
10463 do_include_common, do_line, do_ident, do_pragma,
10464 do_pragma_dependency, _cpp_do__Pragma, parse_answer,
10465 parse_assertion): Update.
10466 (get_token_no_padding): New.
10467 * cpplib.h (CPP_PADDING): New.
10468 (AVOID_LPASTE): Delete.
10469 (struct cpp_token): New union member source.
10470 (cpp_get_token): Update.
10471 * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
10472 (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
10473 replace_args, quote_string, stringify_arg, parse_arg, next_context,
10474 enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
10475 _cpp_backup_tokens, _cpp_create_definition): Update.
10476 (push_arg_context): Delete.
10477 (padding_token, push_token_context, push_ptoken_context): New.
10478 (make_string_token, make_number_token): Update, rename.
10479 (cpp_get_token): Update to handle tokens as pointers to const,
10480 and insert padding appropriately.
10481 * cppmain.c (struct printer): New member prev.
10482 (check_multiline_token): Constify.
10483 (do_preprocessing, cb_line_change): Update.
10484 (scan_translation_unit): Update to handle spacing.
10485 * scan-decls.c (get_a_token): New.
10486 (skip_to_closing_brace, scan_decls): Update.
10487 * fix-header.c (read_scan_file): Update.
10488
10489 * doc/cpp.texi: Update.
10490
ad43d46f
KG
104912001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10492
10493 * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
10494 leak by passing malloc'ed pointer to reconcat, not concat.
10495
b6fc7110
DD
104962001-09-24 DJ Delorie <dj@redhat.com>
10497
10498 * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
10499
967bd823
UW
105002001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
10501
10502 * flow.c (delete_dead_jumptables): Delete jumptable if the only
10503 reference is from the literal pool.
10504
b9da07da
JJ
105052001-09-24 Janis Johnson <janis187@us.ibm.com>
10506
10507 * doc/install.texi (Final install): Request additional information
3b681e9d 10508 in mail about successful builds.
b9da07da 10509
cf3735b8
JDA
105102001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
10511
10512 * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
10513 initial value of return pointer register instead of value in frame-20.
10514 Revise comments.
10515
f3403757
JDA
105162001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
10517
10518 * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
10519 (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
10520 the libcall if there isn't a referenced identifier for the symbol.
10521
8e1494b7
JDA
105222001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
10523
10524 * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
10525 non 64-bit machines. Use these as a plabel for the trampoline.
10526 (TRAMPOLINE_SIZE): Adjust size for new words.
10527 (INITIALIZE_TRAMPOLINE): Initialize new words.
10528 (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
10529 pointer to the plabel in the trampoline.
10530
b848dc65
JDA
105312001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
10532
10533 * pa.c (function_arg): Pass floating arguments in both general and
10534 floating registers in indirect (dynamic) calls when generating code
10535 for the 32 bit ABI and the HP assembler.
10536
250d5688
RO
105372001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10538
10539 * doc/install.texi: Markup fixes.
10540 Use Solaris 2, SunOS 4 as appropriate.
10541 (Specific, *-*-solaris2*): Explain this.
10542 Unconditionally warn against /usr/ucb tools.
10543 Remove Sun as warning, obsolete.
10544 Move X11 header bug workaround here, update patches.
10545 (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
10546 (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
10547
749ced52
ZW
105482001-09-23 Zack Weinberg <zack@codesourcery.com>
10549
10550 * errors.h (warning, error, fatal, internal_error): Don't mark
10551 with ATTRIBUTE_PRINTF_n.
10552 * toplev.h (internal_error, fatal_io_error, warning, error,
10553 pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
10554 error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
10555 Likewise.
10556
a0fd557a
RK
10557Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10558
7a80cf9a
RK
10559 * function.c (pop_function_context_from): var_refs_queue
10560 and temp slots now in GC memory.
10561 (mark_function_status, free_after_compilation): Likewise;
10562 also struct function now in GC memory.
10563 (assign_stack_temp_for_type): struct temp_slot now in GC memory.
10564 (combine_temp_slots): Likewise.
10565 (schedule_fixup_var_refs): var_refs_queue now in GC memory.
10566 (prepare_function_start): Use GC memory for struct function.
10567 (mark_temp_slot): Deleted.
10568 (gcc_mark_struct_function): struct function now in GC memory.
10569
0629440f
RK
10570 * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
10571 code for division, not modulus.
10572
a0fd557a
RK
10573 * rtl.def (MEM): Remove obsolete part of comment.
10574
040cc071
JM
105752001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
10576
10577 * c-format.c (init_function_format_info): Check __builtin_printf
10578 and __builtin_fprintf even if -ffreestanding. Check C99 functions
10579 in gnu89 mode.
10580
bb9f8221
RK
10581Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10582
0c96e965
RK
10583 * c-common.c (format_attribute_table): Remove decl.
10584 * tree.h (format_attribute_table, lang_attribute_table): New decls.
10585 (lang_attribute_common): Likewise.
10586
6a1d250e
RK
10587 * function.c (fix_lexical_address): Use set_mem_alias_set.
10588 (expand_function_start): Likewise.
10589 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
10590
f42f3c2d
RK
10591 * varasm.c (output_constant): Fix unused variable warning.
10592
bb9f8221
RK
10593 * attribs.c: New file, from c-common.c.
10594 (attribute_tables): Now four elements.
10595 (format_attribute_table, lang_attribute_common): New variables.
10596 (init_attributes): Reflect above changes.
10597 (handle_mode_attribute): Delete check for wider than uintmax.
10598 * c-common.c: Delete parts moved to attribs.c.
10599 (enum attrs): Deleted; unused.
10600 (c_format_attribute_table): New variable.
10601 (c_common_lang_init): Initialize format_attribute_table with it.
10602 * c-common.h (decl_attributes): Remove decl.
10603 * tree.h (decl_attribute): Move it to here.
10604 * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
10605 (attribs.o): New rule.
10606
b8d323b1
AJ
106072001-09-22 Andreas Jaeger <aj@suse.de>
10608
10609 * builtins.c (c_getstr): Remove unused variable.
10610
e5eac8ef
RH
106112001-09-21 Richard Henderson <rth@redhat.com>
10612
10613 * reload1.c (reload): Use delete_insn instead of splatting
10614 NOTE_INSN_DELETED.
10615
8a9a857e
RH
106162001-09-21 Richard Henderson <rth@redhat.com>
10617
10618 * reload.c (push_secondary_reload): Don't check for "=" in output
10619 constraint after ""->ALL_REGS check.
10620
ee1315aa
RH
106212001-09-21 Richard Henderson <rth@redhat.com>
10622
24ee7cae
RH
10623 * predict.c (expected_value_to_br_prob): Use pc_set.
10624
ee1315aa
RH
10625 * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
10626 ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
10627
9defc9b7
RH
106282001-09-21 Richard Henderson <rth@redhat.com>
10629
10630 * rtl.h (LCT_RETURNS_TWICE): New.
10631 * calls.c (emit_call_1): Set current_function_calls_setjmp for
10632 ECF_RETURNS_TWICE.
10633 (emit_library_call_value_1): Map LCT_RETURNS_TWICE
10634 to ECF_RETURNS_TWICE.
10635 * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
10636 call to setjmp.
10637
10638 * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
10639
10640 * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
10641 (JMP_BUF_SIZE): New.
10642
1853547e
RH
106432001-09-21 Richard Henderson <rth@redhat.com>
10644
10645 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
10646 to R8_REGS.
10647
67231816
RH
106482001-09-21 Richard Henderson <rth@redhat.com>
10649
10650 * tree.def (FDESC_EXPR): New.
10651 * expr.c (expand_expr): Handle it.
10652 * varasm.c (initializer_constant_valid_p): Likewise.
10653 (output_constant): Likewise.
10654 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10655 * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
10656 (ASM_OUTPUT_FDESC): New.
10657 * doc/tm.texi: Document the new macros.
10658
f62ce55b
RE
1065921-09-2001 Richard Earnshaw (reanrsha@arm.com)
10660
b8d323b1 10661 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
f62ce55b
RE
10662 ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
10663 once merging is complete.
10664
97a4f671
RK
10665Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10666
10667 * integrate.c (allocate_initial_values): Eliminate unused arg warning.
10668
7106d491
RE
1066921-09-2001 Richard Earnshaw (reanrsha@arm.com)
10670
10671 * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
10672 that would be invalid after a merge.
10673
53c17031
JH
10674Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
10675
10676 * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
10677 * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
10678 remove some labels.
10679 (flow_delete_insn): This one.
10680 (delete_insn_chain): Rename from ...; do not care labels.
10681 (flow_delete_insn_chain): ... this one.
10682 (flow_delete_block): Remove the insns one BB has been expunged.
10683 (merge_blocks_nomove): Likewise.
10684 (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
10685 updating BB boundaries.
10686 (tidy_fallthru_edge): Likewise.
10687 (commit_one_edge_insertion): Likewise.
10688 * cfgbuild.c (find_basic_block): Likewise.
10689 (find_basic_blocks_1): Likewise.
10690 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
10691 (try_crossjump_to_edge): Likewise.
10692 (try_optimize_cfg): Likewise.
10693 * cse.c (delete_trivially_dead_insns): Likewise.
10694 * df.c (df_insn_delete): Likewise.
10695 * doloop.c (doloop_modify): Use delete_related_insns.
10696 * emit-rtl.c (try_split): Likewise.
10697 (remove_insn): Update BB boundaries.
10698 * expect.c (connect_post_landing_pads): Use delete_related_insns.
10699 * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
10700 updating BB boundaries.
10701 (propagate_block_delete_insn): Likewise.
10702 (propagate_block_delete_libcall): Likewise.
10703 * function.c (delete_handlers): Use delete_related_insns.
10704 (thread_prologue_and_epilogue_insns): Likewise.
10705 * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
10706 * genpeep.c (gen_peephole): Use delete_related_insns.
10707 * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
10708 BB boundaries.
10709 (find_cond_trap): Likewise.
10710 * integrate.c (save_for_inline): Use delete_related_insns.
10711 (copy_insn_list): Likewise.
10712 * jump.c (pruge_linie_number_notes): Likewise.
10713 (duplicate_loop_exit_test): Likewise.
10714 (delete_computation): Likewise.
10715 (delete_related_insn): Rename from ...; use delete_insn
10716 (delete_insn): ... this one.
10717 (redirect_jump): Use delete_related_insns.
10718 * loop.c (scan_loop): Likewise.
10719 (move_movables): Likewise.
10720 (find_and_verify_loops): Likewise.
10721 (check_dbra_loop): Likewise.
10722 * recog.c (peephole2_optimize): Likewise.
10723 * reg-stack.c (delete_insn_for_stacker): Remove.
10724 (move_for_stack_reg): Use delete_insn.
10725 * regmove.c (combine_stack_adjustments_for_block): Likewise.
10726 * reload1.c (delete_address_reloads): Use delete_related_insns.
10727 (fixup_abnormal_edges): Use delete_insn.
10728 * recog.c (emit_delay_sequence): Use delete_related_insns.
10729 (delete_from-delay_slot): Likewise.
10730 (delete_scheduled_jump): likewise.
10731 (optimize_skip): Likewise.
10732 (try_merge_delay_insns): Likewise.
10733 (full_simple_delay_slots): Likewise.
10734 (fill_slots_from_thread): Likewise.
10735 (relax_delay_slots): Likewise.
10736 (make_return_insns): Likewise.
10737 (dbr_schedule): Likewise.
10738 * rtl.h (delete_insn): Rename to delete_related_insns.
10739 (delete_insn, delete_insn_chain): New prototypes.
10740 * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
10741 by df_insn_delete already.
10742 * ssa-dce.c (delete_insn_bb): Use delete_insn.
10743 * ssa.c (convert_from_ssa): Use delete_related_insns.
10744 * unroll.c (unroll_loop): Likewise.
10745 (calculate_giv_inc): Likewise.
10746 (copy_loop_body): Likewise.
10747
10748 * i386-protos.h (ix86_libcall_value, ix86_function_value,
10749 ix86_function_arg_regno_p, ix86_function_arg_boundary,
10750 ix86_return_in_memory, ix86_function_value): Declare.
10751 * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
10752 new static valurables.
10753 (x86_64_reg_class): New enum
10754 (x86_64_reg_class_name): New array.
10755 (classify_argument, examine_argument, construct_container,
10756 merge_classes): New static functions.
10757 (optimization_options): Enable flag_omit_frame_pointer and disable
10758 flag_pcc_struct_return on 64bit.
10759 (ix86_libcall_value, ix86_function_value,
10760 ix86_function_arg_regno_p, ix86_function_arg_boundary,
10761 ix86_return_in_memory, ix86_function_value): New global functions.
10762 (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
10763 (function_arg_advance): Handle x86_64 passing conventions.
10764 (function_arg): Likewise.
10765 * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
10766 (RETURN_IN_MEMORY): Move offline.
10767 (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
10768 (FUNCTION_VALUE_REGNO_P): New macro.
10769 (FUNCTION_ARG_REGNO_P): Move offline.
10770 (struct ix86_args): Add maybe_vaarg.
10771 * next.h (FUNCTION_VALUE_REGNO_P): Delete.
10772 * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
10773
f2d3c02a
HP
107742001-09-21 Hartmut Penner <hpenner@de.ibm.com>
10775
10776 * s390.md: Changed attributes for scheduling.
10777 * s390.c: (s390_adjust_cost, s390_adjust_priority)
10778 Changed scheduling
10779
91d231cb
JM
107802001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
10781
10782 Table-driven attributes.
10783 * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
10784 config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
10785 config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
10786 config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
10787 config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
10788 config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
10789 doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
10790 tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
10791 * tree.h (struct tree_decl): Change machine_attributes to
10792 attributes.
10793 * doc/c-tree.texi: Document that all attributes are now attached
10794 to decls and types.
10795 * c-common.c (add_attribute, attrtab, attrtab_idx,
10796 default_valid_lang_attribute, valid_lang_attribute): Remove.
10797 (attribute_tables, attributes_initialized,
10798 c_common_attribute_table, default_lang_attribute_table): New
10799 variables.
10800 (handle_packed_attribute, handle_nocommon_attribute,
10801 handle_common_attribute, handle_noreturn_attribute,
10802 handle_unused_attribute, handle_const_attribute,
10803 handle_transparent_union_attribute, handle_constructor_attribute,
10804 handle_destructor_attribute, handle_mode_attribute,
10805 handle_section_attribute, handle_aligned_attribute,
10806 handle_weak_attribute, handle_alias_attribute,
10807 handle_no_instrument_function_attribute,
10808 handle_no_check_memory_usage_attribute, handle_malloc_attribute,
10809 handle_no_limit_stack_attribute, handle_pure_attribute): New
10810 functions.
10811 (init_attributes, decl_attributes): Rewrite to implement
10812 table-driven attributes.
10813 * c-common.h (enum attribute_flags): Move to tree.h.
10814 * c-format.c (decl_handle_format_attribute,
10815 decl_handle_format_arg_attribute): Rename to
10816 handle_format_attribute and handle_format_arg_attribute. Update
10817 for table-driven attributes.
10818 * c-common.h (decl_handle_format_attribute,
10819 decl_handle_format_arg_attribute): Remove prototypes.
10820 (handle_format_attribute, handle_format_arg_attribute): Add
10821 prototypes.
10822 * c-decl.c (grokdeclarator): Handle attributes nested inside
10823 declarators.
10824 * c-parse.in (setattrs, maybe_setattrs): Remove.
10825 (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
10826 Update to handle nested attributes properly.
10827 (maybe_resetattrs, after_type_declarator,
10828 parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
10829 absdcl1_ea, direct_absdcl1): Update to handle nested attributes
10830 properly.
10831 (make_pointer_declarator): Update to handle nested attributes
10832 properly.
10833 * doc/extend.texi: Update documentation of limits of attributes
10834 syntax. Warn about problems with attribute semantics in C++.
10835 * target.h (struct target): Remove valid_decl_attribute and
10836 valid_type_attribute. Add attribute_table and
10837 function_attribute_inlinable_p.
10838 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
10839 TARGET_VALID_TYPE_ATTRIBUTE): Remove.
10840 (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
10841 Add.
10842 (TARGET_INITIALIZER): Update.
10843 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
10844 definition.
10845 (function_attribute_inlinable_p): New function. Check for the
10846 presence of any machine attributes before using
10847 targetm.function_attribute_inlinable_p.
10848 (function_cannot_inline_p): Update.
10849 * Makefile.in (integrate.o): Update dependencies.
10850 * doc/tm.texi: Update documentation of target attributes and
10851 example definition of TARGET_VALID_TYPE_ATTRIBUTE.
10852 * tree.c (default_valid_attribute_p, valid_machine_attribute):
10853 Remove.
10854 (default_target_attribute_table,
10855 default_function_attribute_inlinable_p): New.
10856 (lookup_attribute): Update comment to clarify handling of multiple
10857 attributes with the same name.
10858 (merge_attributes, attribute_list_contained): Allow multiple
10859 attributes with the same name but different arguments to appear in
10860 the same attribute list.
10861 * tree.h (default_valid_attribute_p): Remove prototype.
10862 (struct attribute_spec): New.
10863 (default_target_attribute_table): Declare.
10864 (enum attribute_flags): Move from c-common.h. Add
10865 ATTR_FLAG_TYPE_IN_PLACE.
10866 (default_function_attribute_inlinable_p): Declare.
10867 * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
10868 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10869 (TARGET_ATTRIBUTE_TABLE): Define.
10870 (vms_attribute_table): New.
10871 * config/arc/arc.c (arc_valid_decl_attribute): Remove.
10872 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10873 (TARGET_ATTRIBUTE_TABLE): Define.
10874 (arc_attribute_table, arc_handle_interrupt_attribute): New.
10875 * config/arm/arm.c (arm_valid_type_attribute_p,
10876 arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
10877 Remove.
10878 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10879 define.
10880 (TARGET_ATTRIBUTE_TABLE): Define.
10881 (arm_attribute_table, arm_handle_fndecl_attribute,
10882 arm_handle_isr_attribute): New.
10883 * config/avr/avr.c (avr_valid_type_attribute,
10884 avr_valid_decl_attribute): Remove.
10885 (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
10886 define.
10887 (TARGET_ATTRIBUTE_TABLE): Define.
10888 (avr_attribute_table, avr_handle_progmem_attribute,
10889 avr_handle_fndecl_attribute): New.
10890 * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
10891 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10892 (TARGET_ATTRIBUTE_TABLE): Define.
10893 (c4x_attribute_table, c4x_handle_fntype_attribute): New.
10894 * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
10895 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10896 (TARGET_ATTRIBUTE_TABLE): Define.
10897 (h8300_attribute_table, h8300_handle_fndecl_attribute,
10898 h8300_handle_eightbit_data_attribute,
10899 h8300_handle_tiny_data_attribute): New.
10900 * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
10901 i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
10902 Remove prototypes.
10903 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
10904 declarations.
10905 * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
10906 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
10907 define.
10908 (TARGET_ATTRIBUTE_TABLE): Define.
10909 (ix86_attribute_table, ix86_handle_cdecl_attribute,
10910 ix86_handle_regparm_attribute): New.
10911 * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
10912 i386_pe_valid_type_attribute_p): Remove.
10913 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
10914 * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
10915 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10916 (TARGET_ATTRIBUTE_TABLE): Define.
10917 (ia64_attribute_table): New.
10918 * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
10919 interrupt_ident2, model_ident1, model_ident2): Remove.
10920 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10921 (TARGET_ATTRIBUTE_TABLE): Define.
10922 (init_idents): Update.
10923 (m32r_attribute_table, m32r_handle_model_attribute): New.
10924 * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10925 Remove.
10926 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10927 (TARGET_ATTRIBUTE_TABLE): Define.
10928 (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10929 * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10930 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10931 (TARGET_ATTRIBUTE_TABLE): Define.
10932 (mcore_attribute_table, mcore_handle_naked_attribute): New.
10933 * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10934 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10935 (TARGET_ATTRIBUTE_TABLE): Define.
10936 (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10937 * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10938 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10939 (TARGET_ATTRIBUTE_TABLE): Define.
10940 (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
10941 * config/sh/sh.c (sh_valid_decl_attribute): Remove.
10942 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10943 (TARGET_ATTRIBUTE_TABLE): Define.
10944 (sh_attribute_table, sh_handle_interrupt_handler_attribute,
10945 sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
10946 New.
10947 * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
10948 Remove.
10949 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
10950 (TARGET_ATTRIBUTE_TABLE): Define.
10951 (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
10952 New.
10953 * config/v850/v850.c (v850_valid_decl_attribute): Remove.
10954 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10955 (TARGET_ATTRIBUTE_TABLE): Define.
10956 (v850_attribute_table, v850_handle_interrupt_attribute,
10957 v850_handle_data_area_attribute): New.
10958 * config/v850/v850-c.c (mark_current_function_as_interrupt):
10959 Return void. Call decl_attributes instead of
10960 valid_machine_attribute.
10961
3007d592
R
10962Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
10963
10964 * sh-protos.h (sh_pr_n_sets): Declare.
10965 * sh.c (calc_live_regs): If the initial value for PR has been copied,
10966 look at the copy to determine if PR needs to be saved.
10967 sh_pr_n_sets: New function.
10968 * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
10969 (ALLOCATE_INITIAL_VALUE): Define.
10970
10971 * sh.c (initial_elimination_offset):
10972 Fix RETURN_ADDRESS_POINTER_REGNUM case.
10973
385b6e2d
R
10974Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
10975
10976 * integrate.c (allocate_initial_values): New function.
10977 * integrate.h (allocate_initial_values): Declare.
10978 * local-alloc.c (local_alloc): Move call to allocate_reg_info from
10979 here...
10980 * reload1.c (reload): And initialization of reg_equiv_memory_loc
10981 from here...
10982 * toplev.c (rest_of_compilation): To here.
10983 Call allocate_initial_values.
10984 * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
10985
a4b5b2ae
RK
10986Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10987
10988 * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
10989
e7b6a0ee
DD
109902001-09-20 DJ Delorie <dj@redhat.com>
10991
10992 * c-typeck.c (really_start_incremental_init): Discriminate
10993 between zero-length arrays and flexible arrays.
10994 (push_init_level): Detect zero-length arrays and handle them
10995 like fixed-sized arrays.
10996 * expr.c (store_constructor): Handle zero-length arrays and
10997 flexible arrays correctly.
10998 * doc/extend.texi: Update zero-length array notes.
10999
f5aee631
JW
110002001-09-20 Jim Wilson <wilson@redhat.com>
11001
11002 * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
11003 (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
11004 for issue port conflicts.
11005 (cycle_end_fill_slots): TYPE_L instructions take two slots.
11006
91dc6f6e
AM
110072001-09-20 Andrew MacLeod <amacleod@redhat.com>
11008
11009 * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
11010 on ia64.
11011
4c160717
RK
11012Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11013
11014 * fold-const.c (hashtab.h): Include.
11015 (int_const_binop): Remove FORSIZE arg and compute from type; all
11016 callers changed.
11017 Call size_int_type_wide for all single-word constants.
11018 (size_htab_hash, size_htab_eq): New functions.
11019 (size_int_type_wide): Rework to use hash table.
11020 * ggc-common.c (hashtab.h): Include.
11021 (struct d_htab_root): New struct.
11022 (d_htab_roots): New variable.
11023 (ggc_add_deletable_htab, ggc_htab_delete): New functions
11024 (ggc_mark_roots): Handle deletable htabs.
11025 * ggc-page.c (ggc_marked_p): New function.
11026 * ggc-simple.c (ggc_marked_p): Likewise.
11027 * ggc.h: Reformatting throughout.
11028 (ggc_marked_p, ggc_add_deletable_htab): New declarations.
11029 * tree.c (init_obstacks): Make type_hash_table a deletable root.
11030 (type_hash_add): Allocate struct type_hash from GC memory.
11031 (mark_hash_entry, mark_type_hash): Deleted.
11032 (type_hash_marked_p, type_hash_mark): New functions.
11033 * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
11034
c762ab6e
R
11035Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
11036
11037 * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
11038 than SImode.
11039
ed1a150e
RK
11040Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11041
11042 * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
11043 array-too-large test for signed sizetype.
11044
6eb791fc
JH
11045Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
11046
11047 * i386.md (indirect_jump): Allow Pmode operand.
11048 (tablejump): LIkewise; perform expansion to 64bit mode.
11049 * i386.c (symbolic_operand): Allow 64bit PIC references.
11050 (pic_symbolic_operand): Likewise.
11051 (ix86_find_base_term): Strip the 64bit PIC references.
11052 (legitimate_pic_address_disp_p): Handle 64bit PIC.
11053 (legitimize_pic_address): Likewise.
11054 (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
11055 * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
11056
4bad9e39
APB
110572001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
11058
11059 * stringpool.c (get_identifier_with_length): New function.
11060 * tree.h (get_identifier_with_length): New prototype.
11061
40501e5f
AM
110622001-09-19 Alan Modra <amodra@bigpond.net.au>
11063 David Edelsohn <edelsohn@gnu.org>
11064
11065 Revert:
11066 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
11067 already sign-extended.
11068
11069 * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
11070 * config/rs6000/rs6000.c (logical_operand): Always compare op as
11071 HOST_WIDE_INT.
11072 (rs6000_emit_set_long_const): Avoid unnecessary shift.
11073 (output_profile_hook): Declare label_name const.
11074 * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
11075 to match constraints.
11076
e3aafbad
SS
110772001-09-19 Stan Shebs <shebs@apple.com>
11078
11079 * alias.c: Fix typos in comments.
11080 * sched-rgn.c (init_ready_list): Ditto.
11081 * unwind-dw2.c (uw_frame_state_for): Ditto.
11082 * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
11083 * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
11084 * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
11085
3d9339a9
RH
110862001-09-19 Richard Henderson <rth@redhat.com>
11087
11088 * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
11089 to the exit block.
11090 * Makefile.in (cfg.o): Depend on TM_P_H.
11091
e2c9fb9b
RH
110922001-09-19 Richard Henderson <rth@redhat.com>
11093
11094 * config/alpha/alpha.c (local_symbol_p): Split out from ...
11095 (local_symbolic_operand): ... here.
11096 (small_symbolic_operand): Check mode.
11097 (global_symbolic_operand): New.
11098 (input_operand): Reject symbolics if explicit relocs.
11099 (call_operand): Tidy.
11100 (alpha_legitimize_address): Use movdi_er_high_g.
11101 (alpha_expand_mov): Likewise.
11102 * config/alpha/alpha-protos.h: Update.
11103 * config/alpha/alpha.h (PREDICATE_CODES): Update.
11104 * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
11105 (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
11106 (UNSPECV_LDGP2): Remove.
11107 (all call patterns): Use 's' not 'i' for symbolic constraint.
11108 (call_osf call_value_osf): Use call_operand.
11109 (all osf call patterns): Use $gp. New peepholes for explicit relocs.
11110 (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
11111 (prologue_ldgp_1_er): Remove.
11112 (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
11113 (builtin_setjmp_receiver_er patterns): Use them.
11114 (exception_receiver_er): Likewise.
11115
f068df3f
RH
111162001-09-19 Richard Henderson <rth@redhat.com>
11117
11118 * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
11119
216183ce
RH
11120 * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
11121 and NON_LOCAL_GOTO notes.
33593de7
RH
11122 * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
11123 copy over CALL_INSN_FUNCTION_USAGE.
216183ce 11124
784d7cce
CM
111252001-09-18 Catherine Moore <clm@redhat.com>
11126
b8d323b1 11127 * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
784d7cce
CM
11128 Define as 0.
11129
70eeb10b 111302001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
b8d323b1 11131
749ced52 11132 * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
b8d323b1
AJ
11133 new-style tm_file specification. Specify correct tm_p_file,
11134 md_file, and out_file for s390x.
70eeb10b
UW
11135
11136 * config/s390/linux.h, linux64.h: Don't include other target
11137 macro header files. Now handled via tm_file.
11138
b8d323b1 11139 * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
70eeb10b
UW
11140 TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
11141 are defined before use.
b8d323b1 11142
518b566f
EC
11143Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
11144
749ced52
ZW
11145 * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
11146 code generation only for Gnu assembler.
518b566f 11147
8086b53c
CM
111482001-09-18 Catherine Moore <clm@redhat.com>
11149
749ced52 11150 * config/stormy16 (LIB_SPEC): Remove -lnosys.
8086b53c 11151
1cbfdb1f
RS
111522001-09-18 Richard Sandiford <rsandifo@redhat.com>
11153
11154 * config/mips/mips.c (mips_frame_set): New.
11155 (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
11156 a parallel frame-related expression with a set for each register.
11157
d71ebc32
PB
111582001-09-18 Philip Blundell <philb@gnu.org>
11159
11160 * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
11161 header files.
11162
5dead3e5
DJ
111632001-09-17 Dale Johannesen <dalej@apple.com>
11164
11165 * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
11166 * config/rs6000/aix.h (FIXED_R2): Define.
11167 * config/rs6000/darwin.h (FIXED_R2): Define.
11168 * config/rs6000/sysv4.h (FIXED_R2): Define.
11169
5c701bb1
JS
111702001-09-17 Jeff Sturm <jsturm@one-point.com>
11171
11172 * except.c (dw2_build_landing_pads): New local
11173 clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
11174 barrier after clobbers. Fixes c++/4012.
11175
c793eea7
KG
111762001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11177
11178 * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
11179
63fb6fc7
JM
111802001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
11181
11182 * dostage2, dostage3, listing, make-l2.com, makefile.vms,
11183 patch-apollo-includes, vmsconfig.com: Remove obsolete files.
11184
c1d49704
KG
111852001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11186
11187 * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
11188 alloca/strcpy.
11189
14baae01
NB
111902001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
11191
11192 * cpphash.h (_cpp_lex_direct): New.
11193 * cpplex.c (_cpp_lex_token): Update.
11194 (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
11195 and increment that pointer.
11196 * cppmacro.c (alloc_expansion_token): New.
11197 (lex_expansion_token): Lex macro expansion directly into
11198 macro storage.
11199
478c61b7
BL
112002001-09-16 Brad Lucier <lucier@math.purdue.edu>
11201
11202 * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
11203
3c030e88
JH
11204Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
11205
11206 * basic-block.h (free_bb_for_insn): Declare.
11207 * bb-reorder.c (label_for_bb): Use block_label.
11208 (emit_jump_to_block_after): Remove.
11209 (insert_intra_1): Do not update block_for_insn.
11210 (insert_inter_bb_scope_notes): Likewise; update bb->end
11211 * cfg.c (free_bb_for_insn): New.
11212 (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
11213 (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
11214 (commit_one_edge_insertion): Likewise.
11215 (commit_one_edge_insertion): Do not update BB boundary.
11216 (commit_edge_insertions): Do not call compute_bb_for_insn.
11217 * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
11218 * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
11219 (merge_blocks_move_successor_nojumps): Likewise.
11220 (try_crossjump_to_edge): Do not update block_for_insn.
11221 * combine.c (combine_instructions): Remove compute_bb_for_insn call.
11222 * df.c (df_pattern_emit_later): Do not update BB boundary.
11223 (df_jump_pattern_emit_after): Likewise.
11224 (df_insn_move_before): Use emit_insn_before.
11225 * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
11226 properly.
11227 (add_insn_after, add_insn_before, emit_insns_after): Update BB
11228 boundaries and basic_block_for_insn.
11229 (reorder_insns_nobb): Rename from reorder_insns.
11230 (reorder_insns): New.
11231 (emit_block_insn_before, emit_block_insn_after): Kill.
11232 * flow.c (check_function_return_warnings): Do not call
11233 compute_bb_for_insn; Do not free basic_block_for_insn.
11234 (attempt_auto_inc): Do not update basic_block_for_insn.
11235 * function.c (emit_return_into_block): Likewise;
11236 do not update BB boundaries.
11237 * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
11238 (insert_insn_end_bb): Use emit_insn_before; Likewise.
11239 (pre_insert_copy_insn): Likewise.
11240 (update_ld_motion_notes): Likewise.
11241 (insert_insn_start_bb): Likewise.
11242 (replace_store_insn): Likewise.
11243 * ifcvt.c (noce_process_if_block): Likewise.
11244 (if_convert): Do not call compute_bb_for_insn.
11245 * lcm.c (optimize_mode_switching): Do not update BB boundaries.
11246 Use emit_insn_before and emit_insn_after.
11247 * recog.c (split_all_insns): Do not update BB boundaries;
11248 Do not call compute_bb_for_insn.
11249 (peephole2_optimize): Do not update BB boundaries.
11250 * reg-stack.c (emit_pop_insn): Use emit_insn_after and
11251 emit_insn_before.
11252 (emit_swap_insn): Likewise.
11253 (convert_regs_1): Likewise.
11254 * reload1.c (reload): Call compute_bb_for_insn.
11255 * rtl.h (reorder_insns_nobb): Declare.
11256 * ssa.c (rename_equivalent_regs): Use emit_insn_before.
11257 * toplev.c (rest_of_compilation): Call free_bb_for_insn
11258 at places CFG is invalidated; do not call compute_bb_for_insn.
11259
11260 * cfg.c (expunge_block): Invalidate BB structure.
11261
11262 * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
11263 array.
11264
11265 * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
11266
345894b4
NB
112672001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
11268
11269 * cpphash.h (_cpp_lex_token): Update prototype.
11270 * cpplex.c (_cpp_lex_token): New prototype.
11271 * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
11272 lex_macro_node, read_flag, do_pragma_poison): Update.
11273 * cppmacro.c (cpp_get_token, parse_params,
11274 lex_expansion_token): Update.
11275
18a9d8ff
NB
112762001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
11277
11278 * cppmain.c (scan_translation_unit): Don't worry about
11279 putting a space after hashes.
11280 * cpplib.c (directive_diagnostics): New.
11281 (_cpp_handle_directive): Update to use directive_diagnostics.
11282 (run_directive): Don't toggle prevent_expansion.
11283 (do_line): Backup in case of the line extension.
11284 * cpplib.h (cpp_lexer_pos): Remove.
11285 * cppmacro.c (_cpp_create_definition): Precede a leading #
11286 with whitespace.
11287
3f85558f
RH
112882001-09-15 Richard Henderson <rth@redhat.com>
11289
11290 * c-typeck.c (comptypes): Handle zero-length arrays properly.
11291
c6c04fca
RL
112922001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
11293
11294 * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
11295
69e47210
NB
112962001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
11297
11298 PR preprocessor/3571
11299 * tradcpp.c (handle_directive): Skip non-vertical space.
11300
f0581dc7
NB
113012001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
11302
11303 * cppmain.c (setup_callbacks): Set line callback only
11304 if outputting preprocessed source.
11305
cb6edbcb
KG
113062001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11307
11308 * collect2.c (main): Const-ification.
11309 * gcc.c (translate_options, process_command): Use xstrdup in
11310 lieu of xmalloc/strcpy.
11311 (main): Use concat in lieu of xmalloc/strcpy/strcat.
11312
068e5714
RL
113132001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
11314
11315 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
11316 example.
11317
65813f56
NB
113182001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
11319
11320 * scan-decls.c (scan_decls): Fix typo.
11321
50410426
NB
113222001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
11323
11324 * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
11325 Split mlstring_pos into mls_line and mls_col.
11326 * cppinit.c (cpp_create_reader): Initialize line to 1.
11327 (cpp_destroy): Free tokenruns.
11328 (push_include): Don't update lexer_pos.
11329 * cpplex.c (unterminated, parse_string): Update.
11330 (lex_token): Don't update lexer_pos, update.
11331 * cpplib.c (if_stack): Save line instead of line + col.
11332 (start_directive, _cpp_do__Pragma, do_else, do_elif,
11333 push_conditional, _cpp_pop_buffer): Update.
11334 * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
11335 (_cpp_create_definition): Update.
11336
6047ddc8
EC
113372001-09-15 Eric Christopher <echristo@redhat.com>
11338
11339 * config/mips/abi64.h: Add support for MEABI.
11340
0e5a4ad8
EC
113412001-09-15 Eric Christopher <echristo@redhat.com>
11342
11343 * config/mips/mips.md: Add unspec #2.
11344 (reload_indi): Use.
11345 (reload_outdi): Ditto.
11346 (reload_outsi): Ditto.
11347 (HILO_delay): New.
11348
113492001-09-15 Eric Christopher <echristo@redhat.com>
11350 Jason Eckhardt <jle@redhat.com>
11351
11352 * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
11353 * config/mips/isa32-linux.h: New file.
11354 * config/mips/isa3264.h: Ditto.
11355 * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
11356 * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
11357 (output_block_mode): Support MEABI.
11358 (function_arg): Ditto. Fix floating point arg passing.
11359 (mips_va_start): Ditto.
11360 (override_options): Add isas 32 and 64, meabi, mips32 and mips64
11361 processors.
11362 (mips_asm_file_start): Add new section to pass abi to gdb.
11363 (function_arg_pass_by_reference): Support MEABI.
11364 (mips_parse_cpu): Support mips32 and mips64 processors.
11365 * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
11366 TARGET_MIPS5KC. Support isa32 and isa64.
11367 (processor_type): Add r4kc, r5kc, r20kc.
11368 (GENERATE_MULT3_SI): New.
11369 (GENERATE_MULT3_DI): Ditto.
11370 (GENERATE_MULT3): Remove.
11371 (ISA_HAS_64BIT_REGS): Add isa == 64.
11372 (ISA_HAS_8CC): Add mips_isa = 32 and 64.
11373 (ISA_HAS_MADD_MSUB): New.
11374 (ISA_HAS_CLZ_CLO): Ditto.
11375 (ISA_HAS_DCLZ_DCLO): Ditto.
11376 (ABI_GAS_ASM_SPEC): New.
11377 (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
11378 (ASM_SPEC): Ditto.
11379 (LINK_SPEC): Ditto.
11380 (SUBTARGET_CC1_SPEC): Ditto.
11381 (SUBTARGET_CPP_SIZE_SPEC): Ditto.
11382 (PAD_VARARGS_DOWN): Support MEABI.
11383 (HARD_REGNO_NREGS): Move to mips.c.
11384 (ASM_OUTPUT_IDENT): Add #undef.
11385 * config/mips/mips.md: Add r4kc, r5kc, r20kc.
11386 (mulsi3): Use GENERATE_MULT3_SI.
11387 (mulsi3_mult3): Ditto. Support mips32, mips64.
11388 (mul_acc_si): Use ISA_HAS_MADD_MSUB.
11389 (mul_sub_si): New pattern.
11390 (unnamed splitters): New.
11391 (muldi3): Use GENERATE_MULT3_DI.
11392 (muldi3_internal2): Ditto.
11393 (movdicc): Support mips32.
11394 * config/mips/t-isa3264: New file.
11395
e75ecd26
HPN
113962001-09-15 Hans-Peter Nilsson <hp@axis.com>
11397
11398 * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
11399 || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
11400 || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
86c7007a
HPN
11401
11402 * reorg.c (fill_slots_from_thread): After call to
11403 steal_delay_list_from_target, update own_thread as new_thread may
11404 have branched.
11405
97293897
NB
114062001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
11407
11408 * cpperror.c (print_location): Take line and column, for
11409 default positioning use the previously lexed token.
11410 (_cpp_begin_message): Take line and column.
11411 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
11412 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
11413 * cpphash.h (_cpp_begin_message): Update prototype.
11414 * cppinit.c (push_include): Don't set output line.
11415 * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
11416 * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
11417 (do_pragma): Kludge for front ends. Don't expand macros at all.
11418 * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
11419 (struct cpp_token): Remove output_line.
11420 (struct cpp_callbacks): New member line_change.
11421 * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
11422 cpp_get_token): Preserve BOL flag.
11423 (cpp_get_line): Remove.
11424 (_cpp_backup_tokens): Remove useless abort().
11425 * cppmain.c (cb_line_change): New.
11426 (scan_translation_unit): Don't worry about starting new lines here.
11427 * scan-decls.c (scan_decls): Update.
11428 * c-lex.c (c_lex, init_c_lex): Update.
11429 (cb_line_change, src_lineno): New.
11430
13d7d58b
JW
11431Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
11432
11433 * tree.c (append_random_chars): Generate the random
11434 characters in a reproducable fashion.
11435
623fe810
RH
114362001-09-14 Richard Henderson <rth@redhat.com>
11437
11438 * config/i386/i386.c (internal_label_prefix): New.
11439 (internal_label_prefix_len): New.
11440 (override_options): Set them.
11441 (local_symbolic_operand): New.
11442 (legitimate_pic_address_disp_p): Use it.
11443 (legitimize_pic_address): Likewise.
11444
95a37e3f 114452001-09-14 Marc Espie <espie@openbsd.org>
0e1f7b2a 11446
95a37e3f
ME
11447 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
11448 correctly.
11449
e91c2a24
RL
114502001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
11451
11452 * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
11453 * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
11454
be393ecf
NC
114552001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
11456
5de7e417
NC
11457 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
11458 invocation of SUBREG_REGNO_OFFSET.
11459
bc591fb4
NC
11460 * haifa-sched.c: Fix typo in FSF copyright statement.
11461 * sched-deps.c: Fix typo in FSF copyright statement.
11462 * sched-ebb.c: Fix typo in FSF copyright statement.
11463 * sched-rgn.c: Fix typo in FSF copyright statement.
11464 * sched-vis.c: Fix typo in FSF copyright statement.
11465
be393ecf
NC
11466 * config.gcc: Move inclusion of arm elf specific header files
11467 from the files themselves into the tm_file variable. Make
11468 sure that elfos.h is included before target specific elf
11469 headers.
11470 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
11471 already defined.
11472 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
11473 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
11474 ASM_OUTPUT_CASE_LABEL): Protect definition.
11475 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
11476 not already defined.
11477 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
11478 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
0e5a4ad8 11479 Remove duplicate definition.
be393ecf
NC
11480 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
11481 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
11482 (RDATA_SECTION_FUNCTION): Remove redundant definition.
11483 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
11484 Remove inclusion of arm/elf.h.
11485 * config/arm/unknown-elf.h: as for conix-elf.h.
11486 (STARTFILE_SPEC): Include crti.o and crtn.o.
11487 * config/arm/linux-elf.h: as for conix-elf.h.
11488 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
11489 * config/arm/strongarm-elf.h: Remove inclusion of
11490 unknown-elf.h.
11491 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
11492 * config/arm/unknown-elf-oabi.h: Remove inclusion of
11493 unknown-elf.h and elf.h.
11494 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
11495 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
11496 ASM_WEAKEN_LABEL): Remove redundant definition.
11497 * config/arm/elf.h: Test for inclusion of elfos.h
11498 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
11499 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
11500 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
11501 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
11502 redundant definition.
11503 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
11504 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
11505 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
11506 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
11507 Add rules to build crti.o and crtn.o
11508 * crti.asm: New file.
11509 * crtn.asm: New file.
11510
bdcbe496
NB
115112001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
11512
11513 * c-parse.in (_yylex): Use _cpp_backup_tokens.
11514 * cpphash.h (struct tokenrun): Add prev.
11515 (struct lexer_state): Remove bol.
11516 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
11517 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
11518 : Remove.
11519 * cppinit.c (cpp_create_reader): Don't set bol.
11520 (cpp_destroy): Don't free lookaheads.
11521 * cpplex.c (lex_directive): Remove.
11522 (next_tokenrun): Update.
11523 (_cpp_lex_token): Clean up logic.
11524 (lex_token): Update to return a pointer to lexed token, since it
11525 can move to the start of the buffer. Simpify newline handling.
11526 * cpplib.c (SEEN_EOL): Update.
11527 (skip_rest_of_line): Remove lookahead stuff.
11528 (end_directive): Line numbers are already incremented. Revert
11529 to start of lexed token buffer if we can.
11530 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
11531 parse_answer): Use _cpp_backup_tokens.
11532 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
11533 instead. Don't check for EOL.
11534 (do_include_common, do_line, do_pragma_system_header): Use
11535 skip_rest_of_line.
11536 * cpplib.h (BOL, _cpp_backup_tokens): New.
11537 * cppmacro.c (save_lookahead_token, take_lookahead_token,
11538 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
11539 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
11540 (builtin_macro): Don't use cpp_get_line.
11541 (cpp_get_line): Short term kludge.
11542 (parse_arg): Handle directives in arguments here. Back up when
11543 appropriate. Store EOF at end of argument list.
11544 (funlike_invocation_p): Use _cpp_backup_tokens.
11545 (push_arg_context): Account for EOF at end of list.
11546 (cpp_get_token): Remove lookahead stuff. Update.
11547
83182544
KG
115482001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11549
11550 * c-parse.in (yyerror): Const-ification and/or static-ization.
11551 * c-typeck.c (push_member_name): Likewise.
11552 * collect2.c (main): Likewise.
11553 * dbxout.c (dbxout_parms): Likewise.
11554 * diagnostic.c (format_with_decl): Likewise.
11555 * dwarf2out.c (output_ranges): Likewise.
11556 * dwarfout.c (fundamental_type_code): Likewise.
11557 * except.c (dw2_output_call_site_table): Likewise.
11558 * gcc.c (do_spec_1): Likewise.
11559 * genopinit.c (optabs): Likewise.
11560 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
11561 gen_declaration_1, handle_impent): Likewise.
11562 * protoize.c (default_include, in_system_include_dir, abspath):
11563 Likewise.
11564 * sched-vis.c (visualize_stall_cycles): Likewise.
11565 * sdbout.c (plain_type_1, sdbout_end_function,
11566 sdbout_end_epilogue): Likewise.
11567 * varasm.c (decode_reg_name): Likewise.
0e5a4ad8 11568
83182544
KG
11569 * 1750a.c (mod_regno_adjust): Likewise.
11570 * alpha.c (alpha_write_one_linkage,
11571 unicosmk_output_default_externs): Likewise.
11572 * arm.c (arm_condition_codes): Likewise.
11573 * arm.h (arm_condition_codes): Likewise.
11574 * avr.c (output_movsisf, encode_section_info): Likewise.
11575 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
11576 Likewise.
11577 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11578 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
11579 * m88k.c (output_function_profiler): Likewise.
11580 * mips.c (mips_output_conditional_branch): Likewise.
11581 * ns32k.c (ns32k_out_reg_names): Likewise.
11582 * ns32k.h (ns32k_out_reg_names): Likewise.
11583 * pj.c (pj_output_rval): Likewise.
11584 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
11585 * sparc.c (sparc_flat_function_prologue,
11586 sparc_flat_function_epilogue): Likewise.
11587
f404402c 115882001-09-13 Markus Werle <numerical.simulation@web.de>
623fe810 11589 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
f404402c
MW
11590
11591 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
11592 Aachen University of Technology".
11593
08ed72a9
AS
115942001-09-13 Andreas Schwab <schwab@suse.de>
11595
11596 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
11597 C99.
11598
133d3133
RH
115992001-09-13 Richard Henderson <rth@redhat.com>
11600
11601 * config/alpha/alpha.c (small_symbolic_operand): New.
11602 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
11603 (some_operand, input_operand): Don't handle HIGH.
11604 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
11605 (alpha_expand_mov): Likewise.
11606 (print_operand) [H]: Just print HIGH symbol.
11607 (print_operand_address): Handle small data.
11608 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
11609 (TARGET_SWITCHES): Add -msmall-data/large-data.
11610 (PIC_OFFSET_TABLE_REGNUM): New.
11611 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
11612 (PREDICATE_COES): Update.
11613 * config/alpha/alpha.md (adddi_er_high): New.
11614 (adddi_er_low): Handle small data.
11615 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
11616 prefer .sdata to .rodata.
11617 (SELECT_RTX_SECTION): Likewise.
11618
34b3b0f6
JM
116192001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
11620
11621 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
11622 defining __size_t and leaving size_t undefined.
0e5a4ad8 11623
d5c768b8
DN
116242001-09-12 Diego Novillo <dnovillo@redhat.com>
11625
11626 * basic-block.h (expunge_block): Declare.
11627 * cfg.c (expunge_block): Remove static declaration.
11628
3bab2571
RH
116292001-09-12 Richard Henderson <rth@redhat.com>
11630
11631 * integrate.c (copy_insn_list): Copy label name from
11632 NOTE_INSN_DELETED_LABEL.
11633
27c38fbe
KG
116342001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11635
11636 * c-common.c (c_tree_code_name): Const-ification.
11637 * c-decl.c (c_decode_option): Likewise.
11638 * c-typeck.c (warn_for_assignment): Likewise.
11639 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
11640 Likewise.
11641 * cppinit.c (output_deps): Likewise.
11642 * dependence.c (dependence_string, direction_string): Likewise.
11643 * dwarf2out.c (output_ranges): Likewise.
11644 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
11645 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
11646 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
11647 standard_startfile_prefix, standard_startfile_prefix_1,
11648 standard_startfile_prefix_2, tooldir_base_prefix,
11649 standard_bindir_prefix, find_a_file): Likewise.
11650 * genattrtab.c (make_length_attrs): Likewise.
11651 * gencheck.c (tree_codes): Likewise.
11652 * genemit.c (gen_split): Likewise.
11653 * genrecog.c (special_mode_pred_table): Likewise.
11654 * graph.c (graph_ext): Likewise.
11655 * protoize (default_include): Likewise.
11656 * reload.c (reload_when_needed_name): Likewise.
11657 * sched-vis.c (visualize_stall_cycles): Likewise.
11658 * tlink.c (recompile_files): Likewise.
11659 * toplev.c (decode_g_option): Likewise.
11660 * tradcpp.c (output_deps): Likewise.
11661 * varasm.c (decode_reg_name): Likewise.
0e5a4ad8 11662
27c38fbe
KG
11663 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
11664 Const-ification.
11665 * arm.md: Likewise.
11666 * avr.c (avr_regnames, encode_section_info): Likewise.
11667 * c4x.c (float_reg_names): Likewise.
11668 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
11669 * elfos.h (const_section): Likewise.
11670 * i386.c (ix86_comp_type_attributes): Likewise.
11671 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
11672 * ia64/aix.h (UNIQUE_SECTION): Likewise.
11673 * ia64.c (type_names): Likewise.
11674 * m68hc11.c (reg_class_names): Likewise.
11675 * m88k.c (m_options): Likewise.
11676 * mips.c (mips_output_conditional_branch, mips_unique_section):
11677 Likewise.
11678 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
11679 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
11680 ultra_code_names): Likewise.
11681 * sparc.h (OVERRIDE_OPTIONS): Likewise.
11682
a8b7afb9
JJ
116832001-09-12 Jakub Jelinek <jakub@redhat.com>
11684
11685 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
11686 Use --fatal-warnings option for gas.
11687 * configure: Rebuilt.
11688
71b96724
RL
116892001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
11690
11691 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
11692
4e1a4144
JW
116932001-09-11 Jim Wilson <wilson@redhat.com>
11694
11695 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
11696
1de3d877
MK
116972001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
11698
11699 * builtins.c (c_strlen): Treat an offset too large for a
11700 HOST_WIDE_INT as out of range.
11701
4262e623
JH
11702Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
11703
11704 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
11705 (EDGE_CRITICAL_P): New predicate.
11706 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
11707 handling.
11708 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
11709 (dump_edge_info): Remove "crit".
11710 * cfganal.c (mark_critical_edges): Kill.
11711 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
11712 * cfgcleanup.c (cleanup_cfg): Likewise.
11713 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
11714 (find_spanning_tree): Likewise.
11715 * reg-stack.c (convert_regs_1): Likewise.
11716 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
11717
11718 * basic-block.h (create_basic_block_structure): New.
11719 (create_basic_block): Update prototype.
11720 (force_nonfallthru): New.
11721 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
11722 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
11723 handle updating of block_for_insn, creating of empty BBs and BBs at
11724 the end of INSN chain.
11725 (create_basic_block): New function.
11726 (split_block): Use create_basic_block.
11727 (force_nonfallthru_and_redirect): Break out from ...; cleanup
11728 (redirect_edge_and_branch_force): ... here.
11729 (force_nonfallthru): New.
11730 (split_edge): Rewrite to use force_nonfallthru and create_block.
11731 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
11732 (find_basic_blocks): Free basic_block_for_insn.
11733 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
11734
11735 * cfg.c: Fix formating.
11736 * cfgcleanup.c: Fix formating.
11737 (merge_blocks, tail_recursion_label_p): Return bool.
11738 (merge_blocks_move_predecessor_nojumps,
11739 merge_blocks_move_successor_nojumps): Return void.
11740
201556f0
JJ
117412001-09-11 Jakub Jelinek <jakub@redhat.com>
11742
11743 * configure.in: Check whether assembler supports section merging.
11744 * config.in: Rebuilt.
11745 * configure: Rebuilt.
11746 * varasm.c (variable_section, output_constant_pool): Pass alignment
11747 to SELECT_SECTION and SELECT_RTX_SECTION.
11748 (mergeable_string_section): New.
11749 (mergeable_constant_section): New.
11750 (default_elf_asm_named_section): Output SECTION_MERGE and
11751 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11752 * output.h (mergeable_string_section): New.
11753 (mergeable_constant_section): New.
11754 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
11755 * toplev.c (flag_merge_constants): New.
11756 (f_options): Add -fmerge-constants and -fmerge-all-constants
11757 options.
11758 (toplev_main): Default to -fno-merge-constants if not optimizing.
11759 * flags.h (flag_merge_constants): Add extern.
11760 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
11761 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
11762 argument.
11763 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
11764 Define if assembler has working .subsection -1 support.
11765 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
11766 Put constant into special SHF_MERGE sections if the linker should
11767 attempt to merge duplicates.
11768 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
11769 macro argument.
11770 Put constant into special SHF_MERGE sections if the linker should
11771 attempt to merge duplicates.
11772 * config/alpha/elf.h: Likewise.
11773 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
11774 has working .subsection -1 support.
11775 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
11776 SELECT_SECTION.
11777 * config/svr3.h: Likewise.
11778 * config/darwin.h: Likewise.
11779 * config/arm/aof.h: Likewise.
11780 * config/arm/linux-elf.h: Likewise.
11781 * config/avr/avr.h: Likewise.
11782 * config/c4x/c4x.h: Likewise.
11783 * config/d30v/d30v.h: Likewise.
11784 * config/i386/dgux.h: Likewise.
11785 * config/i386/osfrose.h: Likewise.
11786 * config/i386/sco5.h: Likewise.
11787 * config/i386/svr3gas.h: Likewise.
11788 * config/ia64/aix.h: Likewise.
11789 * config/m32r/m32r.h: Likewise.
11790 * config/m68k/m68k.h: Likewise.
11791 * config/m88k/dgux.h: Likewise.
11792 * config/m88k/m88k.h: Likewise.
11793 * config/mcore/mcore-pe.h: Likewise.
11794 * config/mips/mips.h: Likewise.
11795 * config/pa/pa.h: Likewise.
11796 * config/pa/pa-linux.h: Likewise.
11797 * config/romp/romp.h: Likewise.
11798 * config/rs6000/sysv4.h: Likewise.
11799 * config/rs6000/xcoff.h: Likewise.
11800 * config/s390/linux.h: Likewise.
11801 * config/sparc/sparc.h: Likewise.
11802 * config/sparc/sysv4.h: Likewise.
11803 * config/stormy16/stormy16.h: Likewise.
11804 * config/v850/v850.h: Likewise.
11805 * config/vax/vms.h: Likewise.
11806 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
11807 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
11808 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
11809 default_elf_asm_named_section for SHF_MERGE sections.
11810
0a24446d
JH
11811Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
11812
11813 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
11814 is OK.
11815
1d30139d
JM
118162001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
11817
11818 * c-common.c (split_specs_attrs): Allow for empty attributes with
11819 empty TREE_PURPOSE. Fixes PR c/4294.
11820
7ded4467
JH
11821Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
11822
11823 * basic-block.h (cached_make_edge, make_single_succ): New.
11824 (make_edge): Remove first parameter.
11825 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
11826 * cfg.c (cached_make_edge): Rename from make_edge; return newly
11827 created edge; use obstack allocation.
11828 (make_edge, make_single_succ_edge): New.
11829 (first_removed_edge): New static variable.
11830 (init_flow): Initialize first_removed_edge and n_edges.
11831 (clear_edges): Use remove_edge.
11832 (flow_delete_block): Likewise.
11833 (remove_edge): Add removed edges to the removed edges list.
11834 (split_block, redirect_edge_and_branch_force, split_edge):
11835 Use make_edge.
11836 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
11837 (add_noreturn_fake_exit_edges): Likewise.
11838 (connect_infinite_loops_to_exit): Liekwise.
11839 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
11840 Use cached_make_edge.
11841 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
11842 * profile.c (branch_prob): Update make_edge call.
11843 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11844
30102605
RH
118452001-09-11 Richard Henderson <rth@redhat.com>
11846
11847 * config/alpha/alpha.c: Tidy formatting.
11848 (local_symbolic_operand): Verify mode.
11849 (alpha_sa_mask): Ignore unicos for eh_return.
11850 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
11851 * config/alpha/alpha.md (umk divsi patterns): Remove.
11852 (extendsfdf2): Remove unicos check.
11853 (tablejump): Merge vms and unicos code; always use direct set
11854 plus label_ref use.
11855
118562001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
11857
11858 * config.gcc (alpha*-*-unicosmk*): New target.
11859
11860 * config/alpha/alpha-protos.h (symbolic_operand,
11861 unicosmk_add_call_info_word, unicosmk_add_extern,
11862 unicosmk_defer_case_vector, unicosmk_unique_section,
11863 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
11864 unicosmk_asm_file_start, unicosmk_asm_file_end,
11865 unicosmk_output_common): Declare.
11866
11867 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
11868 direct_return, function_arg, alpha_va_start, alpha_va_arg,
11869 alpha_does_function_need_gp, alpha_end_function): Support Cray
11870 Unicos/Mk.
11871 (alpha_init_machine_status, alpha_mark_machine_status,
11872 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
11873 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
11874 unicosmk_asm_named_section, unicosmk_insert_attributes,
11875 unicosmk_section_type_flags, symbolic_operand,
11876 unicosmk_output_module_name, unicosmk_output_default_externs,
11877 unicosmk_output_dex, unicosmk_output_externs,
11878 unicosmk_output_addr_vec, unicosmk_ssib_name,
11879 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
11880 unicosmk_asm_file_end, unicosmk_output_common,
11881 unicosmk_section_type_flags, unicosmk_unique_section,
11882 unicosmk_add_call_info_word, unicosmk_text_section,
11883 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
11884 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
11885 unicosmk_dex_count, unicosmk_special_name): New.
11886 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
11887 TARGET_ABI_UNICOSMK.
11888 (get_aligned_mem, alpha_expand_unaligned_load,
11889 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
11890 alpha_expand_unaligned_store_words): Support big-endian mode.
11891 (print_operand): Likewise. New format specifier 't'. Use
11892 TARGET_AS_SLASH_BEFORE_SUFFIX.
11893 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
11894 (alpha_pv_save_size): Update with above change.
11895 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
11896 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
11897 Unicos/Mk.
11898
11899 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
11900 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
11901 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
11902 (EXTRA_CONSTRAINT): New constraint 'U'.
11903 (PREDICATE_CODES): Add symbolic_operand.
11904
11905 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
11906 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
11907 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
11908 (integer division and modulus patterns): Split in default and
11909 Unicos/Mk versions.
11910 (*divmodsi_internal, *divmoddi_internal): Disable for
11911 TARGET_ABI_UNICOSMK.
0e5a4ad8 11912 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
30102605
RH
11913 little-endian and big-endian versions.
11914 (ext, ins, msk): Likewise.
11915 (extv, extzv, insv): Support big-endian mode.
11916 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
11917 (call_umk, call_value_umk, *call_umk, tablejump_umk,
11918 *tablejump_umk_internal, *call_value_umk): New.
11919 (*movdi_nofix): Add pattern for loading an address into a register on
11920 TARGET_ABI_UNICOSMK.
11921 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
11922 (umk_mismatch_args, arg_home_umk): New.
11923 (various insns): Don't use mov, fmov, nop, fnop and unop.
11924 (realign): Support TARGET_ABI_UNICOSMK.
11925
11926 * config/alpha/unicosmk.h: New file.
11927 * config/alpha/t-unicosmk: New file.
11928
11929 * fixinc/inclhack.def (unicosmk_restrict): New.
11930 * fixinc/fixincl.x: Regenerate.
11931
11932 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11933 (wchar_t): Check for and define __WCHAR_T__.
11934
b1c4394d
RS
119352001-09-11 Richard Sandiford <rsandifo@redhat.com>
11936
11937 * combine.c (simplify_shift_const): Treat shifts by the mode
11938 size as undefined.
11939
5fddcffc
NB
119402001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
11941
11942 * cpphash.h (struct tokenrun): New.
11943 (struct cpp_context): New member bol.
11944 (struct cpp_reader): New members.
11945 (_cpp_init_tokenrun): New.
11946 * cppinit.c (cpp_create_reader): Set up the token runs.
11947 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
11948 (lex_token): New internalised version of _cpp_lex_token. Don't
a1f300c0 11949 handle directives or the multiple include optimization here any
5fddcffc
NB
11950 more. Simply lex a token.
11951 * cpplib.c (run_directive): Clear bol.
11952 (_cpp_pop_buffer): Set bol.
11953 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
11954 arguments.
11955
75dcd8fe
MM
119562001-09-11 Michael Meissner <meissner@redhat.com>
11957
11958 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
11959 give an error if the user uses -mfp32.
11960 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
11961 default options.
11962 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
11963 floating point register size.
11964 (EXTRA_SPECS): Add CPP_FPR_SPEC.
11965
11966 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
11967 HOST_WIDE_INT_PRINT_DEC to properly print the result of
11968 int_size_in_bytes.
11969 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11970 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11971
fb530c07
HPN
119722001-09-11 Hans-Peter Nilsson <hp@axis.com>
11973
11974 * dbxout.c (dbxout_parms): Fix typo in comment.
11975 * unroll.c (loop_find_equiv_value): Ditto.
11976 * toplev.c (rest_of_compilation): Ditto.
11977 * loop.c (scan_loop): Ditto.
fb530c07
HPN
11978 * dwarf2out.c (struct dw_fde_struct): Ditto.
11979
2c3fcba6
ZW
119802001-09-10 Zack Weinberg <zackw@panix.com>
11981
11982 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
11983 copying identifier when we're just going to throw it away.
11984 (parse_identifier_slow): New routine to handle abnormal cases.
11985 (_cpp_lex_token): Update call site.
11986
11987 * hashtable.c (ht_lookup): Don't assume that the string we've
11988 been given is NUL-terminated.
11989 * system.h: #define __builtin_expect(a, b) to (a) if not
11990 GCC >=3.0.
11991
60acf24e
MM
119922001-09-10 Michael Meissner <meissner@redhat.com>
11993
11994 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
11995 binutils, gdb.
11996
51d3e7d6
DE
119972001-09-10 David Edelsohn <edelsohn@gnu.org>
11998
11999 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
12000
bf06b5d8
RK
12001Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12002
12003 * builtins.c (c_getstr): Correct thinko in last change and further
12004 cleanup.
12005
244a4af0
TF
120062001-09-10 Tim Freeman <tim@fungibole.com>
12007
12008 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
12009 into varray's and register them as roots with the garbage
2c3fcba6 12010 collector so they are not collected too soon.
244a4af0 12011
402209ff
JH
12012Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
12013
12014 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
12015 New.
12016 * basic-block.h (flow_obstack, label_value_list,
12017 tail_recursion_label_list): Declare
12018 (tidy_fallthru_edges): Declare.
12019 (expunge_block, last_loop_beg_note): Delete.
12020 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
12021 * cfg.c: New file
12022 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
12023 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
12024 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
2c3fcba6 12025 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
402209ff
JH
12026 expunge_block, flow_delete_block, compute_bb_for_insn,
12027 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
12028 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
12029 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
12030 try_redirect_by_replacing_jump, last_loop_beg_note,
12031 redirect_edge_and_branch, redirect_edge_and_branch_force,
12032 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
12033 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
2c3fcba6 12034 commit_edge_insertions, dump_flow_info, debug_flow_info,
402209ff
JH
12035 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
12036 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
12037 Move here from flow.c
12038 * cfganal.c: New file.
12039 (forwarder_block_p, can_fallthru, mark_critical_edges,
12040 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
12041 find_unreachable_blocks, create_edge_list, free_edge_list,
12042 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
12043 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
12044 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
12045 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
12046 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
12047 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
12048 Move here from flow.c
12049 * cfgbuild.c: New file
12050 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
12051 make_edges, find_basic_blocks_1, find_basic_blocks,
12052 find_sub_basic_blocks): Move here from flow.c
12053 * cfgcleanup.c: New file.
12054 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
12055 merge_blocks_move_predecessor_nojumps,
12056 merge_blocks_move_successor_nojumps, merge_blocks,
12057 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
12058 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
12059 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
12060 if succeeded.
12061 * cfgloop.c: New file
12062 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
12063 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
12064 flow_loop_exit_edges_find, flow_loop_nodes_find,
12065 flow_loop_pre_header_scan, flow_loop_pre_header_find,
12066 flow_loop_tree_node_add, flow_loops_tree_build,
12067 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
12068 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
12069 Move here from flow.c
12070 * flow.c: Remove everything moved elsewhere
12071 * output.h (cleanup_cfg): Return bool.
12072
12073 * bb-reorder.c (reorder_block_def): Remove 'index'.
12074 (insert_intra_1): Add argument BB, set block for new note.
12075 (make_reorder_chain): Do not depdent on BB indexes.
12076 (make_reorder_chain_1): Do not use BB indexes.
12077 (label_for_bb): Likewise; set BB for new insn.
12078 (emit_jump_to_block_after): Likewise.
a1f300c0 12079 (fixup_reorder_chain): Sanity check that all basic blocks
402209ff
JH
12080 are chained; verify newly created insn chain; remove
12081 undocnitional jump simplifying; Do not use BB indexes;
12082 properly initialize count and frequency information;
12083 dump reordered sequence.
12084 (insert_intra_bb_scope_notes): update call of insert_intra_1.
12085 (insert_inter_bb_scope_notes): Set block for new insn.
12086 (reorder_basic_blocks): Dump flow info before reoredering.
12087
5197bd50
RK
12088Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12089
12090 * alias.c (clear_reg_alias_info): Use K&R format definition.
12091 Avoid unsigned warning.
12092 * builtins.c: Use "unsigned int", not "unsigned".
12093 (target_char_cast): Use host_integerp and tree_low_cst.
12094 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
12095 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
12096 (c_getstr): Likewise.
12097 (std_expand_builtin_va_arg): Use int_size_in_bytes.
12098 (builtin_memcpy_read_str): Avoid unsigned warning.
12099 (expand_builtin_memcpy): Alignments are unsigned.
12100 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
12101 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
12102 * predict.c (expensive_function_p): LIMIT now unsigned.
12103 * resource.c (mark_target_live_regs): Make some vars unsigned.
12104 * sdbout.c: Use "unsigned int", not "unsigned".
12105 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
12106 (sdbout_source_line): Likewise.
12107 (sdbout_record_type_name): Remove "const" for NAME declaration.
12108 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
12109
2e547b13
RS
121102001-09-10 Richard Sandiford <rsandifo@redhat.com>
12111
12112 * calls.c (store_one_arg): Expand comment.
12113
0df299ae
RL
121142001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
12115
12116 * calls.c (store_one_arg): Make sure that the entire argument is
12117 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
12118
1650fcad
RH
121192001-09-09 Richard Henderson <rth@redhat.com>
12120
12121 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
12122
5bb08c84
JH
12123Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
12124
12125 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
12126
1eb356b9
RH
121272001-09-09 Richard Henderson <rth@redhat.com>
12128
12129 * config/alpha/alpha.c (alpha_next_sequence_number): New.
12130 (alpha_this_literal_sequence_number): New.
12131 (alpha_this_gpdisp_sequence_number): New.
12132 (some_operand, input_operand): Add HIGH.
12133 (local_symbolic_operand): New.
12134 (alpha_encode_section_info): New.
12135 (alpha_legitimate_address_p): Allow LO_SUM.
12136 (alpha_legitimize_address): Generate HIGH+LO_SUM.
12137 (alpha_expand_mov): Likewise.
12138 (secondary_reload_class): Check memory_operand not general_operand
12139 for FP_REGS test.
12140 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
12141 (alpha_expand_unaligned_store): Likewise.
12142 (alpha_expand_unaligned_load_words): Likewise.
12143 (alpha_expand_unaligned_store_words): Likewise.
12144 (alpha_expand_block_clear): Likewise.
12145 (print_operand): Handle %#, %*, %H.
12146 (print_operand_address): Handle LO_SUM.
12147 (find_lo_sum): New.
12148 (alpha_does_function_need_gp): Use it.
12149 (alpha_expand_block_move): Fix signed compare warnings.
12150 (alpha_sa_mask, alpha_align_insns): Likewise.
12151 * config/alpha/alpha-protos.h: Update.
12152 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
12153 (MASK_EXPLICIT_RELOCS): New.
12154 (TARGET_SWITCHES): Add -mexplicit-relocs.
12155 (EXTRA_CONSTRAINT): Add 'T'.
12156 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
12157 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
12158 (ENCODE_SECTION_INFO): Out line.
12159 (REDO_SECTION_INFO_P): New.
12160 (STRIP_NAME_ENCODING): New.
12161 (ASM_OUTPUT_LABELREF): New.
12162 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
12163 (PREDICATE_CODES): Update.
12164 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
12165 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
12166 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
12167 builtin_setjmp_receiver_er, exception_receiver_1_er,
12168 call_value_osf_1_er): New patterns.
12169 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
12170 (movqi, movhi, movsi): Add explicit $31 base register to lda.
12171 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
12172 (FINAL_PRESCAN_INSN): New.
12173
b74cf1ce
JH
12174Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
12175
12176 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
12177
2c36d070
AJ
121782001-09-08 Andreas Jaeger <aj@suse.de>
12179
12180 * i386.h (TARGET_SWITCHES): Fix description.
12181
4e2c1c44
DE
121822001-09-07 David Edelsohn <edelsohn@gnu.org>
12183
12184 * rs6000.c (num_insns_constant): Compute number of instructions
12185 more accurately.
12186
d5d8d540
DE
12187 * doc/install.texi: Explain AIX exception handling work-around.
12188 Update URL for AIX fixes.
12189
43fe47ca
JW
121902001-09-07 Jim Wilson <wilson@redhat.com>
12191
12192 * alias.c (clear_reg_alias_info): New.
12193 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
12194 * rtl.h (clear_reg_alias_info): Declare.
12195
177b41eb
RL
121962001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
12197
12198 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
12199 available.
12200 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
12201 (m16m,edivm,emulm): Change declaration to match definition.
12202
b4905cba
RL
122032001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
12204
12205 * reload.c (push_reload): Check for subreg_lowpart_p instead of
12206 SUBREG_BYTE being 0 when determining if the inner part of a subreg
12207 can be reloaded.
12208
4a063bec
RH
122092001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
12210
12211 * c-common.c (signed_or_unsigned_type): Handle machine mode types
12212 which have no corresponding C type.
12213 * fold_const.c (target_isinf,target_isnan,target_negative): Update
12214 the representation of 64-bit doubles to work with 64-bit ints.
12215
122162001-09-07 Aldy Hernandez <aldyh@redhat.com>
2fd7f0c1 12217
4a063bec
RH
12218 * config/mips/mips.c (override_options): Do not override ISA when ABI
12219 specified if MIPS_CPU_STRING_DEFAULT was specified.
2fd7f0c1 12220
9b3bd424
RH
122212001-09-07 Richard Henderson <rth@redhat.com>
12222
12223 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
12224 (express_from_1): Wrap lines.
12225 * rtlanal.c (commutative_operand_precedence): Rename from
12226 operand_preference; export.
12227 * rtl.h: Declare it.
12228 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
12229 (simplify_binary_operation): Invoke simplify_plus_minus on
12230 (CONST (PLUS ...)) as well.
12231 (struct simplify_plus_minus_op_data): New.
12232 (simplify_plus_minus_op_data_cmp): New.
12233 (simplify_plus_minus): Use them. Avoid infinite recursion with
12234 simplify_binary_operation wrt CONST.
12235
5660465a
KH
12236Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
12237
12238 * h8300-protos.h (general_operand_dst_push): Remove.
12239 * h8300.c (general_operand_dst_push): Likewise.
12240 * h8300.h (OK_FOR_T): Likewise.
12241 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
12242 * h8300.md (pushqi_h8300): New.
12243 (pushqi_h8300hs): Likewise.
12244 (pushqi): Likewise.
12245 (pushhi_h8300): Likewise.
12246 (pushhi_h8300hs): Likewise.
12247 (pushhi): Likewise.
12248
7b9e1fcf
RK
12249Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12250
12251 * genattrtab.c (attr_printf): First arg is unsigned.
12252 Clean up formatting of callers.
12253
1dee47c3
AH
122542001-09-06 Aldy Hernandez <aldyh@redhat.com>
12255
12256 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
12257 registers.
12258
4cba3b67
AJ
122592001-09-07 Andreas Jaeger <aj@suse.de>
12260
12261 * i386.h (TARGET_SWITCHES): Fix descriptions.
12262
6a9f6727
MK
122632001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
12264
12265 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
12266
cffb2601
IR
122672001-09-06 Ira Ruben <ira@apple.com>
12268
12269 Remove OP_IDENTIFIER.
12270 * tree.def (OP_IDENTIFIER): Remove.
12271 * tree.c (tree_node_kind enum): Remove op_id_kind.
12272 (tree_node_kind_names): Remove "op_identifiers".
12273 (make_node): Remove OP_IDENTIFIER test.
12274 (build_op_identifier): Removed because it isn't being used.
12275 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
12276 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
12277
0615ed36
RH
122782001-09-06 Richard Henderson <rth@redhat.com>
12279
12280 * simplify-rtx.c (simplify_binary_operation): Revert last change.
12281
7d8be4da
RH
122822001-09-06 Richard Henderson <rth@redhat.com>
12283
12284 * simplify-rtx.c (simplify_binary_operation): Simplify contents
12285 of CONST.
12286
a1dc9455
FS
122872001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12288
12289 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
12290 number used for CR register.
12291
1aae372e
JL
12292Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
12293 Joern Rennecke (amylaar@cygnus.com)
12294
12295 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
12296 * h8300.c (initial_offset): Handle offset between RP and FP.
12297 (h8300_return_addr_rtx): New function.
12298 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
12299 return register.
12300 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
12301 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
12302 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
12303 (CAN_ELIMINATE, REGISTER_NAMES):
12304 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
12305
6d0a3f67
NS
123062001-09-06 Nathan Sidwell <nathan@codesourcery.com>
12307
12308 Remove TYPE_NONCOPIED_PARTS.
12309 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
12310 (struct tree_type): Remove noncopied_parts.
12311 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
12312 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
12313 (fixed_type_p): Remove.
12314 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
12315 (expand_expr, MODIFY_EXPR): Likewise.
12316 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
12317 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
12318
02071907
AM
123192001-09-06 Alan Modra <amodra@bigpond.net.au>
12320
12321 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
12322 compiler warnings.
12323 (mask64_operand): Likewise.
12324 (includes_rldic_lshift_p): Likewise.
12325 (includes_rldicr_lshift_p): Likewise.
12326
89fc3605
ZL
123272001-09-05 Ziemowit Laski <zlaski@apple.com>
12328
4a063bec 12329 * objc/objc-act.c (build_message_expr): If a class method cannot
89fc3605
ZL
12330 be found, do not issue a warning if a corresponding instance
12331 method exists in the root class.
12332
666b0481
RH
123332001-09-05 Richard Henderson <rth@redhat.com>
12334
12335 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
12336
ae6f2a1c
ZW
123372001-09-05 Zack Weinberg <zack@codesourcery.com>
12338
12339 * function.c (ggc_mark_struct_function): Mark f->outer.
12340 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
12341 * integrate.c (output_inline_function): ... not here.
12342
2ab0437e
JH
12343Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
12344
04ac5ee9
JH
12345 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
12346
2ab0437e
JH
12347 * i386.c (size_cost): New static variable.
12348 (override_function): Use size_cost when -Os is specified.
12349
12350 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
12351 properly; Use current_function_calls_eh_return.
12352 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
f5143c46 12353 use leave to avoid dependency chain.
2ab0437e
JH
12354
12355 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
12356 get BB loop_depth instead of computing it from LOOP notes.
12357
12358 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
12359
76f81d95
JDA
123602001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
12361
12362 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12363 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
12364 UNALIGNED_DOUBLE_INT_ASM_OP): Define
12365
8db4c867
JL
123662001-09-05 Jeffrey A Law (law@cygnus.com)
12367 Jason Merrill (jason@redhat.com)
12368
12369 * stor-layout.c (layout_type): Complain if an array's size can
12370 not be represented in a size_t.
12371
12372 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
12373
caa297fe
DB
123742001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
12375
4cba3b67 12376 * gcc.c: (process_command) Add parentheses around assignment
caa297fe
DB
12377 used as truth value.
12378
eecd6d9c
RS
123792001-09-05 Richard Sandiford <rsandifo@redhat.com>
12380
4cba3b67 12381 * config/mips/mips.c (save_restore_insns): Don't mark any register
eecd6d9c
RS
12382 save slots as unchanging if current_function_calls_eh_return.
12383
a39bdefc
RH
123842001-09-05 Richard Henderson <rth@redhat.com>
12385
12386 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
12387 * config/alpha/alpha-protos.h: Declare it.
12388 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
12389 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
12390 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
12391 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
12392 (REG_OK_FOR_BASE_P): Select one of the above.
12393
662704e7
RS
123942001-09-05 Richard Sandiford <rsandifo@redhat.com>
12395
12396 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
12397 (crti.o): Prefix name of object file with $(T).
12398 (crtn.o): Likewise.
12399
2be1602e
DM
124002001-09-05 David S. Miller <davem@redhat.com>
12401
12402 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
12403 * config/sparc/linux64.h: Likewise.
12404
a7939b1d
AJ
124052001-09-05 Andreas Jaeger <aj@suse.de>
12406
12407 * doc/invoke.texi (i386 Options): -mwide-multiply is not
12408 available anymore, remove the documentation.
12409 (i386 Options): Fix typo, cleanup index entries.
12410
12411 * prefix.c (concat): Remove, we can use the version from liberty.
12412
23296a36
RH
124132001-09-05 Richard Henderson <rth@redhat.com>
12414
12415 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
12416 New functions split out of md file expanders.
12417 * config/alpha/alpha-protos.h: Declare them.
12418 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
12419
522d73ab
NB
124202001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
12421
12422 * cppmacro.c (funlike_invocation_p): No need to restore context.
12423
aead1ca3
RH
124242001-09-04 Richard Henderson <rth@redhat.com>
12425
12426 * reload.c (push_reload): Export.
12427 * reload.h (push_reload): Declare it.
12428
12429 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
12430 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
12431 * config/alpha/alpha.c (alpha_legitimize_address): New.
12432 (alpha_legitimize_reload_address): Likewise.
12433 * config/alpha/alpha-protos.h: Declare them.
12434
93913281
SS
124352001-09-04 Stan Shebs <shebs@apple.com>
12436
12437 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
12438 * config/darwin.c (machopic_stub_name): Account for internally
12439 generated lib calls such as memcpy.
12440
4c21ef03
RH
124412001-09-04 Richard Henderson <rth@redhat.com>
12442
12443 * unwind.h (_UA_END_OF_STACK): New flag.
12444 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
12445
9aa5ba97
JL
12446Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
12447
12448 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
12449
58771ed1
RS
124502001-09-04 Richard Sandiford <rsandifo@redhat.com>
12451
12452 * config/mips/mips.c (save_restore_insns): Change base_offset to
12453 fp_offset in second call to mips_emit_frame_related_store.
12454
ba72e5a6
HPN
124552001-09-04 Hans-Peter Nilsson <hp@axis.com>
12456
12457 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
12458 sometimes be represented as a NOTE of type
12459 NOTE_INSN_DELETED_LABEL.
12460 (Insns): Document NOTE_INSN_DELETED_LABEL.
12461
22367161
NS
124622001-09-04 Nathan Sidwell <nathan@codesourcery.com>
12463
12464 * c-common.h (tree_dump_index): Add more comments.
12465 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
12466 (dump_option_value_info): New struct.
12467 (dump_options): New array.
12468 (dump_switch_p): Parse switch options symbolically.
12469 * doc/invoke.texi (-fdump-ast): Rename to ...
12470 (-fdump-tree): ... here. Document that options are symbolic, and
12471 not all are applicable.
12472
f7df2b9d
DM
124732001-09-04 David S. Miller <davem@redhat.com>
12474
12475 * config/sparc/sparc.md (define_splits): Kill constraints.
12476
7fbb2f84
DM
12477 Cleanup redundant and unused insn attributes.
12478 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
12479 binary, and move. Mark ialu as default.
12480 (commented out define_function_unit "alu"): Kill.
12481 (define_attr "use_clobbered"): Kill.
12482 (whole file): Kill address insn type references. Replace
12483 all unary/binary/move references with ialu.
12484 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
12485 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
12486 TYPE_IALU.
a7939b1d 12487
24697ca0
DM
12488 Simplify length insn attribute and make more judicious use
12489 of insn attribute defaulting.
12490 * config/sparc/sparc.md (all insns with length > one): Mark as
12491 insn type multi if real instructions, else use default if
12492 it is a forced splitter.
12493 (all insns with length == one): Use default insn length.
12494 (all insns of type ialu): Use default insn type.
12495
12496 Fix erroneous insn attribute settings.
12497 (addx): Set insn type to misc.
12498 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
12499 const_umulsidi3_sp64): Set insn type to imul.
a7939b1d 12500
24697ca0
DM
12501 Track SFmode vs DFmode insns according to UltraSPARC
12502 scheduling rules.
12503 * config/sparc/sparc.md ("fptype"): New attribute, default
12504 to "single".
12505 (all DFmode single insns): Mark as fptype "double".
12506
7743fdb9
JJ
125072001-09-03 Jakub Jelinek <jakub@redhat.com>
12508
12509 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
12510
964be02f
RH
125112001-09-03 Richard Henderson <rth@redhat.com>
12512
12513 * function.h (struct function): Add arg_pointer_save_area_init.
12514 * function.c (expand_function_end): Init arg_pointer_save_area.
12515 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
12516 when called from a nested function.
12517
86251d81
AMT
125182001-09-02 Angela Marie Thomas <angela@cygnus.com>
12519
12520 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
12521 is enabled.
12522
0c4992b0
JH
12523Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
12524
12525 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
12526
e27e731d
GK
125272001-09-01 Geoffrey Keating <geoffk@redhat.com>
12528
9e0e11bf
GK
12529 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
12530 (emit_push_insn): Use specified padding direction when
12531 STACK_PUSH_CODE is POST_INC.
12532
e27e731d
GK
12533 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
12534
a6ffcb2a
KG
125352001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12536
12537 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
12538
53aabfbc
NB
125392001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
12540
12541 * cppinit.c (cpp_start_read): Free the imacros list as we
12542 traverse it. Don't free the chains before returning.
12543 (_cpp_push_next_buffer): Only try pushing buffers if we've
12544 completed -imacros handling.
12545
4049df42
EC
125462001-08-31 Eric Christopher <echristo@redhat.com>
12547
12548 * gcc.c (handle_braces): Add explaination for abort.
12549
57bfa49a
RZ
125502001-08-30 Roman Zippel <zippel@linux-m68k.org>
12551
12552 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
12553 move adjustment of bitpos instead.
12554
eb3ae3e1
ZW
125552001-08-31 Zack Weinberg <zack@codesourcery.com>
12556
12557 * function.c: Remove all_functions. Make outer_function_chain
12558 static.
12559 (init_function_start): Don't add new function structure to
12560 all_functions.
12561 (find_function_data, push_function_context_to,
12562 pop_function_context_from, put_var_into_stack,
12563 trampoline_address): Update for changed structure element names.
12564 (push_function_context_to): Disentangle.
12565 (free_after_compilation): Also free F.
12566 (expand_dummy_function_end): Don't free cfun here.
12567 (put_var_into_stack): Comment why we can't use find_function_data here.
12568 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
12569 (mark_function_chain): Split into maybe_mark_struct_function and
12570 ggc_mark_struct_function. Export the latter.
12571 (init_function_once): Mark from cfun and outer_function_chain;
12572 not all_functions.
12573
12574 * function.h (struct function): Kill next_global. Rename next
12575 to outer. All users updated to match.
12576 (all_functions, outer_function_chain): Don't declare.
12577
12578 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
12579 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
12580 don't touch f->inlinable, after calling rest_of_compilation.
12581
12582 * tree.h: Forward-declare struct function. Prototype
12583 ggc_mark_struct_function.
12584
fb9282f9
KH
125852001-08-31 Kazu Hirata <kazu@hxi.com>
12586
12587 * config/h8300/h8300.md (*andorhi3): Fix typos.
12588
6268b922
KG
125892001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12590
12591 * calls.c (emit_library_call_value): Don't use a fixed
12592 argument after VA_CLOSE, i.e. out of scope in traditional C.
12593
12594 * emit-rtl.c (gen_rtvec): Likewise.
12595
78b41166
KG
125962001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12597
12598 * Makefile.in (c-pragma.o): Depend on output.h.
12599 (reorg.o): Depend on except.h.
12600
12601 * c-pragma.c: Include output.h.
12602
12603 * reorg.c: Include except.h.
12604
12605 * unwind-dw2.c: Call __builtin_alloca, not alloca.
12606
fe3e667f
RH
126072001-08-31 Richard Henderson <rth@redhat.com>
12608
ff7cc307 12609 * sched-deps.c (add_dependence): Don't elide dependency if the
fe3e667f
RH
12610 conditional used by insn is modified in elem.
12611
75b9045a
NC
126122001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
12613
12614 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
12615
a8231a01
DN
126162001-08-31 Diego Novillo <dnovillo@redhat.com>
12617
12618 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
12619 dump_switch_p.
12620
43898541
GK
126212001-08-31 Geoffrey Keating <geoffk@redhat.com>
12622
12623 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
12624 function.
12625 (stormy16_asm_out_constructor): New function.
12626 (TARGET_ASM_CONSTRUCTOR): Define.
12627 (TARGET_ASM_DESTRUCTOR): Define.
12628
6b8c9327
AJ
126292001-08-31 Andreas Jaeger <aj@suse.de>
12630
12631 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
12632 * loop.c (add_label_notes): Likewise.
12633 * reload.c (find_reloads): Likewise.
12634 * config/sh/sh.c (machine_dependent_reorg): Likewise.
12635
a9985a92
JM
126362001-08-31 Jason Merrill <jason_merrill@redhat.com>
12637
12638 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
12639 code here. Take _Unwind_{W,Sw}ord*.
12640 (read_encoded_value_with_base): Use them.
12641 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
12642 words.
12643 (extract_cie_info): Simplify read_?leb128 handling.
12644 (execute_stack_op, execute_cfa_program): Likewise.
12645 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
12646
e2470e1b
GK
126472001-08-31 Geoffrey Keating <geoffk@redhat.com>
12648
12649 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
12650 the frame pointer to pop the stack if convenient.
12651
12652 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
12653 Don't use post-increment before combine.
12654 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
12655 a call-saved register.
12656
f5dd47c4
AJ
126572001-08-31 Andreas Jaeger <aj@suse.de>
12658
12659 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
12660 code was correct.
12661
ed09481d
GK
126622001-08-30 Geoffrey Keating <geoffk@redhat.com>
12663
12664 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
12665 not DIV/MOD, of course.
12666
b8ec5764
VM
126672001-08-30 Vladimir Makarov <vmakarov@redhat.com>
12668
12669 * rtl.def: Undo my patch commited 2001-08-27.
12670
12671 * genattrtab.c: Ditto.
12672
12673 * rtl.h: Ditto.
12674
12675 * sched-int.h: Ditto.
12676
12677 * target-def.h: Ditto.
12678
12679 * target.h: Ditto.
12680
12681 * haifa-sched.c: Ditto.
12682
12683 * sched-rgn.c: Ditto.
12684
12685 * sched-vis.c: Ditto.
12686
12687 * Makefile.in: Ditto.
12688
12689 * doc/md.texi: Ditto.
12690
12691 * doc/tm.texi: Ditto.
12692
12693 * doc/contrib.texi: Ditto.
12694
12695 * doc/gcc.texi: Ditto.
12696
12697 * genattrtab.h: Remove it.
12698
12699 * genautomata.c: Remove it.
12700
12701 * genattr.c: Undo my patch and Richard Henderson's patch commited
12702 2001-08-27.
12703
9f5b774b 12704Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
f4926e19
R
12705
12706 * config.gcc (h8300-*-elf*): New case.
12707 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
12708 (SUBTARGET_CPP_SPEC): Define.
12709 (EXTRA_SPECS): Define.
12710 (SUBTARGET_EXTRA_SPECS): Define.
12711 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
12712 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
12713
8c062645
R
12714Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
12715
12716 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
12717 (LIB2FUNCS_EXTRA): Define.
12718 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
12719 config/h8300/fixunssfsi.c: New file.
12720
6f41623f
KH
127212001-08-30 Kazu Hirata <kazu@hxi.com>
12722
12723 * config/h8300/h8300.md (zero_extendqihi2): Changes to
f63d1bf7 12724 define_expand to accommodate target-specific attributes.
6f41623f
KH
12725 (anonymous zero_extendqihi2 patterns): New.
12726
ee437932
R
12727Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
12728
12729 * h8300.md (*andorhi3): New pattern.
12730
63a57e0f
R
12731Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
12732
12733 * h8300.c (dosize): Fix test for "sub".
12734
95602da1
R
12735Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
12736
12737 * c-typeck.c (pointer_diff): Try to eliminate common term before
12738 doing conversions.
12739
ef7112de
NC
127402001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
12741
12742 * config/arm/arm.c (arm_compute_initial_elimination_offset):
12743 Account for the saves of the FP registers.
12744
12745 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
12746 (TEXT_SECTION_ASM_OP): Define.
12747 (INIT_SECTION_ASM_OP): Define.
12748 (FINI_SECTION_ASM_OP): Define.
12749 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
12750 (RDATA_SECTION_FUNCITON): Provide prototype.
12751
52fdbf26
GK
127522001-08-29 Geoffrey Keating <geoffk@redhat.com>
12753
12754 * reload1.c (move2add_note_store): Correct typo checking for
12755 argument pushes.
12756
c63b1ae8
AM
127572001-08-29 Andrew MacLeod <amacleod@redhat.com>
12758
12759 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
12760 note should not be considered outside the libcall block.
12761
ec83eb53
KG
127622001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12763
12764 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
12765
5965bbf8
KH
127662001-08-29 Kazu Hirata <kazu@hxi.com>
12767
12768 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
12769
366a7b27
KH
127702001-08-29 Kazu Hirata <kazu@hxi.com>
12771
12772 * config/h8300/h8300-protos.h: Add a prototype for
12773 emit_logical_op.
12774 * config/h8300/h8300.c (emit_logical_op): New.
12775 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
12776 (andsi3): Likewise.
12777 (iorhi3): Likewise.
12778 (iorsi3): Likewise.
12779 (xorhi3): Likewise.
12780 (xorsi3): Likewise.
12781
6e9c53b4
JDA
127822001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
12783
12784 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
12785 comparison with rtx INTVAL.
12786 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
12787 expression.
12788 * pa.h (FUNCTION_ARG_SIZE): Likewise.
12789
53251a55
KH
127902001-08-29 Kazu Hirata <kazu@hxi.com>
12791
12792 * config/h8300/lib1funcs.asm: Update the copyright. Fix
12793 comment typos.
12794
0cb3708d
KH
127952001-08-29 Kazu Hirata <kazu@hxi.com>
12796
07322342
KH
12797 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
12798 (reg n) to (mem (pre_dec (reg n))
0cb3708d
KH
12799 (anonymous movsi pattern): Likewise.
12800
39fc3cc7
KH
128012001-08-29 Kazu Hirata <kazu@hxi.com>
12802
07322342 12803 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
39fc3cc7 12804
b3a68dba
KH
128052001-08-29 Kazu Hirata <kazu@hxi.com>
12806
07322342
KH
12807 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
12808 several special constants.
b3a68dba 12809
45a4bc1d
KH
128102001-08-29 Kazu Hirata <kazu@hxi.com>
12811
12812 * config/h8300/lib1funcs.asm: Fix comment typos.
12813
c3d03e3a
KG
128142001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12815
12816 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
12817 Fix format specifier warnings.
f5dd47c4 12818
c3d03e3a
KG
12819 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
12820 inet_makeaddr, semctl): Prototype.
12821
12822 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
12823 (save_restore_insns): Use base_offset, not gp_offset.
12824
12825 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
12826 (ASM_OUTPUT_BYTE): Fix format specifier warning.
12827
a7b01a4b
RH
128282001-08-29 Richard Henderson <rth@redhat.com>
12829
12830 * bb-reorder.c (function_tail_eff_head): New.
12831 (record_effective_endpoints): Set it.
12832 (fixup_reorder_chain): Use it.
12833
c43f84d7
KG
128342001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12835
12836 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
12837
c0cbc013
DJ
128382001-08-28 Dale Johannesen <dalej@apple.com>
12839
12840 * config/darwin.c (machopic_function_base_name): Add const
12841 qualifier to a string.
12842 (darwin_encode_section_info): Ditto.
12843
252cf812
KG
128442001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12845
12846 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
12847 function definition.
12848
d59c5346
DB
128492001-08-28 Daniel Berlin <dan@cgsoftware.com>
12850
12851 * df.h (struct df): Add rts_order variable.
12852
12853 * df.c (df_visit_next_rts): New function.
12854 (df_visit_next): Renamed to df_visit_next_rc
12855 (df_analyse_1): Allocate/compute/free rts_order as well.
12856 (df_rd_global_compute): Use df_visit_next_rc instead of
12857 df_visit_next.
12858 (df_ru_global_compute): Use df_visit_next_rts instead of
12859 df_visit_next.
f5dd47c4 12860
d59c5346
DB
12861 * flow.c (flow_reverse_top_sort_order_compute): New function.
12862
12863 * basic-block.h: Add prototype.
12864
e0c39f1b
DB
128652001-08-28 Daniel Berlin <dan@cgsoftware.com>
12866
12867 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
12868 blocks, the BB_REACHABLE is now set, rather than aux being
12869 non-NULL. Update the test to reflect this.
f5dd47c4 12870
a098df27
EC
128712001-08-28 Eric Christopher <echristo@redhat.com>
12872
12873 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
12874 config/mips/crti.asm: Ditto.
12875
46f9491e
EC
128762001-08-28 Eric Christopher <echristo@redhat.com>
12877 Richard Henderson <rth@redhat.com>
12878
12879 * c-pragma.h (add_weak): Move prototype from here...
12880 * output.h (add_weak): ... to here.
12881 * varasm.c (add_weak): Fix typo.
12882 * config/mips/crti.asm: New file.
12883 * config/mips/crtn.asm: Ditto.
12884 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
12885 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
12886 (INVOKE__main): Ditto.
12887 (INIT_SECTION_ASM_OP): New.
12888 (FINI_SECTION_ASM_OP): Ditto.
12889 (STARTFILE_SPEC): Add crti.
12890 (ENDFILE_SPEC): Add crtn.
12891 * config/mips/elf64.h: Same.
12892 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
12893 Remove.
12894 * config/mips/vxworks.h: Ditto.
12895 * config/mips/t-elf: Support crti and crtn.
12896
5dde0143
AO
128972001-08-28 Alexandre Oliva <aoliva@redhat.com>
12898
12899 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
12900 INSN_LIST.
12901
967603ef
RH
129022001-08-28 Richard Henderson <rth@redhat.com>
12903
12904 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
12905 (one_cmplbi2 splitter): Remove redundant test.
12906
4f400cf6
DJ
129072001-08-28 Dale Johannesen <dalej@apple.com>
12908
12909 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
12910
c976fa88
DS
129112001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
12912
12913 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
12914
1aef44a7
SS
129152001-08-28 Stan Shebs <shebs@apple.com>
12916
12917 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
12918 (UNALIGNED_SHORT_ASM_OP): Define.
12919 (UNALIGNED_INT_ASM_OP): Define.
12920
68350f4f
WC
129212001-08-28 Will Cohen <wcohen@redhat.com>
12922
12923 * config/rs6000/rs6000.md (store_multiple): Correct RTL
12924 generation for first set.
12925
b5a696fb 129262001-08-27 Roman Zippel <zippel@linux-m68k.org>
c23bb84b
RH
12927
12928 * flow.c (redirect_edge_succ_nodup): Return new edge.
12929 (try_simplify_condjump): Use new edge.
12930 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12931
b5a696fb
RZ
12932 * cse.c (cse_basic_block): Skip note instructions.
12933
c05148e8
RH
129342001-08-27 Richard Henderson <rth@redhat.com>
12935
fa4e13e0
RH
12936 * combine.c (combine_simplify_rtx): Don't reverse condition
12937 if there is no reverse for the condition.
12938 (simplify_comparison): Don't simplify subregs from INT to FP.
12939
c05148e8
RH
12940 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
12941 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
12942 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
12943 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
12944 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
12945 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
46f9491e 12946
f21bdd05
RZ
129472001-08-27 Roman Zippel <zippel@linux-m68k.org>
12948
b7b59ff4
RZ
12949 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
12950 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
12951 (pushqi1): New.
12952 (adddi_dilshr32, adddi_dishl32): Only data register can be
12953 source for mem destination.
12954
f21bdd05
RZ
12955 * expmed.c (store_bit_field): Ignore adjustment to bitpos
12956 and use bitnum to decide about register move.
12957
a224278b
RH
129582001-08-27 Richard Henderson <rth@redhat.com>
12959
12960 * genattr.c (main): Emit state_t even when not doing scheduling.
12961
80c29cc4
RZ
129622001-08-27 Roman Zippel <zippel@linux-m68k.org>
12963 Richard Henderson <rth@redhat.com>
12964
12965 * gcse.c (reg_first_set, reg_last_set): Replace with ...
12966 (reg_avail_info, current_bb): ... these.
12967 (oprs_unchanged_p, record_last_reg_set_info): Use them.
12968 (compute_hash_table): Likewise.
12969
bce7bfe8
RZ
129702001-08-27 Roman Zippel <zippel@linux-m68k.org>
12971
12972 * flow.c (verify_flow_info): Use checksums to verify edges.
12973
ce4a5723
RH
129742001-08-27 Richard Henderson <rth@redhat.com>
12975
12976 * genautomata.c (expand_automata): Always create a description.
12977
859cb4d8
GK
129782001-08-27 Geoffrey Keating <geoffk@redhat.com>
12979
12980 * optabs.c (expand_binop): Correctly handle the carry in multiword
12981 add/subtract operations.
12982
b7a0c86f
FF
129832001-08-27 Fred Fish <fnf@be.com>
12984
12985 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
12986 __SIZE_TYPE__.
12987
67a44b16
GK
129882001-08-27 Geoffrey Keating <geoffk@redhat.com>
12989
12990 * reload.c (find_reloads_toplev): Back out this change:
12991
12992 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
12993
12994 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
12995 mem if the address is a mode_dependent_address_p.
12996
acd7baf7
VM
129972001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
12998
c23bb84b 12999 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
acd7baf7
VM
13000 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
13001 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
13002 RTL constructions.
46f9491e 13003
acd7baf7
VM
13004 * genattr.c (main): New variable num_insn_reservations. Increase
13005 it if there is DEFINE_INSN_RESERVATION. Output automaton based
13006 pipeline hazard recognizer interface.
13007
13008 * genattrtab.h: New file.
46f9491e 13009
acd7baf7
VM
13010 * genattrtab.c: Include genattrtab.h.
13011 (attr_printf, check_attr_test, make_internal_attr,
13012 make_numeric_value): Move protypes into genattrtab.h. Define them
13013 as external.
13014 (num_dfa_decls): New global variable.
13015 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
13016 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
13017 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
13018 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
13019
13020 * genautomata.c: New file.
13021
13022 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
46f9491e 13023
c23bb84b 13024 * sched-int.h: (curr_state): Add the external definition for
acd7baf7
VM
13025 automaton pipeline interface.
13026 (haifa_insn_data): Add comments for members blockage and units.
46f9491e 13027
acd7baf7
VM
13028 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
13029 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
13030 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
13031 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
13032 TARGET_SCHED_DFA_POST_CYCLE_INSN,
13033 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
13034 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
13035 macros.
13036 (TARGET_SCHED): Use the new macros.
13037
13038 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
13039 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
13040 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
13041 dfa_bubble): New members in gcc_target.sched.
46f9491e 13042
c23bb84b 13043 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
acd7baf7
VM
13044 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
13045 (insn_queue): Redefine it as pointer to array.
13046 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
13047 INSN_QUEUE_SIZE.
13048 (max_insn_queue_index_macro_value): New variable.
13049 (curr_state, dfa_state_size, ready_try): New varaibles for
13050 automaton interface.
13051 (ready_element, ready_remove, max_issue): New function prototypes
13052 for automaton interface.
13053 (choose_ready): New function prototype.
13054 (insn_unit, blockage_range): Add comments.
13055 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
13056 FUNCTION_UNITS_SIZE == 0.
13057 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
13058 actual_hazard, potential_hazard): Add comments.
13059 (insn_cost): Use cost -1 as undefined value. Remove
13060 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
13061 pipeline interface.
13062 (ready_element, ready_remove): New functions for automaton
13063 interface.
13064 (schedule_insn): Add new code for automaton pipeline interface.
13065 (queue_to_ready): Add new code for automaton pipeline interface.
13066 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
13067 (debug_ready_list): Print newline when the queue is empty.
13068 (max_issue): New function for automaton pipeline interface.
13069 (choose_ready): New function.
13070 (schedule_block): Add new code for automaton pipeline interface.
13071 Print ready list before scheduling each insn.
13072 (sched_init): Add new code for automaton pipeline interface.
13073 Initiate insn cost by -1.
13074 (sched_finish): Free the current automaton state and finalize
13075 automaton pipeline interface.
46f9491e 13076
acd7baf7
VM
13077 * sched-rgn.c: Include target.h.
13078 (init_ready_list, new_ready, debug_dependencies): Add new code for
13079 automaton pipeline interface.
13080
13081 * sched-vis.c: Include target.h.
13082 (get_visual_tbl_length): Add code for automaton interface.
13083 (target_units, print_block_visualization): Add comments.
46f9491e 13084
c23bb84b 13085 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
acd7baf7
VM
13086 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
13087 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
13088 (getruntime.o, genautomata.o): New entries.
13089 (genattrtab.o): Add new dependency file genattrtab.h.
13090 (genattrtab): Add new dependencies. Link it with `libm.a'.
13091 (getruntime.o, hashtab.o): New entries for canadian cross.
13092
13093 * doc/md.texi: Description of automaton based model.
46f9491e 13094
acd7baf7
VM
13095 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
13096 Add comments.
13097 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
13098 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
13099 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
13100 TARGET_SCHED_DFA_POST_CYCLE_INSN,
13101 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
13102 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
13103 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
13104 hook descriptions.
13105 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
13106 MAX_DFA_ISSUE_RATE): New macro descriptions.
46f9491e 13107
acd7baf7
VM
13108 * doc/contrib.texi: Add dfa based scheduler contribution.
13109
13110 * doc/gcc.texi: Add more information about genattrtab.
13111
95005c21
DN
131122001-08-27 Diego Novillo <dnovillo@redhat.com>
13113
13114 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
13115 an RTL basic block.
13116
278ed218
RH
131172001-08-27 Richard Henderson <rth@redhat.com>
13118
13119 * function.c (expand_function_end): Don't init arg_pointer_save_area.
13120 (get_arg_pointer_save_area): New. Create an init it here.
13121 (fix_lexical_addr): Use it.
13122 * function.h: Declare it.
13123 * builtins.c (expand_builtin_setjmp_receiver): Use it.
13124 * stmt.c (expand_nl_goto_receiver): Use it.
13125
9f5cd0c5
RH
131262001-08-27 Richard Henderson <rth@redhat.com>
13127
36d7136e
RH
13128 * final.c (final_scan_insn): Don't enter APP_ON mode for
13129 empty asm strings.
13130
9f5cd0c5
RH
13131 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
13132 alignment for assemble_integer for DW_EH_PE_aligned.
225b9cb9 13133 * except.c (output_function_exception_table): Likewise.
9f5cd0c5 13134
4a56401d
AJ
131352001-08-26 Andreas Jaeger <aj@suse.de>
13136
13137 * c-tree.h: Add prototyp for c_sizeof_nowarn.
13138
c96bd05e 131392001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
46f9491e 13140
278ed218 13141 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
c96bd05e 13142
c5059423
AM
131432001-08-27 Alan Modra <amodra@bigpond.net.au>
13144
13145 * config/rs6000/rs6000.c (mask_operand): Rewrite without
13146 bit-shifting loop.
13147 (mask64_operand): Likewise.
13148 (rldic_operand): Delete.
13149 (includes_lshift64_p): Delete.
13150 (includes_rldic_lshift_p): New function.
13151 (includes_rldicr_lshift_p): New function.
13152 (print_operand): Don't call rldic_operand in case 'W'.
13153 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
13154 (includes_lshift64_p): Remove.
13155 (includes_rldic_lshift_p): Declare.
13156 (includes_rldicr_lshift_p): Declare.
13157 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
13158 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
13159 Replace match_operand rldic_operand predicate with
13160 const_int_operand. Replace includes_lshift64_p condition with
13161 includes_rldic_lshift_p.
13162 <ashldi3_internal 64 bit rldicr patterns>: New.
13163
7a75edb7
AJ
131642001-08-27 Andreas Jaeger <aj@suse.de>
13165
13166 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
13167 * errors.c: Likewise.
13168 * final.c: Likewise.
13169 * dwarf2asm.c: Likewise.
13170 * doprint.c (checkit): Likewise.
13171 * diagnostic.c: Likewise.
13172 * collect2.c: Likewise.
13173 * calls.c: Likewise.
13174 * c-semantics.c (build_stmt): Likewise.
13175 * c-format.c (status_warning): Likewise.
13176 * c-errors.c (pedwarn_c99): Likewise.
13177 * builtins.c (validate_arglist): Likewise.
13178 * config/pj/pj.c (pj_printf): Likewise.
13179 * fix-header.c: Likewise.
13180 * gcc.c: Likewise.
13181 * gcov.c (fnotice): Likewise.
13182 * gensupport.c (message_with_line): Likewise.
13183 * mips-tfile.c: Likewise.
13184 * protoize.c (notice): Likewise.
13185 * read-rtl.c (fatal_with_file_and_line): Likewise.
13186 * rtl-error.c: Likewise.
13187 * tradcpp.c: Likewise.
13188 * tree.c: Likewise.
13189 * cp/tree.c (build_min_nt): Likewise.
13190 (build_min): Likewise.
13191 * cp/lex.c: Likewise.
13192 * cp/errfn.c: Likewise.
13193 * cp/rtti.c (create_pseudo_type_info): Likewise.
13194
6baff4c1
DC
13195Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
13196
13197 * df.c (df_uses_record): Return after recording all uses
13198 in ASM_OPERANDS.
13199
772b1404
DB
132002001-08-26 Daniel Berlin <dan@cgsoftware.com>
13201
13202 * df.c (df_insn_modify): Realloc the INSN table here, if
13203 necessary, here, too.
13204
f9ad2367
AH
132052001-08-26 Aldy Hernandez <aldyh@redhat.com>
13206
278ed218
RH
13207 * config/mips/mips.c (mips_function_value): Handle complex return
13208 values.
f9ad2367 13209
cf728d61
HPN
132102001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
13211
13212 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
13213 unshared.
13214 * reload.c (make_memloc): Copy result if it is still
13215 reg_equiv_memory_loc[regno] on return.
13216 (subst_reloads) [ENABLE_CHECKING]: Check that none of
13217 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
13218 reg_equiv_mem are modified by the substitutions.
13219
6ab16dd9
JH
13220Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
13221
13222 * predict.c (expensive_function_p): New.
13223 * rtl.h (expensive_function_p): Declare.
13224 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
13225 (use_fast_prologue_epilogue): New static variable.
13226 (expand_prologue): Set it; emit short prologues if unset.
13227 (expand_epilogue): Likewise.
13228
4b58290f
GK
132292001-08-22 Geoffrey Keating <geoffk@redhat.com>
13230
13231 * config.gcc: Add stormy16-*-elf case.
13232 * config/stormy16/stormy-abi: New file.
13233 * config/stormy16/stormy16-lib2.c: New file.
13234 * config/stormy16/stormy16-protos.h: New file.
13235 * config/stormy16/stormy16.c: New file.
13236 * config/stormy16/stormy16.h: New file.
13237 * config/stormy16/stormy16.md: New file.
13238 * config/stormy16/t-stormy16: New file.
13239
d3fe11e6
JH
13240Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
13241
13242 * i386.h (no-accumulate-outgoing-args): Use proper mask.
13243
1cb18e3c
DE
132442001-08-24 David Edelsohn <edelsohn@gnu.org>
13245
13246 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
13247 descriptor members are pointer size, not constant 4.
13248 * config/rs6000/rs6000.md (define_splits): Remove more unused
13249 constraints.
13250
c3bef1a9
KG
132512001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13252
13253 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
13254
20787c01
AJ
132552001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
13256
13257 * cp/rtti.c (VPARAMS): Fix parameter.
13258
a242b083
ZW
132592001-08-24 Zack Weinberg <zackw@panix.com>
13260
13261 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
13262 to zero.
13263 (mode_for_extraction): No need for #ifdefs. Add default-case abort
13264 to switch.
13265 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
13266 in if controlling use of insv.
13267 (extract_bit_field): Likewise, for extv and extzv.
13268
653753c5
JH
13269Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
13270
13271 * i386.md (movcc peep2): Fix load of 0.
13272
ada11335
KG
132732001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13274
13275 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
13276 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
13277
0213a355
JM
132782001-08-23 Jason Merrill <jason_merrill@redhat.com>
13279
4ae08f95
JM
13280 * c-pragma.h: Move weak_syms and weak_decls...
13281 * varasm.c: ...here. Now static.
13282 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
13283 depend on HANDLE_PRAGMA_WEAK.
13284
0213a355
JM
13285 * c-common.c (c_alignof, c_alignof_expr): Move here...
13286 * c-typeck.c: ...from here.
13287 * c-tree.h, c-common.h: Adjust.
13288
3e7c7805
BS
132892001-08-23 Bernd Schmidt <bernds@redhat.com>
13290
13291 * config/ia64/ia64.c (rws_update): If !pred, set write_count
13292 instead of incrementing it.
13293
3b63eac4
BS
13294 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
13295 asm ready, don't try to move them all into the same array element.
13296
ab75d1f1
JH
13297Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
13298
13299 * function.c (thread_prologue_and_epilogue_insns): Avoid
13300 fallthru flag on edge to exit.
13301
13302 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
13303
13304 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
13305 dead edges.
13306
038c2f50
LB
133072001-08-23 Lars Brinkhoff <lars@nocrew.org>
13308
13309 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
13310 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
13311 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
13312 Remove prototype.
13313
40803cd5
LB
133142001-08-23 Lars Brinkhoff <lars@nocrew.org>
13315
13316 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
13317 replace "GNU CC" with "GCC".
13318
7109d286
RH
133192001-08-23 Richard Henderson <rth@redhat.com>
13320
13321 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
13322 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
13323 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
13324 Need GR between FR and not GR_AND_FR.
13325 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
13326 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
13327 AR regs before GR regs.
13328 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
13329 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
13330 (REGISTER_MOVE_COST): Update.
13331 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
13332
26a952a8
RH
133332001-08-23 Richard Henderson <rth@redhat.com>
13334
13335 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
13336 a register class.
13337
1558b970
GK
133382001-08-22 Geoffrey Keating <geoffk@redhat.com>
13339
13340 * reload1.c (emit_reload_insns): Don't look for notes
13341 on a NULL store_insn.
13342
0d587737
KG
133432001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13344
13345 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
13346 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
13347 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
13348 format specifier warnings.
13349 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
13350
429e2a45
DB
133512001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
13352
13353 * config/i386/i386-protos.h: Correct declaration of
13354 i386_pe_asm_named_section.
13355
85f3e748
JDA
133562001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
13357
13358 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
13359 variable i.
13360 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
20787c01 13361
29401c30
NB
133622001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
13363
13364 * cpperror.c (print_location): Don't show _Pragma.
13365 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
13366 and file change callback generation here.
13367 (stack_include_file): Update use of cpp_push_buffer.
13368 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
13369 (struct cpp_buffer): Remove type, pfile members.
13370 * cppinit.c (cpp_handle_option): Use free_chain.
13371 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
13372 (skip_escaped_newlines, get_effective_char, lex_percent): Take
13373 a cpp_reader rather than a cpp_buffer.
13374 (skip_escaped_newlines, get_effective_char, skip_block_comment,
13375 skip_line_comment, parse_string, lex_percent, lex_dot,
13376 _cpp_lex_token): Update accordingly.
13377 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
13378 generation here.
13379 (cpp_push_buffer): Update prototype.
13380 (run_directive): Update use of cpp_push_buffer.
13381 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
13382 handle_assertion): Update use of run_directive.
13383 * cpplib.h (enum cpp_buffer_type): Remove.
13384 (cpp_push_buffer): Update prototype.
13385 * fix-header.c (read_scan_file): Update.
13386
8060c8ee
MK
133872001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
13388
13389 * gcc.c (struct prefix_list): Change prefix to const char *.
13390
3e4eece3
MK
133912001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
13392
13393 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
13394
2270623a
JM
133952001-08-22 Jason Merrill <jason_merrill@redhat.com>
13396
23ac7d7e
JM
13397 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
13398 from a new MEM.
13399
2270623a
JM
13400 * jump.c (squeeze_notes): Take parms by reference. Handle END being
13401 a squeezable note.
13402 * rtl.h: Adjust.
13403 * ifcvt.c (dead_or_predicable): Adjust.
13404 * loop.c (find_and_verify_loops): Adjust.
13405 * stmt.c (expand_end_case): Adjust.
13406 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
13407 head and end insn pointers in the basic block, not just local copies.
13408 (merge_blocks_move_predecessor_nojumps): Likewise.
13409
1322177d
LB
134102001-08-22 Lars Brinkhoff <lars@nocrew.org>
13411
13412 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
13413 bitmap.h, builtin-types.def, builtins.c, builtins.def,
13414 c-aux-info.c, c-common.c, c-common.def, c-common.h,
13415 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
13416 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
13417 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
13418 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
13419 conditions.h, config.gcc, configure.frag, configure.in,
13420 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
13421 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
13422 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
13423 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
13424 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
13425 emit-rtl.c, errors.c, errors.h, except.c, except.h,
13426 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
13427 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
13428 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
13429 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
13430 gencheck.c, gencodes.c, genconfig.c, genemit.c,
13431 genextract.c, genflags.c, gengenrtl.c, genmultilib,
13432 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
13433 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
13434 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
13435 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
13436 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
13437 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
13438 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
13439 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
13440 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
13441 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
13442 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
13443 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
13444 params.h, predict.c, predict.def, predict.h, prefix.c,
13445 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
13446 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
13447 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
13448 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
13449 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
13450 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
13451 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
13452 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
13453 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
13454 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
13455 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
13456 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
13457 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
13458 xcoffout.h: replace "GNU CC" with "GCC".
13459
340f7e7c
RH
134602001-08-21 Richard Henderson <rth@redhat.com>
13461
13462 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
13463 (final_scan_insn): Consider jump tables data even if we have no
f63d1bf7 13464 independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
340f7e7c
RH
13465 ADDR_VEC_ALIGN.
13466 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
13467 (ASM_OUTPUT_CASE_END): Remove.
13468 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
13469 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
13470 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
13471
d523b40e
RH
134722001-08-21 Richard Henderson <rth@redhat.com>
13473
bd7b9a0f
RH
13474 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
13475 at barrier insns. Emit stop bits before barriers.
13476
687eccc0
RH
13477 * flow.c (flow_find_cross_jump): Don't consider unconditional
13478 return insns for commoning.
13479
ba712955
RH
13480 * final.c (compute_alignments): Fix typo.
13481
d523b40e
RH
13482 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
13483 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
13484 (store_bit_field): Use mode_for_extraction more places.
13485 (extract_bit_field): Likewise.
13486
e1b86c9e
ZW
134872001-08-21 Zack Weinberg <zackw@panix.com>
13488
13489 * caller-save.c: Don't include insn-codes.h.
13490 (reg_save_code, reg_restore_code): Make arrays of int.
13491 All uses updated to match.
13492 (insert_save, insert_restore): No need to initialize "code"
13493 variable upon declaration.
13494 * Makefile.in: update dependencies; fix typo in clean rule.
13495
b64d061e
RH
134962001-08-21 Richard Henderson <rth@redhat.com>
13497
13498 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
13499 (merge_if_block): Handle fallout from same.
13500
91db4a92
KG
135012001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13502
13503 * builtins.c (type_to_class): Fix typo in last change.
13504
45d29407
RH
135052001-08-21 Richard Henderson <rth@redhat.com>
13506
20787c01 13507 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
45d29407
RH
13508 ia64_asm_output_label.
13509
209218a6
RH
13510 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
13511 copy of gp while the real gp register contains garbage.
13512
da920570
ZW
135132001-08-21 Zack Weinberg <zackw@panix.com>
13514
13515 * expmed.c (mode_for_extraction): New function.
13516 (store_bit_field, extract_bit_field): Use it.
13517 * expr.h: Prototype it and provide an enum for its first argument.
13518
13519 * combine.c, function.c, recog.c: Don't include insn-codes.h.
13520 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
13521 and digging through the insn_data tables.
13522 * Makefile.in: Update dependencies.
13523
d8693c6f
NB
135242001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
13525
13526 * cppfiles.c (stack_include_file): line-map.c now handles include
13527 depth.
13528 (handle_missing_handler): Similarly.
13529 (_cpp_execute_include): Similarly.
13530 (_cpp_pop_file_buffer): Similarly.
13531 * cpphash.h (struct cpp_reader): Remove system_include_depth,
13532 buffer_stack_depth and include_depth.
13533 * cpplib.c (do_include_common): line-map.c now handles include depth.
13534 (cpp_push_buffer): Similarly.
13535 (_cpp_pop_buffer): Similarly.
13536 * cppmacro.c (builtin_macro): Update.
13537 * line-map.c (init_line_maps): Set depth.
13538 (add_line_map): Increment "used" earlier. Update and use the
13539 include depth.
13540 (trace_include): Use the include depth.
13541 * line-map.h (struct line_maps): New member depth.
13542
5993019d
NB
135432001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
13544
13545 * cppfiles.c (stack_include_file): Don't handle -H here.
13546 * cppinit.c (cpp_start_read): Set include tracing after
13547 cpp_post_options and after stacking the main file.
13548 * line-map.c (trace_include): New.
13549 (init_line_maps, add_line_map): Update.
13550 * line-map.h (struct line_maps): New member trace_includes.
13551
e5eba70a
NB
135522001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
13553
13554 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
13555 * cppfiles.c (stack_include_file): Only stack a file if there
13556 is something to do. Return a boolean indicating whether a
13557 buffer was stacked or not.
13558 (_cpp_execute_include): Similarly.
13559 (_cpp_read_file): Similarly.
13560 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
13561
c1a6a8dc
SS
135622001-08-21 Sam Steingold <sds@gnu.org>
13563
13564 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
13565 (RECACHE): keep obufp_before_macroname up to date
13566
ad82abb8
ZW
135672001-08-21 Zack Weinberg <zackw@panix.com>
13568
13569 * stmt.c: Don't include insn-codes.h.
13570 (expand_end_case): Machine specific logic moved to expr.c.
13571 No need to worry about __builtin_classify_type.
13572 (check_for_full_enumeration_handling, emit_case_nodes):
13573 Kill #if 0 blocks.
13574
13575 * builtins.o (expand_builtin_classify_type): Split up so code
13576 can be shared with fold_builtin_classify_type.
13577 (type_to_class, fold_builtin_classify_type): New functions.
13578 (fold_builtins): Handle __builtin_classify_type.
13579
13580 * expr.c (do_tablejump): Now static.
13581 (case_values_threshold, try_casesi, try_tablejump): New;
13582 code mostly from stmt.c (expand_end_case).
13583 (expr.h): Update prototypes.
13584
13585 * Makefile.in (stmt.o): Update dependencies.
13586
e9e4208a
WC
135872001-08-21 Will Cohen <wcohen@redhat.com>
13588
ad82abb8
ZW
13589 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
13590 declaration of variable i.
13591 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
13592 declaration of variable i.
e9e4208a 13593
29d2c7a5
RH
135942001-08-21 Richard Henderson <rth@redhat.com>
13595
13596 * crtstuff.c: Fix thinko last change. Move list tails to start
13597 of CRT_END section. Tidy ifdefs.
13598 (__EH_FRAME_BEGIN__): Always static for ELF.
13599 (__do_global_ctors_1): Rename from __frame_dummy.
13600 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
13601 name change; don't hide __EH_FRAME_BEGIN__.
13602
487b97e0
RH
136032001-08-21 Richard Henderson <rth@redhat.com>
13604
3aed1981
RH
13605 * gdbinit.in: Move break on exit after break on fancy_abort.
13606
487b97e0
RH
13607 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
13608 sized types.
13609
d7bc7a98
NB
136102001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
13611
13612 * cpphash.h (_cpp_push_next_buffer): New.
13613 * cppinit.c (do_includes): Remove.
13614 (push_include, free_chain, _cpp_push_next_buffer): New.
13615 (cpp_start_read): Use them to rework command line option handling.
13616 (cpp_handle_option): Combine handling of -include and -imacros.
13617 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
13618 appropriate. Always insert missing \n at EOF.
13619 * cpplib.c (start_directive): Get the directive position right.
13620 * cppmain.c (cb_file_change): Always print the first line, unless
13621 preprocessed.
13622
bb1a503c
AJ
136232001-08-20 Andreas Jaeger <aj@suse.de>
13624
13625 * profile.c (compute_branch_probabilities): Remove extra new-line
13626 in error message.
13627 * flow.c (verify_flow_info): Likewise.
13628
006844a3
DN
136292001-08-20 Diego Novillo <dnovillo@redhat.com>
13630
13631 * basic-block.h (basic_block): Add new field 'flags'.
13632 (BB_REACHABLE): Define.
13633 (expunge_block): Declare.
13634 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
13635 (EXIT_BLOCK_PTR): Ditto.
13636 (expunge_block): Remove static declaration.
13637 (cleanup_cfg): Clear bb->aux on every basic block.
13638 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
13639 computing reachability.
13640 (delete_unreachable_blocks): Delete block b if b->flags has
13641 BB_REACHABLE unset.
13642
0760faf9
DN
136432001-08-20 Diego Novillo <dnovillo@redhat.com>
13644
13645 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
13646
96bd19a7
KG
136472001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13648
13649 * sparc.c (sparc_variable_issue): Fix typo in last change.
13650
a7b0c484
RH
136512001-08-20 Richard Henderson <rth@redhat.com>
13652
13653 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
13654
010dc908
JDA
136552001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
13656
13657 * pa.h (RETURN_IN_MEMORY): Improve comment.
13658
3de87bf2
JJ
136592001-08-20 Janis Johnson <janis187@us.ibm.com>
13660
13661 * doc/invoke.texi (Profiling options): Clarify the interactions
13662 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
13663
c8a6b916
JO
136642001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
13665
13666 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
13667 command.
13668
27a14487
MK
136692001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
13670
13671 * gcc.c (make_relative_prefix): Allocate a sufficiently large
13672 buffer.
13673
ca8264b4
RH
136742001-08-20 Richard Henderson <rth@redhat.com>
13675
13676 * final.c (end_final): Fix typo last change.
13677
51c04256
NB
136782001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
13679
13680 * cppinit.c (init_standard_includes): The returned buffer
13681 is already malloc-ed.
13682 * gcc.c (add_prefix): Similarly.
13683 * prefix.c (translate_name): Update to support clear buffer
13684 ownership rules.
13685 (update_path): Similarly. Be sure to free any newly allocated
13686 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
13687 (tr): New function.
13688 * prefix.h (update_path): Update prototype and document.
13689 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
13690 up and update to new buffer ownership rules.
13691 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
13692
247a370b
JH
13693Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
13694
13695 * final.c (compute_alignments): New function.
13696 (init_insn_lengths): Do not care label_align.
13697 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
13698 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
13699 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
13700 (shorted_branches): Realloc label_align array; do
13701 not call init_insn_lengths; Do not care about loop alignments.
13702 * output.h (compute_alignments): Declare.
13703 * toplev.c (rest_of_compilation): Call compute_alignments.
13704 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
13705
13706 * predict.c (block_info_def): Add npredecesors, remove nvisited;
13707 change visited to tovisit.
13708 (propagate_freq): Use faster traversing algorithm.
13709 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
13710 to tovisit; reverse meaning.
13711
13712 * predict.c (struct block_info_def): Remove nvisited.
13713 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13714 (estimate_bb_frequencies): Call mark_dfs_back_edges.
13715
13fac94a
GK
137162001-08-19 Geoffrey Keating <geoffk@redhat.com>
13717
13718 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
13719 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
13720 (TARGET_FUSED_MADD): New.
13721 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
13722 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
13723 the multiply-add instructions.
13724
2919600a
RH
137252001-08-19 Richard Henderson <rth@redhat.com>
13726
bb1a503c 13727 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
2919600a
RH
13728 is aligned to pointer size.
13729
fd1a3f73
RH
137302001-08-19 Richard Henderson <rth@redhat.com>
13731
13732 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
13733 display markers during final schedule.
13734
c49f511c
RH
137352001-08-19 Richard Henderson <rth@redhat.com>
13736
13737 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
13738
c45632b7
RH
137392001-08-19 Richard Henderson <rth@redhat.com>
13740
13741 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
13742 in the same string.
13743 (ASM_NAME_TO_STRING): Remove.
13744 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
13745 in the same string. Remove support for expressions.
13746
90675921
RH
137472001-08-19 Richard Henderson <rth@redhat.com>
13748
13749 * config/i386/i386.md (tablejump): Make an expander; handle
13750 pic relative addressing here.
13751 (tablejump_1): Rename from tablejump_pic.
13752 (casesi): Remove.
13753
ec523c2f
RH
137542001-08-19 Richard Henderson <rth@redhat.com>
13755
13756 * regclass.c (fix_register): Fix typo.
13757
443621af
RH
137582001-08-18 Richard Henderson <rth@redhat.com>
13759
13760 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
13761 (struct _Unwind_Context): Expand br_loc to hold it.
13762 (uw_frame_state_for): Handle leaf functions better.
13763 (uw_update_reg_address): Update for br_loc change.
13764
213f974a
RH
137652001-08-18 Richard Henderson <rth@redhat.com>
13766
13767 * crtstuff.c: Move list heads before code that uses them.
13768 (__JCR_LIST__): Remove initial null.
13769 (frame_dummy, __frame_dummy): Do java registration here ...
13770 (__do_global_ctors_aux): ... not here.
13771
3dff7ed0
RH
13772 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
13773 (__do_global_dtors_aux): Update to match.
13774 (__JCR_LIST__, __do_jv_register_classes): New.
13775 (.init): Call it.
13776 * config/ia64/crtend.asm (__JCR_END__): New.
13777 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
13778 instead of an indirect LTOFF22 reloc.
13779
6ca3c22f
RH
137802001-08-18 Richard Henderson <rth@redhat.com>
13781
13782 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
13783 * regclass.c (init_reg_sets_1): Fix typo.
13784 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
13785 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
13786 (ia64_compute_frame_size): Make ar.unat live when in use.
13787 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
13788 for ar.pfs; remove ar.unat handling.
bb1a503c 13789 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
6ca3c22f
RH
13790 call-saved.
13791 (PREDICATE_CODES): Add ar_pfs_reg_operand.
13792 * config/ia64/ia64-protos.h: Update decls.
13793 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
13794 (sibcall_pic): Likewise.
13795
f83594c4
RH
137962001-08-18 Richard Henderson <rth@redhat.com>
13797
b395ddbe
RH
13798 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
13799 pred_rel_mutex when searching for insn_group_barrier.
8e8de254
RH
13800 * config/ia64/ia64.md (cycle_display): Combine the expander
13801 and insn patterns.
b395ddbe 13802
f83594c4
RH
13803 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
13804 bit before asm as needed.
13805
eced69b5
RH
138062001-08-18 Richard Henderson <rth@redhat.com>
13807
13808 * timevar.def (TV_MACH_DEP): New.
13809 * toplev.c (rest_of_compilation): Use it.
13810 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
13811
5ed3149c
ZW
138122001-08-18 Zack Weinberg <zackw@panix.com>
13813
13814 * unwind-dw2.c (execute_stack_op): Add default aborts to
13815 the inner switches to prevent warnings.
13816
20cc76d5
RH
138172001-08-18 Richard Henderson <rth@redhat.com>
13818
13819 * timevar.h (struct timevar_time_def): Change element type to float.
13820 (ticks_to_msec, clocks_to_msec): Likewise.
13821 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
13822 (get_time): Likewise.
13823 (timevar_print): Adjust zero check and printing to match.
13824
b649398a
ZW
138252001-08-18 Zack Weinberg <zackw@panix.com>
13826
9c34dbbf
ZW
13827 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
13828 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
13829 Eliminate overfull or underfull hboxes.
13830
138312001-08-18 Zack Weinberg <zackw@panix.com>
13832
13833 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
b649398a 13834
76f4925a
ZW
138352001-08-18 Zack Weinberg <zackw@panix.com>
13836
13837 * haifa-sched.c: Convert to target hooks. Macros replaced
13838 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
13839 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
13840 MD_SCHED_FINISH, and HAVE_cycle_display.
13841 * target-def.h (TARGET_SCHED_ADJUST_COST,
13842 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
13843 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
13844 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
9c34dbbf 13845 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
76f4925a
ZW
13846 New hook #defines to be overridden.
13847 (TARGET_SCHED): Bring them all together.
13848 (TARGET_INITIALIZER): Update.
13849 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
9c34dbbf 13850 instead of 'struct rtx_def *' throughout.
76f4925a
ZW
13851 (struct sched): New set of hooks for the scheduler.
13852 * Makefile.in (haifa-sched.o): Depend on target.h.
13853 * doc/tm.texi: Document the new scheduler hooks, together in
13854 their own section, instead of scattered around.
13855 Fix a bunch of underfull/overfull hboxes.
13856
13857 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
13858 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
13859 sparc.h: Don't define any of the old scheduler macros.
13860
13861 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
13862 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
13863 sparc.c: Create hook functions from code extracted from
13864 corresponding target header, or make existing hooks static, as
13865 appropriate. Set the appropriate entries in targetm.
13866
13867 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
13868 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
13869 rs6000-protos.h, s390-protos.h, sparc-protos.h:
13870 Remove prototypes for functions which are now static.
13871
13872 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
13873 related gunk; the Haifa scheduler is now the only choice.
13874
ef89d648
ZW
138752001-08-18 Zack Weinberg <zackw@panix.com>
13876
13877 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
13878 * genopinit.c: Put floating point divide insns in sdiv_optab.
13879 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
13880 * config/gofast.h, config/c4x/c4x.h,
13881 config/ia64/hpux_longdouble.h, config/mips/mips.h,
13882 config/pa/long_double.h, config/rs6000/sysv4.h,
13883 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
13884 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
13885 (init_optabs): Use init_optabv for overflow-trapping optabs.
13886 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
13887 cmp_optab RTX codes so have_insn_for can find them.
13888
13889 * optabs.c (expand_simple_binop, expand_simple_unop,
13890 have_insn_for, gen_sub3_insn): New interfaces.
13891 * expr.h: Prototype new functions.
13892 (enum optab_methods): Move here from optabs.h.
13893
13894 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
13895 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
13896 Use new functions instead of working directly with optabs.
13897 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
13898 unroll.c: Don't include optabs.h.
13899 * caller-save.c, combine.c, function.c, stmt.c: Just include
13900 insn-codes.h, not optabs.h.
13901 * Makefile.in: Update dependencies.
13902
13903 * combine.c (make_compound_operation, simplify_comparison):
13904 Fix typos testing for this or that instruction.
13905
9e23c02d
HB
139062001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
13907
13908 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
13909 generating libgcc.a.
13910
1c0cc57e
KG
139112001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13912
13913 * except.c (TYPE_HASH): Delete.
9c34dbbf 13914
1c0cc57e
KG
13915 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
13916 HOST_WIDE_INT.
13917
13918 * tree.c (TYPE_HASH): Delete.
13919
13920 * tree.h (TYPE_HASH): Define.
13921
13c508d9
GS
139222001-08-18 Graham Stott <grahams@redhat.com>
13923
f63d1bf7 13924 * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13c508d9
GS
13925 define_split.
13926 (adddi3_internal_2+2): Likewise.
13927 (eh_set_lr_di+1): Likewise.
13928
c8af3574
RH
139292001-08-17 Richard Henderson <rth@redhat.com>
13930
13931 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13932 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13933 * dwarf2asm.c: ... here.
13934 * dwarfout.c: Remove them.
13935
13936 * varasm.c (assemble_integer): Add align parameter.
13937 (assemble_real, output_constant, output_constructor): Likewise.
13938 * output.h: Update decls.
13939 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
13940 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
13941 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
13942 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
13943 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
13944 Update all callers.
13945
13946 * final.c (end_final): Abort profile block generation if we
a1f300c0 13947 haven't layed it out properly.
c8af3574
RH
13948 * output.h (assemble_eh_integer): Remove stale decl.
13949 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
13950 (min_align): New.
13951 (assemble_integer): Handle unaligned data.
13952 (assemble_real): Abort on unaligned data.
13953 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
13954 anything useful.
13955 (default_dtor_section_asm_out_destructor): Use assemble_align.
13956 (default_named_section_asm_out_constructor): Likewise.
13957 (default_ctor_section_asm_out_constructor): Likewise.
13958 * config/darwin.c (machopic_asm_out_constructor): Likewise.
13959 (machopic_asm_out_destructor): Likewise.
13960 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
13961 (nextstep_asm_out_destructor): Likewise.
13962 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
13963 (vms_asm_out_destructor): Likewise.
13964
920ae24b
RH
139652001-08-17 Richard Henderson <rth@redhat.com>
13966
13967 * config/mips/iris6.h (TARGET_IRIX6): New.
13968 (current_section_name, current_section_flags): New.
13969 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
13970 (MAX_OFILE_ALIGNMENT): New.
13971 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
13972 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9c34dbbf 13973 (copy_file_data): Split out from
920ae24b
RH
13974 (mips_asm_file_end): ... here.
13975 (mips_asm_file_start): Remove extra .section directive. Use
13976 tmpfile instead of mips_make_temp_file.
13977 (mips_unique_section): Use const char * as needed for warnings.
13978 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
13979 re-add align parameter.
13980 (iris6_asm_named_section): New.
13981 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
13982 (iris6_asm_output_align, iris6_section_align_1): New.
13983 (iris6_asm_file_start, iris6_asm_file_end): New.
13984 * config/mips/mips-protos.h: Update decls.
13985
5cc3b0c7
JJ
139862001-08-17 Janis Johnson <janis187@us.ibm.com>
13987
13988 * doc/install.texi (Install GCC): Add links to build status pages.
13989 (Specific): Ditto.
13990 (Final install): Ditto; request updates for specific info
13991
bb74c963
NB
139922001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
13993
13994 * cpperror.c (print_location): Don't take a file name; use the
13995 line map instead.
13996 (_cpp_begin_message): Similarly.
13997 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
13998 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
13999 (cpp_pedwarn_with_file_and_line): Remove.
14000 * cppfiles.c (stack_include_file): Update; set filename to stdin
14001 here when appropriate.
14002 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
14003 (_cpp_begin_message): Don't take a file name.
14004 * cppinit.c: Add comment.
14005 * cpplex.c: Fix end-of-directive indicator.
14006 * cpplib.c: Don't include intl.h.
14007 (run_directive, do_diagnostic): Update.
14008 (do_line): Update to not use nominal_fname.
14009 (cpp_push_buffer): Don't take a filename.
14010 * cpplib.h (struct ht): Remove.
14011 (cpp_push_buffer): Don't take a filename.
14012 (cpp_pedwarn_with_file_and_line): Remove.
14013 * cppmacro.c (struct cpp_macro): Remove file.
14014 (builtin_macro): Update.
14015 (_cpp_create_definition): Update.
14016 * cppmain.c: Correct comment.
14017 * fix-header.c (read_scan_file): Update.
14018
2d76cb1a
KH
140192001-08-17 Kazu Hirata <kazu@hxi.com>
14020
14021 * sbitmap.c: Fix comment formatting.
14022 * sched-deps.c: Likewise.
14023 * sibcall.c: Likewise.
14024 * simplify-rtx.c: Likewise.
14025 * ssa.c: Likewise.
14026 * ssa-ccp.c: Likewise.
14027 * stor-layout.c: Likewise.
14028 * timevar.c: Likewise.
14029 * toplev.c: Likewise.
14030 * unwind-dw2.c: Likewise.
14031 * unwind-dw2-fde.c: Likewise.
14032 * varasm.c: Likewise.
14033
0779eeb2
JDA
140342001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
14035
14036 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
14037 or larger than an integer in memory.
14038
2f78c311
ZW
140392001-08-17 Zack Weinberg <zackw@panix.com>
14040
14041 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
14042 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
14043 * rtl.h: Don't forward-declare union tree_node here. Don't
14044 typedef rtx or rtvec here. Change all uses of struct rtx_def *,
14045 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
14046 and tree respectively.
14047 * tree.h: Don't forward-declare struct rtx_def here. Don't
14048 typedef tree here. Change all uses of struct rtx_def *,
14049 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
14050 and tree respectively.
14051
32fa4d4a
RH
140522001-08-17 Richard Henderson <rth@redhat.com>
14053
14054 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
14055 config/mips/openbsd.h: Fix typos last change.
14056
93ee12c4
GP
140572001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14058
2f78c311 14059 * doc/invoke.texi (Optimize Options): The default for
93ee12c4
GP
14060 -finline-limit is 600.
14061
f99ffb60
RH
140622001-08-17 Richard Henderson <rth@redhat.com>
14063
14064 * varasm.c (text_section): Allow TEXT_SECTION to override the
14065 printing of TEXT_SECTION_ASM_OP.
14066 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
14067 (DATA_SECTION, BSS_SECTION): Remove.
14068 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
14069 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
14070 Rename from s/_NAME//.
14071 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
14072 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
14073 (TEXT_SECTION): ... here. New.
14074 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
14075 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
14076 * config/mips/openbsd.h: Likewise.
14077 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
14078 (mips_asm_file_end): Likewise test.
14079 (mips_output_function_epilogue): Likewise. Switch back to data
14080 section after emitting the function.
14081
33c09f2f
RH
14082 * doc/tm.texi (Sections): Document TEXT_SECTION.
14083
b38a75e5
RH
140842001-08-17 Richard Henderson <rth@redhat.com>
14085
14086 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
14087 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
14088
51084e13
RH
140892001-08-17 Richard Henderson <rth@redhat.com>
14090
14091 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
14092 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
14093 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
14094 Add aligned attribute.
14095
140962001-08-17 Andrew Haley <aph@cambridge.redhat.com>
ff0a63e8
AH
14097
14098 * config/sh/sh.md: Add modes to unspecs in first insn to match
14099 those in the second.
14100
14101 * Makefile.in: Fix collect2 copy for Cygwin.
14102
abde42f7
JH
14103Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
14104
14105 Install the proper patch.
14106 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
14107 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
14108 (expand_function_start): Likewise.
14109 * stmt.c (expand_decl): Likewise.
14110 * varasm.c (make_decl_rtx): Likewise.
14111
3446405d
JH
14112Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
14113
14114 * final.c: Undo my previous accidental checkin.
14115 * output.h: Likewise.
14116 * tm.texi: Likewise.
14117
715bdd29
RH
141182001-08-16 Richard Henderson <rth@redhat.com>
14119
14120 * varasm.c (named_section_flags): Remove align parameter.
14121 * varasm.c, dwarf2out.c: Update all callers.
14122 * output.h: Update prototypes.
14123
14124 * target.h (target.asm_out.named_section): Remove align parameter.
2f78c311 14125 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
715bdd29
RH
14126 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
14127 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
14128 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
14129 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
14130
14131 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
14132 (get_named_section_flags, set_named_section_flags): New.
14133 (named_section_flags): Use them.
14134 (named_section): Do decl vs section flags check here...
14135 (default_section_type_flags): ... not here.
14136 (init_varasm_once): Create in_named_htab.
14137 (resolve_unique_section): Mark reloc unused.
14138
09e07be6
RH
141392001-08-16 Richard Henderson <rth@redhat.com>
14140
14141 * varasm.c (force_const_mem): Keep pool alignment in bits.
14142 (output_constant_pool): Use assemble_align.
14143
8daaf93c
ZW
141442001-08-16 Zack Weinberg <zackw@panix.com>
14145
14146 * doc/tm.texi: Remove extra @table command.
2f78c311 14147
d9b6874b
ZW
141482001-08-16 Zack Weinberg <zackw@panix.com>
14149
14150 * final.c (shorten_branches): Clear the end of the label_align
14151 array only if we made it larger. Break up messy expressions
14152 for clarity.
14153
14154 * diagnostic.c (internal_error): Check for error recursion
14155 before doing ICE suppression.
14156
14157 * timevar.c: Timing variables now count in milliseconds.
14158 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
14159 (get_time): Not here.
14160 (timevar_print): Don't print any timer whose user, cpu, and
14161 wall times are all zero as displayed.
14162 * timevar.h: Update comment aboout units. Make timevar
14163 counters unsigned.
14164
25e22dc0
JH
14165Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
14166
14167 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
14168 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
14169 (expand_function_start): Likewise.
14170 * stmt.c (expand_decl): Likewise.
14171 * varasm.c (make_decl_rtx): Likewise.
14172
7256efa6
JM
141732001-08-16 Jason Merrill <jason_merrill@redhat.com>
14174
14175 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
14176 (finalize_record_size): Don't set TYPE_USER_ALIGN.
14177
5972a110
MK
141782001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
14179
14180 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
14181 variables.
14182
0d3c08b6
AJ
141832001-08-16 Andreas Jaeger <aj@suse.de>
14184
14185 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
14186 prototype.
14187
44ce0063
JW
14188Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
14189
14190 * rtl.h (only_sets_cc0_p): New prototype.
14191 * jump.c (sets_cc0_p): Handle INSN.
14192 (only_sets_cc0_p): New function.
14193 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
14194 (tidy_fallthru_edge): Likewise.
14195 * integrate.c (copy_insn_list): Likewise.
14196 * unroll.c (unroll_loop): Likewise.
14197 (copy_loop_body): Likewise.
14198
cff27f1d
JE
141992001-08-15 Jason Eckhardt <jle@redhat.com>
14200
14201 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
14202
6ad48e84
JH
14203Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
14204
14205 * predict.c (struct block_info_def): Remove nvisited.
14206 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
14207 (estimate_bb_frequencies): Call mark_dfs_back_edges.
14208
a1f300c0 14209 * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
6ad48e84
JH
14210 (ix86_adjust_cost): Teach scheduler that latency to load operand can
14211 be masked.
14212
cc10816d
JH
14213Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
14214
14215 * predict.def: Update hitrates.
14216
fd7e958f
RH
142172001-08-15 Richard Henderson <rth@redhat.com>
14218
14219 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
14220
abb788ba
JL
14221Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
14222
14223 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
14224 note from its associated jump.
14225
d9b761a9 142262001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
d9b6874b 14227
d9b761a9
UW
14228 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
14229 also on 64-bit s390x targets.
14230
095bb276
NC
142312001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
14232
14233 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
14234 function.
14235 (arm_expand_prologue): Handled nested functions which take a
14236 variable argument list.
14237 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
14238 macro with an invocation of
14239 arm_compute_initial_elimination_offset.
14240 * config/arm/arm-protos.h: Prototype
d9b6874b 14241 arm_compute_initial_elimination_offset.
095bb276 14242
98999d8b
GP
142432001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14244
14245 * doc/install.texi (Specific, avr): Fix markup.
14246 (Specific, c4x): Ditto.
14247
b213a5ca
MK
142482001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
14249
14250 * predict.c (dump_prediction): Change `bool' parameter to `int'.
14251
c895acf2
GDR
142522001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
14253
14254 * Makefile.in (OBJS): Add rtl-error.o
14255 (rtl-error.o): New rule.
14256 (diagnostic.o): Adjust dependency.
14257 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
14258 error_for_asm, _fatal_insn, _fatal_insn_not_found,
14259 warning_for_asm): Move to...
14260 rtl-error.c: ...here. New file.
14261
ddee9e8d
RH
142622001-08-14 Richard Henderson <rth@redhat.com>
14263
14264 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
14265 if USING_SJLJ_EXCEPTIONS.
14266
eb20f668
SE
142672001-08-14 Steve Ellcey <sje@cup.hp.com>
14268
14269 * tlink.c (scan_linker_output): Check string for unsatisfied in
14270 addition to undefined and unresolved.
14271
540ceb67
GS
142722001-08-14 Graham Stott <grahams@redhat.com>
14273
14274 * libgcc2.c (*): Replace EH_FRAME_SECTION with
14275 EH_FRAME_SECTION_NAME.
14276
2d515d60
JH
14277Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
14278
d9b6874b
ZW
14279 * genattrtab.c (simplify_test_exp_in_temp): New function.
14280 (simplify_test_exp): Avoid explicit use of temporary obstack.
14281 (simplify_cond, insert_right_side, evaluate_eq_attr,
14282 simplify_and_tree, simplify_or_tree, eliminate_known_true):
14283 Use simplify_test_exp_in_temp.
14284 (optimize_attrs): Iterate until expression stabilizes.
2d515d60 14285
881e8e29 142862001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
d9b6874b 14287
881e8e29
UW
14288 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
14289 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
14290
f22db2ef
RH
142912001-08-13 Richard Henderson <rth@redhat.com>
14292
14293 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
14294 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
14295 * config/arm/conix-elf.h: Likewise.
14296
eb296bd9
GK
142972001-08-13 Geoffrey Keating <geoffk@redhat.com>
14298
51610b0a
GK
14299 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
14300 in gcc.c.
14301 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
14302
eb296bd9
GK
14303 * gcse.c (hash_scan_set): Expressions that are set as part of
14304 jump instructions are not available.
14305
7ee20eba
UW
143062001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
14307
14308 * config/s390/s390.c (print_operand, s390_function_prologue,
14309 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
14310
02c9b1ca
RH
143112001-08-13 Richard Henderson <rth@redhat.com>
14312
14313 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
14314 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
14315 * doc/tm.texi (Exception Region Output): Document it.
14316
99e2a354
GK
143172001-08-13 Geoffrey Keating <geoffk@redhat.com>
14318
14319 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
14320 DWARF2 instead of stabs by default.
14321
2fc1c679
DE
143222001-08-13 David Edelsohn <edelsohn@gnu.org>
14323
14324 * config/rs6000/rs6000.c: Include optabs.h.
14325
710fdaad
DE
143262001-08-13 David Edelsohn <edelsohn@gnu.org>
14327
14328 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
14329 save/restore routines.
14330 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
14331
16757495
AJ
143322001-08-13 Andreas Jaeger <aj@suse.de>
14333
14334 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
14335 the english is correct.
14336
e78d8e51
ZW
143372001-08-13 Zack Weinberg <zackw@panix.com>
14338
14339 * expr.h: Split out optab- and libfunc-related code to...
14340 * optabs.h, libfuncs.h: ... these new headers.
14341
14342 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
14343 (OPTABS_H): New.
14344 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
14345 dependencies.
14346 * mkconfig.sh: Don't include insn-codes.h from config.h.
14347
14348 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
14349 enum insn_code is available. Move reload_in_optab and
14350 reload_out_optab array declarations to optabs.h.
14351 * regmove.c (gen_add3_insn): Move to optabs.c, export from
14352 there, prototype in expr.h.
14353 * gencodes.c: Cleanup: zap global variables, don't use
14354 printf where puts will do, don't bother defining MAX_INSN_CODE
14355 which nothing uses, let CODE_FOR_nothing get its value implicitly.
14356
14357 * genemit.c, genopinit.c: Include optabs.h in generated file.
14358 * genoutput.c: Include insn-codes.h in generated file.
14359 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
16757495
AJ
14360 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
14361 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
e78d8e51
ZW
14362 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
14363 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
14364 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
14365 Include optabs.h.
16757495 14366 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
e78d8e51
ZW
14367 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
14368 config/m88k/m88k.c, config/sparc/sparc.c:
14369 Include libfuncs.h.
14370 * reload.c: Include expr.h and optabs.h before reload.h.
14371 * config/alpha/alpha.c: Include tree.h before reload.h.
14372 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
14373 and reload.h in that order.
14374 * config/sparc/sparc.c: Include debug.h.
14375 * recog.c: Include insn-codes.h.
14376
050e4ca2
AJ
143772001-08-13 Andreas Jaeger <aj@suse.de>
14378
14379 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
14380 s390*linux.
14381
dd49a9ec
TP
143822000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
14383
14384 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
14385 * gcc.c (init_spec): Fix typo in comment.
14386 * varasm.c (data_section): Fix typo in comment.
14387
d195b46f
JH
14388Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
14389
14390 * predict.c (dump_prediction): New argument "USED".
14391 (combine_predictions_for_insn): Determine the used heuristics,
14392 output the case no heuristic applied.
14393 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
14394
afea8580
AJ
143952001-08-13 Andreas Jaeger <aj@suse.de>
14396
14397 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
14398 register %rip.
14399
5d0cab94
KH
144002001-08-13 Kazu Hirata <kazu@hxi.com>
14401
14402 * jump.c: Fix formatting.
14403
7ba7767b
KH
144042001-08-13 Kazu Hirata <kazu@hxi.com>
14405
14406 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
14407 length.
14408
5fe2e41b
GK
144092001-08-12 Geoffrey Keating <geoffk@redhat.com>
14410
353df065
GK
14411 * loop.c (check_dbra_loop): Use condjump_label to compute
14412 jump_label.
14413
5fe2e41b
GK
14414 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
14415 to better document the files they're in.
14416
a2b498cb
ZW
144172001-08-12 Zack Weinberg <zackw@panix.com>
14418
14419 * recog.h (struct insn_operand_data): Shrink 'mode' field
14420 to 16 bits.
14421
dc297297
KH
144222001-08-12 Kazu Hirata <kazu@hxi.com>
14423
14424 * gcc.c: Fix comment formatting.
14425 * gccspec.c: Likewise.
14426 * gcov.c: Likewise.
14427 * gcse.c: Likewise.
14428 * genemit.c: Likewise.
14429 * gengenrtl.c: Likewise.
14430 * genrecog.c: Likewise.
14431 * gensupport.c: Likewise.
14432 * ggc-page.c: Likewise.
14433 * global.c: Likewise.
14434 * graph.c: Likewise.
14435 * ifcvt.c: Likewise.
14436 * integrate.c: Likewise.
14437 * lcm.c: Likewise.
14438 * libgcc2.c: Likewise.
14439 * loop.c: Likewise.
14440 * mbchar.c: Likewise.
14441 * optabs.c: Likewise.
14442 * predict.c: Likewise.
14443 * prefix.c: Likewise.
14444 * profile.c: Likewise.
14445 * protoize.c: Likewise.
14446 * real.c: Likewise.
14447 * recog.c: Likewise.
14448 * regclass.c: Likewise.
14449 * regmove.c: Likewise.
14450 * reg-stack.c: Likewise.
14451 * reload1.c: Likewise.
14452 * resource.c: Likewise.
14453 * rtlanal.c: Likewise.
14454 * rtl.c: Likewise.
14455
f0d1c3bd
KH
144562001-08-12 Kazu Hirata <kazu@hxi.com>
14457
14458 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
14459 a tree representing a constant is passed to the macro.
14460
d9f6800d
RH
144612001-08-12 Richard Henderson <rth@redhat.com>
14462
14463 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
14464 (rs6000_elf_asm_out_destructor): New.
14465 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
14466 (DTORS_SECTION_ASM_OP): Remove.
14467 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14468 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
14469
6ba57472
DE
144702001-08-12 David Edelsohn <edelsohn@gnu.org>
14471
14472 Revert:
14473 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14474 * gcc.c (set_collect_gcc_options): New function, split out from
14475 main.
14476 Ignore elided switches.
14477 (do_spec_1): Invoke before executing command.
14478 (set_input): Export.
14479 Move declaration ...
14480 * gcc.h (set_input): ... here.
14481 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
14482 file.
14483
270fc29b
RH
144842001-08-12 Richard Henderson <rth@redhat.com>
14485
14486 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
14487 thinko wrt TARGET_RELOCATABLE.
14488
21c38ecb
NB
144892001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
14490
14491 * fix-header.c (cb_file_change): Update prototype.
14492
94aca342
ZW
144932001-08-11 Zack Weinberg <zackw@panix.com>
14494
14495 * toplev.c (set_float_handler): Make static.
14496 * toplev.h: Don't prototype set_float_handler.
14497
14498 * simplify-rtx.c: Don't include setjmp.h.
14499 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
14500 New functions.
14501 (simplify_unary_operation, simplify_binary_operation): Use them,
14502 via do_float_handler.
14503
14504 * fold-const.c: Don't include setjmp.h.
14505 (exact_real_inverse_1): New function.
14506 (exact_real_inverse): Use it, via do_float_handler.
14507
14508 * varasm.c: Don't include setjmp.h.
14509 (assemble_real_1): New function.
14510 (assemble_real): Use it, via do_float_handler.
14511 Call internal_error if we get a trap here.
14512
14513 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
14514 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
14515
31cdd499
ZW
145162001-08-11 Zack Weinberg <zackw@panix.com>
14517
14518 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
14519 STACK_BOUNDARY if not already defined.
14520
14521 * calls.c, function.c, reload1.c, explow.c: Don't default
14522 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
14523 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
14524
14525 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
14526 to run-time test.
14527
14528 * doc/tm.texi: Document that STACK_BOUNDARY is required;
14529 clarify difference between it and PREFERRED_STACK_BOUNDARY.
14530
2b220265
NB
145312001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
14532
14533 * cppmacro.c (enter_macro_context): Push macro expansions even
14534 if empty.
14535
d0101753
FS
145362001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14537
14538 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
14539 (rs6000_elf_section_type_flags): Actually return a value.
14540
994fe660 145412001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
14542
14543 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
994fe660 14544 Clean up code: add missing comments and prototypes, fix warnings,
02c9b1ca 14545 remove obsolete code, fix spacing to conform to coding style.
994fe660 14546
f314b9b1 145472001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
14548
14549 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
f314b9b1
UW
14550 and TARGET_ASM_CLOSE_PAREN.
14551 (regclass_map): CC register belongs to class NO_REGS.
afea8580 14552 (legitimize_pic_address): Don't generate unnecessary moves
f314b9b1 14553 (to avoid confusing loop optimization).
afea8580
AJ
14554 (check_and_change_labels): Replace jump_long by indirect_jump.
14555 (s390_final_chunkify): Don't start a new literal pool on section
f314b9b1
UW
14556 switch in 64-bit code.
14557 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
afea8580 14558
f314b9b1
UW
14559 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
14560 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
afea8580 14561 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
f314b9b1
UW
14562 modes correctly.
14563 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
14564 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
14565 (CONST_COSTS): Fixed incorrect costs.
14566
14567 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
14568 Use emit_jump instead of emit_jump_insn (gen_jump).
afea8580 14569 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
f314b9b1
UW
14570 (to avoid confusing flow analysis).
14571 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
14572 (casesi, casesi_jump): New.
14573 (jump_long): Removed. Functionality merged into indirect_jump.
14574 (indirect_jump): Accept address_operand, not just register_operand.
14575 (cjump_long, icjump_long): Use same logic as indirect_jump.
14576 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
14577 Fixed broken setjmp/longjmp handling.
14578 (do_builtin_setjmp_setup): Removed.
14579
14580 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
14581 broken GNU as versions that don't accept .quad with large
14582 negative values. Use hexadecimal output instead.
14583 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
14584 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
14585 FUNCTION_EPILOGUE): Removed. Now in targetm.
14586
14587 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
14588
14589 * config/s390/fixdfdi.h: Add missing copyright statement.
14590 Fix type conflicts on 64-bit. Add missing SFmode routines.
14591
14592 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
14593 email address.
14594
dddba205
RH
145952001-08-11 Richard Henderson <rth@redhat.com>
14596
14597 * rtl.h (REG_EH_RETHROW): Remove.
14598 * rtl.c (reg_note_name): Update.
14599 * combine.c (distribute_notes): Don't check for it.
14600
ab61c93f
RH
146012001-08-11 Richard Henderson <rth@redhat.com>
14602
14603 * combine.c (distribute_notes): Place REG_SETJMP.
14604
58f4de4f
RH
146052001-08-11 Richard Henderson <rth@redhat.com>
14606
14607 * doc/extend.texi (Arrays and pointers implementation): Discourage
14608 relying on sign-extension of pointers.
14609
f841565e
L
146102001-08-11 H.J. Lu <hjl@gnu.org>
14611
14612 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
14613 in_dtors.
14614 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
14615 RDATA_SECTION_ASM_OP.
14616
d8393f64
GP
146172001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14618
14619 * doc/install.texi (Specific, c4x): Fix cross-reference to the
14620 main manual to work both for info and HTML versions.
afea8580 14621
bef985f3 146222001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
760a4879 14623 Matt Kraai <kraai@alumni.carnegiemellon.edu>
afea8580 14624
bef985f3
NB
14625 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
14626 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
14627 (struct cpp_pool): New member first.
14628 * cppinit.c (append_include_chain): Plug memory leaks.
14629 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
14630 Allocate pragma structures from the (aligned) macro pool to
14631 avoid leaking memory.
14632 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
14633 so we don't leak memory.
14634 * hashtable.c (ht_destroy): New.
14635 * hashtable.h (ht_destroy): New.
14636
f80f7e8c
NB
146372001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
14638 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14639
14640 * c-lex.c (map): Make const.
14641 (cb_file_change): Update for callback passing a line map.
14642 Don't assume we have a previous map. Remove sanity check
14643 about popping too many files.
14644 * cpperror.c (print_location): Make map const.
14645 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
14646 (cpp_make_system_header): Similarly.
14647 (search_from): Similarly.
14648 (_cpp_execute_include): Don't remember where we came from.
14649 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
14650 (struct cpp_reader): Make map const.
14651 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
14652 * cpplib.c (do_line): Update; line maps now hold sysp.
14653 (cpp_push_buffer): Similarly.
14654 (_cpp_do_file_change): Similarly; callback with map instead.
14655 (cpp_get_line_maps): Constify return value.
14656 (_cpp_pop_buffer): Update.
14657 * cpplib.h (struct cpp_file_change): Remove.
14658 (struct cpp_callbacks): Update.
14659 (cpp_get_line_maps): Constify return value.
14660 * cppmacro.c (_cpp_create_definition): Update.
14661 * cppmain.c (struct printer): Constify map.
14662 (maybe_print_line): Similarly.
14663 (print_line): Similarly. Deduce flags 1 and 2 here.
14664 (cb_file_change): Update.
14665 * line-map.c (free_line_maps): Warn regardless.
14666 (add_line_map): Return pointer to const. When passed NULL to_file
14667 with LC_LEAVE, use the obvious values for the return point so the
14668 caller doesn't have to figure them out.
14669 (lookup_line): Return pointer to const.
14670 (print_containing_files): Take pointer to const.
14671 * line-map.h (struct line_map): New members reason, sysp.
14672 (add_line_map): Return pointer to const.
14673 (lookup_line): Similarly.
14674 (print_containing_files): Take pointer to const.
14675
bb948ad3
RZ
146762001-08-10 Roman Zippel <zippel@linux-m68k.org>
14677 Richard Henderson <rth@redhat.com>
14678
14679 * regmove.c (regmove_optimize): Avoid setting a register twice in
14680 a parallel set.
14681
cbf4c36f
RH
146822001-08-10 Richard Henderson <rth@redhat.com>
14683
14684 * doc/extend.texi (Arrays and pointers implementation): Document
14685 behavior of pointer/integer conversion.
14686
db80cc1f 146872001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
afea8580
AJ
14688
14689 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
db80cc1f 14690
fe203faf
RH
146912001-08-10 Richard Henderson <rth@redhat.com>
14692
14693 * doc/extend.texi (C Implementation): New chapter.
14694 * doc/gcc.texi (Top): Link it in.
14695
894aeeb0
AC
146962001-08-10 Andrew Cagney <ac131313@redhat.com>
14697
14698 * doc/install.texi (Specific): Fix CVS merge botch.
14699
d67c7dd8
RH
147002001-08-10 Richard Henderson <rth@redhat.com>
14701
14702 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
14703 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
14704
19652adf
ZW
147052001-08-10 Zack Weinberg <zackw@stanford.edu>
14706
14707 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
14708 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
14709 this macro is now required.
14710
14711 * cselib.c (cselib_process_insn), flow.c (propagate_block),
14712 loop.c (find_and_verify_loops), reload.c (reload): Check
14713 for rtx code of CALL_INSN, not CALL, when deciding if we
14714 need to check for REG_SETJMP note.
14715
14716 * gcse.c (compute_hash_table, compute_store_table): Update
14717 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
14718 logic.
14719
14720 * config/avr/avr.c: Fix typo.
14721 * config/convex/convex.c (expand_movstr): Use adjust_address.
14722 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
14723 variable.
14724 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
14725 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
14726 Fix typo.
14727 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
14728 Do define STACK_BOUNDARY.
14729 * config/i370/i370.c: Include expr.h.
14730 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
14731 config/pa/som.h, config/v850/v850.h: Take in_ctors and
14732 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
14733 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
14734 * config/m88k/m88k.c: Include c-tree.h after expr.h.
14735 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
14736 * config/romp/romp.c: Include expr.h after tree.h.
14737 Include toplev.h.
14738 (output_fpop): Use xmalloc, not oballoc.
14739 * config/we32k/we32k.c: Include expr.h.
14740
cf35eebc
KH
147412001-08-10 Kazu Hirata <kazu@hxi.com>
14742
14743 * config/h8300/h8300.h: Fix formatting.
14744
07b2f2fd
JM
147452001-08-08 Jason Merrill <jason_merrill@redhat.com>
14746
14747 * c-common.h (RETURN_NULLIFIED_P): Lose.
14748 * c-semantics.c (genrtl_return_stmt): Don't check it.
14749
67070ffe
RS
147502001-08-10 Richard Sandiford <rsandifo@redhat.com>
14751
14752 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
14753 (mips_annotate_frame_insn): New function.
14754 (mips_emit_frame_related_store): New function.
14755 (save_restore_insns): Don't mark instructions that set up the base
14756 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
14757 the store instructions instead.
14758 (mips_expand_prologue): If the stack size is moved into a temporary
14759 register, do not mark that move as frame-related. Add a
14760 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
14761
a8205f03
RS
147622001-08-10 Richard Sandiford <rsandifo@redhat.com>
14763
14764 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
14765 stack slot as unchanging if current_function_calls_eh_return.
14766
2359d013
RS
147672001-08-10 Richard Sandiford <rsandifo@redhat.com>
14768
2a895e44 14769 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
2359d013
RS
14770 access the second half of the TFmode scratch operand.
14771
ca11a2e9
AG
147722001-08-10 Anthony Green <green@redhat.com>
14773
14774 * java/class.c (emit_register_classes): Conditionalize code on
14775 JCR_SECTION_NAME.
14776
ca52d046
GP
147772001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14778
14779 * doc/install.texi (Specific, avr): Fix cross-reference to the
14780 main manual to work both for info and HTML versions.
14781
396ad517
JDA
147822001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
14783
19652adf 14784 * stmt.c (expand_null_return_1): Remove code to generate simple returns
396ad517
JDA
14785 and "use_goto" argument.
14786 (expand_null_return, expand_value_return): Update all callers.
14787 * function.c (expand_function_end): Remove code to generate simple
14788 return.
14789 * config/vax/vax.md (epilogue): New expander for function return.
14790 * doc/md.texi (epilogue): Remove "if defined".
14791
e361dcd3
ZW
147922001-08-09 Zack Weinberg <zackw@stanford.edu>
14793
14794 * Makefile.in: Partially revert my previous change:
14795 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
14796 of the hashtab.o and safe-ctype.o rules.
14797
2cc07db4
RH
147982001-08-09 Richard Henderson <rth@redhat.com>
14799
14800 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
14801 (USE_COLLECT2): Remove duplicate definition.
14802 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
14803 (use_collect2): Remove dead code.
14804 * configure.in (use_collect2): Remove will_use_collect2 and
14805 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
14806 * configure: Rebuild.
14807
14808 * target.h (targetm.asm_out.constructor): New.
14809 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
14810 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
14811 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
14812 * varasm.c (in_ctors, in_dtors): New.
14813 (assemble_constructor, assemble_destructor): Remove.
14814 (default_stabs_asm_out_destructor): New.
14815 (default_named_section_asm_out_destructor): New.
14816 (dtors_section, default_dtor_section_asm_out_destructor): New.
14817 (default_stabs_asm_out_constructor): New.
14818 (default_named_section_asm_out_constructor): New.
14819 (ctors_section, default_ctor_section_asm_out_constructor): New.
14820 * output.h: Update declarations.
14821 * c-decl.c (c_expand_body): Use target hooks instead of
14822 assemble_constructor and assemble_destructor.
14823 * profile.c (output_func_start_profiler): Likewise.
14824 * objc/objc-act.c (finish_objc): Likewise.
14825 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
14826 for the constructor.
14827 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
14828
14829 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
14830 (DTORS_SECTION_ASM_OP): Likewise.
14831 (__CTOR_LIST__): Use attribute section when possible.
14832 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
14833
14834 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
14835 ASM_OUTPUT_CONSTRUCTOR.
14836
14837 * config/darwin.c (machopic_asm_out_constructor): New.
14838 (machopic_asm_out_destructor): New.
14839 * config/darwin-protos.h: Update declarations.
14840 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14841 (ASM_OUTPUT_DESTRUCTOR): Remove.
14842 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14843 * config/nextstep.c (nextstep_asm_out_constructor): New.
14844 (nextstep_asm_out_destructor): New.
14845 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14846 (ASM_OUTPUT_DESTRUCTOR): Remove.
14847 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14848 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
14849 ASM_OUTPUT_*STRUCTOR.
14850 * config/i386/aix386ng.h: Likewise.
14851
14852 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
14853 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
14854 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14855 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14856 * config/lynx.h: Likewise.
14857 * config/netware.h: Likewise.
14858 * config/psos.h: Likewise.
14859 * config/alpha/alpha-interix.h: Likewise.
14860 * config/alpha/elf.h: Likewise.
14861 * config/arc/arc.h: Likewise.
14862 * config/arm/aof.h: Likewise.
14863 * config/arm/coff.h: Likewise.
14864 * config/arm/elf.h: Likewise.
14865 * config/c4x/c4x.h: Likewise.
14866 * config/h8300/h8300.h: Likewise.
14867 * config/i386/cygwin.h: Likewise.
14868 * config/i386/djgpp.h: Likewise.
14869 * config/i386/i386-coff.h: Likewise.
14870 * config/i386/i386-interix.h: Likewise.
14871 * config/i386/sco5.h: Likewise.
14872 * config/i386/vsta.h: Likewise.
14873 * config/i386/win32.h: Likewise.
14874 * config/i960/i960-coff.h: Likewise.
14875 * config/ia64/sysv4.h: Likewise.
14876 * config/m68hc11/m68hc11.h: Likewise.
14877 * config/m68k/coff.h: Likewise.
14878 * config/m68k/mot3300.h: Likewise.
14879 * config/m88k/m88k.h: Likewise.
14880 * config/mcore/mcore-pe.h: Likewise.
14881 * config/mcore/mcore.h: Likewise.
14882 * config/mips/elf.h: Likewise.
14883 * config/mips/elf64.h: Likewise.
14884 * config/mips/iris6.h: Likewise.
14885 * config/pa/pa64-hpux.h: Likewise.
14886 * config/rs6000/sysv4.h: Likewise.
14887 * config/sh/sh.h: Likewise.
14888 * config/sparc/litecoff.h: Likewise.
14889
14890 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
14891 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
14892 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14893 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14894 (ASM_OUTPUT_DESTRUCTOR): Remove.
14895 * config/a29k/a29k.c: Move include of tree.h.
14896 * config/a29k/udi.h: Delete file.
14897 * config/alpha/alpha.c (vms_asm_out_constructor): New.
14898 (vms_asm_out_destructor): New.
14899 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
14900 (EXTRA_SECTION_FUNCTIONS): Likewise.
14901 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14902 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14903 * config/c4x/c4x.c: Move include of tree.h.
19652adf 14904 * config/clipper/clipper.c (clix_asm_out_constructor): New.
2cc07db4
RH
14905 (clix_asm_out_destructor): New.
14906 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14907 (ASM_OUTPUT_DESTRUCTOR): Remove.
14908 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14909 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14910 (TARGET_ASM_CONSTRUCTOR): New.
14911 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
14912 (sco_asm_out_constructor): New.
14913 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
14914 * config/i386/svr3gas.h: Remove stack grows up code.
14915 Remove code duplicated from i386/sysv3.h.
14916 (TARGET_ASM_CONSTRUCTOR): New.
14917 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
14918 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
14919 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14920 (TARGET_ASM_CONSTRUCTOR): New.
14921 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
14922 (m68hc11_asm_out_destructor): New.
14923 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
14924 (TARGET_ASM_DESTRUCTOR): New.
14925 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14926 * config/m68k/dpx2.h: Properly undef all the bits inherited from
14927 config/svr3.h pertaining to section manipulation.
14928 * config/m68k/dpx2g.h: Remove #if 0 code.
14929 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14930 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14931 (ASM_OUTPUT_CONSTRUCTOR): Remove.
14932 (TARGET_ASM_CONSTRUCTOR): New.
14933 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14934 (m88k_svr3_asm_out_constructor): New.
14935 (m88k_svr3_asm_out_destructor): New.
14936 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14937 (ASM_OUTPUT_DESTRUCTOR): Remove.
14938 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14939 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
14940 * config/rs6000/aix.h: Likewise.
14941 * config/mips/rtems64.h: Don't undef removed constructor related bits.
14942 * config/mips/vxworks.h: Likewise.
14943 * config/rs6000/lynx.h: Likewise.
14944 * config/sh/elf.h: Likewise.
14945 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
14946 (DTORS_SECTION_ASM_OP): New.
14947 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14948 (ASM_OUTPUT_DESTRUCTOR): Remove.
14949 * config/sparc/sol2-sld-64.h: Likewise.
14950 * config/vax/vax.c (vms_asm_out_constructor): New.
14951 (vms_asm_out_destructor): New.
14952 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14953 (ASM_OUTPUT_DESTRUCTOR): Remove.
14954 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14955
14956 * doc/tm.texi (@node Initialization): Update.
14957
ef8d8b89
RH
149582001-08-09 Richard Henderson <rth@redhat.com>
14959
14960 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
14961 (__do_global_dtors_aux): Use gp-relative static data to avoid
14962 one dynamic relocation.
14963 (__do_frame_setup): Register Java classes.
14964 * config/alpha/crtend.asm (__JCR_END__): New.
14965
1b0c37d7
ZW
149662001-08-09 Zack Weinberg <zackw@stanford.edu>
14967
ef8d8b89
RH
14968 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
14969 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
14970 (GEN, STAGESTUFF): Add new files.
14971 (insn-constants.h, s-constants, tm-preds.h, s-preds,
14972 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
14973 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
14974 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
14975 as well as insn-codes.h and insn-flags.h in config.h; and no
14976 extra headers in tconfig.h and hconfig.h.
14977
14978 * gencodes.c: Eliminate code to generate predicate declarations
14979 or #defines for md-file constants.
14980 * genconstants.c, genpreds.c: New files.
14981
14982 * i386.md: Re-order guard expressions such that TARGET_64BIT
14983 comes first, when this permits better optimization. Add
14984 TARGET_64BIT to more x86-64 patterns. Add comment explaining
14985 why this is desirable.
1b0c37d7 14986
a734f2a3
JJ
149872001-08-09 Jakub Jelinek <jakub@redhat.com>
14988
14989 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
14990 (find_fde_for_dso): Remove.
14991 (_Unwind_IteratePhdrCallback): New.
14992 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
14993 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
14994
21d93687
RK
14995Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14996
14997 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
14998 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
14999
b1b6b0cb
GS
150002001-08-09 Graham Stott <grahams@redhat.com>
15001
15002 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
15003 (vis_no_unit): Use it.
15004 (visualize_no_unit): Add the insn only if room exists.
15005
a0e4ce74
GS
150062001-08-09 Graham Stott <grahams@redhat.com>
15007
1b0c37d7
ZW
15008 * predict.c (estimate_probability): Replace magic numbers with
15009 appropriate enumeration.
a4e11a5c
GS
15010
150112001-08-09 Graham Stott <grahams@redhat.com>
15012
15013 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
a0e4ce74
GS
15014 parameter.
15015 (EXTRACT_FLAGS): Likewise.
15016
77416b3d
AH
150172001-08-09 Aldy Hernandez <aldyh@redhat.com>
15018
1b0c37d7
ZW
15019 * config/mips/mips.c (mips_legitimate_address_p): Check for
15020 CONST_INT in last patch.
77416b3d 15021
6351543d
AG
150222001-08-08 Anthony Green <green@redhat.com>
15023
15024 * java/class.c (emit_register_classes): Use assemble_jcr if
15025 possible. Keep the original mechanism as a fallback.
15026 * defaults.h (JCR_SECTION_NAME): Define if we have named section
15027 and weak symbol support.
15028 * crtstuff.c (__JCR_LIST__): Define.
15029 (__JCR_END__): Define.
15030 (_Jv_RegiserClasses): Define weak symbol if possible.
15031 (__do_global_ctors_aux): Register classes for ELF targets with
15032 weak symbol support.
15033
30f7a378
KH
150342001-08-08 Kazu Hirata <kazu@hxi.com>
15035
15036 * dbxout.c: Fix comment formatting.
15037 * dependence.c: Likewise.
15038 * df.c: Likewise.
15039 * diagnostic.c: Likewise.
15040 * dominance.c: Likewise.
15041 * doprint.c: Likewise.
15042 * dwarf2out.c: Likewise.
15043 * dwarfout.c: Likewise.
15044 * emit-rtl.c: Likewise.
15045 * except.c: Likewise.
15046 * explow.c: Likewise.
15047 * expmed.c: Likewise.
15048 * expr.c: Likewise.
15049 * flow.c: Likewise.
15050 * fold-const.c: Likewise.
15051 * function.c: Likewise.
15052
35e17f7e
FS
150532001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15054
15055 * global.c (retry_global_alloc): Avoid shadowing allocno.
15056
2b1e2382
MM
150572001-08-08 Mark Mitchell <mark@codesourcery.com>
15058
15059 * except.c (remove_fixup_regions): Fix typo.
15060
b9f22704
JM
150612001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
15062
1b0c37d7 15063 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
b9f22704 15064 unsigned HOST_WIDE_INT to avoid warning.
1b0c37d7
ZW
15065 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
15066 * flow.c (set_block_for_new_insns): Likewise.
b9f22704 15067
a4b07e7f
JH
15068Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
15069
15070 * sibcall.c (return_value_pseudo): New static variable.
15071 (skip_copy_to_return_value): Handle return_value_pseudo.
15072 (call_ends_block_p): Ensure that return_value_pseudo is set.
15073 (optimize_sibling_and_tail_recursive_call): Discover the
15074 load of pseudo return value in alternate exit block.
15075
9d98f8f9
JH
15076Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
15077
15078 * calls.c (ECF_ALWAYS_RETURN): New constant.
15079 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
15080 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
15081 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
15082 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
15083 * rtl.c (reg_note_name): New name.
15084 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
15085
82423cba
AH
150862001-08-07 Aldy Hernandez <aldyh@redhat.com>
15087
15088 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
15089
5755cd38
JM
150902001-08-08 Jason Merrill <jason_merrill@redhat.com>
15091
15092 * alias.c (get_alias_set): Return a previously calculated
15093 alias set for a VAR_DECL.
15094 * function.c (gen_mem_addressof): Calculate the alias set before
15095 touching the RTL.
15096
0f0138b6
JH
15097Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
15098
15099 * predict.def: Set hitrates according our experimental run.
15100
15101Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
15102
15103 * i386.h (HARD_REGNO_RENAME_OK): New macro.
15104
b2bcb32d
L
151052001-08-08 H.J. Lu <hjl@gnu.org>
15106
15107 * config/mips/mips.c (mips_unique_section): New. Copied from
15108 config/mips/elf.h.
15109
15110 * config/mips/mips-protos.h (mips_unique_section): New
15111 prototype.
15112
15113 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
15114
15115 * config/mips/little.h: New. Generic little endian mips
15116 targets. Only mips*-*-linux* is converted to use it so far.
15117
15118 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
15119 (WCHAR_TYPE): Defined
15120 (WCHAR_TYPE_SIZE): Likewise.
15121 (INIT_SUBTARGET_OPTABS): Likewise.
15122 (BSS_SECTION_ASM_OP): Likewise.
15123 (SBSS_SECTION_ASM_OP): Likewise.
15124 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15125 (ASM_DECLARE_OBJECT_NAME): Likewise.
15126 (UNIQUE_SECTION): Likewise.
15127 (EXTRA_SECTIONS): Likewise.
15128 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
15129 (ASM_OUTPUT_DESTRUCTOR): Likewise.
15130 (ASM_OUTPUT_DEF): Likewise.
15131 (HANDLE_SYSV_PRAGMA): Removed.
15132 (NO_IMPLICIT_EXTERN_C): Likewise.
15133 (TARGET_MEM_FUNCTIONS): Likewise.
15134 (STARTFILE_SPEC): Likewise.
15135 (ENDFILE_SPEC): Likewise.
15136 (LIB_SPEC): Likewise.
15137 (INVOKE__main): Likewise.
15138 (CTOR_LIST_BEGIN): Likewise.
15139 (CTOR_LIST_END): Likewise.
15140 (DTOR_LIST_BEGIN): Likewise.
15141 (DTOR_LIST_END): Likewise.
15142 (SET_ASM_OP): Likewise.
15143 (ASM_OUTPUT_SOURCE_LINE): Likewise.
15144 (ASM_OUTPUT_DEF): Likewise.
15145 (ASM_OUTPUT_IDENT): Likewise.
15146
15147 * config/mips/mips.h (ASM_SPEC): Undefine before define.
15148 (CPLUSPLUS_CPP_SPEC): Likewise.
15149 (ASM_APP_ON) Redefine only if not defined.
15150 (ASM_APP_OFF): Likewise.
15151 (ASM_OUTPUT_SOURCE_LINE): Likewise.
15152 (ASM_OUTPUT_IDENT): Likewise.
15153
15154 * config.gcc: Update tm_file for Linux/mips.
15155
b7933c21
BS
151562001-08-08 Bernd Schmidt <bernds@redhat.com>
15157
15158 * cselib.c (cselib_record_sets): If insn is predicated, turn
15159 sources into IF_THEN_ELSEs.
7dcc803e
BS
15160
15161 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
15162 Turn into define_insn_and_split.
b9f22704 15163
4b6c5340
BS
15164 * sched-deps.c: Include "cselib.h".
15165 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
15166 Use cselib to turn memory addresses into VALUEs.
15167 (sched_analyze): Call cselib_init/cselib_finish if necessary.
15168 * sched-int.h (struct sched_info): New member USE_CSELIB.
15169 * sched-ebb.c (ebb_sched_info): Initialize it.
15170 * sched-rgn.c (rgn_sched_info): Likewise.
15171 * Makefile.in (sched-deps.o): Update dependencies.
7dcc803e 15172
91700444
BS
15173 * cselib.h (cselib_subst_to_values): Declare.
15174 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
15175 that have no value and autoincs to be handled by generating a new
15176 dummy value.
b9f22704 15177
674fc07d
GS
151782001-08-08 Graham Stott <grahams@redhat.com>
15179
15180 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
15181 within fixed length SEQUENCE.
15182
5f9689e5
GS
151832001-08-08 Graham Stott <grahams@redhat.com>
15184
15185 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
15186 (diagnostic_prefixing_rule): Likewise.
15187 (diagnostic_line_cutoff): Likewise.
15188 (diagnostic_kind_count): Likewise.
15189
6d8c73f7
GS
151902001-08-08 Graham Stott <grahams@redhat.com>
15191
15192 * alias.c (find_base_decl): Delete redundent assignment.
15193
8e0d15d4
GS
151942001-08-08 Graham Stott <grahams@redhat.com>
15195
15196 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
15197 (abs): Uppercase and paranthesize macro parameter.
15198 (MEM_DEPENDENCY): Add whitespace.
15199
e5503743
GS
152002001-08-08 Graham Stott <grahams@redhat.com>
15201
15202 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
15203 failure check for CONST_INT
15204
5b57e28b
GS
152052001-08-08 Graham Stott <grahams@redhat.com>
15206
15207 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
15208 (libcall_dead_p): Likewise.
15209
15210 (mark_used_regs): Constify fmt.
15211 (find_use_as_address): Likewise.
15212
0f1e8126
GS
152132001-08-08 Graham Stott <grahams@redhat.com>
15214
15215 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
15216 parameter.
15217
e61465ed
GS
152182001-08-08 Graham Stott <grahams@redhat.com>
15219
15220 * combine.c (combine_simplify_rtx): Update comment and
15221 remove erroneous test.
15222
7364fdd8
NB
152232001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
15224
15225 * cppinit.c (cpp_finish): Pop the final buffer without comment.
15226 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
15227 take care to avoid multiple no-newline at EOF warnings in that
15228 case.
15229
570a98eb
JH
15230Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
15231
15232 * calls.c (expand_call): Do not emit INSN_SETJMP note.
15233 (emit_library_call_value_1): Likewise.
15234 (emit_call_1): Emit REG_SETJMP note.
15235 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
15236 of INSN_SETJMP
15237 * cselib.c (cselib_process_insn): Likewise.
15238 * flow.c (propagate_block): Likewise.
15239 * loop.c (find_and_verify_loops): Likewise.
15240 * reload.c (find_equiv_regs): Likewise.
15241 * reload1.c (reload): Likewise.
15242 * resource.c (mark_referenced_resources,
15243 mark_set_resources): Likewise.
15244 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
15245 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
15246 * haifa-sched.c (unlink_other_notes): Likewise.
15247 (reemit_notes): Likewise.
15248 * sched-ebb.c (sched_ebb): Likewise.
15249 * sched-rgc.c (sched_region): Likewise.
15250 * rtl.c (note_insn_name): Likewise.
15251 (reg_note_name): Add REG_SETJMP
15252 * rtl.h (reg_note): Add REG_SETJMP.
15253 (insn_note): Remove NOTE_INSN_SETJMP.
15254
15255 * profile.c (branch_prob): Add fake edges for setjmp.
15256
ff25793c
DJ
152572001-08-07 Daniel Jacobowitz <drow@mvista.com>
15258
1b0c37d7
ZW
15259 * config.gcc: Quote target_cpu_default2 correctly for
15260 powerpc*-*-* targets.
ff25793c 15261
42dcba34
NB
152622001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
15263
15264 * cpplib.h, line-map.h: Update comments.
15265 * cppmain.c (printer_init): Move inline.
15266 (maybe_print_line, print_line): Take a map pointer.
15267 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
15268 (cb_file_change): Don't use prior value of print.map.
15269
e8515283
DE
152702001-08-07 David Edelsohn <edelsohn@gnu.org>
15271
15272 * doc/install.texi: Document fine-grained multilib configuration.
15273
0d025d43
JH
15274Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
15275
15276 * rtlanal.c (find_first_parameter_load): Call note_stores
15277 only on the instructions.
15278
24a28584
JH
15279Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
15280
15281 * alias.c (nonlocal_mentioned_p):
15282 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
15283 * calls.c (emit_call_1): Likewise.
15284 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
15285 * cselib.c (cselib_process_insn): Likewise.
15286 * df.c (df_insns_modify): Likewise.
15287 * flow.c (need_fake_edge_p): Likewise.
15288 (propagate_one_insn): Likewise.
15289 * haifa-sched.c (reemit_notes): Likewise.
15290 * integrate.c (copy_insn_list): Likewise.
15291 * jump.c (delete_prior_computation): Likewise.
15292 * local-alloc.c (validate_equiv_mem): Likewise.
15293 * loop.c (scan_loop): Likewise.
15294 * predict.c (estimate_probability): Likewise.
15295 * reload.c (reload): Likewise.
15296 * sched-deps (sched_analyze): Likewise.
15297 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
15298 * gcse.c (compute_hash_table): Likewise.
15299 (mark_call): Likewise.
15300 (store_killed_in_insn): Likewise.
15301
1b81b789
JM
153022001-08-07 Jason Merrill <jason_merrill@redhat.com>
15303
45dcf572
JM
15304 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
15305
2d2e44d2
RH
153062001-08-06 Richard Henderson <rth@redhat.com>
15307
15308 * varasm.c (assemble_gc_entry): Remove.
15309 * output.h: Likewise.
15310
47907859
RH
153112001-08-06 Richard Henderson <rth@redhat.com>
15312
15313 * varasm.c (assemble_constructor): Take a symbol_ref and a
15314 priority instead of a bare string. Move priority handling
15315 here from cp/decl2.c.
15316 * output.h: Update decls.
15317
15318 * c-decl.c (c_expand_body): Update calls to assemble_constructor
15319 and assemble_destructor.
15320 * profile.c (output_func_start_profiler): Likewise.
15321 * objc/objc-act.c (finish_objc): Likewise.
15322 (build_module_descriptor): Return the symbol not the symbol name.
15323
362b68a8
DE
153242001-08-06 David Edelsohn <edelsohn@gnu.org>
15325
15326 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
15327 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
15328 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
15329 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
15330 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
15331 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
15332
fde84349
NB
153332001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
15334
15335 * cpperror.c (print_containing_files): Moved to line-map.c.
15336 (print_location): line-map.c handles re-listing or otherwise.
15337 * cpphash.h (struct lexer_state): Remove next_bol.
15338 (struct cpp_buffer): Remove include_stack_listed.
15339 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
15340 Remove faked buffer handling.
15341 (_cpp_do_file_change): Tweak.
15342 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
15343 * cppmain.c (struct printer): Remove filename.
15344 (print_line, cb_file_change): Update accordingly.
15345 * line-map.c: Include intl.h.
15346 (init_line_maps): Initialize last_listed.
15347 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
15348 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
15349 (print_containing_files): New.
15350 * line-map.h (struct line_maps): New member last_listed.
15351 (print_containing_files, INCLUDED_FROM): New.
15352 * Makefile.in: Update.
15353 * po/POTFILES.in: Add line-map.c.
15354
df4556a3
RH
153552001-08-06 Richard Henderson <rth@redhat.com>
15356
15357 * except.c (convert_from_eh_region_ranges_1): Never mark
15358 USE or CLOBBER insns as throwing.
15359
15360 * expr.c (store_constructor): Don't clobber memory targets.
15361
a4d3961a
AJ
153622001-08-06 Andreas Jaeger <aj@suse.de>
15363
15364 * profile.c (branch_prob): Remove unused variable insn.
15365
15366 * Makefile.in (local-alloc.o): Add dependency on except.h.
15367
15368 * local-alloc.c: Include except.h for can_throw_internal prototype.
15369
1d482056
RH
153702001-08-06 Richard Henderson <rth@redhat.com>
15371
15372 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
15373 * function.c (expand_main_function): Implement it.
15374 * doc/tm.texi: Document it.
15375
4f2b1139
SS
153762001-08-06 Stan Shebs <shebs@apple.com>
15377
15378 * doc/install.texi: Document powerpc-*-darwin* details.
15379
f984d8df
DB
153802001-08-06 Daniel Berlin <dan@cgsoftware.com>
15381
15382 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
15383 (ASM_CPU_SPEC): Move back to rs6000.h
15384 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
15385
15386 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
15387
15388 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
a4d3961a 15389 readded.
f984d8df
DB
15390
15391 * config/rs6000/linux64.h: Ditto.
15392
15393 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
15394 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
15395 nothing.
15396
15397 Remove accidently readded definitions of FUNCTION_PROLOGUE,
15398 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
15399
15400 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
15401 to rs6000.h
a4d3961a 15402
78d56e8b
RH
154032001-08-05 Richard Henderson <rth@redhat.com>
15404
15405 * local-alloc.c (update_equiv_regs): Do not move insns that
15406 can throw.
15407
39f95a2c
JH
154082001-08-05 Jan Hubicka <jh@suse.cz>
15409
15410 * Makefile.in (reload1.o): Add dedendancy on except.h
15411 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
15412 prototypes.
15413 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
15414 indicating wehther edges has been cleaned up.
15415 * reload1.c: Inlucde except.h
15416 (fixup_abnormal_edges): Accept deleted insns.
15417 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
15418 after combine.
15419
9765f972
NB
154202001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
15421
15422 * cpplib.c (do_line): Correct line number after pop_buffer.
15423
6604e6f3
NB
154242001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
15425
15426 PR preprocessor/3824
15427 * line-map.c: Update comments.
15428 * line-map.h: Update comments.
15429 * tradcif.y: Don't consider large numbers unsigned.
15430
67821e3a
NB
154312001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
15432
15433 PR preprocessor/3081
15434 * c-lex.c (map): New.
15435 (cb_file_change): Update map and use it.
15436 (cb_def_pragma, cb_define, cb_undef): Use map and line.
15437 (c_lex): Update to use map.
15438 * cpperror.c (print_location): Move to using logical line numbers.
15439 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
15440 (cpp_make_system_header): Similarly.
15441 (_cpp_execute_include): Stop line numbering hacks. Store the
15442 line we will return to.
15443 * cpphash.h (CPP_BUF_LINE): Remove.
15444 (struct cpp_buffer): Remove lineno and pseudo_newlines.
15445 Add map and return_to_line.
15446 (_cpp_do_file_change): Update.
15447 * cppinit.c (cpp_start_read): Update line kludge.
15448 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
15449 (trigraph_ok): Use logical line numbers for diagnostics.
15450 (skip_block_comment): Likewise.
15451 (skip_whitespace): Likewise.
15452 (skip_line_comment): Use pfile->line instead.
15453 (_cpp_lex_token): Update to use logical line numbering exclusively.
15454 Handle BOL locally. Accept new lines in directives, but keep
15455 pfile->line decremented. Diagnostics use logical lines. Update
15456 directive handling.
15457 * cpplib.c (SEEN_EOL): New.
15458 (skip_rest_of_line, check_eol): Use it.
15459 (end_directive): Increase line number when accepting the newline
15460 at the end of a directive.
15461 (run_directive): Simplify.
15462 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
15463 (_cpp_do_file_change): Update to take buffer line number as an
15464 argument, and store the current map in the cpp_reader. Remove
15465 line number kludges.
15466 (_cpp_do__Pragma): Restore output position after a _Pragma.
15467 (cpp_push_buffer): Don't set output line or lineno.
15468 (_cpp_pop_buffer): Transfer more info from a faked buffer.
15469 Remove line kludge. Set output_line.
15470 * cppmacro.c (builtin_macro): Update handling of __LINE__.
15471 (parse_arg): Use logical lines.
15472 (save_lookahead_token): Save EOFs too now.
15473 * cppmain.c (struct printer): Fix comments.
15474 (printer_init): Simplify, let caller do errors.
15475 (scan_translation_unit, check_multiline_token, dump_macro): Update.
15476 (maybe_print_line): Simplify.
15477 (print_line): Don't print a linemarker if -P.
15478 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
15479 (cb_file_change): Simplify.
15480 * line-map.h (LAST_SOURCE_LINE): Fix.
15481 (CURRENT_LINE_MAP): New.
15482
b05ecb16
BS
154832001-08-05 Bernd Schmidt <bernds@redhat.com>
15484
ab59db3c 15485 * doloop.c (doloop_modify_runtime): Properly compute number of
b05ecb16
BS
15486 iterations if loop was unrolled.
15487
ab59db3c
BS
15488 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
15489 if their CSELIB_VAL_PTRs are.
15490
703cf211
BS
15491 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
15492 (setup_spill_pointers): Initialize it.
15493 (spill_restore_mem): Set it.
15494 (do_spill, do_restore): Use it to add REG_INC note.
15495 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
15496
1ad72cef
BS
15497 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
15498 asms if other insns are available.
15499
acb0638d
BS
15500 * config/ia64/ia64.c (condop_operator): New predicate.
15501 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
15502 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
15503 patterns.
15504
8125d7e9
BS
15505 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
15506 temporary register than directly using a MEM.
15507
12355aec
HPN
155082001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
15509
15510 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
15511 parameter in last change.
15512
98c0c681
ZW
155132001-08-04 Zack Weinberg <zackw@panix.com>
15514
15515 * sparc.md: Don't use #if inside C test expression.
15516
68c5782d
RH
155172001-08-04 Richard Henderson <rth@redhat.com>
15518
15519 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
15520
8bbbef34
NB
155212001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
15522
15523 * cpphash.h (struct cpp_reader): New member directive_line.
15524 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
15525 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
15526 do_pragma): Pass line to callbacks.
15527 (start_directive): Record line of directive.
15528 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
15529 cb_include): Similarly.
15530 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
15531 Similarly.
15532
95146dd6
HPN
155332001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
15534
15535 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
15536 comment.
15537
f1330226
JH
15538Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
15539
15540 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
15541
15542 * reload1.c (fixup_abnormal_edges): New static function.
15543 (reload): Use it.
15544
15545 * flow.c (need_fake_edge_p): New function.
f5143c46 15546 (flow_call_edges_add): Fix handling of noreturn and sibling calls;
f1330226
JH
15547 avoid call insn to be very last insn in the insn stream.
15548
15549 * profile.c (branch_prob): Call flow_call_edges_add instead of
15550 doing that by hand; cleanup cfg to re-merge basic blocks once
15551 we are done.
15552
ef6e958a
NB
155532001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
15554
15555 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
15556 are also on line-map.h.
15557 * cppfiles.c (stack_include_file): Update.
15558 * cpphash.h (struct cpp_buffer): New member return_at_eof.
15559 (_cpp_pop_buffer): New.
15560 * cppinit.c (cpp_destroy, cpp_finish): Update.
15561 (do_includes): Mark each buffer to return at EOF.
15562 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
15563 return as requested.
15564 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
15565 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
15566 * cpplib.h (cpp_pop_buffer): Remove.
15567 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
15568 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
15569 buffers.
15570 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
15571 to pop buffers.
15572 (do_preprocessing): Update.
15573 * fix-header.c (read_scan_file): Update. No need to pop buffers.
15574 * c-parse.in (_yylex): Similarly.
15575 * scan-decls.c (scan_decls): Similarly.
15576 * line-map.h: Update comments.
15577
15578 * objc/Make-lang.in (objc-act.o): Update dependencies.
15579
03997728
SC
155802001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15581
a4d3961a 15582 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
03997728
SC
15583 and soft register for operand 0.
15584 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
15585
d8de89e8
SC
155862001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15587
15588 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
15589 register for operand 0.
15590 ("bitcmpqi_z_used"): Allow memory for operand 0.
15591 (split "bitcmpqi"): New split to handle address reg as operand 1.
15592
aaa4ca30
AJ
155932001-08-04 Andreas Jaeger <aj@suse.de>
15594
15595 * gcse.c: Revert Daniel's last patch.
15596
da9314d5
ZW
155972001-08-03 Zack Weinberg <zackw@stanford.edu>
15598
a4d3961a 15599 * sparc-protos.h: Add prototypes for fp_zero_operand and
da9314d5
ZW
15600 reg_or_0_operand.
15601 * sh-protos.h: Add prototype for fpul_operand.
15602
79323c50
HPN
156032001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
15604
15605 * doc/extend.texi (Other Builtins): Fix typo in last change.
15606
7c262518
RH
156072001-08-03 Richard Henderson <rth@redhat.com>
15608
a4d3961a 15609 * target.h (gcc_target): Add asm_out.named_section,
7c262518
RH
15610 section_type_flags, have_named_sections.
15611 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
15612 (TARGET_HAVE_NAMED_SECTIONS): New.
15613 (TARGET_SECTION_TYPE_FLAGS): New.
15614
15615 * Makefile.in (toplev.o): Depend on TARGET_H.
15616 (varasm.o, dbxout.o): Likewise.
15617 * c-common.c (decl_attributes): Check targetm.have_named_sections
15618 instead of ifdef ASM_OUTPUT_SECTION_NAME.
15619 * dbxout.c (dbxout_function_decl): Likewise.
15620 (dbxout_function_end): Likewise.
15621 * toplev.c (compile_file): Likewise.
15622 * varasm.c (exception_section): Likewise.
15623 * cp/decl2.c (finish_objects): Likewise.
15624
15625 * defaults.h (EH_FRAME_SECTION): Remove.
15626 (EH_FRAME_SECTION_ASM_OP): Remove.
15627 (EH_FRAME_SECTION_NAME): New.
15628 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
15629 (UNIQUE_SECTION_P): Remove.
15630 * dwarf2out.c (SECTION_FORMAT): Remove.
15631 (ASM_OUTPUT_SECTION): Remove.
15632 (output_call_frame_info): Use named_section_flags.
15633 (output_comp_unit, dwarf2out_start_source_file): Likewise.
15634 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
15635 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
15636 * varasm.c (in_eh_frame, eh_frame_section): Remove.
15637 (named_section_flags): New.
15638 (named_section): Use it and targetm.section_type_flags.
15639 (resolve_unique_section): New.
15640 (assemble_start_function): Use it.
15641 (asm_emit_uninitialised, assemble_variable): Likewise.
15642 (default_section_type_flags): New.
15643 (default_no_named_section, default_elf_asm_named_section): New.
15644 (default_coff_asm_named_section, default_pe_asm_named_section): New.
15645 * output.h: Update varasm.c decls.
15646 (SECTION_*): New flags.
15647
15648 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
15649 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
15650
15651 * config/elfos.h (UNIQUE_SECTION_P): Remove.
15652 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
15653 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
15654 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15655 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
15656 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
15657 * config/mips/elf.h, config/mips/elf64.h: Likewise.
15658 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
a4d3961a 15659 * config/pa/pa64-hpux.h,
7c262518
RH
15660
15661 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
15662 (TARGET_ASM_NAMED_SECTION): New.
15663 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
15664 * config/alpha/vms.h, config/arm/coff.h: Likewise.
15665 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
15666 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
15667 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
15668 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
15669 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
15670 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
15671 * config/i386/sco5.h, config/i386/win32.h: Likewise.
15672 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
15673 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
15674 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
15675 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
15676 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
15677 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
15678 * config/sparc/sysv4.h: Likewise.
15679
15680 * config/nextstep.h: Error until named sections implemented.
15681
15682 * config/a29k/a29k.c (a29k_asm_named_section): New.
15683 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
15684 (vms_section_type_flags, vms_asm_named_section): New.
15685 * config/arm/arm.c (arm_elf_asm_named_section): New.
15686 * config/avr/avr.c (asm_output_section_name): Remove.
15687 * config/avr/avr-protos.h: Update.
15688 * config/c4x/c4x.c (c4x_asm_named_section): New.
15689 * config/h8300/h8300.c (h8300_asm_named_section): New.
15690 * config/i386/i386.c (sco_asm_named_section): New.
15691 * config/i386/winnt.c (SECTION_PE_SHARED): New.
15692 (i386_pe_section_type_flags): New.
15693 (i386_pe_asm_named_section): New.
15694 * config/i386/i386-protos.h: Update.
15695 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
15696 * config/mcore/mcore.c (mcore_asm_named_section): New.
15697 * config/mips/mips.c (iris6_asm_named_section): New.
15698 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
15699 instead of UNIQUE_SECTION_P.
15700 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
15701 (xcoff_asm_named_section): New.
15702 * config/sh/sh.c (sh_asm_named_section): New.
15703 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
15704
15705 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
15706 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
15707 (EH_FRAME_SECTION_NAME): New.
15708 (EXCEPTION_SECTION): New.
15709 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
15710 (DEBUG_*_SECTION): Remove.
15711 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
15712 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
15713 (EH_FRAME_SECTION_ASM_OP): Remove.
15714
15715 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
15716 (ASM_OUTPUT_SECTION_NAME): Remove.
15717 (TARGET_ASM_NAMED_SECTION): New.
15718 (TARGET_HAVE_NAMED_SECTIONS): New.
15719 (TARGET_SECTION_TYPE_FLAGS): New.
15720 (EH_FRAME_SECTION_ASM_OP): Remove.
15721 (EH_FRAME_SECTION_NAME): New.
15722
13104975
ZW
157232001-08-03 Zack Weinberg <zackw@stanford.edu>
15724
15725 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
15726 for complex expressions when cfun == 0.
15727 * doc/extend.texi: Document that __builtin_constant_p can be
15728 used in data initializers as well as functions.
15729
7335a349
AO
157302001-08-03 Alexandre Oliva <aoliva@redhat.com>
15731
15732 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
15733 variable I locally, instead of expecting a declaration in the
15734 calling context.
15735
949f197f
RH
157362001-08-03 Richard Henderson <rth@redhat.com>
15737
15738 * except.c (collect_one_action_chain): Add an explicit cleanup
15739 action if regions surrounding a catch were encoded entirely
15740 within the call-site entry.
15741
c99fa40f
RH
157422001-08-03 Richard Henderson <rth@redhat.com>
15743
15744 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
15745 don't take REGNO of a non-register.
15746
5241c227
JDA
157472001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
15748
15749 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
15750 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
15751 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
15752 (__gthread_mutex_init_function): New function for mutex initialization.
15753
cbec6573 157542001-08-03 Daniel Berlin <dan@cgsoftware.com>
a4d3961a 15755
cbec6573
DB
15756 * Makefile.in: Revert screwed up commit.
15757
70a5787e
SC
157582001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15759
15760 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
15761 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
15762 merged by linker script to get a final _exit().
15763 (__do_global_dtors): New for destructor handling in specific exit
15764 section.
15765 (__do_global_ctors): New for constructors in specific install section.
15766 (__map_data_section): Map data sections before running constructors.
15767 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
15768 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
15769 (DTORS_SECTION_ASM_OP): Likewise.
15770 (CTORS_SECTION_FUNCTION): Define to force a reference to
15771 __do_global_ctors.
15772 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
15773
9ebeebda 157742001-08-03 Daniel Berlin <dan@cgsoftware.com>
a4d3961a 15775
9ebeebda 15776 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
a4d3961a 15777
9ebeebda
DB
15778 * Makefile.in: Add df.h to gcse.c dependencies.
15779
c6b74046
JDA
157802001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
15781
15782 * varasm.c (output_constant_def_contents): Use for the length of a
15783 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
15784 depending on which is larger.
15785
9ebeebda 157862001-08-03 Daniel Berlin <dan@cgsoftware.com>
adfcce61 15787
39f95a2c
JH
15788 * gcse.c: Include df.h for use as a dataflow analyzer.
15789 Remove regvec.
15790 Declaration of reg_set_info: gone.
15791 New df_analyzer variable used by store motion.
15792 (reg_set_info): Deleted.
15793 (mark_mem_regs): New function, analyze regs used by a mem.
15794 (store_ops_ok): Use dataflow analyzer results to determine if
15795 necessary regs are changed in the block.
15796 (find_moveable_store): Remove check for symbol ref, we can handle
15797 much more complex expressions now.
15798 (compute_store_table): Remove most of the code, it's unnecessary
15799 now that the dataflow analyzer records the info for us.
15800 (store_killed_after): Add parameter to say whether to do the
15801 store_ops_okay test, used to speed up testing when we already know
15802 the answer, and just want to know if the store itself was killed.
15803 (build_store_vector): Largely rewritten to calculate the various
15804 vectors properly, and somewhat optimized.
a4d3961a 15805 (store_motion): Init the df_analyzer, get REG_DEF chains.
39f95a2c
JH
15806 Also handle trapping expressions (since mems almost always trap)
15807 (simple_mem): Redefine what a simple mem is.
adfcce61 15808
667ccf73
DD
158092001-08-03 DJ Delorie <dj@redhat.com>
15810
15811 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
15812 set from a constant part of the condition.
15813
0821bff7
AC
158142001-08-01 Andrew Cagney <ac131313@redhat.com>
15815
15816 * mkdeps.c (deps_add_default_target): Make local variable
15817 ``start'' a const char pointer.
15818 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
15819
b953cc4b
RO
158202001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15821
15822 * doc/install.texi (Configuration): Fix markup.
15823 (Specific, i?86-*-udk): Likewise.
15824 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
a4d3961a 15825 --with-gnu-ld.
b953cc4b
RO
15826 Document --enable-threads and --enable-libgcj status.
15827 (Specific, mips-sgi-irix*): Canonicalize triples.
15828 (Specific, mips-sgi-irix5): Warn about problems with this config.
15829 Mention required GNU as patch.
15830 Native assembler problems are fixed.
15831 (Specific, mips-sgi-irix6): Update O32 ABI support status.
15832 Document --enable-threads and --enable-libgcj status.
15833
ef1f96f0
NC
158342001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
15835
15836 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
15837 of mkinstalldirs.
15838
6e5a6a6b
RH
158392001-08-03 Richard Henderson <rth@redhat.com>
15840
15841 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
15842 constant data.
15843
dbc1a163
RH
158442001-08-03 Richard Henderson <rth@redhat.com>
15845
15846 * rtlanal.c (find_first_parameter_load): Stop if we
15847 reach a CODE_LABEL at BOUNDARY.
15848
54aaa4ea
RH
158492001-08-03 Richard Henderson <rth@redhat.com>
15850
15851 * config/alpha/alpha.md (force_movdi): New insn.
15852 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
15853 Tweek FRP marking of VMS prologue insns.
15854 * config/alpha/vms.h (EPILOGUE_USES): New.
15855
0360b30d
RH
158562001-08-02 Richard Henderson <rth@redhat.com>
15857
15858 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
15859
8aeea6e6
LB
158602001-08-02 Lars Brinkhoff <lars@nocrew.org>
15861
15862 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
15863 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
15864 config/convex/convex.h, config/d30v/d30v.c,
15865 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15866 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
15867 config/mips/mips.h, config/mn10200/mn10200.h,
15868 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
15869 config/v850/v850.h, config/vax/openbsd.h,
15870 config/vax/openbsd1.h, config/vax/ultrix.h,
15871 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
15872 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
15873 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
15874 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
15875 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
39f95a2c 15876 in comments and documentation.
8aeea6e6 15877
d82fc108
NB
158782001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
15879
15880 * line-map.c: New.
15881 * line-map.h: New.
15882 * Makefile.in (line-map.o): New.
15883 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
15884 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
15885 * cpperror.c (print_containing_files): Similarly.
15886 (print_location): Update. Don't output a space before _Pragma.
15887 * cppfiles.c (stack_include_file): Set to line 1 immediately.
15888 (stack_include_filee, cpp_make_system_header): Update.
15889 (_cpp_execute_include): Get logical line number right for calling
15890 as-yet-unterminated #include.
15891 * cpphash.h (struct cpp_reader): Add line_maps.
15892 (_cpp_do_file_change): Update.
15893 * cppinit.c (cpp_create_reader): Initialize line maps.
15894 (cpp_destroy): Destroy line maps.
15895 (cpp_start_read): Get logical line number right.
15896 * cpplex.c (parse_string): Only warn once for multi-line strings.
15897 Use boolean variable for null warning.
15898 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
15899 already.
15900 (do_include_common): End the directive early.
15901 (do_line): Don't warn about out-of-range lines in preprocessed
15902 source. Update. Remove unused variables.
15903 (_cpp_do_file_change): Update for new line mapping.
15904 (pragma_cb): New typedef.
15905 (cpp_register_pragma): Stop looking ahead before calling the
15906 handler. Clean up.
15907 (do_pragma_system_header): End directive early.
15908 (cpp_get_line_maps): New.
15909 (cpp_pop_buffer): Fudge logical line. Update.
15910 * cpplib.h: Include line-map.h
15911 (enum cpp_fc_reason): Remove.
15912 (struct cpp_file_change): Update.
15913 (cpp_get_line_maps): New.
15914 * cppmain.c (struct_printer): New member map.
15915 (cb_file_change): Update for new mappings.
15916 * fix-header.c (cb_file_change): Similarly.
15917
6dda00f0
NC
159182001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
15919
15920 * Makefile.in (libgcc.mk): Define mkinstalldirs.
15921 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
15922
215b48a7
LB
159232001-08-02 Lars Brinkhoff <lars@nocrew.org>
15924
15925 * config/vax/vax.c: include expr.h.
15926
e7f62dcf
NC
159272001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
15928
15929 * Makefile.in ($(srcdir)/configure): Only rebuild in
15930 maintainer mode.
15931 ($(srcdir)/config.in): Only define in maintainer mode.
15932 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15933
4b5eb038
DE
159342001-08-02 David Edelsohn <edelsohn@gnu.org>
15935
15936 * doc/install.texi (Install GCC: Binaries): Update Bull info.
15937
578672a2
RO
159382001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15939
15940 * gcc.c (set_collect_gcc_options): New function, split out from
15941 main.
15942 Ignore elided switches.
15943 (do_spec_1): Invoke before executing command.
15944 (set_input): Export.
15945 Move declaration ...
15946 * gcc.h (set_input): ... here.
15947 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
15948 file.
15949
1dbb6023
NS
159502001-08-02 Nathan Sidwell <nathan@codesourcery.com>
15951
15952 Kill -fhonor-std.
15953 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
15954 interaction.
15955 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
15956
d6b6ba29
RS
159572001-08-02 Richard Sandiford <rsandifo@redhat.com>
15958
15959 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
15960 for the unnamed instructions it expands to.
15961
d3259baa
RH
159622001-08-02 Richard Henderson <rth@redhat.com>
15963
15964 * regclass.c (call_really_used_regs): Conditionally define.
15965 (init_reg_sets_1): Don't use it if not defined.
15966 (fix_register): Similarly, don't set it.
15967
eb77eeb3
GP
159682001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15969
15970 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
15971 Correct comment that had been missed in the previous change.
15972
4e08ba6c
SS
159732001-08-01 Stan Shebs <shebs@apple.com>
15974
15975 * config/darwin.c (machopic_stub_name): Try matching by name.
15976 (update_stubs): New function.
15977 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
15978 unconditionally.
15979
7a900ebc
RH
159802001-08-01 Richard Henderson <rth@redhat.com>
15981
15982 * except.c (output_function_exception_table): Use assemble_align.
15983 * varasm.c (assemble_eh_label): Remove.
15984 (assemble_eh_align, assemble_eh_integer): Remove.
15985
551e8a74
RL
159862001-08-01 Robert Lipe <robertl@caldera.com>
15987
39f95a2c 15988 * dwarfout.c: Remove reference to README.DWARF.
551e8a74 15989
fc1296b7
AM
159902001-08-01 Andrew MacLeod <amacleod@redhat.com>
15991
15992 * regclass.c (call_really_used_regs): New array for registers which
15993 are actually used by a call.
15994 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
15995 new array.
15996 (fix_register): Set call_really_used too.
15997 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
15998 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
15999
b38b083a
RH
160002001-08-01 Richard Henderson <rth@redhat.com>
16001
16002 * read-rtl.c (read_name): Consider \r whitespace.
16003
edf1b3f3
AC
160042001-07-11 Andrew Cagney <ac131313@redhat.com>
16005
16006 * config.gcc: Recognize powerpc-*-netbsd*.
a4d3961a 16007
edf1b3f3
AC
16008 * doc/install.texi (Host/target specific installation notes for
16009 GCC): Mention powerpc-*-netbsd*.
16010
16011 * config/rs6000/netbsd.h: New file.
16012 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
16013 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
16014 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
16015 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
16016 (TARGET_VERSION): Redefine.
16017
16018 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
16019 mcall-netbsd as a match for mcall-sysv.
16020 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
16021 (ncrti.S, ncrtn.S): New targets.
16022 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
a4d3961a 16023
edf1b3f3
AC
16024 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
16025 "netbsd' as a V4 ABI.
16026 (ASM_SPEC): Check for -mcall-netbsd.
16027 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
16028 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
16029 (LIB_SPEC, ENDFILE_SPEC): Ditto.
16030 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
16031 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
16032 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
16033 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
16034
16035 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
16036 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
16037
bda33a6e
MK
160382001-08-01 Mark Kettenis <kettenis@gnu.org>
16039
16040 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
16041 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
16042 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
16043 including "unwind-pe.h".
16044
75540af0
JH
16045Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
16046
16047 * rs6000.md (define_splits): Kill unused constraints.
16048
16049Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
16050 Jan Hubicka <jh@suse.cz>
16051
16052 * function.c (thread_prologue_and_epilogue_insns): Kill code
16053 dealing with non-existent CFG.
16054
ec5c56db
KH
160552001-08-01 Kazu Hirata <kazu@hxi.com>
16056
16057 * alias.c: Fix comment formatting.
16058 * bitmap.c: Likewise.
16059 * builtins.c: Likewise.
16060 * calls.c: Likewise.
16061 * c-common.c: Likewise.
16062 * c-decl.c: Likewise.
16063 * c-dump.c: Likewise.
16064 * c-lex.c: Likewise.
16065 * collect2.c: Likewise.
16066 * combine.c: Likewise.
16067 * conflict.c: Likewise.
16068 * cppfiles.c: Likewise.
16069 * cppinit.c: Likewise.
16070 * cpplex.c: Likewise.
16071 * cpplib.c: Likewise.
16072 * cppmacro.c: Likewise.
16073 * cppspec.c: Likewise.
16074 * c-pragma.c: Likewise.
16075 * crtstuff.c: Likewise.
16076 * cse.c: Likewise.
16077 * cselib.c: Likewise.
16078 * c-semantics.c: Likewise.
16079 * c-typeck.c: Likewise.
16080
2a25b23f
L
160812001-08-01 H.J. Lu <hjl@gnu.org>
16082
16083 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
16084
a8329479
L
160852001-08-01 H.J. Lu <hjl@gnu.org>
16086
16087 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
16088
f2e6e530
ZL
160892001-08-01 Ziemowit Laski <zlaski@apple.com>
16090
39f95a2c 16091 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
f2e6e530
ZL
16092 contextualizing Objective-C class name lookup by the lexer.
16093 (typespec_reserved_nonattr): Disable ObjC class name lookup after
16094 seeing a TYPESPEC.
16095 (protocoldef): Add support for forward @protocol declarations.
16096 (yylexname): Suppress ObjC class name lookup in certain contexts;
16097 re-enable after lookup is complete.
16098 (_yylex): Re-enable ObjC class name lookup when certain
16099 punctuation marks are seen.
16100
16101 * objc/objc-act.c (check_protocol_recursively): New function used
16102 for finding circular dependencies in protocols.
16103 (objc_declare_protocols): New function for handling forward
16104 @protocol declarations.
16105 (receiver_is_class_object): Detect the case when 'self' is used
16106 inside of a class method.
16107 (build_message_expr): Issue a warning if class method is desired
16108 but instance method is found instead.
16109 (conforms_to_protocol): Streamline.
16110 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
16111 protocol Foo, even if 'Bar foo' does not.
16112 (check_protocols): Streamline.
16113 (start_protocol): Add checks for circular and duplicate protocol
16114 definitions.
16115 (encode_aggregate_within): For typedefs of structs, encode the
16116 underlying struct.
16117 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
16118 (objc_declare_protocols): New prototype.
16119
1444f2ed
NB
161202001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
16121
16122 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
16123 * cpplex.c (handle_newline): Update prototype. Maintain logical
16124 line number.
16125 (skip_escaped_newlines, skip_block_comment, parse_string):
16126 Update accordingly.
16127 (_cpp_lex_token): Update, and store token position within the token.
16128 * cpplib.h (struct cpp_token): Add line and column entries.
16129 * cppmacro.c (replace_args): Position stringified tokens correctly.
16130
7f8a2125
AJ
161312001-08-01 Andreas Jaeger <aj@suse.de>
16132
16133 * basic-block.h: Add prototype for last_loop_beg_note.
16134
6ad7895a
APB
161352001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
16136
16137 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
16138 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
16139 comment.
16140 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
16141 while handling WITH_CLEANUP_EXPR node. Use second operand calling
16142 expand_decl_cleanup.
16143 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
16144 the first RTX.
16145 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
16146 operand while calling simple_cst_equal.
16147 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
16148 operand is the cleanup expression, the third is the RTL_EXPR.
7f8a2125 16149 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
6ad7895a 16150
b24a9e88
JS
161512001-07-31 Jeff Sturm <jsturm@one-point.com>
16152
39f95a2c 16153 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
b24a9e88 16154
6ea0279f
MG
161552001-07-31 matthew green <mrg@eterna.com.au>
16156
16157 * config.gcc (i386-*-netbsdelf): New description.
16158 * config/i386/netbsd-elf.h: New file.
16159
ae16bf15
GK
161602001-07-30 Geoffrey Keating <geoffk@redhat.com>
16161
16162 * loop.c (check_dbra_loop): Use single_set to compute
16163 jump_label.
16164
2bfcf297
DB
161652001-07-31 Daniel Berlin <dan@cgsoftware.com>
16166
16167 PowerPC reorg and support for powerpc64-*-linux*.
16168
16169 Also fixes emitting of constants on 32 bit and 64 bit
16170 platforms.
7f8a2125 16171
2bfcf297 16172 * config.gcc: powerpc64-*-linux* is a new target.
7f8a2125 16173 Things that needed aix.h now also include xcoff.h
2bfcf297
DB
16174
16175 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
7f8a2125 16176 xcoff.h.
2bfcf297 16177 Move AIX specific stuff into aix.h.
2bfcf297
DB
16178 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
16179 with more than just XCOFF now.
16180 (SET_ASM_OP): Remove, now defined where needed.
16181 (FUNCTION_PROLOGUE): New macro definition.
16182 (FUNCTION_EPILOGUE): New macro definition.
2bfcf297 16183 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
f96850af 16184
2bfcf297
DB
16185 * config/rs6000/xcoff.h: New file.
16186
16187 * config/rs6000/linux64.h: New file.
16188
16189 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
f96850af
DE
16190
161912001-07-31 Alan Modra <amodra@bigpond.net.au>
16192
16193 * rs6000.c (print_operand_address): Handle ELF syntax.
16194 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
16195 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
16196 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
16197
161982001-07-31 David Edelsohn <edelsohn@gnu.org>
16199
16200 * rs6000.c (rs6000_override_options): Only disable
16201 flag_function_sections for XCOFF.
16202 (exact_log2_cint_operand): New predicate.
16203 (reg_or_{add,sub}_cint64_operand): New predicates.
16204 (add_operand): Compare CONST_INT with fewer function calls.
16205 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
16206 (print_operand, case 'p'): Ensure positive operand.
16207 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
16208 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
16209 (PREDICATE_CODES): Add new predicates.
16210 * rs6000.md (addsi3): Split 32-bit constants more correctly.
16211 (divsi3, modsi3): Ensure positive power-of-2.
16212 (adddi3): Use new predicate. Split 32-bit constants more
16213 correctly. Re-arrange splitter to handle any constant.
16214 (subdi3): Use new predicate.
16215 (divdi3, moddi3): Ensure positive power-of-2.
16216 (movdi): Use rs6000_emit_set_const.
16217 (load_toc_v4_pic_di): Delete.
2bfcf297 16218
dc56ceb7
GS
162192001-07-31 Graham Stott <grahams@redhat.com>
16220
16221 * function.c (pad_below): Revert 2001-07-26 patch.
16222
3e42ccd2
JH
16223Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
16224
16225 * reg-stack (convert_regs_1): Fix best edge condition.
16226
940b29aa
JH
16227Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
16228
16229 * jump.c (duplicate_loop_exit_test): Better test for jumps
16230 entering the loop; create loop pre_header.
16231
91abf72d
HP
162322001-07-31 Hartmut Penner <hpenner@de.ibm.com>
16233
39f95a2c 16234 * doc/install.texi: Add s390 and s390x as new targets.
f63d1bf7 16235 * doc/invoke.texi: Add documentation of S/390 and zSeries
39f95a2c 16236 target options.
f63d1bf7 16237 * doc/md.texi: Add documentation of S/390 and zSeries constraints.
91abf72d 16238
8406d023
RZ
162392001-07-30 Roman Zippel <zippel@linux-m68k.org>
16240
16241 * config/m68k/m68k.md: Replace all general_operand with
16242 nonimmediate_operand for all destinations.
16243 * config/m68k/m68k.c (not_sp_operand): Likewise.
16244
4d494dfe
JW
16245Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
16246
39f95a2c 16247 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
4d494dfe 16248
88828291
RH
162492001-07-30 Richard Henderson <rth@redhat.com>
16250
16251 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
16252 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
16253
f18bff15
RZ
162542001-07-30 Roman Zippel <zippel@linux-m68k.org>
16255
16256 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
16257 Add missing doc strings
16258 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
16259 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
16260
0ecf09f9
JH
16261Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
16262
16263 * i386.c (ix86_output_main_function_alignment_hack): New function.
16264 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
16265
16266 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
16267 edges by EDGE_DFS_BACK flag.
16268 (dump_edge_info): Add dfs_back flag.
16269 * basic-block.h (EDGE_DFS_BACK): New constant.
16270 (mark_dfs_back_edges): Declare.
16271 * alias.c (loop_p): Remove.
16272 (mark_constant_function): Use mark_dfs_back_edges.
16273
eaec9b3d
JM
16274 * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
16275 (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
0ecf09f9
JH
16276 (compensate_edge): Break out from ...
16277 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
16278 (convert_regs_2): Set block_done once block is really done;
eaec9b3d 16279 Do updating of the predecessors counts.
0ecf09f9
JH
16280
16281 * toplev.c (rest_of_compilation): Recompute block_for_insn
16282 before post-reload cfg_cleanup.
16283 * function.c (thread_prologue_epilogue_insns):
16284 Call set_block_for_new_insns when emitting prologue directly.
16285
1490f392
AJ
162862001-07-30 Andreas Jaeger <aj@suse.de>
16287
39f95a2c 16288 * jump.c: Add prototype for mark_modified_reg.
1490f392 16289
39f95a2c 16290 * cse.c (set_live_p): Add unused attribute.
1490f392 16291
39f95a2c
JH
16292 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
16293 overflow.
16294 (scan_for_source_files): Use long for count to avoid overflow.
16295 (output_data): Likewise.
16296 (output_data): Don't use string concatatenation to silence gcc
16297 -traditional.
1490f392 16298
39f95a2c 16299 * predict.c: Fix typos and grammar.
1490f392
AJ
16300
16301 * gcse.c (insert_insn_end_bb): Remove unused variables.
16302
a08b2604
JH
16303Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
16304
16305 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
16306 (attempt_auto_inc): LIkewise.
16307 (mark_used_reg): Likewise.
16308 (try_pre_increment_1): Likewise.
16309 * regclass.c (regclass): Likewise.
16310 * global.c (allocno_compare): Update comment; change scaling factor.
16311 * local-alloc.c (QTY_CMP_PRI): Likewise.
16312 * regs.h (REG_FREQ_FROM_BB): New.
16313 (REG_FREQ_MAX): Likewise.
16314
c2c0294a
L
163152001-07-30 H.J. Lu <hjl@gnu.org>
16316
16317 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
16318 -D_GNU_SOURCE.
16319
8597f3dd
L
163202001-07-30 H.J. Lu (hjl@gnu.org)
16321
16322 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
16323 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
16324 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
16325
b3026a92
NC
163262001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
16327
16328 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
16329 as -mthumb-interwork when -mcpu=arm7 is specified.
16330
8b7e92f9
JH
16331Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
16332
16333 * predict.def (noreturn, loop branch, loop exit): Mark as first
16334 match heuristics.
16335
592a6d1d
JH
16336Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
16337
16338 * combine.c (try_combine): Avoid barrier after noop jumps.
16339
09b82253
NB
163402001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
16341
16342 * cpphash.h (struct cpp_reader): Remove import_warning.
16343 * cpplib.c (skip_rest_of_line): Don't bother turning off
16344 macro expansion.
16345 (parse_include): Move include handling to...
16346 (do_include_common): ... here. Move import warning from...
16347 (do_import): ... here.
16348 (do_pragma_poison): Don't do a callback for poison identifiers.
16349 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
16350 * cppmain.c (setup_callbacks): Similarly.
16351
833366d6
JH
16352Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
16353
16354 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
16355 handle multiple sets.
16356 * except.c (sjlj_mark_call_sites): .... here.
16357 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
16358
b5832b43
JH
16359Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
16360
16361 Suggested by Richard Henderson and Richard Kenner:
16362 * combine.c (recog_for_combine): Use the fake recog
16363 only if instruction does not match.
16364 * rtl.h (NOOP_MOVE_INSN_CODE): New.
16365 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
16366
16367 * combine.c (try_combine): Discover noop jump as direct jump.
16368
12285d9d
DB
163692001-07-29 Daniel Berlin <dan@cgsoftware.com>
16370
16371 * df.c (df_rd_global_compute): Add successors to worklist, not
16372 current item.
16373 (df_ru_global_compute): Ditto.
16374
b2d57793
DB
163752001-07-27 Daniel Berlin <dan@cgsoftware.com>
16376
16377 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
16378 increment REG_N_SETS.
16379
163802001-07-26 Daniel Berlin <dan@cgsoftware.com>
16381
16382 * sbitmap.h: New prototype for sbitmap_a_xor_b.
16383
16384 * sbitmap.c (sbitmap_a_xor_b): New function.
16385 ifdef the basic block stuff on IN_GCC.
16386
6d18adbc
NB
163872001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
16388
16389 * cppexp.c (parse_defined): Always record the macro name.
16390 (lex): Don't worry about identifiers, or special-case
16391 CPP_NOT here.
16392 (_cpp_parse_expr): Figure out at the end of the routine
16393 whether we saw a valid !defined() expression.
16394 * cppfiles.c (stack_include_file): Update for mi_valid.
16395 (_cpp_pop_file_buffer): Similarly.
16396 * cpplex.c (_cpp_lex_token): Similarly.
16397 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
16398 mi_if_not_defined, mi_lexed): Remove.
16399 (mi_valid): New.
16400 * cpplib.c (do_if): Simplify.
16401 (do_endif, push_conditional, _cpp_handle_directive): Update
16402 for renaming of mi_state to mi_valid.
16403doc:
16404 * cpp.texi: Add index entries for digraphs, and add comment
16405 that C++ refers to them as alternative tokens.
16406
0068fd96
JH
16407Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
16408
16409 * basic-block.h (CLEANUP_PRE_LOOP): New.
16410 * except.c (finish_eh_generation): Update call of cleanup_cfg.
16411 * sibcall.c (optimize_sibling_calls): Likewise.
16412 * toplev.c (rest_of_compilation): Likewise.
16413 * flow.c (try_forward_edges): Take argument MODE;
16414 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
16415 (try_optimize_cfg): Update call of try_forward_edges.
16416
16417Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
2ea792c2 16418 Jan Hubicka <jh@suse.cz>
0068fd96
JH
16419
16420 * (validate_replace_rtx_1): Fix simplification of MINUS.
16421
df07e07d
NB
164222001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
16423
16424 PR preprocessor/3669
16425 * cppinit.c (init_dependency_output): Turn off dump requests
16426 if sending dependencies to stdout.
16427
587f922a
RH
164282001-07-28 Richard Henderson <rth@redhat.com>
16429
16430 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
16431 not optimizing.
16432
89f355bd
G
164332001-07-28 Golubev I. N. <gin@mo.msk.ru>
16434
16435 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
16436
391522e3
KH
164372001-07-28 Kazu Hirata <kazu@hxi.com>
16438
16439 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
16440 is VAR_DECL first to prevent an ICE.
16441
6681bc1f
RH
164422001-07-28 Richard Henderson <rth@redhat.com>
16443
16444 * varasm.c (immed_real_const_1): Don't elide special cases for
16445 nested functions.
16446 (clear_const_double_mem): Clear const_tiny_rtx too.
16447
a20612aa
RH
164482001-07-28 Richard Henderson <rth@redhat.com>
16449
16450 * dwarf2out.c (dw_val_class_offset): New.
16451 (struct dw_ranges_struct, dw_ranges_ref): New.
16452 (ranges_table, ranges_table_allocated): New.
16453 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
16454 (add_AT_offset, add_ranges, output_ranges): New.
16455 (print_die, output_die): Handle dw_val_class_offset.
16456 (attr_checksum, size_of_die, value_format): Likewise.
16457 (gen_lexical_block_die): Handle non-contiguous blocks.
16458 (gen_block_die): Likewise.
16459 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
16460 if needed. Dump the ranges table.
16461 * final.c (final_start_function): Remove unnecessary notes and
16462 rebuild the block tree before numbering the blocks.
16463 * function.c (reorder_blocks_0): Walk the existing block tree
16464 to unmark all blocks.
16465 (reorder_blocks_1): Create block fragments when duplicate block
16466 notes are seen.
16467 (reorder_fix_fragments): New.
16468 (reorder_blocks): Call it.
16469 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
16470
c2f7bcc3
RH
164712001-07-28 Richard Henderson <rth@redhat.com>
16472
16473 * emit-rtl.c (adjust_address): Make a copy of the memory address.
16474
91d84fad
RH
164752001-07-28 Richard Henderson <rth@redhat.com>
16476
16477 * flow.c (add_to_mem_set_list): New function.
16478 (init_propagate_block_info): Use it.
16479 (mark_set_1): Likewise.
16480 (insn_dead_p): Canonicalize memory address for dead store
16481 comparison. Allow wider mode stores to kill narrower mode stores.
16482 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
16483 (invalidate_mems_from_set): Don't handle MEMs.
16484
0a02170f
KH
164852001-07-28 Kazu Hirata <kazu@hxi.com>
16486
16487 * config/h8300/h8300.h: Fix formatting.
16488
134d3a2e
JH
16489Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
16490
16491 * basic-block.h (EDGE_FREQUENCY): New macro.
16492 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
16493 for new BB/edges.
16494 * flow.c (find_sub_basic_blocks): Likewise.
16495 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
16496 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
16497
16498 * predict.c (DEF_PREDICTOR): New argument FLAGS.
16499 (HITRATE): New macro.
16500 (PRED_FLAG_FIRST_MATCH): New constant.
16501 (predictor_info): New field flgags.
16502 (combine_predictions_for_insn): Use DS theory to combine
16503 probabilities; set the edge probabilities when finished.
16504 (estimate_probability): Avoid duplicated matches
16505 of LOOP_BRANCH heuristics for nested loops; update comment.
16506 * predict.def: Add flags for each prediction, set probabilities
16507 according to B&L paper.
16508 * predict.h (DEF_PREDICTOR): New argument FLAGS.
16509
16510 * profile.c (compute_branch_probabilities): Cleanup way the edge
16511 probabilities are computed and REG_BR_PROB notes are dropped; if
16512 values does not match, emit error.
16513 (init_branch_prob): Do error instead of warning when profile driven
16514 feedback is missing or corrupt.
16515
7f646877
DD
165162001-07-27 DJ Delorie <dj@redhat.com>
16517
16518 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
16519 against a constant, try to adjust the compare to have the desired
16520 constant in it so that min/max optimizations happen more often.
16521
d69d0316
JH
16522Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
16523
16524 * flow.c (last_loop_beg_note): New function.
16525 (redirect_edge_and_branch): Use it.
16526 (split_edge): Likewise.
16527
16528 * alias.c (loop_p): Avoid uninitialized memory access.
16529
16530 * flow.c (try_forward_edges): Avoid accessing freed memory.
16531
16532 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
16533 variable access.
16534
0dd99795
AH
165352001-07-26 Andrew Haley <aph@redhat.com>
16536 Joern Rennecke <amylaar@redhat.com>
16537
16538 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
16539 (SUBTARGET_CPP_ENDIAN_SPEC): New.
16540 (SUBTARGET_CPP_SPEC): New.
16541 (CPP_SPEC): Remove.
16542 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
16543 (SUBTARGET_CPP_PTR_SPEC): New.
16544 (CPP_DEFAULT_CPU_SPEC): New.
16545 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
16546 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16547 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
16548 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
16549 (SUBTARGET_CPP_SPEC): Define as an empty string.
16550
e69aa433
GP
165512001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16552
16553 * doc/install.texi (Configuration): Properly link the host
16554 specific instructions also when generating HTML.
16555
a727094f
JW
16556Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
16557
39f95a2c 16558 * flow.c (redirect_edge_and_branch_force): Test
a727094f
JW
16559 target->global_live_at_start.
16560
732910b9
RH
165612001-07-26 Richard Henderson <rth@redhat.com>
16562
16563 * simplify-rtx.c (avoid_constant_pool_reference): Export.
16564 * rtl.h (avoid_constant_pool_reference): Declare it.
16565 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
16566 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
16567
01f62f01
JH
16568Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
16569
16570 * rtl.h (cleanup_barriers): Declare.
16571 * jump.c (cleanup_barriers): New function.
16572 * toplev.c (rest_of_compilation): Call cleanup_barriers
16573 before loop optimizer and after bb_reorder.
16574
16575 * flow.c (back_edge_of_syntactic_loop_p): New.
16576 (split_edge): Use it.
16577
aa069f77
RO
165782001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16579
16580 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
16581
c96208fa
DC
16582Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
16583
16584 * cse.c (cse_process_notes): Replace any registers if the address
16585 remains valid.
16586
11f68165
JW
16587Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
16588
16589 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
16590 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
16591 (propagate_block): Update prototype.
16592 * flow.c (update_life_info): Simplify the CFG and
16593 recalculate the global regs which are alive when
16594 removing dead code during a global update.
16595 (propagate_block): Return non-zero if an INSN is
16596 deleted.
16597
62c62a4f
RO
165982001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16599
16600 * Makefile.in (LIBICONV): Define.
16601
06e937ed
CM
166022001-07-26 Catherine Moore <clm@redhat.com>
16603
39f95a2c
JH
16604 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
16605 of conditional to avoid tree checking errors.
06e937ed 16606
f3029065
KH
166072001-07-26 Kazu Hirata <kazu@hxi.com>
16608
16609 * regmove.c (regmove_optimize): Don't replace a reg with
16610 another reg of a different mode.
16611
4a121cc3
AM
166122001-07-26 Andrew MacLeod <amacleod@redhat.com>
16613
1490f392 16614 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
ff7cc307 16615 limit length of dependency flush list.
4a121cc3
AM
16616 * params.h (MAX_PENDING_LIST_LENGTH): Define.
16617 * sched-int.h (struct deps): Add pending_flush_length field.
16618 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
16619 has 1 element in it.
16620 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
16621 (sched_analyze): After a jump, if the pending memory flush list is too
16622 large, flush the pending lists.
16623 (init_deps): Initialize pending_flush_length to 0.
16624 * doc/invoke.texi (max_pending_list_length): Document parameter.
16625
440aabf8
NB
166262001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
16627
16628 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
16629 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
16630 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
16631
cef0d199
NB
166322001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
16633
16634 * cpphash.h (struct_lexer_state): Delete was_skipping.
16635 Move skipping here from struct cpp_reader.
16636 * cpplex.c (parse_identifier): Update.
16637 (_cpp_lex_token): Don't skip tokens in a directive.
16638 * cpplib.c (struct if_stack): Update.
16639 (start_directive, end_directive): Don't change skipping state.
16640 (_cpp_handle_directive): Update.
16641 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
16642 (do_else, do_endif): Update; only check for excess tokens if not
16643 in a skipped conditional block.
16644 (push_conditional): Update for new struct if_stack.
16645
5b16f556
GS
166462001-07-26 Graham Stott <grahams@redhat.com>
16647
16648 * function.c (locate_and_pad_parm): Also pad initial offset
16649 so that the total argument size also includes the padding.
16650
166512001-07-26 Graham Stott <grahams@redhat.com>
16652
16653 * gensupport.c (alter_output_for_insn): Correct enable checking failure
16654 change XSTR to XTMPL.
16655
16656 (process_one_cond_exec): Likewise
16657
17eee61c
RH
166582001-07-25 Richard Henderson <rth@redhat.com>
16659
16660 * varasm.c (assemble_variable): Create DECL_RTL before setting
16661 TREE_ASM_WRITTEN.
16662
c4f81e4a
JH
16663Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
16664
16665 * predict.c (estimate_probability): Avoid duplicated predictions.
16666
16667 * loop.c (find_and_verify_loops): Grok multiple barriers.
16668
02e3f1a8
RK
16669Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16670
472385a2
RK
16671 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
16672
02e3f1a8 16673 * dbxout.c: Consistently use putc instead of fputc.
1490f392 16674 (print_wide_int): New function; call instead of direct fprintf.
02e3f1a8
RK
16675 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
16676 (dbxout_type_fields, dbxout_type_method_1): Likewise.
16677 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
16678 (print_int_cst_octal): Likewise.
16679 (print_octal): Show we wrote characters.
16680 (dbxout_type): Set have_used_extensions in more places.
16681
f2d28b14
CM
166822001-07-25 Catherine Moore <clm@redhat.com>
16683
39f95a2c
JH
16684 * config/v850/v850.c (v850_va_arg): Use addr
16685 instead of valist to build incr.
f2d28b14 16686
6e64a52a
JH
16687Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
16688
16689 * flow.c (delete_dead_jumptables): New function.
16690 (life_analyzis): Call it.
02e3f1a8
RK
16691 * bb-reorder.c (skip_insns_after_block): Handle contradictory
16692 sequences.
6e64a52a 16693
7f206d8f
RH
166942001-07-25 Richard Henderson <rth@redhat.com>
16695
16696 * except.c (reachable_handlers): Handle a region being removed
16697 out from under a RESX.
16698
56f19d92
RH
166992001-07-25 Richard Henderson <rth@redhat.com>
16700
16701 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
02e3f1a8 16702 swap GE/GT if it is an fp comparison.
56f19d92
RH
16703
167042001-07-25 Andrew Haley <aph@cambridge.redhat.com>
3237ac18
AH
16705
16706 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
16707 operands.
16708
42f28de9
JL
16709Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
16710
1490f392 16711 * ssa.c (rename_insn_1): Do not wrap an assignment to a
ea0eceb1
JL
16712 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
16713 glitch.
16714
42f28de9
JL
16715 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
16716 throw an exception.
16717 (visit_expression): When attempting to simplify an expression,
16718 retrieve any modes for arguments before they are simplified
16719 to constants.
16720
7c2b017c
AM
167212001-07-25 Andrew MacLeod <amacleod@redhat.com>
16722 Janis Johnson <janis@us.ibm.com>
16723
16724 * stmt.c (expand_goto): A nonlocal goto can be a call too.
16725 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
16726 pointer parameters to match documented usage of nonlocal_goto.
16727 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
16728 parameters to their correct order.
16729 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
16730 parameters to their correct order.
16731
ff3daa88
AM
167322001-07-25 Andrew MacLeod <amacleod@redhat.com>
16733
16734 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
16735
a368a2fa
JH
167362001-07-25 Jan Hubicka <jh@suse.cz>
16737 Richard Henderson <rth@redhat.com>
16738
16739 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
16740 the sequence.
16741 (make_edges): New argument update_p; populate the edge cache if set.
16742 (find_basic_blocks): Update make_edges invocation.
16743
303e979a
JS
167442001-07-24 Joel Sherrill <joel@OARcorp.com>
16745
16746 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
16747
7adb4be8
JS
167482001-07-24 Joel Sherrill <joel@OARcorp.com>
16749
39f95a2c 16750 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
7adb4be8 16751 -Acpu and -Amachine.h.
39f95a2c
JH
16752 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
16753 Corrected header to say ELF not a.out.
16754 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
7adb4be8
JS
16755 when given -msoft-float.
16756
167572001-07-24 Joel Sherrill <joel@OARcorp.com>
bb8602be
JS
16758
16759 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
16760 extra multilib parts like arm-elf.
16761 (i960-*-coff*, i960-*-rtems): Should not use collect2.
16762 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
16763 crtfini.o as extra multilib parts.
16764
e08f13ee
JS
167652001-07-24 Joel Sherrill <joel@OARcorp.com>
16766
16767 * configure.in: Add rtems as a supported thread model.
16768 * gthr-rtems.h: Add missing entry point __gthread_active_p.
16769 * configure: Rebuilt.
16770
0c237688
LB
167712001-07-24 Lars Brinkhoff <lars@nocrew.org>
16772
16773 * stor-layout.c (get_mode_alignment): make it work when
16774 BITS_PER_UNIT is not a power of two.
16775 * builtins.c (get_pointer_alignment): Likewise.
16776
5a2aa3bd
RH
167772001-07-24 Richard Henderson <rth@redhat.com>
16778
16779 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
16780 the retrieved constant into the expected mode.
16781
ca9fef16
JH
16782Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
16783
16784 * flow.c (try_simplify_condjump): Avoid duplicated edges.
16785 (verify_flow_info): Check for duplicated edges; clarify
16786 error reporting.
16787
16788 * flow.c (block_label): Update basic_block_for_insn.
16789 (commit_edge_insertions): Call compute_bb_for_insn.
16790
16791 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
16792 returns too.
16793
16794 * flow.c (redirect_edge_and_branch,
16795 try_optimize_cfg): Use redirect_edge_succ_nodup
16796 (redirect_edge_succ_nodup): New.
16797 * basic_block.h (redirect_edge_succ_nodup): Declare.
16798
16799 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
16800 after gcse.
16801
40fc4e6a
JH
16802Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
16803
16804 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
16805 (try_crossjump_to_edge): Update commetns.
16806 (try_crossjump_bb): Likewise.
16807
e7139885
RH
168082001-07-24 Richard Henderson <rth@redhat.com>
16809
16810 * combine.c (distribute_notes): Move set of need_refresh
16811 for noop_move_p down to catch all cases.
16812
6f862f2f
JH
16813Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
16814
16815 * recog.c (split_all_insns_noflow): New.
16816 * rtl.h (split_all_insns_noflow): Declare.
16817 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
16818 * m68hc11.c (m68hc11_reorg): Likewise.
16819 * sh.c (machine_dependent_reorg): Likewise.
16820 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
16821 call.
16822
615cd49b
AH
168232001-07-18 Andrew Haley <aph@cambridge.redhat.com>
16824
bb8602be
JS
16825 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
16826 (ashlsi3_n splitter): Likewise.
16827 (lshrsi3_n splitter): Likewise.
615cd49b 16828
bb8602be
JS
16829 (GOTaddr2picreg): Make const SImode.
16830 (sym_label2reg): Likewise.
16831 (symGOT2reg): Likewise.
16832 (symGOTOFF2reg) Likewise.
615cd49b 16833
bb8602be 16834 (casesi_worker_0): Make unspec SImode.
615cd49b 16835
2b9d17c7
AH
168362001-07-18 Andrew Haley <aph@cambridge.redhat.com>
16837
bb8602be
JS
16838 * config/sh/sh.c (barrier_align): Check that an operand really is
16839 an insn before extracting its INSN_CODE.
2b9d17c7 16840
cfe1cd40
AH
168412001-07-24 Andrew Haley <aph@cambridge.redhat.com>
16842
16843 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
16844 dangling else.
16845
16846 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
16847 for SImode to prevent overflow.
16848
46d2e8d7
RO
168492001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16850
16851 * config/mips/irix6-libc-compat.c: New file.
16852 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
16853 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
16854 passing workaround.
16855
cd6e5291
LB
168562001-07-24 lars brinkhoff <lars@nocrew.org>
16857
16858 * rtl.texi (REG_POINTER): Document.
16859 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
16860 QFmode, HFmode, TQFmode, QCmode, and HCmode.
16861
8f54d2ff
JH
16862Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
16863
16864 * flow.c (delete_noop_moves): Do not confuse libcall regions.
16865
6a7ca996
RH
168662001-07-23 Richard Henderson <rth@redhat.com>
16867
16868 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
16869
ba412630
KH
168702001-07-23 Kazu Hirata <kazu@hxi.com>
16871
16872 * config/h8300/h8300-protos.h: Add a prototype for
16873 general_operand_dst_push.
1490f392 16874 * config/h8300/h8300.c (general_operand_dst_push): New.
ba412630
KH
16875 * config/h8300/h8300.h (OK_FOR_T): New.
16876 (EXTRA_CONSTRAINT): Use it.
16877 * config/h8300/h8300.md (movqi_push): Remove and integrate into
16878 the existing movqi pattern.
16879 (movhi_push): Likewise.
16880
82efa2e5
KH
16881 * reload.c: Fix comment typos.
16882
21715220
JH
16883Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
16884
16885 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
16886
dd96fbc5
L
168872001-07-23 H.J. Lu (hjl@gnu.org)
16888
16889 * doc/extend.texi: Update __builtin_return_address and
16890 __builtin_frame_address.
16891
c50e5bc0
RH
168922001-07-23 Richard Henderson <rth@redhat.com>
16893
16894 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
16895 before CSE.
16896 * config/i386/i386.md: New setcc+movzbl peephole2.
16897
9099cc4f
NB
168982001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
16899
16900 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
16901 * objc/objc-act.c: Include debug.h.
16902 (synth_module_prologue): Save and restore debug hooks too.
16903
68eb4fb9
LB
169042001-07-23 lars brinkhoff <lars@nocrew.org>
16905
16906 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
16907 and C4X_FLOAT_FORMAT.
16908 (BOOL_TYPE_SIZE): Document.
16909
57de7530
CP
16910Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
16911
16912 * unroll.c (loop_iterations): Fix miscalculation of initial
16913 giv offset.
16914
6e7b03e1
AH
169152001-07-13 Andrew Haley <aph@redhat.com>
16916
bb8602be
JS
16917 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
16918 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
16919 * config/sh/sh.c (sh_can_redirect_branch): New function.
16920 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
16921 * reorg.c (steal_delay_list_from_target): Use
16922 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
6e7b03e1 16923
0dd94abd
JH
16924Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
16925
16926 * flow.c (try_simplify_condjump): Unlink insn chain on
16927 fallthru edge; use can_fallthru.
16928
0005550b
JH
16929Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
16930
16931 * basic-block.h (find_sub_basic_block): Declare.
16932 * flow.c (make_edges): New arguments MIN and MAX;
16933 (find_sub_basic_blocks): Revamp to use make_edges
16934 and purge_dead_edges.
16935 (find_basic_blocks): Update call of find_sub_basic_block.
16936
16937 * recog.c (split_all_insns): Always expect CFG to be consistent;
16938 call find_sub_basic_blocks in case something has changed.
16939 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
16940 has been built.
16941
16942 * basic-block.h (delete_noop_moves): Declare.
16943 * combine.c (combine_instructions): Call it.
16944 (recog_for_combine): Tolerate noop moves
16945 (distribute_notes): Force refresh when register dies at noop move.
16946 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
16947 too.
16948 (life_analysis): Update delete_noop_moves call.
16949 (set_noop_p): Move too ...
16950 * rtlanal.c (noop_move_p): ... here.
16951 * rtl.h (noop_move_p): Declare.
16952
16953 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
16954 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
16955 after combine.
16956 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
eaec9b3d 16957 (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
0005550b 16958
e0120d6e
HPN
169592001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
16960
16961 * reload.c (push_reload): Fix typo in comment.
16962 (find_reloads_address): Ditto.
16963 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
16964
b02eea61
RH
169652001-07-22 Richard Henderson <rth@redhat.com>
16966
16967 * flow.c: Grammar check and clarify a lot of comments.
16968 (try_simplify_condjump): Rename variables to be clearer.
16969 (try_forward_edges): Skip complex and fallthru edges.
16970 Rearrange tests to avoid duplicate checks.
16971 (flow_find_cross_jump): Likewise.
16972 (outgoing_edges_match): Allow match if neither branch has
16973 probability data. Loosen probability match to 5%.
1490f392 16974 (try_crossjump_to_edge): Hoist repeated indirection into
b02eea61
RH
16975 local variables.
16976 (try_crossjump_bb): Don't check complex edges. Eliminate
16977 redundant crossjump tests.
16978 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
16979 checks before more expensive checks.
16980
1f2f8b29
RH
169812001-07-22 Richard Henderson <rth@redhat.com>
16982
16983 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
16984 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
16985 arguments.
16986
97660e20
RH
169872001-07-22 Richard Henderson <rth@redhat.com>
16988
16989 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
16990 (const_sint32_operand): Likewise.
16991 * m68k.md (anon mulsi pattern): Use const_int_operand not
16992 const_sint32_operand.
16993 (umulsi3_highpart): Zero extend a constant input.
16994 (smulsi3_highpart): Don't bother checking SImode constant.
16995 (const_umulsi3_highpart): Give op3 DImode.
16996 (const_smulsi3_highpart): Likewise.
16997
0b6301ae
RH
169982001-07-22 Richard Henderson <rth@redhat.com>
16999
17000 * flow.c (split_block): Make sure bb_note is included in the
17001 new block when splitting before a label.
17002
6b24c259
JH
17003Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
17004
17005 * basic-block.h (redirect_edge_and_branch_force,
17006 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
17007 * flow.c (redirect_edge_and_branch_force,
17008 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
17009 (redirect_edge_and_branch_force): Fix copying of lifeness information.
17010 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
eaec9b3d 17011 * ifcvt.c (dead_or_predictable): Take BB as an new destination
6b24c259
JH
17012 instead of label; update CFG after transformation.
17013 (find_if_case_1): Update call, use redirect_edge_and_branch_force
17014 for finishing the transformation; handle even case where ELSE
17015 does not follow THEN.
17016 (find_if_case_2): Update call of dead_or_predictable; simplify
17017 CFG update.
17018
17019 * emit-rtl.c (split_branch_probability): New global variable.
17020 (try_split): Take care to set split_branch_probability and
17021 create REG_BR_PROB note for new jump insns.
17022 * md.texi (define_split): Document new feature.
17023
17024 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
17025
544f03b4
NB
170262001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
17027
17028 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
17029 (asm_out_file): Remove redundant declaration.
17030 (assemble_asm): Remove old #if 0 block.
17031 (assemble_variable): Remove end of function; debug output is
17032 now handled with global_decl. Remove old #if 0 block. Update.
17033 Remove saved_in_section and associated no-op code.
17034 * Makefile.in (varasm.o): Correct dependencies.
17035
bad1f214
AO
17036Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
17037
17038 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
17039 the definition in defaults.h.
17040
0045d504
JH
17041Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
17042
17043 * jump.c: Update comments.
17044 (delete_barrier_successors, delete_unreferenced_labels,
17045 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
17046 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
17047 jump_optimize, jump_optimize_minimal): Kill.
17048 (rebuild_jump_labels): Move code from jump_optimize_1.
17049 (purge_line_number_notes): Likewise.
17050 (copy_loop_headers): Likewise.
17051 * reg-stack.c: Update comment.
17052 * stmt.c: Likewise.
17053 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
17054 JUMP_AFTER_REGSCAN): Kill.
17055 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
17056 purge_line_number_notes and copy_loop_headers.
17057
3914abb4
NB
170582001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
17059 Richard Henderson <rth@redhat.com>
17060
17061 * dbxout.c (dbxout_global_decl): New.
17062 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
17063 * sdbout.c (sdbout_finish): New.
17064 (sdbout_debug_hooks): Use it, add comments.
17065 (sdbout_global_decl): Defer initialised public vars to
17066 sdbout_finish.
17067 * varasm.c (assemble_variable): Don't output debug information
17068 for file-scope variables.
17069
be7560ea
RH
170702001-07-22 Richard Henderson <rth@redhat.com>
17071
17072 * config/alpha/alpha.c (get_trap_mode_suffix): New.
17073 (get_round_mode_suffix): New.
17074 (print_operand): Use them for [/]. Remove support for [&'`()+].
17075 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
17076 * config/alpha/alpha.md (attr round_suffix): New.
17077 (attr trap_suffix): New.
17078 (all insns): Set them appropriately. Use %/ instead of the
17079 myriad punctuators.
17080
65ecca65
NB
170812001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
17082
17083 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
17084
4e812700
RH
170852001-07-22 Richard Henderson <rth@redhat.com>
17086
17087 * regrename.c (regrename_optimize): Compute nregs for each
17088 potential target register.
17089
f7e10587
NB
170902001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
17091 Richard Henderson <rth@redhat.com>
17092
17093 * dbxout.c (dbxout_global_decl): New.
17094 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
17095 * sdbout.c (sdbout_finish): New.
17096 (sdbout_debug_hooks): Use it, add comments.
17097 (sdbout_global_decl): Defer initialised public vars to
17098 sdbout_finish.
17099 * varasm.c (assemble_variable): Don't output debug information
17100 for file-scope variables.
17101
919b1aec
L
171022001-07-21 H.J. Lu (hjl@gnu.org)
17103
17104 * config/mips/mips.c (mips_cpu): Moved into ...
17105 (override_options): Here.
17106
17107 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
17108 mips_tune.
17109 (mips_cpu): Removed.
17110
0477256c
SC
171112001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17112
17113 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
17114 ("iorqi3"): Likewise.
17115 ("xorqi3"): Likewise.
17116 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
17117 ("*subhi3_sp): Likewise.
17118 ("*subhi3"): Likewise.
1490f392 17119 ("extendhisi2"): Accept D, X and Y as source operand to avoid
0477256c
SC
17120 reload problems.
17121
c4372ef4
NS
171222001-07-21 Nathan Sidwell <nathan@codesourcery.com>
17123
17124 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
17125 * config/freebsd.h: Likewise.
17126 * config/linux.h: Likewise.
17127 * config/openbsd.h: Likewise.
17128 * config/alpha/linux-elf.h: Likewise.
17129 * config/arm/linux-elf.h: Likewise.
17130 * config/d30v/d30v.h: Likewise.
17131 * config/fr30/fr30.h: Likewise.
17132 * config/ia64/aix.h: Likewise.
17133 * config/ia64/ia64.h: Likewise.
17134 * config/mips/linux.h: Likewise.
17135 * config/pj/pj.h: Likewise.
17136 * config/rs6000/linux.h: Likewise.
17137 * config/sparc/linux.h: Likewise.
17138 * config/sparc/linux64.h: Likewise.
17139
90376ae2
BK
171402001-07-20 Bruce Korb <bkorb@gnu.org>
17141
17142 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
17143 because getc() and char* may disagree on signedness.
17144
50b996bf
RH
171452001-07-20 Richard Henderson <rth@redhat.com>
17146
17147 * doc/rtl.texi (REG_DEAD): Update for current semantics.
17148
e9644cfe
RH
17149 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
17150 insns to delete in the presence of cc0 in a jump insn.
17151
ed6ba1a5 17152Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
2ea792c2 17153 Jan Hubicka <jh@suse.cz>
ed6ba1a5
RZ
17154
17155 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
17156 of doing the change by hand.
17157
371b8fc0
JH
17158Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
17159
17160 * rtlanal.c (set_noop_p): Return true for noop jumps.
17161
17162 * expr.c (emit_single_push_insn): Add call to push expander.
17163 * expr.h (optab_index): Add OTI_push
17164 (push_optab): New constant.
17165 * genopinit.c (optabs): Add push_optab.
17166 * optabs.c (init_optab): Init push optab.
17167 * md.texi (push??1): Document
17168
00d0458c
SC
171692001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17170
17171 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
1490f392 17172 expand to emit the pattern; put a REG_INC note for push/pop
00d0458c
SC
17173 instructions.
17174 ("movdf", "movdf_internal"): Likewise.
17175 ("movsi", "movsi_internal"): Likewise.
17176 ("movsf", "movsf_internal"): Likewise.
17177 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
17178
d74e9142
SC
171792001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17180
17181 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
17182 gen_highpart.
17183
1c432a87
DB
171842001-07-20 Daniel Berlin <dan@cgsoftware.com>
17185
17186 * params.def: Change default max inline insns to 100.
17187
9def18da
DN
171882001-07-20 Diego Novillo <dnovillo@redhat.com>
17189
17190 * combine.c (combine_simplify_rtx): Generate a new shift operation
17191 when simplifying the first operand of a (neg (ashift)) expression.
17192
d4845339
RH
171932001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
17194
17195 * regclass.c (N_REG_INTS): Use only 32 bits per element.
17196
171972001-07-20 Kelley Cook <kelley.cook@home.com>
dbd210ef
KC
17198
17199 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
17200 information. Move rest into ...
17201 (*-*-solaris): ... here. Eliminate redundant information and
17202 reword necessary packages section. Delete 4.x assembler bug info.
17203 (sparc-sun-*): Merge into ...
17204 (sparc-sun-sunos*): here.
17205
3a97685a
CM
172062001-07-20 Catherine Moore <clm@redhat.com>
17207
97660e20
RH
17208 * config/v850/v850.md (casesi): Generate LABEL_REF
17209 with Pmode.
3a97685a 17210
d24b3457
JH
17211Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
17212
17213 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
17214 * i386.c (ix86_zero_extend_to_Pmode): Make global.
17215 * i386.md (strclrsi expander): Use it.
17216
bc8d3f91
JH
17217Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
17218
17219 * integrate.c (copy_insn_list): handle
17220 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
17221 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
17222 identically as to CODE_LABEL.
17223
17224 * fold-const (fold): Convert A/B/C to A/(B*C) and
17225 A/(B/C) to (A/B)*C
17226
17227 * except.c (connect_post_landing_pads): Delete the RESX insns.
17228
1f28c666
AH
172292001-07-20 Aldy Hernandez <aldyh@redhat.com>
17230
97660e20 17231 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
1f28c666
AH
17232
17233 * config/mips/mips.md (nmadd/nmsub): Use macro.
17234
002ee64f
NS
172352001-07-20 Nathan Sidwell <nathan@codesourcery.com>
17236
17237 * cppinit.c (remove_dup_dir): Make static.
17238 (remove_dup_dirs): Make static. Only warn about preempting a
17239 system directory with a non-system directory.
17240
038fb2bc
GK
172412001-07-19 Geoffrey Keating <geoffk@redhat.com>
17242
17243 * ifcvt.c (noce_try_store_flag_constants): Correct order
17244 of parameters to trunc_int_for_mode.
17245
be672de8
MM
172462001-07-19 Mark Mitchell <mark@codesourcery.com>
17247
17248 * reorg.c (fill_simple_delay_slots): If an instruction might throw
17249 an exception that will be caught within this function, do not fill
17250 its delay slot with any subsequent instruction.
17251
6dd12198
SE
172522001-07-19 Steve Ellcey <sje@cup.hp.com>
17253
17254 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
17255 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
17256 pointer extension instruction.
17257 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
17258 * simplify-rtx.c (simplify_unary_operation) Likewise.
1490f392 17259 * explow.c (convert_memory_address) Check value of
6dd12198
SE
17260 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
17261 less than zero.
17262 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
17263 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
17264 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
17265 Add Multilib Support.
17266 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
17267 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
17268 Add Multilib Support.
17269 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
17270 support.
17271 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
17272 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
17273 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
17274
0248ce05
AO
172752001-07-19 Alexandre Oliva <aoliva@redhat.com>
17276
17277 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
17278 old and new operands in `<', `3' and `b'.
17279
e1772ac0
NB
172802001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
17281
17282 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
17283 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
17284 (toplev.o): Don't depend on xcoffout.h.
17285 * c-decl.c: Include debug.h
17286 (duplicate_decls): Use debug hook.
17287 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
17288 (dbx_debug_hooks, xcoff_debug_hooks): Update.
17289 (dbxout_types): Remove.
17290 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
17291 * debug.c (do_nothing_debug_hooks): Update.
17292 (debug_true_tree, debug_nothing_rtx): New.
17293 * debug.h (struct rtx_def): New.
17294 (struct gcc_debug_hooks): New hooks ignore_block,
17295 outlining_inline_function and label.
17296 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
17297 dwarf2out_frame_finish): New.
17298 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
17299 Make static, update prototype.
17300 (dwarf2_debug_hooks): Update.
17301 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
17302 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
17303 * dwarfout.c (dwarf_debug_hooks): Update.
17304 * emit-rtl.c: Include debug.h.
17305 (remove_unnecessary_notes): Use debug hook.
17306 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
17307 (final_scan_insn): Use debug hook.
17308 * integrate.c (output_inline_function): Use debug hook.
17309 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
17310 (sdb_debug_hooks): Update.
17311 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
17312 * toplev.c: Don't include xcoffout.h.
17313 (note_outlining_of_inline_function, debug_ignore_block): Remove.
17314 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
17315 Remove.
17316 * tree.h (dwarf2out_do_frame): Remove.
17317
77f43519
CM
173182001-07-19 Catherine Moore <clm@cygnus.com>
17319
1490f392 17320 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
77f43519 17321
d54ef62c
GK
173222001-07-19 Geoffrey Keating <geoffk@redhat.com>
17323
c77fbfbe
GK
17324 * reload1.c (eliminate_regs_in_insn): When updating a set
17325 to the frame pointer to the hardware frame pointer, perform
17326 the update always not just when REPLACE is set.
17327
eb4d554e
GK
17328 * reload1.c (choose_reload_regs): Don't inherit a reload
17329 that crosses multiple registers if registers past the first
17330 don't fit in the desired class.
17331
d54ef62c
GK
17332 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
17333 when negating constants.
17334
7d46d516
TM
173352001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
17336
17337 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
17338 * doc/tree.texi: Ditto.
17339
5442cf15
MK
173402001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
17341 Jakub Jelinek <jakub@redhat.com>
17342
17343 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
17344 (extract_cie_info): Handle "eh" augmentation properly,
17345 remember eh_ptr.
17346 (struct frame_state, __frame_state_for): New.
17347
432fa9f2
RO
173482001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17349
17350 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
17351 HANDLE_SYSV_PRAGMA): Define.
17352 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
17353 previous args.
17354 (copy_object): Caller changed.
17355
bfabbc3c
AS
173562001-07-19 Andreas Schwab <schwab@suse.de>
17357
17358 * configure.in (assembler dwarf2 debug_line support): Define nop
17359 insn for m68k.
17360 * configure: Regenerated.
17361
2b85879e
NB
173622001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
17363
17364 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
17365 dwarfout.h.
17366 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
17367 to conditionally compiled block.
17368 (dbx_debug_hooks, xcoff_debug_hooks): Update.
17369 * dbxout.h (dbxout_function): Remove.
17370 * debug.c (do_nothing_debug_hooks): Update.
17371 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
17372 global_decl, deferred_inline_function.
17373 * dwarf2out.c (dwarf2_debug_hooks): Update.
17374 (dwarf2out_global_decl): New.
17375 * dwarfout.c: Don't include dwarfout.h.
17376 (dwarfout_global_decl, dwarfout_function_decl,
17377 dwarfout_deferred_inline_function): New.
17378 (dwarf_debug_hooks): Update.
17379 * dwarfout.h: Remove.
17380 * final.c: Don't include dwarfout.h.
17381 * sdbout.c (sdbout_global_decl): New.
17382 (sdbout_debug_hooks): Update.
17383 * toplev.c: Don't include dwarfout.h.
17384 (check_global_declarations, rest_of_compilation): Use new debug hooks.
17385 (note_deferral_of_defined_inline_function): Remove.
17386 * toplev.h (note_deferral_of_defined_inline_function): Remove.
17387 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
17388 * ch/lex.c: Don't include dwarfout.h.
17389 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
17390 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
17391 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
17392 * cp/optimize.c: Include debug.h.
17393 (maybe_clone_body): Use debug hook.
17394 * cp/semantics.c: Include debug.h.
17395 (expand_body): Use debug hook.
17396 * po/POTFILES.in: Remove dwarfout.h.
17397
c60e94a7
NB
173982001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
17399
17400 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
17401 * c-parse.in (yyerror, _yylex): Similarly.
17402 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
17403 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
17404 Update comments.
17405 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
17406 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
17407
8458e954
JS
174082001-07-18 Jeff Sturm <jsturm@one-point.com>
17409
17410 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
17411 in-class declaration at -g1. Fixes c++/2814.
17412
d989f648
RH
174132001-07-18 Richard Henderson <rth@redhat.com>
17414
17415 * doc/md.texi (reload_in/out): Document restrictions in predicates
17416 and constraints for these patterns. Document empty string matching
17417 ALL_REGS.
17418
20c93f7c
RO
174192001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17420
17421 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
17422
dc42616f
JH
17423Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
17424
17425 * cse.c: Undo my previous patch.
17426
f91abfce
TT
174272001-07-18 Tom Tromey <tromey@redhat.com>
17428
17429 For PR java/2812:
17430 * configure: Rebuilt.
17431 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
17432 instead.
17433 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
17434
0728902f 17435Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
2ea792c2 17436 Jan Hubicka <jh@suse.cz>
0728902f
RH
17437
17438 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
17439 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
17440 * jump.c (mark_jump_label): Do not forward branches.
17441
f06fbeea
JH
17442Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
17443
17444 * cse.c (delete_trivially_dead_insns): Delete the libcall block
17445 when return value is unused.
17446
222f7ba9
JH
17447Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
17448
17449 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
17450
8b52df45
NP
17451Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
17452
17453 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
17454 on error. We can't blindly return the result of
17455 pthread_mutex_trylock because it returns a positive number on
17456 error, while we must return -1 on error.
17457 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
1490f392 17458 fixes.
8b52df45
NP
17459 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
17460
895b2cfe
AJ
174612001-07-18 Andreas Jaeger <aj@suse.de>
17462
17463 * integrate.c (output_inline_function): Correct type of debug_hooks.
17464
493efd37
TM
174652001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
17466
17467 * combine.c (combine_simplify_rtx): DIV can be treated
17468 associatively for floats if unsafe math optimisations are enabled.
17469
a7c07f1e
RH
174702001-07-17 Richard Henderson <rth@redhat.com>
17471
17472 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
17473
3affaf29
RH
174742001-07-17 Richard Henderson <rth@redhat.com>
17475
17476 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
17477 don't force the function address into a register.
17478 (expand_call, emit_library_call_value_1): Update callers.
17479 * builtins.c (expand_builtin_apply): Likewise.
17480 * expr.h (prepare_call_address): Update decl.
17481
001da62a
CC
174822001-07-17 Chandrakala Chavva <cchavva@redhat.com>
17483
3affaf29
RH
17484 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
17485 config directory.
17486 * config/i386/chorus.h: Move up.
17487 * config/sparc/chorus.h: Likewise.
17488 * config/rs6000/chorus.h: Likewise.
17489 * config/chorus.h: Moved here.
001da62a 17490
01efb963 174912001-07-17 Andreas Schwab <schwab@suse.de>
895b2cfe 17492
2ea792c2
JJ
17493 * configure.in (assembler eh_frame optimization): Handle big
17494 endian.
17495 * configure: Regenerated.
01efb963 17496
b7e9703c
JH
17497Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
17498
17499 * expr.c (epxand_expr): Convert divisions into multiplications by
17500 reciprocals if -ffast-math.
17501
653e276c
NB
175022001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
17503
17504 * dbxout.c (dbxout_really_begin_function): Rename to
17505 dbxout_begin_function.
17506 (dbx_debug_hooks, xcoff_debug_hooks): Update.
17507 (dbxout_begin_function): Remove.
17508 (dbxout_function): Update.
17509 (dbxout_source_line): Update prototype.
17510 * dbxout.h (dbxout_begin_function): Remove.
17511 * debug.c (do_nothing_debug_hooks): Update.
17512 (debug_nothing_tree): Update.
17513 (debug_nothing_charstar_rtx): Remove.
17514 * debug.h (union tree_node): Declare.
17515 (struct rtx_def): Remove.
17516 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
17517 begin_function. Change source_line prototype.
17518 (debug_nothing_tree): New.
17519 (debug_nothing_charstar_rtx): Delete.
17520 (dwarf2out_begin_prologue): Moved from ...
17521 * tree.h: ... here.
17522 * dwarf2out.c (dwarf2_debug_hooks): Update.
17523 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
17524 debug info, call dwarf2out_source_line.
17525 (dwarf2out_souce_line): Update prototype.
17526 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
17527 Change prototype, make static.
17528 (dwarfout_source_line): Update prototype.
17529 (dwarf_debug_hooks): Update.
17530 * dwarfout.h (dwarfout_begin_function): Remove.
17531 * final.c (final_start_function, final_scan_insn): Use appropriate
17532 debug hooks, update to use notice_source_line.
17533 (output_source_line): Rename notice_source_line. Don't call the
17534 source_line debug hook.
17535 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
17536 make static, update prototype.
17537 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
17538 prototype.
17539 (sdbout_end_prologue): New.
17540 (sdbout_source_line): Update prototype.
17541 (sdbout_debug_hooks): Update.
17542 (sdbout_symbol): Remove unused var.
17543 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
17544 Delete.
17545 * varasm.c: Include debug.h.
17546 (assemble_start_function): Use begin_function debug_hook.
17547 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17548 update with prototype.
17549 (xcoffout_source_line): Update prototype.
17550 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
17551 update prototype.
17552 (xcoffout_source_line): Update prototype.
17553
91a18fe0
RH
175542001-07-17 Richard Henderson <rth@redhat.com>
17555
17556 * c-typeck.c (build_binary_op): Do not shorten unsigned
17557 right shift after sign extension.
17558
4ba5f925
JH
17559Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
17560
17561 * combine.c (combine_simplify_rtx): Attempt to simplify
17562 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
17563
17564 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
17565 (simplify_binary_operation, simplify_unary_operation,
17566 simplify_relational_operation): Use it.
17567
17568 * combine.c (combine_simplify_rtx): Don't do associative law
17569 on divisions; allow associative law on floats.
17570
3aa8ab7b
L
175712001-07-17 H.J. Lu <hjl@gnu.org>
17572 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17573
17574 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
17575 ASM_OUTPUT_WEAK_ALIAS are defined.
17576 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
17577 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
17578 Moved ...
17579 * config/mips/iris5.h: ... here.
17580 (HANDLE_SYSV_PRAGMA): Defined as 1.
17581 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
17582 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
17583 symbol.
17584
4b01f8d8
JM
175852001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
17586
17587 * c-parse.in (all_prefix_attributes): New variable.
17588 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
17589 (maybe_resetattrs): New production.
17590 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
17591 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
17592 notype_initdcl, nested_function, notype_nested_function,
17593 component_decl, components, components_notype,
17594 component_declarator, component_notype_declarator,
17595 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
17596 ivars, mydecl, myparm): Update. Avoid prefix attributes just
17597 after a comma being applied to more than one declarator.
17598 * doc/extend.texi (Attribute Syntax): Update. Remove
17599 documentation of bugs that are no longer present.
17600
7a38df19
EC
176012001-07-13 Eric Christopher <echristo@redhat.com>
17602
17603 * config/mips/mips.h: Change TUNE_MIPS* options to use
17604 mips_tune.
17605 (EXTRA_SPECS): Add cc1_cpu_spec.
17606 * config/mips/mips.md (muldf3): Fix typo.
17607
6d5f49b2
RH
176082001-07-16 Richard Henderson <rth@redhat.com>
17609
17610 * config/m68k/m68k.c: Include expr.h and reload.h.
17611 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
17612 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
17613
0021de69
DB
176142001-07-16 Daniel Berlin <dan@cgsoftware.com>
17615 Richard Henderson <rth@redhat.com>
17616
17617 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
17618 (insn_live_p): Fix fall off end of function.
17619 (dead_libcall_p): Remove COUNTS argument; update callers.
17620 (delete_trivially_dead_insns): Remove unused variables.
17621
b3bb6456
AJ
176222001-07-17 Andreas Jaeger <aj@suse.de>
17623
17624 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
17625 x86-64 pic support.
17626
17627 * lcm.c (optimize_mode_switching): Avoid warning for unused
51589632 17628 variable if !NORMAL_MODE.
b3bb6456
AJ
17629
17630 * flow.c (try_crossjump_to_edge): Remove unused variable.
17631
55105156
BK
176322001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
17633
17634 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
17635 atexit declaration in stdlib.h.
17636
176372001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
17638
17639 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
17640
4793dca1
JH
17641Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
17642
17643 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
17644 * except.c (finish_eh_generation): Update call of cleanup_cfg;
17645 do rebuild_jump_labels instead of jump_optimize
17646 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
17647 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
17648 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
17649
17650 * flow.c: Include timevar.h
17651 (find_basic_block): Push/pop timevar;
17652 (cleanup_cfg): Likewise.
17653 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
17654 * Makefile: Add dependencies on timevar.h
17655
17656 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
17657 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
17658
17659 * rtl.h (delete_trivially_dead_insns): Add new parameter.
17660 * toplev.c (rest_of_compilation): Update calls.
17661 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
17662 (delete_trivially_dead_insns): ... here; accept new argument
17663 preserve_basic_blocks; preserve basic blocks if set.
17664
17665 * reg-stack.c (stack_regs_mentioned): Return 0 if
17666 stack_regs_mentioned_data is not initialized.
17667 (reg_to_stack): Make stack_regs_mentioned survive after the
17668 reg-stack is completted; do not call cleanup_cfg.
17669 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
17670 make cleanup_cfg after bb-reorder to output to debug file.
17671
b85946fc
RH
176722001-07-16 Richard Henderson <rth@redhat.com>
17673
17674 * regclass.c (init_reg_sets): Use only 32 bits per initializer
17675 from int_reg_class_contents.
17676
4e2db584
RH
176772001-07-16 Richard Henderson <rth@redhat.com>
17678
17679 * hard-reg-set.h (regs_invalidated_by_call): Declare.
17680 * regclass.c (regs_invalidated_by_call): Move from cse.c.
17681 (init_reg_sets_1): Move initialization from cse_main.
17682 * cse.c (regs_invalidated_by_call): Move to regclass.c.
17683 (cse_main): Move its initialization also.
17684 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
17685 * flow.c (propagate_one_insn): Likewise.
17686 * gcse.c (compute_hash_table): Likewise.
17687 (compute_kill_rd, compute_store_table): Likewise.
17688 * sched-deps.c (sched_analyze_1): Likewise.
17689
cccf0ae8
R
17690Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
17691
17692 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
17693 gen_rtx_SET.
17694
94fc7dea
SE
176952001-07-16 Steve Ellcey <sje@cup.hp.com>
17696
17697 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
17698 in if statement so we don't access undefined memory.
17699
978cf2fc
DB
177002001-07-16 Daniel Berlin <dan@cgsoftware.com>
17701
b3bb6456 17702 * gcse.c: Update comment at top.
ccef9ef5
DB
17703 Update comment on mem handling.
17704 mem_last_set, mem_first_set, mem_set_in_block: gone.
17705 Declaration of reg_set_info: gone.
17706 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
17707 pointless with load_killed_in_block_p (they are *more*
17708 conservative then it, not less, and less accurate).
b3bb6456 17709 (oprs_not_set_p): Ditto.
ccef9ef5
DB
17710 (alloc_gcse_mem): Don't allocate mem_set_in_block
17711 (free_gcse_mem): Don't free it, either.
17712 (record_last_mem_set_info): Update comment in front, remove
17713 mem_*set_* stuff. Note the reason we don't handle stores directly
17714 here.
17715 (compute_hash_table): Update comments to reflect reality. Remove
17716 mem_*set_* references.
17717 (reset_opr_set_tables): Remove mem_*set_* references.
17718 (mark_call): Ditto.
b3bb6456 17719 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
ccef9ef5
DB
17720 (mark_clobber): Ditto (on both parts, we double set here too).
17721 (expr_killed_p): Remove mem_set_in_block test.
17722 (compute_transp): Remove mem_set_in_block test.
17723
978cf2fc 17724 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
b3bb6456 17725 of edge, and removal of phi alternative to dump file.
978cf2fc
DB
17726 (ssa_ccp_substitute_constants): Add note about register now being
17727 constant, and which uses were replaced in what insns to dump file.
17728
23190837
AJ
177292001-07-16 Andreas Jaeger <aj@suse.de>
17730
17731 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
17732 variables of type HOST_WIDEST_INT.
17733
17734 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
17735 (__bb_exit_func): Correct type of count_max to avoid overflow.
17736 (num_digits): Handle long long argument.
17737
17738 * combine.c (gen_lowpart_for_combine): Remove unused variable.
17739
f4dc8d96
NB
177402001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
17741
17742 * output.h (sdb_begin_function_line): Restore as an extern
17743 variable.
17744 * sdbout.c (sdb_begin_function_line): Make extern.
17745
9e9f3ede
RH
177462001-07-15 Richard Henderson <rth@redhat.com>
17747
17748 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
17749 * genrecog.c (maybe_both_true_mode): New.
17750 (maybe_both_true_2): Use it.
17751 (write_switch): Don't put Pmode in a switch.
17752 * rtl.c (mode arrays): Don't explicitly size them.
17753
22fb740d
JH
17754Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
17755
17756 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
17757 handling; move unconditional splitting before mode switching.
17758
17759 * i386.md (type): Add fistp type.
17760 (i387, length_attr, scheduling definitions): Handle this type.
17761 (fix_trunc?f?i2): Revamp to use mode switching.
17762 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
17763 * i386.h (fp_cw_mode): New enum
17764 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
17765 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
17766
135d50f1
RK
17767Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17768
17769 * Makefile.in (integrate.o): Add debug.h.
17770 * integrate.c (debug.h): Add.
17771 (output_inline_function): Save, reset, and restore debug_hooks.
17772
b762a0ef
RH
177732001-07-15 Richard Henderson <rth@redhat.com>
17774
17775 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
17776 instead of COMPARE for the EQUIV expression.
17777
c319629b
RH
177782001-07-15 Richard Henderson <rth@redhat.com>
17779
17780 * flow.c (redirect_edge_and_branch_force): Initialize
17781 global_live_at_start and global_live_at_end.
17782 (allocate_bb_life_data): Export.
17783 * basic-block.h (allocate_bb_life_data): Declare.
17784 * toplev.c (rest_of_compilation): Call it.
17785
25e21aed
RH
177862001-07-15 Richard Henderson <rth@redhat.com>
17787
17788 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
17789 (alpha_tablejump_best_label): New.
17790 * config/alpha/alpha-protos.h: Declare them.
17791 * config/alpha/alpha.md: Use braced strings for code blocks.
17792 (tablejump_osf): Break out add with r29.
17793 (tablejump_osf_internal): Remove.
17794 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
17795 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
17796
03598dea
JH
17797Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
17798
17799 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
17800 of the movable.
17801
17802 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
17803
17804 * i386-protos.h (ix86_split_fp_branch): Update prototype.
17805 (ix86_fp_jump_nontrivial_p): New.
17806 * i386.md (fp_jcc_?): Update call of split_fp_branch;
17807 use ix86_fp_jump_nontrivial_p.
17808 * i386.c (ix86_fp_jump_nontrivial_p): New.
17809 (ix86_split_fp_branch): Accept code instead of rtx.
17810 (ix86_expand_compare): Expand comparison early in case
17811 doing so is resonably cheap.
17812
b8313db6
NC
178132001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
17814
17815 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
17816 not 'machine'.
17817 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
17818 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
17819
e2a12aca
NB
178202001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
17821
17822 * dbxout.c (dbxout_source_line): Make static, update prototype.
17823 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
17824 (dbxout_init, dbxout_finish, dbxout_source_line,
17825 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
17826 * dbxout.h (dbxout_source_line): Delete.
17827 * debug.c (debug_nothing_file, debug_nothing_file_int,
17828 debug_nothing_file_charstar_rtx): New.
17829 (do_nothing_debug_hooks): Update.
17830 (debug_nothing_void, debug_nothing_charstar_rtx,
17831 dwarf2out_end_epilogue): New.
17832 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17833 * debug.h (struct rtx_def): Declare.
17834 (gcc_debug_hooks): New hooks source_line, end_epilogue
17835 and end_function.
17836 (debug_nothing_void, debug_nothing_charstar_rtx,
17837 dwarf2out_end_epilogue): New.
17838 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
17839 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
17840 (dwarf2_debug_hooks): Update.
17841 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
17842 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
17843 * dwarf2out.h (dwarf2out_source_line): Remove.
17844 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
17845 Make static, update prototype.
17846 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
17847 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
17848 (dwarf_debug_hooks): Update.
17849 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
17850 dwarfout_end_function): Remove.
17851 * final.c (profile_function): Use debug hooks for ending functions
17852 and epilogues.
17853 (output_source_line, final_end_function): Update prototype,
17854 use debug hooks.
17855 (final_start_function, final_scan_insn): Update.
17856 * output.h (sdb_begin_function_line): Remove.
17857 (final_end_function): Update prototype.
17858 * sdbout.c (sdb_begin_function_line): Make static.
17859 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
17860 (sdbout_source_line): New.
17861 (sdbout_end_epilogue, sdbout_end_function): Make static, update
17862 prototypes.
17863 (sdb_debug_hooks): Update.
17864 (sdbout_init, sdbout_source_line,
17865 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
17866 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
17867 * toplev.c (compile_file, rest_of_compilation): Update.
17868 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
17869 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
17870 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
17871 Update for prototype changes.
17872 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
17873 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
17874
be7b80f4
RH
178752001-07-15 Richard Henderson <rth@redhat.com>
17876
17877 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
17878 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
17879 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
17880 * config/alpha/alpha.c: Likewise.
17881 * config/alpha/alpha.md: Likewise.
17882 * config/alpha/alpha32.h: Likewise.
17883 * config/alpha/vms.h: Likewise.
17884 (OPEN_VMS): Remove.
17885
736f566a
RH
178862001-07-14 Richard Henderson <rth@redhat.com>
17887
17888 * config/alpha/alpha.md: Use define_constants for unspec values.
17889 Substitute throughout.
17890
e6290e74
TJ
178912001-07-14 Tim Josling <tej@melbpc.org.au>
17892
17893 * tree.def (EXPON_EXPR) remove. Never supported anyway.
17894
3794967f
JDA
178952001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
17896
17897 * pa.md: Remove unused constraints from define_split's.
17898
35cbdf6f
RH
178992001-04-14 Richard Henderson <rth@redhat.com>
17900
17901 * ifcvt.c (find_cond_trap): Test for exit block.
17902
1e5fd094
JH
17903Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
17904
17905 Re-install recently reverted patch.
17906 * emit-rtl.c (try_split): Update mark_jump_label call.
17907 * flow.c (find_sub_basic_blocks): Likewise.
17908 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17909 jump_back_p): Kill.
17910 (mark_all_labels): Kill second parameter.
17911 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17912 (rebuild_jump_labels, jump_optimize_minimal): Update call
17913 of jump_optimize_1.
17914 (jump_optimize_1): Kill crossjumping code.
17915 (mark_jump_label): Kill cross_jump parameter.
17916 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17917 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17918 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17919 splitting.
17920 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17921 DFI_bpro.
17922 (dump_file_info): Likewise.
17923 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17924 reorganize passes to do reg-stack first, bb-reorder second.
17925 * invoke.texi (-d letters doc): Remove the jump2 pass.
17926
999c0669
RH
179272001-07-14 Richard Henderson <rth@redhat.com>
17928
17929 * ifcvt.c (find_cond_trap): New.
17930 (find_if_header): Call it.
17931 (merge_if_block): Relax existing jump sanity check.
17932 * jump.c (jump_optimize_1): Remove conditional trap handling.
17933
7d8b1412
AM
179342001-07-14 Alan Modra <amodra@bigpond.net.au>
17935
17936 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17937 millicode.
17938 (insn_refs_are_delayed): Correct comment.
17939 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
17940 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
17941 instead of r31. Make associated insn !TARGET_64BIT, and
17942 provide an additional 64-bit insn that clobbers r2.
17943 (divsi3): Likewise.
17944 (udivsi3): Likewise.
17945 (modsi3): Likewise.
17946 (umodsi3): Likewise.
17947
1ed672dd
JH
17948Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
17949
17950 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
17951
17952 * flow.c (redirect_edge_and_branch_force, split_edge,
17953 try_crossjump_to_edge): Use set_block_for_new_insns.
17954 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
17955
c51f3aa1
L
179562001-07-13 H.J. Lu (hjl@gnu.org)
17957
17958 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
17959 the correct patch.
17960
ca18be57
GK
179612001-07-13 Geoffrey Keating <geoffk@redhat.com>
17962
17963 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
17964
59387d2e
JM
179652001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
17966
17967 * c-common.c (decl_attributes): Take a pointer to the node to
17968 which attributes are to be attached, and a flags argument.
17969 * c-common.h (enum attribute_flags): New.
17970 (decl_attributes): Update prototype.
17971 * c-decl.c (start_decl, push_parm_decl, finish_struct,
17972 finish_enum, start_function): Update calls to decl_attributes.
17973 * c-parse.in (component_declarator, component_notype_declarator,
17974 label): Update calls to decl_attributes.
17975
48ccfb40
DC
17976Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
17977
17978 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
17979 * config/avr/avr.c (legitimate_address_p): Return value changed
17980 from letter to register classes. For better debugging.
17981
5a4aeb03
KH
179822001-07-13 Kazu Hirata <kazu@hxi.com>
17983
17984 * jump.c (reversed_comparison_code_parts): Fix comment typos.
17985
92e78e59
L
179862001-07-13 H.J. Lu (hjl@gnu.org)
17987
17988 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
17989
f1cf4606
ME
179902001-07-13 Marc Espie <espie@cvs.openbsd.org>
17991
17992 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
17993 correctly for shared configurations.
17994 * config/t-libgcc-pic: New.
17995 * config/{i386,m68k,sparc}/t-openbsd: New.
17996 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
17997 Support -shared. Support debugging libraries with -g.
17998 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
17999 frame information does not emit pointer diffs.
18000 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
18001 emit pointer diffs.
18002
998d20d2
GK
180032001-07-13 Geoffrey Keating <geoffk@redhat.com>
18004
18005 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
18006
1568d79b
DE
180072001-07-13 David Edelsohn <edelsohn@gnu.org>
18008
18009 * combine.c (try_combine): Ensure const_int pow2 is positive.
18010
9628a767
HP
180112001-07-13 Hartmut Penner <hpenner@de.ibm.com>
18012
23190837
AJ
18013 * config.gcc: Add configuration for s/390.
18014 * config/s390/s390.c: New. Subroutines for code generation.
9628a767
HP
18015 * config/s390/s390.h: New. Definitions for s/390.
18016 * config/s390/s390-protos.h: New. Prototypes.
18017 * config/s390/linux.h: New. Definitions for linux for s/390.
18018 * config/s390/linux64.h: New. Definitions for linux for zSeries.
23190837
AJ
18019 * config/s390/t-linux: New. Makefile fragment.
18020 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
9628a767 18021 * config/s390/fixdfdi.h: New. Fix L_fix*di.
23190837 18022
f3ba35e4
JH
18023Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
18024
18025 * emit-rtl.c (try_split): Update mark_jump_label call.
18026 * flow.c (find_sub_basic_blocks): Likewise.
18027 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
18028 jump_back_p): Kill.
18029 (mark_all_labels): Kill second parameter.
18030 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
18031 (rebuild_jump_labels, jump_optimize_minimal): Update call
18032 of jump_optimize_1.
18033 (jump_optimize_1): Kill crossjumping code.
18034 (mark_jump_label): Kill cross_jump parameter.
18035 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
18036 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
18037 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
18038 splitting.
18039 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
18040 DFI_bpro.
18041 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
18042 reorganize passes to do reg-stack first, bb-reorder second.
18043 * invoke.texi (-d letters doc): Remove the jump2 pass.
18044
448d17f9
SE
180452001-07-12 Steve Ellcey <sje@cup.hp.com>
18046
18047 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
18048
6691db8e
JH
18049Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
18050
18051 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
18052 basic blocks.
18053 (verify_flow_info): Make diagnostics prettier.
18054
c35e85f9
JH
18055Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
18056
18057 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
18058
18059 * flow.c (outgoing_edges_match): Return early if condition reversal
18060 failed.
18061
51c6b247
RS
180622001-07-06 Richard Sandiford <rsandifo@redhat.com>
18063
18064 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
18065 (mips_move_2words): When splitting a move into two instructions,
18066 prefix the second address operand with '%D'.
18067
a5a42b92
NB
180682001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
18069
18070 * Makefile.in (final.o): Depend on debug.h.
18071 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
18072 (dbx_debug_hooks): Add new hooks.
18073 (xcoff_debug_hooks): New.
18074 * debug.c (debug_nothing_file_int_int): New.
18075 (do_nothing_debug_hooks): Update.
18076 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
18077 (debug_nothing_file_int_int): New.
18078 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
18079 static, update prototype.
18080 (dwarf2_debug_hooks): Update.
18081 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
18082 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
18083 static, update prototype.
18084 (dwarf_debug_hooks): Update.
18085 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
18086 * final.c: Include debug.h.
18087 (final_scan_insn): Use debug hooks when beginning and ending blocks.
18088 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
18089 static, update prototype.
18090 (sdb_debug_hooks): Update.
18091 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
18092 * toplev.c: Distinguish between xcoff and dbx.
18093
18094 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
18095 Call all debug hooks, not just dwarf ones.
18096
c177db4b
TW
180972001-07-11 Timothy Wall <twall@redhat.com>
18098
4e2db584
RH
18099 * config.gcc: Add configuration for AIX5/IA64.
18100 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
18101 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
c177db4b 18102 support prefix/suffix code.
4e2db584
RH
18103 * config/ia64/t-aix: New. Makefile fragment.
18104 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
c177db4b 18105
4d893612
KH
181062001-07-11 Kazu Hirata <kazu@hxi.com>
18107
18108 * recog.c (validate_change): Fix a comment typo.
18109
7f905405
NB
181102001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
18111
18112 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
18113 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
18114 hooks directly.
18115 * dbxout.c (dbx_debug_hooks): Add new hooks.
18116 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
18117 make static.
18118 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
18119 make static.
18120 * dbxout.h (dbxout_start_new_source_file,
18121 dbxout_resume_previous_source_file): Delete.
18122 * debug.c (do_nothing_debug_hooks): Add new hooks.
18123 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
18124 (debug_nothing_int_charstar, debug_nothing_int): New.
18125 * debug.h (gcc_debug_hooks): New hooks define, undef,
18126 start_source_file and end_source_file.
18127 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
18128 (debug_nothing_int_charstar, debug_nothing_int): New.
18129 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
18130 the conditionally compiled section.
18131 (dwarf2out_start_source_file, dwarf2out_end_source_file,
18132 dwarf2out_define, dwarf2out_undef): Make static.
18133 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
18134 dwarf2out_define, dwarf2out_undef): Remove.
18135 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
18136 (dwarfout_start_source_file, dwarfout_end_source_file,
18137 dwarfout_define, dwarfout_undef): Make static.
18138 (dwarfout_start_source_file_check,
18139 dwarfout_end_source_file_check): New.
18140 (dwarfout_define, dwarfout_finish): Update.
18141 * dwarfout.h (dwarfout_start_new_source_file,
18142 dwarfout_resume_previous_source_file, dwarfout_define,
18143 dwarfout_undef): Remove.
18144 * sdbout.c (sdb_debug_hooks): Add new hooks.
18145 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
18146 make static.
18147 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
18148 make static, take an arg.
18149 * sdbout.h (sdbout_start_new_source_file,
18150 sdbout_resume_previous_source_file): Delete.
18151 * toplev.c (debug_start_source_file, debug_end_source_file,
18152 debug_define, debug_undef): Delete.
18153 * toplev.h (debug_start_source_file, debug_end_source_file,
18154 debug_define, debug_undef): Delete.
18155
18156 * java/jcf-parse.c: Include debug.h.
18157 (parse_class_file): Update to use debug hooks directly.
18158 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
18159
ba4828e0
RK
18160Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18161
18162 * alias.c (set_mem_alias_set): New function.
18163 * rtl.h (set_mem_alias_set): Declare it.
18164 * builtins.c (expand_builtin_return_addr): Call it instead of
18165 using MEM_ALIAS_SET accessor.
18166 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
18167 (get_memory_rtx, expand_builtin_va_arg): Likewise.
18168 (expand_builtin_va_copy):Likewise.
18169 * caller-save.c (setup_save_areas): Likewise.
18170 * calls.c (compute_argument_addresses): Likewise.
18171 * explow.c (set_mem_attributes): Likewise.
18172 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
18173 (expand_assignment, store_constructor_field, store_field): Likewise.
18174 (expand_expr_unaligned): Likewise.
18175 * function.c (assign_stack_temp_for_type): Likewise.
18176 (put_reg_into_stack, gen_mem_addressof): Likewise.
18177 * ifcvt.c (noce_try_cmove_arith): Likewise.
18178 * reload1.c (reload, alter_reg): Likewise.
18179 * config/alpha/alpha.c (get_aligned_mem): Likewise.
18180 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
18181 (alpha_expand_unaligned_store): Likewise
18182 (alpha_expand_unaligned_load_words): Likewise.
18183 (alpha_expand_unaligned_store_words): Likewise.
18184 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
18185 (alpha_expand_epilogue): Likewise.
18186 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
18187 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
18188 * config/i386/i386.c (legitimize_pic_address): Likewise.
18189 * config/i960/i960.c (setup_incoming_varargs): Likewise.
18190 * config/ia64/ia64.c (spill_restore_mem): Likewise.
18191 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
18192 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
18193 * config/mips/mips.c (mips_va_arg): Likewise.
18194 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
18195 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
18196 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
18197 (setup_incoming_varargs, rs6000_va_arg): Likewise.
18198 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
18199 (rs6000_emit_epilogue): Likewise.
18200 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
18201 * config/sparc/sparc.c (sparc_va_arg): Likewise.
18202 * config/v850/v850.c (v850_va_arg): Likewise.
18203
46fac664
JH
18204Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
18205
18206 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
18207 when fallthru edge is present.
18208 (mege_blocks): Handle case where creation of jump insn
18209 is required.
18210
18211 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
18212 CLEANUP_POST_REGSTACK): New constants.
18213 * except.c (finish_eh_generation): Update call of cleanup_cfg,
18214 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
18215 * output.h (cleanup_cfg): Update prototype.
18216 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
23190837 18217 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
46fac664
JH
18218 cleanup_cfg call; kill missleading comment.
18219 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
18220 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
18221 parameter; control optimizations performed using it.
18222 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
18223 try_crossjump_bb): New functions.
18224
9acc24a5
JDA
182252001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
18226
18227 * pa.c (pa_output_function_prologue): Delete prototype. Make function
18228 extern.
18229 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
18230 pa_output_function_prologue.
18231 * pa-protos.h (pa_output_function_prologue): New prototype.
18232
9312aecc
JDA
182332001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
18234
18235 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
18236 and low to get correct sign extension in low+high test.
18237
dec2b703
JJ
182382001-07-11 Janis Johnson <janis@us.ibm.com>
18239
4b9664e2
JJ
18240 * gcov.c (arcdata): Use gcov_type to fix branch percentage
18241 for large hit count.
18242
dec2b703
JJ
18243 * profile.c (branch_prob): Fix .bbg info for computed gotos
18244 and C++ EH code.
18245
40b18c0a
MM
182462001-07-11 Mark Mitchell <mark@codesourcery.com>
18247
23190837 18248 * stmt.c (parse_output_constraint): New function, split out
40b18c0a
MM
18249 from ...
18250 (expand_asm_operands): ... here. Use parse_output_constraint.
18251 * tree.h (parse_output_constraint): Declare it.
18252
a615c28a
RH
182532001-07-11 Richard Henderson <rth@redhat.com>
18254
18255 * bitmap.c: Comment some functions; fiddle whitespace.
18256 (bitmap_free): Don't export.
18257 (bitmap_element_allocate): Use memset.
18258 * bitmap.h (bitmap_free): Don't declare.
18259
5a660bff
DB
182602001-07-11 Daniel Berlin <dan@cgsoftware.com>
18261
18262 * gcse.c, lcm.c, sched-deps.c:
18263 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
18264
18265 * flow.c (flow_loops_find): Free dom if we found no loops, since
18266 we aren't going to save it.
18267
18268 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
18269 done.
18270
1a9485cf
JL
18271Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
18272
18273 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
18274
c8383050
RK
18275Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18276
18277 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
18278 #ifndef DWARF2_DEBUGGING_INFO.
18279
bd77ba51
RS
182802001-07-11 Richard Sandiford <rsandifo@redhat.com>
18281
18282 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
18283
b5265b32
RS
182842001-07-11 Richard Sandiford <rsandifo@redhat.com>
18285
18286 * config/mips/mips.c (gen_int_relational): Tell the caller not to
18287 reverse a branch if a NE comparison is implemented with GTU.
18288
b87c8c8c
RS
182892001-07-11 Richard Sandiford <rsandifo@redhat.com>
18290 H.J. Lu <hjl@gnu.org>
18291
18292 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
18293 constant addresses.
18294 (call_internal2): Likewise.
18295 (call_value_internal1): Likewise.
18296 (call_value_internal2): Likewise.
18297 (call_value_multiple_internal1): Likewise.
18298 (call_value_multiple_internal2): Likewise.
18299
0407c02b
KH
183002001-07-10 Kazu Hirata <kazu@hxi.com>
18301
18302 * calls.c (emit_library_call_value_1): Fix a comment typo.
18303 * dwarf2out.c (mem_loc_descriptor): Likewise.
18304 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
18305
a1b2ebc0
DB
183062001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
18307
608fe35b 18308 * simplify-rtx.c (simplify_subreg): Fix typo in comment
a1b2ebc0 18309
07217645
RK
18310Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18311
18312 * recog.c (offsettable_address_p): Handle LO_SUM case.
18313 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
18314 instead of plus_constant.
23190837 18315
91667711
SC
183162001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18317
18318 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
18319 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
18320
d7624dc0
RK
18321Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18322
18323 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
18324 adjust_address_nv instead of plus_constant.
18325
a51d908e
NB
183262001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
18327
18328 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
18329 dwarf2out.o): Depend on debug.h, wrap long lines.
18330 * dbxout.c: Include debug.h.
18331 (dbx_debug_hooks): New.
18332 (dbxout_init): Make static, take just 2 args.
18333 (dbxout_finish): Make static.
18334 * dbxout.h (dbxout_init, dbxout_finish): Delete.
18335 * debug.c: New file.
18336 * debug.h: New file.
18337 * dwarf2out.c: Include debug.h.
18338 (dwarf2_debug_hooks): New.
18339 (dwarf2out_init): Make static.
18340 (dwarf2out_finish): Make static, take 2 args.
18341 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
18342 * dwarfout.c: Include debug.h.
18343 (dwarf_debug_hooks): New.
18344 (dwarfout_init): Make static.
18345 (dwarfout_finish): Make static, take 2 args.
18346 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
18347 * sdbout.c: Include debug.h.
18348 (sdb_debug_hooks): New.
18349 (sdbout_init): Make static, take 2 args.
18350 * sdbout.h (sdbout_init): Delete.
18351 * toplev.c: Include debug.h.
18352 (debug_hooks): New.
18353 (compile_file): Set deubg_hooks based on command line options.
18354 Use the hooks unconditionally rather than conditional compilation.
18355
af5c573a
JL
18356Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
18357
18358 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
18359 first_insn_after_basic_block_note instead.
18360
18361 * df.c (df_bb_refs_unlink): #if 0 out for now.
18362
183632001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
18364
18365 * ssa.h: Add prototype for ssa_const_prop
18366 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
18367 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
18368 (ssa_fast_dce): Remove unused variable
18369
64dfaa76
GDR
183702001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
18371
18372 * diagnostic.c (finish_diagnostic): Rename to
18373 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
18374 calls thourghout.
18375
84db136d
JM
183762001-07-10 Jason Merrill <jason_merrill@redhat.com>
18377
8aaf55ac
JM
18378 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
18379 .loc support.
18380
84db136d 18381 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
23190837 18382 (dump_file): Only pad the demangled name with spaces if the
84db136d
JM
18383 mangled name was padded with spaces.
18384
fd052ec3
BS
183852001-07-10 Bernd Schmidt <bernds@redhat.com>
18386
18387 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
18388 edge detection.
18389
62926f0b
RK
18390Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18391
10c2a453
RK
18392 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
18393 extraction if no direct load if either EXPAND_CONST_ADDRESS or
18394 EXPAND_INITIALIZER.
18395
62926f0b
RK
18396 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
18397 whether can put offset inside LO_SUM to check mode alignment, not size.
18398
acdcefcc
GDR
183992001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
18400
18401 * doc/tm.texi (Misc): Fix thinko.
18402
07167a18
JM
184032001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
18404
18405 * regmove.c (replace_in_call_usage): Fix warnings.
18406 * sched-deps.c (add_dependence): Fix warnings.
18407 * simplify-rtx.c (simplify_subreg): Likewise.
18408 Return NULL_RTX instead of NULL.
18409
18410 * reg-stack.c (emit_swap_insn): Eliminate warnings.
18411 (subst_asm_stack_regs): Likewise.
18412
18413 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
18414 warnings.
18415
18416 * dwarf2out.c (output_call_frame_info): Declare i as int.
18417 (build_abbrev_table): Declare n_alloc as int.
18418 (dwarf2out_finish): Initialize die.
18419 * except.c: Declare sjlj_funcdef_number as unsigned.
18420 (connect_post_landing_pads): Declare j as unsigned.
18421 (convert_to_eh_region_ranges): Initialize call_site.
18422 (output_function_exception_table): Initialize tt_format_size.
18423 * expr.c (move_by_pieces_1): Initialize to1.
18424 (store_constructor): Initialize minelt and maxelt.
18425 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
18426 * function.c (instantiate_decls): Avoid signed/unsigned warning.
18427
18428 * c-decl.c (combine_parm_decls): Unused, remove.
18429 * c-tree.h: Remove prototype for combine_parm_decls.
18430
18431 * reload.c (push_reload): Fix warning.
18432 (regno_clobbered_p): Likewise.
18433 * reload1.c (replace_pseudos_in_call_usage): Likewise.
18434 (reload_combine): Likewise.
18435
18436 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
18437 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
18438 warnings.
18439 * bitmap.c (bitmap_operation): Change user.
18440 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
18441
4608d36c
EC
184422001-07-10 Eric Christopher <echristo@redhat.com>
18443
18444 * config/mips/mips.c (override_options): Fix typo.
18445
f6155fda
SS
184462001-07-09 Stan Shebs <shebs@apple.com>
18447
18448 * target.h (struct gcc_target): New fields init_builtins and
18449 expand_builtin.
18450 * target-def.h (TARGET_INIT_BUILTINS): New macro.
18451 (TARGET_EXPAND_BUILTIN): New macro.
18452 (TARGET_INITIALIZER): Add them.
18453 * builtins.c: Include target.h.
18454 (expand_builtin): Use targetm.expand_builtin.
18455 (default_init_builtins): New function.
18456 (default_expand_builtin): New function.
18457 * expr.h (default_init_builtins): Declare.
18458 (default_expand_builtin): Declare.
18459 * c-common.c (c_common_nodes_and_builtins): Use
18460 targetm.init_builtins.
18461 * defaults.h (MD_INIT_BUILTINS): Remove.
18462 * Makefile.in (builtins.o): Depend on target.h.
18463
18464 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
18465 (TARGET_EXPAND_BUILTIN): Define.
18466 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
18467 (MD_EXPAND_BUILTIN): Remove.
18468
18469 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
18470 (TARGET_EXPAND_BUILTIN): Define.
18471 (c4x_init_builtins): Make endlink arg a local.
18472 (c4x_print_operand): Fix typos in adjust_address usages.
18473 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
18474 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
18475 (MD_EXPAND_BUILTIN): Remove.
18476
18477 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
18478 (TARGET_EXPAND_BUILTIN): Define.
18479 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
18480 (ix86_init_builtins): Call new function only if TARGET_MMX.
18481 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
18482 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
18483 (MD_EXPAND_BUILTIN): Remove.
18484
18485 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
18486 (TARGET_EXPAND_BUILTIN): Define.
18487 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
18488 (MD_EXPAND_BUILTIN): Remove.
18489
18490 * doc/tm.texi: Document these changes.
18491
2b1d9dc0
DN
184922001-07-09 Diego Novillo <dnovillo@redhat.com>
18493
18494 * basic-block.h (tree_node): Forward declare if needed.
18495 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
18496 (BLOCK_HEAD_TREE): Define.
18497 (BLOCK_END_TREE): Define.
18498 (struct loops): Rename field 'tree' to 'tree_root'.
4608d36c 18499 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
2b1d9dc0
DN
18500 'end_tree'.
18501 (flow_loops_tree_build): Rename reference to field 'tree' to
18502 'tree_root'.
18503 (flow_loops_level_compute): Ditto.
18504 * predict.c (estimate_bb_frequencies): Ditto.
18505 * tree.h (struct tree_common): Add field 'aux'.
18506
70bdc2ff
SS
185072001-07-09 Stan Shebs <shebs@apple.com>
18508
18509 * config/darwin.c (darwin_encode_section_info): Don't mark any
18510 DECL_EXTERNAL node as defined.
18511
d777856d
JDA
185122001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
18513
18514 * pa.c (pa_init_machine_status, pa_mark_machine_status,
18515 pa_free_machine_status, hppa_init_pic_save): Delete.
18516 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
18517 (hppa_profile_hook): Use hppa_pic_save_rtx.
18518 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
18519 hppa_init_pic_save): Delete.
18520 (hppa_pic_save_rtx): Declare.
18521 * pa.md (call, call_value, sibcall, sibcall_value,
18522 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
18523
aa3c0d59
KH
185242001-07-09 Kazu Hirata <kazu@hxi.com>
18525
18526 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
18527 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
18528
af076e58
AJ
185292001-07-09 Andreas Jaeger <aj@suse.de>
18530
18531 * output.h: Add declaration of final_forward_branch_p.
18532
18533 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
18534
18535 * varray.c: Include errors.h for internal_error and trim_filename
18536 declarations.
18537
18538 * Makefile.in (varray.o): Add errors.h.
18539
fb7e77d7
TM
185402001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
18541
18542 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
18543 * optabs.c (have_add2_insn): Check whether the add insn chosen
18544 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
18545 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
18546
0b47e4c1
JL
18547Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
18548
18549 * Makefile.in (OBJS): Add ssa-ccp.o
18550 (ssa-ccp.o): Add dependencies.
18551 * toplev.c (DFI_ssa_ccp): New dump file enum.
18552 (dump_file): Add entry for dumping after SSA CCP.
18553 (flag_ssa_ccp): New flag variable.
18554 (f_options): Add -fssa-ccp.
18555 (rest_of_compilation): Run SSA CCP if requested.
18556 * timevar.def (TV_SSA_CCP): New timevar.
18557 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
18558 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
18559 Fix minor typo in SSA DCE documentation.
18560 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
18561 Add documentation for new dump option. Renumber dump files
18562 appropriately.
18563
5222e470
JH
18564Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
18565
18566 * emit-rtl.c (gen_highpart_mode): New.
18567 * rtl.h (gen_highpart_mode): Declare.
18568 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
18569 operand can be VOIDmode constant.
18570
2b2c8b3e
JH
18571Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
18572
18573 * flow.c (redirect_edge_and_branch_force): New.
18574 (can_fallthru): Ensure that basic blocks are succeeding.
18575 (try_optimize_cfg): Do not delete basic block if it is the last one.
18576
18577 * flow.c (try_redirect_by_replacing_jump): Do not remove
18578 jumps with side effects, unlink chain on fallthru edge;
18579 set block for new jump instruction; avoid basic block to
18580 over by line number note.
18581
18582 * flow.c (try_simplify_condjump): Verify that the condjump
f5143c46 18583 is not always falling through.
2b2c8b3e
JH
18584
18585 Re-install patch:
18586 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18587
18588 * flow.c (forwarder_block_p): Fix for fallthru blocks.
18589 (try_redirect_by_replacing_jump): Update properly the count
18590 and frequency information.
18591
60a97cd4
RK
18592Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18593
823e3574
RK
18594 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
18595 address that is a LO_SUM specially.
18596 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
18597
60a97cd4
RK
18598 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
18599
18600 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
18601 (operand_subword): Use them.
18602 (change_address_1): Renamed from change_address; new arg VALIDATE.
18603 * expr.h: Reflect above changes; change_address now macro.
18604 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
18605 making MEM.
18606 * cselib.c (add_mem_for_addr): Likewise.
18607 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
18608 * regmove.c (try_apply_stack_adjustment): Likewise.
18609 * reload.c (push_reload, make_memloc): Likewise.
18610 * reload1.c (eliminate_regs): Likewise.
18611 * simplify-rtx.c (simplify_replace_rtx): Likewise.
18612 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
18613 adjust_addess.
18614 * combine.c (make_extraction, simplify_shift_const): Likewise.
18615 (gen_lowpart_for_combine): Likewise.
18616 * cse.c (gen_lowpart_if_possible): Likewise.
18617 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
18618 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
18619 * optabs.c (gen_move_insn): Likewise.
18620 * reload1.c (alter_reg): Likewise.
18621 * simplify-rtx.c (simplify_subreg): Likewise.
18622 * stmt.c (expand_anon_union_decl): Likewise.
18623 * recog.c (validate_replace_rtx_1): Likewise.
18624 (expr.h): Include.
18625 * Makefile.in (recog.o): Add $(EXPR_H).
18626 * explow.c (stabilize): Call replace_equiv_address.
18627 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
18628 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
18629
053a35af
AH
186302001-07-03 Andrew Haley <aph@redhat.com>
18631
18632 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
18633 the mode of the memory location.
18634
db42058b
BT
186352001-07-09 Bo Thorsen <bo@suse.co.uk>
18636
18637 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
18638
17b53c33
NB
186392001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
18640
18641 * final.c (output_addr_const): Use target opening and
18642 closing parentheses.
18643 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
18644 defaults, add to TARGET_ASM_OUT.
18645 * target.h (struct gcc_target): Add open_paren and close_paren.
18646 * doc/md.texi: Update.
18647 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
18648 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
18649 TARGET_ASM_CLOSE_PAREN.
60a97cd4 18650 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17b53c33 18651 Override.
60a97cd4 18652 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17b53c33 18653 Override.
60a97cd4
RK
18654 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
18655 * config/a29k/a29k.h: Similarly.
18656 * config/alpha/alpha.h: Similarly.
18657 * config/arc/arc.h: Similarly.
18658 * config/arm/aof.h: Similarly.
18659 * config/arm/aout.h: Similarly.
18660 * config/avr/avr.h: Similarly.
18661 * config/c4x/c4x.h: Similarly.
18662 * config/clipper/clipper.h: Similarly.
18663 * config/convex/convex.h: Similarly.
18664 * config/d30v/d30v.h: Similarly.
18665 * config/dsp16xx/dsp16xx.h: Similarly.
18666 * config/elxsi/elxsi.h: Similarly.
18667 * config/fr30/fr30.h: Similarly.
18668 * config/h8300/h8300.h: Similarly.
18669 * config/i370/i370.h: Similarly.
18670 * config/i386/i386.h: Similarly.
18671 * config/i860/i860.h: Similarly.
18672 * config/i960/i960.h: Similarly.
18673 * config/ia64/ia64.h: Similarly.
18674 * config/m32r/m32r.h: Similarly.
18675 * config/m68hc11/m68hc11.h: Similarly.
18676 * config/m68k/m68k.h: Similarly.
18677 * config/m88k/m88k.h: Similarly.
18678 * config/mcore/mcore.h: Similarly.
18679 * config/mips/mips.h: Similarly.
18680 * config/mn10200/mn10200.h: Similarly.
18681 * config/mn10300/mn10300.h: Similarly.
18682 * config/ns32k/ns32k.h: Similarly.
18683 * config/pa/pa.h: Similarly.
18684 * config/pdp11/pdp11.h: Similarly.
18685 * config/pj/pj.h: Similarly.
18686 * config/romp/romp.h: Similarly.
18687 * config/rs6000/rs6000.h: Similarly.
18688 * config/sh/sh.h: Similarly.
18689 * config/sparc/sparc.h: Similarly.
18690 * config/v850/v850.h: Similarly.
18691 * config/vax/vax.h: Similarly.
18692 * config/we32k/we32k.h: Similarly.
17b53c33 18693
b41df7f6
JM
186942001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
18695
18696 * doc/c-tree.texi: Document representation of attributes.
18697
648c546a
JM
186982001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
18699
18700 * doc/tm.texi: Update some places for the rename of target to
18701 targetm. Fix typo.
18702
12a68f1f
JM
187032001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
18704
18705 * target.h (struct gcc_target): Add insert_attributes.
18706 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
18707 (TARGET_INITIALIZER): Update.
18708 * tree.c, tree.h (default_insert_attributes): New function.
18709 Update comments on other default functions to refer to targetm,
18710 not target.
18711 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
18712 TARGET_INSERT_ATTRIBUTES.
18713 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
18714 * c-common.c (decl_attributes): Use targetm.insert_attributes.
18715 Don't use PRAGMA_INSERT_ATTRIBUTES.
18716 * Makefile.in (c-common.o): Depend on $(TARGET_H).
18717 * c-decl.c (start_decl, start_function): Don't call
18718 SET_DEFAULT_DECL_ATTRIBUTES.
18719 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18720 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
18721 declare.
18722 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
18723 (c4x_check_attribute): Avoid modifying attribute list itself.
18724 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
18725 Make static.
18726 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
18727 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
18728 declare.
18729 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
18730 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
18731 Make static.
18732 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
18733 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
18734 declare.
18735 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
18736 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
18737 Adjust parameters. Make static.
18738
f7a4cec0
JM
187392001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
18740
18741 * c-common.c (decl_attributes): Only take a single attributes
18742 parameter.
18743 * c-common.h (decl_attributes): Update prototype.
18744 * c-decl.c (start_decl, start_function): Only take a single
18745 attributes parameter. Update calls to decl_attributes.
18746 (finish_struct, finish_enum): Update calls to decl_attributes.
18747 (push_parm_decl): Expect unified list of attributes. Update call
18748 to decl_attributes.
18749 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
18750 notype_nested_function, component_declarator,
18751 component_notype_declarator, label): Update calls to
18752 decl_attributes.
18753 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
18754 lists that are passed to push_parm_decl.
18755 * c-tree.h (start_function, start_decl): Update prototypes.
18756 * config/sh/sh-protos.h, config/sh/sh.c
18757 (sh_pragma_insert_attributes): Only take a single attributes
18758 parameter.
18759 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
18760 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
18761 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
18762 build_module_descriptor, generate_static_references,
18763 generate_strings, build_selector_translation_table,
18764 generate_descriptor_table, generate_protocols,
18765 generate_ivars_list, generate_dispatch_table,
18766 generate_protocol_list, generate_category,
18767 generate_shared_structures, really_start_method, add_objc_decls,
18768 generate_classref_translation_entry): Update calls to start_decl
18769 and start_function.
18770 (build_tmp_function_decl, start_method_def): Unify attribute lists
18771 that are passed to push_parm_decl.
18772
b4c25db2
NB
187732001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
18774
18775 * final.c (no_asm_to_stream): New.
18776 (final_scan_insn): Use target structures for prologue ends
18777 and epilogue starts.
18778 * output.h (no_asm_to_stream): New.
18779 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
18780 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
18781 (TARGET_ASM_OUT): Update.
18782 * target.h (struct gcc_target): New members function_end_prologue
18783 and function_begin_epilogue.
60a97cd4
RK
18784 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
18785 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
18786 * config/alpha/alpha.c (output_end_prologue): Rename to
b4c25db2
NB
18787 alpha_output_function_end_prologue. Use in target struct
18788 and make static.
60a97cd4
RK
18789 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
18790 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
18791 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
b4c25db2
NB
18792 ia64_output_function_end_prologue. Use in target struct
18793 and make static.
18794 (ia64_function_prologue, ia64_funciton_epilogue): Rename
18795 mistyped prototypes.
60a97cd4
RK
18796 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
18797 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
18798 Delete.
18799 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
b4c25db2 18800 an use in target struct, make static.
60a97cd4
RK
18801 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
18802 Delete.
b4c25db2 18803
45c8268d
RH
188042001-07-08 Richard Henderson <rth@redhat.com>
18805
18806 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
18807
d5d6a58b
RH
188082001-07-08 Richard Henderson <rth@redhat.com>
18809
18810 * config/i386/i386.md: Remove constraints strings from define_split
18811 and define_peephole2 patterns.
18812 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
18813 (eh_return): Use them.
18814
7c16328b
RH
188152001-07-08 Richard Henderson <rth@redhat.com>
18816
18817 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
18818 Document MD_FALLBACK_FRAME_STATE_FOR.
18819
8dd5d49d
SC
188202001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18821
18822 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
18823 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
18824 elimination.
18825 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
18826
13daf3c1
NC
188272001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
18828
18829 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
18830 of the label inside NAME as opposed to just the end of NAME.
18831
8289c43b
NB
188322001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
18833
18834 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
18835 * config/alpha/alpha.c (alpha_init_machine_status,
18836 alpha_mark_machine_status, alpha_free_machine_status): Delete.
18837 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
18838 (vms_valid_decl_attribute_p): Make static, conditionally compile.
18839 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
18840
f6897b10
SS
188412001-07-06 Stan Shebs <shebs@apple.com>
18842
18843 * target.h (targetm): Rename global from "target", so as not to
18844 conflict with local variables.
18845 * c-decl.c: Ditto.
18846 * c-typeck.c: Ditto.
18847 * final.c: Ditto.
18848 * tree.c: Ditto.
18849 * cp/decl.c: Ditto.
18850 * cp/decl2.c: Ditto.
18851 * cp/typeck.c: Ditto.
18852 * 1750a/1750a.c: Ditto.
18853 * a29k/a29k.c: Ditto.
18854 * arc/arc.c: Ditto.
18855 * arm/arm.c: Ditto.
18856 * avr/avr.c: Ditto.
18857 * clipper/clipper.c: Ditto.
18858 * convex/convex.c: Ditto.
18859 * d30v/d30v.c: Ditto.
18860 * dsp16xx/dsp16xx.c: Ditto.
18861 * elxsi/elxsi.c: Ditto.
18862 * fr30/fr30.c: Ditto.
18863 * h8300/h8300.c: Ditto.
18864 * i370/i370.c: Ditto.
18865 * i386/i386.c: Ditto.
18866 * i860/i860.c: Ditto.
18867 * i960/i960.c: Ditto.
18868 * ia64/ia64.c: Ditto.
18869 * m32r/m32r.c: Ditto.
18870 * m68hc11/m68hc11.c: Ditto.
18871 * m68k/m68k.c: Ditto.
18872 * m88k/m88k.c: Ditto.
18873 * mips/mips.c: Ditto.
18874 * ns32k/ns32k.c: Ditto.
18875 * pa/pa.c: Ditto.
18876 * pdp11/pdp11.c: Ditto.
18877 * romp/romp.c: Ditto.
18878 * rs6000/rs6000.c: Ditto.
18879 * sh/sh.c: Ditto.
18880 * sparc/sparc.c: Ditto.
18881 * vax/vax.c: Ditto.
18882 * we32k/we32k.c: Ditto.
18883 * doc/tm.texi: Update the manual to match.
18884
84fc8b47
RH
188852001-07-06 Richard Henderson <rth@redhat.com>
18886
18887 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
18888 DWARF2_UNWIND_INFO not just whether it is defined.
18889
4531c1c7
DN
188902001-07-06 Diego Novillo <dnovillo@redhat.com>
18891
18892 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
18893 call to simplify_binary_operation returns a new pattern.
18894
39bd2948
RL
188952001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
18896
18897 * glimits.h (__SHRT_MAX__): New.
18898 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
18899 (SHRT_MAX): Define in terms of __SHRT_MAX__.
18900
8fa2140d
JM
189012001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
18902
18903 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
18904 avoid warnings.
18905
87e08c69
RH
189062001-07-06 Richard Henderson <rth@redhat.com>
18907
18908 * bitmap.c (bitmap_release_memory): Move adjacent to the
18909 allocation functions.
18910 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
18911 the implementation. Binary search for the set bit.
18912 (bitmap_union_of_diff): Allocate the temporary on the stack
18913 instead of using xmalloc.
18914
0dab343a
RH
189152001-07-06 Richard Henderson <rth@redhat.com>
18916
18917 * genrecog.c (validate_pattern): Warn for constraints in
18918 define_{expand,split,peephole2}. Remove strict_low_part
18919 before looking up match_dup.
18920
15c0d35d
DD
189212001-07-06 DJ Delorie <dj@redhat.com>
18922
18923 * doc/gcc.texi (Makefile): Rename to be a more general purpose
18924 chapter about various build hints and history. Add section
18925 talking about the various types of native and cross builds.
18926
00478a05
NB
189272001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
18928
18929 * Makefile.in (final.o): Depend on target.h.
18930 * final.c: Include target.h.
18931 (default_function_pro_epilogue): New.
18932 (final_start_function): Use target structure for function prologues.
18933 (final_end_function): Use target structure for function epilogues.
18934 * fold-const.c (real_hex_to_f): Constify s and p.
18935 * output.h (default_function_pro_epilogue): New.
18936 * real.h (real_hex_to_f): Update prototype.
18937 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18938 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18939 (TARGET_INITIALIZER): Update.
18940 * target.h (gcc_target): Add struct asm_out.
18941 * doc/tm.texi: Update.
18942
18943config:
18944 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
18945 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
18946 in cpu/cpu.c, or rename old functions consistently. Take
18947 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
18948 redundant macros and prototypes. Make new functions static.
18949
18950 * 1750a/1750a.c: Similarly.
18951 * 1750a/1750a.h: Similarly.
18952 * a29k/a29k-protos.h: Similarly.
18953 * a29k/a29k.c: Similarly.
18954 * a29k/a29k.h: Similarly.
18955 * arc/arc-protos.h: Similarly.
18956 * arc/arc.c: Similarly.
18957 * arc/arc.h: Similarly.
18958 * arm/arm-protos.h: Similarly.
18959 * arm/arm.c: Similarly.
18960 * arm/arm.h: Similarly.
18961 * avr/avr-protos.h: Similarly.
18962 * avr/avr.c: Similarly.
18963 * avr/avr.h: Similarly.
18964 * clipper/clipper-protos.h: Similarly.
18965 * clipper/clipper.c: Similarly.
18966 * clipper/clipper.h: Similarly.
18967 * convex/convex.c: Similarly.
18968 * convex/convex.h: Similarly.
18969 * d30v/d30v-protos.h: Similarly.
18970 * d30v/d30v.c: Similarly.
18971 * d30v/d30v.h: Similarly.
18972 * d30v/d30v.md: Similarly.
18973 * dsp16xx/dsp16xx-protos.h: Similarly.
18974 * dsp16xx/dsp16xx.c: Similarly.
18975 * dsp16xx/dsp16xx.h: Similarly.
18976 * elxsi/elxsi.c: Similarly.
18977 * elxsi/elxsi.h: Similarly.
18978 * fr30/fr30.c: Similarly.
18979 * fr30/fr30.md: Similarly.
18980 * h8300/h8300-protos.h: Similarly.
18981 * h8300/h8300.c: Similarly.
18982 * h8300/h8300.h: Similarly.
18983 * i370/i370-protos.h: Similarly.
18984 * i370/i370.c: Similarly.
18985 * i370/i370.h: Similarly.
18986 * i386/i386.c: Similarly.
18987 * i386/osf1elf.h: Similarly.
18988 * i386/osfrose.h: Similarly.
18989 * i860/i860-protos.h: Similarly.
18990 * i860/i860.c: Similarly.
18991 * i860/i860.h: Similarly.
18992 * i960/i960-protos.h: Similarly.
18993 * i960/i960.c: Similarly.
18994 * i960/i960.h: Similarly.
18995 * ia64/ia64-protos.h: Similarly.
18996 * ia64/ia64.c: Similarly.
18997 * ia64/ia64.h: Similarly.
18998 * m32r/m32r-protos.h: Similarly.
18999 * m32r/m32r.c: Similarly.
19000 * m32r/m32r.h: Similarly.
19001 * m68hc11/m68hc11-protos.h: Similarly.
19002 * m68hc11/m68hc11.c: Similarly.
19003 * m68hc11/m68hc11.h: Similarly.
19004 * m68k/crds.h: Similarly.
19005 * m68k/dpx2.h: Similarly.
19006 * m68k/m68k-protos.h: Similarly.
19007 * m68k/m68k.c: Similarly.
19008 * m68k/m68k.h: Similarly.
19009 * m68k/news.h: Similarly.
19010 * m88k/m88k-protos.h: Similarly.
19011 * m88k/m88k.c: Similarly.
19012 * m88k/m88k.h: Similarly.
19013 * mips/mips-protos.h: Similarly.
19014 * mips/mips.c: Similarly.
19015 * mips/mips.h: Similarly.
19016 * ns32k/merlin.h: Similarly.
19017 * ns32k/ns32k.c: Similarly.
19018 * ns32k/ns32k.h: Similarly.
19019 * ns32k/tek6000.h: Similarly.
19020 * pa/pa-protos.h: Similarly.
19021 * pa/pa.c: Similarly.
19022 * pa/pa.h: Similarly.
19023 * pdp11/2bsd.h: Similarly.
19024 * pdp11/pdp11-protos.h: Similarly.
19025 * pdp11/pdp11.c: Similarly.
19026 * pdp11/pdp11.h: Similarly.
19027 * romp/romp-protos.h: Similarly.
19028 * romp/romp.c: Similarly.
19029 * romp/romp.h: Similarly.
19030 * rs6000/rs6000-protos.h: Similarly.
19031 * rs6000/rs6000.c: Similarly.
19032 * rs6000/rs6000.h: Similarly.
19033 * rs6000/sysv4.h: Similarly.
19034 * sh/sh-protos.h: Similarly.
19035 * sh/sh.c: Similarly.
19036 * sh/sh.h: Similarly.
19037 * sparc/sparc-protos.h: Similarly.
19038 * sparc/sparc.c: Similarly.
19039 * sparc/sparc.h: Similarly.
19040 * vax/vax.c: Similarly.
19041 * vax/vax.h: Similarly.
19042 * vax/vms.h: Similarly.
19043 * we32k/we32k.c: Similarly.
19044 * we32k/we32k.h: Similarly.
19045
b62c8881
JL
19046Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
19047
19048 * basic-block.h (first_insn_after_basic_block_note): Declare.
19049 * flow.c (first_insn_after_basic_block_note): Define. Moved
19050 from...
19051 * ssa.c (first_insn_after_basic_block_note): Remove.
19052 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
19053 necessary.
19054 (ssa_eliminate_dead_code): Properly update the CFG and PHI
19055 nodes when we find a dead conditional branch. Insert BARRIERs
19056 after any blocks with no successors, but which do not have
19057 any BARRIERs.
19058
9d99ca5b
ZW
190592001-07-06 Zack Weinberg <zackw@stanford.edu>
19060
19061 * varray.c (varray_check_failed): Use internal_error.
19062
fc6aa0a9
AH
190632001-07-05 Andrew Haley <aph@redhat.com>
19064
19065 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
19066 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
19067 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
19068
6331d1c1
JM
190692001-07-02 Jason Merrill <jason_merrill@redhat.com>
19070
19071 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
19072 reference if the target constant is also a SYMBOL_REF.
19073
7dac2f89
EC
190742001-07-05 Eric Christopher <echristo@redhat.com>
19075
6331d1c1
JM
19076 * config/mips/mips.h (MASK_MIPS3900): Remove.
19077 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
19078 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
19079 (TARGET_MIPS3900): Change to use mips_arch.
19080 (TARGET_MIPS4000): New.
19081 (TARGET_MIPS4100): New.
19082 (TARGET_MIPS4300): New.
19083 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
19084 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
19085 for -mipsX.
19086 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
19087 (ISA_HAS_BRANCHLIKELY): To here.
19088 (CC1_CPU_SPEC): New.
19089 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
19090 (mips_arch_string): Declare.
19091 (mips_arch): Declare.
19092 (TARGET_OPTIONS): Add -march and -mtune.
19093
19094 * config/mips/mips.c (mips_arch_string): New.
19095 (mips_arch): New.
19096 (override_options): Handle -march for codegen and -mtune
19097 for scheduling. Use mips_arch. Move tx39 target default here.
19098 (mips_parse_cpu): Move error message to override_options.
19099
19100 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
19101
19102 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
19103
19104 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
19105 (MIPS Options): Ditto. Change mcpu entry to historical text.
7dac2f89
EC
19106
191072001-07-05 H.J. Lu (hjl@gnu.org)
19108
4e2db584
RH
19109 * config/mips/mips.c (mips_parse_cpu): New function to parse
19110 -march=*/-mcpu=*.
7dac2f89 19111
a2497896
JW
191122001-07-05 Jim Wilson <wilson@redhat.com>
19113
19114 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
19115 * config/ia64/t-ia64: Likewise.
19116 (LIB1ASMFUNCS): Update comment.
19117
9da6e781
DE
191182001-07-05 David Edelsohn <edelsohn@gnu.org>
19119
19120 * doc/install.texi (Install GCC: Binaries): Fix typo.
19121
43a72755
SC
191222001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19123
7dac2f89
EC
19124 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
19125 reference using the stack pointer, adjust it since we push Y
43a72755
SC
19126 temporarily.
19127 ("*ashrsi3"): Likewise.
19128 ("*lshrsi3"): Likewise.
19129
35f0a736
SC
191302001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19131
19132 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
19133 when -fomit-frame-pointer is used.
19134
35428bb9
JO
191352001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
19136
19137 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
19138 (try_redirect_by_replacing_jump): Reverse updating properly the
19139 count and frequency information. Reverse removing cc0 setter.
19140 (forwarder_block_p): Reverse fixing for fallthru blocks.
19141
0259b07a
DD
191422001-07-05 DJ Delorie <dj@redhat.com>
19143
19144 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
19145 (translate_options): If the above is defined, use it to map
19146 given options to new options.
19147 * doc/tm.texi: Document it.
19148
081ca317
BL
191492001-07-05 Brad Lucier <lucier@math.purdue.edu>
19150 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19151
19152 * doc/invoke.texi (Optimize Options): Document that -fgcse may
19153 cause programs using computed gotos to run more slowly.
19154
021c4bfd
RO
191552001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19156
19157 * doc/install.texi (Specific): Markup, spelling and typo fixes.
19158 Fixed sorting.
19159 Consistently require binutils 2.11.2, not prereleases.
19160 (Specific, decstation-*): Canonicalize as mips-dec-*.
19161 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
19162 always necessary.
19163 (Specific, m68k-altos): Removed reference to README.altos, deleted.
19164 (Specific, mips-*): Reword MIPS C compiler requirements.
19165 (Specific, powerpc*-*-*): New, mention --with-cpu once.
19166 (Specific, sunv5): Removed, obsolete.
19167
aafdcfcd
NS
191682001-07-05 Nathan Sidwell <nathan@codesourcery.com>
19169
19170 * dwarf2out.c (output_loc_list): Use an all ones mask for
19171 .text asm output and don't rely on long long
19172 literals. Reformat some long lines.
19173
6c7f693e
AJ
191742001-07-05 Andreas Jaeger <aj@suse.de>
19175
19176 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
19177 section.
19178
cc260610
DB
191792001-07-04 Daniel Berlin <dan@cgsoftware.com>
19180
19181 * dwarf2out.c (dwarf2out_define): Update comment.
19182 (dwarf2out_undef): Ditto.
19183 (dwarf2out_start_source_file): Ditto.
19184 (dwarf2out_end_source_file): Ditto.
19185 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
19186 since we never call the start/end debug hook for the primary file.
19187
cc32b876
KH
191882001-07-04 Kazu Hirata <kazu@hxi.com>
19189
19190 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
19191 from shll.
19192
dbead49c
NS
191932001-07-04 Nathan Sidwell <nathan@codesourcery.com>
19194
19195 * cppinit.c (remove_dup_dirs): Inform if a system include
4e2db584 19196 directory is being reordered.
dbead49c
NS
19197 * doc/invoke.texi (Directory Options): GCC warns if you hide a
19198 system include.
19199 * doc/cpp.texi (Search Paths): Likewise.
19200 * doc/gcc.texi (Interoperation): Remove information about
19201 -I/usr/include.
19202
0cf97c8b
NS
192032001-07-04 Nathan Sidwell <nathan@codesourcery.com>
19204
19205 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
19206 (VARRAY_TOP_CHAR_PTR): Likewise.
19207
bbed13b1
KG
192082001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19209
19210 * gcc.c (process_command): Don't assign elements of a const char*.
19211
2b1b6bf9
RK
19212Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19213
19214 * emit-rtl.c (change_address): Don't abort if invalid address while
19215 reload is in progress.
19216
84a5b4f8
DB
192172001-07-04 Daniel Berlin <dan@cgsoftware.com>
19218
19219 * c-lex.c (cb_file_change): Pass line number to
6c7f693e 19220 debug_start_source_file.
84a5b4f8
DB
19221 (cb_undefine): Pass correct line number to debug_undef.
19222
19223 * toplev.c (debug_start_source_file): Add line number to
19224 parameters. Pass it along to dwarf2out_start_source_file.
19225 (decode_g_option): Stop resetting debug level back to normal when
19226 we change debug formats, unless the current level is
19227 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
19228 3).
6c7f693e 19229
84a5b4f8
DB
19230 * toplev.h (debug_start_source_file): Add line number to
19231 parameters.
6c7f693e 19232
2b1b6bf9
RK
19233 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
19234 parameters.
84a5b4f8
DB
19235
19236 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
19237 parameters.
6c7f693e 19238 Output debug_macinfo data for starting file if requested.
84a5b4f8
DB
19239 (dwarf2out_end_source_file): Output debug_macinfo data for ending
19240 file if requested.
2b1b6bf9
RK
19241 (dwarf2out_define): Output debug_macinfo data for defining a macro
19242 if requested.
84a5b4f8
DB
19243 (dwarf2out_undef): Output debug_macinfo data for undefining a
19244 macro if requested.
19245 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
19246 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
19247 (macinfo_section_label): New. DWARF2 macro info section label.
19248 (dwarf2out_init): If we want macro info, output the start label
19249 for the section.
19250 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
19251 attribute to the compilation unit die pointing to the macro info.
19252
192532001-07-04 Daniel Berlin <dan@cgsoftware.com>
19254
19255 * dwarf2out.c (new_loc_list): Move to inside #ifdef
19256 DWARF2_DEBUGGING_INFO.
19257 (add_loc_descr_to_loc_list): Ditto.
19258 (output_loc_list): Ditto.
19259 Also, fix thinko in curr not being initialized.
19260 (gen_internal_sym): Ditto.
6c7f693e 19261
792760b9
RK
19262Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19263
19264 * emit-rtl.c (replace_equiv_address): New function.
19265 * expr.h (replace_equiv_address): New declaration.
19266 * explow.c (validize_mem): Call it instead of change_address and
19267 also call if -fforce-addr and address is constant.
19268 * expr.c: Replace more calls to change_address with adjust_address
19269 and/or replace_equiv_address or to validize_mem.
19270 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
19271 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
19272 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
19273 * config/i370/i370.md, config/i860/i860.md: Likewise.
19274 * config/i960/i960.md, config/mips/mips.c: Likewise.
19275 * config/mips/mips.md, config/pa/pa.md: Likewise.
19276 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
19277 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
19278
266aae9b
KG
192792001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19280
19281 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
19282
19283 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
19284 function.
19285
0671eaf6
JM
192862001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
19287
19288 * doc/include: New directory.
19289 * doc/fdl.texi: Move to doc/include/fdl.texi.
19290 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
19291 * doc/include/funding.texi, doc/include/gpl.texi: New files.
19292 * doc/gcc.texi: Use funding.texi and gpl.texi.
19293 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
19294 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
19295 Update dependencies and use -I $(docdir)/include.
19296
77b6797a
AG
192972001-07-04 Anthony Green <green@redhat.com>
19298
19299 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
19300
e9d21442
GP
193012001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19302
19303 * doc/install.texi (sparc64-*-*): Remove garbage.
19304
d2037d01
JM
19305Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
19306
19307 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
19308 Fix typo in last change to use adjust_address.
19309
37324a54
GP
193102001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19311
19312 * doc/install.texi (Specific): Update information for *-*-solaris*.
19313
17ab7c59
RK
19314Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19315
19316 * explow.c (plus_constant_wide): Reinitialize Y for restart.
19317
70fb5453
SS
193182001-07-03 Stan Shebs <shebs@apple.com>
19319
0cf97c8b 19320 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
70fb5453
SS
19321 case for flag_no_mach_text_sections.
19322 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
0cf97c8b
NS
19323 * config/darwin.c (flag_no_mach_text_sections): Remove.
19324 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
70fb5453 19325
b72f00af
RK
19326Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19327
19328 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
19329 and avoid checking for constant as first operand.
19330 * recog.c (find_constant_term_loc): No longer static.
19331 (adj_offettable_operand): Delete.
19332 * rtl.h (adj_offsettable_operand): Delete declaration.
19333 (find_constant_term): Add declaration.
19334 * caller-save.c: Replace calls to adj_offsettable_operand with calls
19335 to adjust_address.
19336 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
19337 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
19338 * config/i386/i386.c, config/i386/i386.md: Likewise.
19339 * config/i860/i860.c, config/i960/i960.c: Likewise.
19340 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
19341 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
19342 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
19343 * config/mips/mips.c, config/mips/mips.md: Likewise.
19344 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
19345 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
19346 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
19347 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
19348 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
19349 * config/ns32k/ns32k.md: Likewise.
19350
3b324340
ZW
193512001-07-03 Zack Weinberg <zackw@stanford.edu>
19352
19353 * rtl.c (copy_rtx): Handle 'T' format letter.
19354 * gensupport.c (collect_insn_data): Likewise.
19355 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
19356
bf4eebe0
NC
193572001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
19358
19359 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
19360 -B option. Use 'dir' not 'foo' as example directory name.
19361
c1911346
RO
193622001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19363
19364 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
19365 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
19366
f89dec57
JM
193672001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
19368
19369 * doc/cppinternals.texi: Improve formatting and logical markup.
19370
5b7c7046
AJ
193712001-07-03 Andreas Jaeger <aj@suse.de>
19372
19373 * Makefile.in (insn-recog.o): Add dependency on reload.h.
19374
19375 * genrecog.c (write_header): Include reload.h for prototypes in
19376 insn-recog.c.
19377
f5f4be42
NB
193782001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
19379
19380config:
19381 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
19382 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
19383 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
19384 i386_pe_valid_type_attribute_p): Add.
19385 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
19386 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
19387
ed8908e7
RK
19388Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19389
19390 * explow.c (plus_constant_wide, case LO_SUM): New case.
19391 (plus_constant_for_output_wide): Delete.
19392 * rtl.h (plus_constant_for_output): Delete.
19393 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
19394 instead of plus_constant_for_output.
19395 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
19396 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
19397 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
19398 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
19399 * config/sparc/sparc.md: Likewise.
19400 Convert some change_address calls to adjust_address.
19401
aee96fe9
JM
194022001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
19403
19404 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
19405 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
19406 documentation of -std and -Wwrite-strings.
19407
8bf4dfc2
GK
194082001-07-02 Geoffrey Keating <geoffk@redhat.com>
19409
19410 * cse.c (canon_hash): Don't register registers in very small
19411 register classes, as extending their lifetime might cause
19412 reload to fail.
19413
f8d1529b
JH
19414Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
19415
19416 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
19417
19418 * flow.c (forwarder_block_p): Fix for fallthru blocks.
19419 (try_redirect_by_replacing_jump): Update properly the count
19420 and frequency information.
19421
0826f1d8
JL
19422Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
19423
19424 * toplev.c (dump_file_index): Move SSA dumps just after first
19425 jump dump.
19426 (dump_file): Corresponding changes.
19427 (rest_of_compilation): Move SSA path to just after the first
19428 jump pass.
19429 * doc/gcc.texi (Passes): Update due to movement of SSA path.
19430 * doc/invoke.texi: Update dump file #s as they were completely
19431 out of date with reality.
19432
918a6124
GK
194332001-07-02 Geoffrey Keating <geoffk@redhat.com>
19434
19435 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
19436
19437 * expr.c (emit_move_insn_1): Deal with non-default
19438 STACK_PUSH_CODE.
19439
19440 * expr.c (emit_single_push_insn): Fix warning.
19441
194422001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
19443
19444 * expr.c (emit_move_insn_1): Avoid modifying
19445 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
19446
f4ef873c
RK
19447Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19448
19449 * emit-rtl.c (adjust_address): New function.
19450 * expr.h (adjust_address): Add declaration.
19451 * builtins.c: Replace some calls to change_address with calls to it
19452 or to validize_mem.
19453 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
19454 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
19455 * config/arm/arm.c, config/convex/convex.c: Likewise.
19456 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
19457 * config/i386/i386.c, config/i386/i386.md: Likewise.
19458 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
19459 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
19460 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
19461 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
19462 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
19463
becbcf96
JW
194642001-07-02 Jim Wilson <wilson@redhat.com>
19465
19466 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
19467
194682001-07-02 Steve Ellcey <sje@cup.hp.com>
19469
4e2db584
RH
19470 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
19471 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
becbcf96 19472
a01eb545
ZW
194732001-07-02 Zack Weinberg <zackw@stanford.edu>
19474
19475 * cppinit.c (lang_defaults): New table.
19476 (set_lang): Just read from lang_defaults into the live options
19477 structure.
19478
51817b10
ZW
194792001-07-02 Zack Weinberg <zackw@stanford.edu>
19480
19481 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
19482 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
19483 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
19484
eea81d3e
RO
194852001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19486
19487 * doc/install.texi: Various spelling and markup fixes.
19488 (Installing GCC): Component specific installation instructions are
19489 gone.
19490 Fix reference.
19491 Warn about removing old install dir in the presence of shared libs.
19492 (Configuration): Invoke with options target to match configure
19493 --help.
19494 Consistently refer to gas, gld pathnames.
19495 Invert --enable-multilib documentation.
19496 Remove references to old compiler versions.
19497
faf041ed
RK
19498Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19499
19500 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
19501
213ba345
RO
195022001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19503
19504 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
19505 section.
19506 (Specific, mips*-sgi-irix5): Note IDO download.
19507 Reworded MIPS C hints.
19508 Use GNU as instead of GAS.
19509 Markup fixes.
19510 Removed SGI Freeware reference, IRIX 6 only.
19511 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
19512 Note N64 library requirement/workaround.
19513 Update O32 hints.
19514 Complete list of structure passing bug victims.
19515
b9063b3d
GP
195162001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19517
19518 * doc/install.texi: Remove CVS Id.
19519
766890e1
AJ
195202001-07-02 Andreas Jaeger <aj@suse.de>
19521
19522 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
19523 (find_inherently_necessary): Remove unused variable.
19524
6be77748
NS
195252001-07-02 Nathan Sidwell <nathan@codesourcery.com>
19526
19527 * c-common.h (TDI_inlined): New ast dump phase.
19528 (dump_flag_name): New function.
19529 * c-dump.c (dump_files): Add inlined phase.
19530 (dump_flag_name): Define.
19531 * doc/invoke.texi (-fdump-ast-inlined): Document.
19532
3aa12a58
RK
19533Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19534
19535 * stor-layout.c (layout_decl): Revert change to handling of alignment
19536 in packed types.
19537
21266f81
RK
19538Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19539
19540 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
19541 for FIELD_DECL.
19542
1cc5e432
GK
195432001-07-01 Geoffrey Keating <geoffk@redhat.com>
19544
19545 * doc/tm.texi (FUNCTION_ARG): Document that the last call
19546 is special.
19547
3746c4a2
NS
195482001-07-01 Nathan Sidwell <nathan@codesourcery.com>
19549
19550 * tlink.c (recompile_files): Remove COMPILER_PATH and
19551 LIBRARY_PATH from the environment.
19552
b8363a24
ZW
195532001-07-01 Zack Weinberg <zackw@stanford.edu>
19554
19555 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
19556 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
19557 enumerators.
19558 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
19559
19560 * c-parse.in (OBJC_STRING): Kill.
19561 (objc_string): Decompose to [objc_string] '@' STRING.
19562 (reswords): Take the leading '@' off all the Objective C keywords.
19563 (objc_rid_sans_at): Kill.
19564 (init_reswords): Don't initialize it.
19565 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
19566 (_yylex): Kill reconsider label. Look ahead one token after
19567 an '@'; if we get an identifier, check whether it's an
19568 Objective C @-keyword. If so, return the keyword. Otherwise,
19569 put back the token and return the '@' as a terminal.
19570
19571 * cpplib.c (lex_macro_node): Remove unnecessary check for
19572 leading '@' on identifier. Clarify control flow and commentary.
19573
be8ac49a
RK
19574Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19575
19576 * cse.c (new_label_ref): Variable deleted.
19577 (insert): Remove set of new_label_ref.
19578 (check_for_label_ref): New function.
19579 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
19580
528aeb48 19581See ChangeLog.5 for earlier changes.
This page took 2.728453 seconds and 5 git commands to generate.