]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
i960.c (i960_br_predict_opcode): Remove.
[gcc.git] / gcc / ChangeLog
CommitLineData
eb9c1bb6
RH
12000-06-01 Richard Henderson <rth@cygnus.com>
2
3 * i960.c (i960_br_predict_opcode): Remove.
4 (i960_print_operand) [+]: Emit branch prediction hints.
5 (i960_function_arg): Return early for VOIDmode.
6 (i960_round_align): Return early for incomplete types.
7 * i960.h (PRINT_OPERAND_PUNCT_VALID_P): New.
8 * i960.md (all conditional branches): Add "%+".
9
f824e5c3
RK
10Thu Jun 1 12:24:21 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11
12 * alias.c (get_alias_set): Don't call language-specific routine more
13 than is needed and clean up code a bit.
14 * c-common.c (c_get_alias_set): All references whose type
15 is char get alias set 0, but character types need not.
16 * varasm.c (make_function_rtl): Don't call set_mem_attributes.
17 (make_decl_rtl): Don't call it for FUNCTION_DECL.
18
079b71f5
BK
192000-06-01 Bruce Korb <bkorb@gnu.org>
20
21 * fixinc/tests/base/...: new base result files
22
a940d8bd
CP
23Thu Jun 1 09:37:35 2000 Clinton Popetz <cpopetz@cygnus.com>
24
25 * config/i386/i386.c (ix86_use_fcomi_compare): Make global.
26 * config/i386/i386-protos.h (ix86_use_fcomi_compare): Declare.
27 * config/i386/i386.md (*fp_jcc_3, *fp_jcc_4): Disable if we
28 will use FCOMI.
29
bc11d9b8
RH
302000-06-01 Richard Henderson <rth@cygnus.com>
31
03d2f2b8
RH
32 * Makefile.in (c-decl.o): Depend on $(EXPR_H), not expr.h.
33
eb9c1bb6 34 * c-decl.c (init_decl_processing): Set lang_get_alias_set first thing.
bc11d9b8 35
ac9cd70f
RH
362000-05-31 Richard Henderson <rth@cygnus.com>
37
38 * config/ia64/ia64.c (sdata_symbolic_operand): Consider small
39 CONSTANT_POOL_ADDRESS_P addresses for .sdata.
40 * config/ia64/sysv4.h (SELECT_RTX_SECTION): New.
41
85548039
RH
422000-05-31 Richard Henderson <rth@cygnus.com>
43
44 * config/ia64/ia64-protos.h (ia64_expand_prediction): Remove.
45 * config/ia64/ia64.c (ia64_expand_prediction): Move code ...
46 (ia64_print_operand) [+]: ... here. Use current_output_insn.
47 * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): New.
48 * config/ia64/ia64.md (all branch/call patterns): Use %+.
49
e0fa93b3
RH
502000-05-31 Richard Henderson <rth@cygnus.com>
51
52 * ifcvt.c (cond_exec_process_insns): Don't ever ignore clobbers.
53
abb9a4c5
RH
542000-05-31 Richard Henderson <rth@cygnus.com>
55
18153f6c
RH
56 * ifcvt.c (merge_if_block): Be prepared for JOIN to have no
57 remaining edges.
58 (find_if_block): Allow THEN with no outgoing edges.
abb9a4c5
RH
59 * flow.c (merge_blocks_nomove): Remove a barrier not following
60 a jump as well.
61
eb7e5da2
RH
622000-05-31 Richard Henderson <rth@cygnus.com>
63
64 * flow.c (propagate_block): Move initialization of mem_set_list ...
65 (init_propagate_block_info): ... here. Also track blocks with
66 no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE.
67
26a41784
RH
682000-05-31 Richard Henderson <rth@cygnus.com>
69
70 * jump.c (jump_optimize_1): Revert 05-18 change.
71
2228d450
MM
722000-05-31 Mark Mitchell <mark@codesourcery.com>
73
74 * invoke.texi: Remove documentation for -fguiding-decls.
75
99923eed
RH
762000-05-31 Richard Henderson <rth@cygnus.com>
77
78 * configure.in: Fix typo last change.
79
dc6746e7
PT
802000-05-31 Philipp Thomas <pthomas@suse.de>
81
82 * configure.in (enable-nls): Enable if build == host, i.e. when
83 not building a canadian cross compiler.
84 (enable-maintainer-mode): Added for use with i18n.
85 * aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a
86 cross section of ALL_LINGUAS and LINGUAS.
87 * configure: Rebuild.
88
5d7d28c2
BK
892000-05-31 Bruce Korb <bkorb@gnu.org>
90
1b813bfe
BK
91 * fixinc/check.tpl: rework to use test result tree
92 * fixinc/Makefile.in: change invocation of check script
93 * fixinc/check.diff: No longer needed
94 * fixinc/fixincl.x: regenerate
95 * fixinc/inclhack.def: add new tests
96 * fixinc/tests/base/arch/i960/archI960.h: New test result
97 * fixinc/tests/base/curses.h: modified test result
98 * fixinc/tests/base/stdio.h: ditto
99 * fixinc/tests/base/time.h: ditto
100 * fixinc/tests/base/sys/asm.h: ditto
101 * fixinc/tests/base/sys/stat.h: ditto
102 * fixinc/tests/base/sys/wait.h: ditto
5d7d28c2 103
231a2828
PDM
104Wed May 31 13:17:20 2000 Philippe De Muyter <phdm@macqel.be>
105
106 * except.c (clear_function_eh_region): Do not free NULL.
107
8c410416
RK
108Wed May 31 08:07:52 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
109
3bdf5ad1
RK
110 * Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
111 * alias.c (struct alias_entry): alias_set is HOST_WIDE_INT.
112 (REG_BASE_VALUE): Remove unneeded cast to unsigned.
113 (get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT.
114 (find_base_decl): New function, from c_find_base_decl in c-common.c.
115 (new_alias_set): Moved from tree.c; return is HOST_WIDE_INT.
116 (get_alias_set): Likewise.
117 Major rework to do more things and allow language-specific code
118 to just handle special-cases.
119 (record_alias_subset): Args are HOST_WIDE_INT.
120 (record_component_alias): Local vars are HOST_WIDE_INT.
121 Don't handle COMPLEX_EXPR.
122 (get_varargs_alias_set): Moved from builtins.c.
123 (get_frame_alias_set): New function.
124 * builtins.c (expand_builtin_return_address): Use frame alias set.
125 (expand_builtin_setjmp, expand_builtin_longjmp): Use alias set
126 for setjmp buffer.
127 (get_memory_rtx): Rework to use set_mem_attributes.
128 (get_varargs_alias_set): Deleted from here.
129 * c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT.
130 (c_find_base_decl): Deleted from here.
131 (c_get_alias_set): Remove many cases and rework to just handle
132 C-specific cases.
133 * c-common.h (c_get_alias_set): Returns HOST_WIDE_INT.
134 * c-decl.c (rtl.h, expr.h): Now included.
135 (init_decl_processing): Call record_component_aliases on array types.
136 (grokdeclarator): Likewise.
137 Set TREE_ADDRESSABLE for all fields that are not bitfields.
138 * c-typeck.c (common_type): Call record_component_aliases for array.
139 * caller-save.c (setup_save_areas): Rework register loop for unsigned.
140 Set all save areas to the frame alias set.
141 * calls.c (initialie_argument_information): Call set_mem_attributes.
142 (compute_argument_addresses, expand_call): Likewise.
143 * explow.c (set_mem_attributes): New function.
144 (stabilize): Use MEM_COPY_ATTRIBUTES and force_reg.
145 * expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}.
146 LEN and OFFSET now HOST_WIDE_INT.
147 (clear_by_pieces): Similar changes.
148 (move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields.
149 (move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT.
150 (move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES.
151 (clear_by_pieces_1): Likewise.
152 (emit_push_insn): Call set_mem_attributes.
153 (expand_expr, case INDIRECT_REF): Likewise.
154 (expand_expr, case VAR_DECL): Call change_address.
155 * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and
156 tree_low_cst.
157 (get_varargs_alias_set, get_frame_alias_set): New decls.
158 (record_base_value, record_alias_subset, lang_get_alias_set): Likewise.
159 (new_alias_set, set_mem_attributes): Likewse.
160 * function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT.
161 (assign_stack_temp_for_type): Likewise.
162 Can split slot even if alias set since can copy.
163 Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P.
164 (assign_temp): Use host_integerp and tree_low_cst.
165 (put_var_into_stack): Properly handle SAVE_EXPR.
166 (put_addressof_into_stack): Likewise.
167 (assign_parms): Call set_mem_attributes.
168 Delete #if 0 code.
169 (fix_lexical_address): Put reference to chain into frame alias set.
170 (expand_function_start): Call set_mem_attributes.
171 * integrate.c (expand_inline_function): Likewise.
172 * recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES.
173 * regmove.c (try_apply_stack_adjustment): Likewise.
174 * reload.c (push_reload, make_memloc): Likewise.
175 * reload1.c (alter_reg): Make alias sets for spilled pseudos.
176 * rtl.def (MEM): Update comment.
177 * rtl.h (MEM_ALIAS_SET): Now uses XCWINT.
178 (move_by_pieces): Change length to HOST_WIDE_INT.
179 (record_base_value, record_alias_subset): Delete from here.
180 * stmt.c (expand_decl): Call set_mem_attributes.
181 * stor-layout.c (finish_record_layout): Call record_component_aliases.i
182 * toplev.c (compile_file): Call init_alias_once earlier.
183 * tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted
184 from here: now in alias.c.
185 * tree.h (struct tree_type): alias_set is HOST_WIDE_INT.
186 (struct tree_decl): Likewise.
187 (get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here.
188 * varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes.
189 (output_constant_def, force_const_mem): Likewise.
190
8c410416
RK
191 * flow.c (propagate_block): If block has no successors, stores to
192 frame are dead if not used.
193
ecc9dd93
NS
1942000-05-31 Nathan Sidwell <nathan@codesourcery.com>
195
196 * stmt (expand_end_case): Reorder conversion sequence for jump
197 table to avoid extra truncations.
198
2bc63114
JL
199Wed May 31 01:31:42 2000 Jeffrey A Law (law@cygnus.com)
200
201 * ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
202 in the block is more than just a simple conditional branch.
203 (noce_process_if_block): Similarly.
204
885e80cc
AO
205Tue May 30 22:25:57 2000 Alexandre Oliva <aoliva@cygnus.com>
206
207 * optabs.c (prepare_float_lib_cmp): Protect *px and *py from
208 queue.
209
ab577d8a
MM
2102000-05-30 Michael Meissner <meissner@redhat.com>
211
212 * dwarf2out.c (dwarf2out_frame_debug_expr): Ignore HIGH
213 instructions. Treat LO_SUM operations as loading the full integer
214 constant.
215
d3bc8938
RH
2162000-05-30 Richard Henderson <rth@cygnus.com>
217
218 * combine.c (get_pos_from_mask): Test exact_log2 result as signed.
219
48b710dd
RH
2202000-05-30 Richard Henderson <rth@cygnus.com>
221
222 * bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return.
223
26e903ee
BK
2242000-05-30 Bruce Korb <bkorb@gnu.org>
225
226 * fixinc/tests/*: Added expected result files for fixinc's make check
22e50c5b 227 * fixinc/fixfixes(char_macro_*_fix): Restore original algorithm
26e903ee 228
28ecb7ab
RH
2292000-05-30 Richard Henderson <rth@cygnus.com>
230
231 * config/alpha/alpha.md (*setne_internal): Use match_operator
232 instead of working down from insn.
233
7f094a94
KG
2342000-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
235
236 * invoke.texi (-Wtraditional): Update WRT function macros.
237
d3a36404
PDM
238Tue May 30 09:57:32 2000 Philippe De Muyter <phdm@macqel.be>
239
240 * except.c (free_exception_table): Do not free NULL.
241
37dbf7aa
ZW
2422000-05-29 Zack Weinberg <zack@wolery.cumb.org>
243
244 * cpplib.c (do_if): Don't save and restore only_seen_white here.
245 * cppexp.c (_cpp_parse_expr): Save and restore only_seen_white
246 and skipping here.
247
6a3dbe65
RE
2482000-05-29 Richard Earnshaw (rearnsha@arm.com)
249
250 * flow.c (mark_used_reg): If a register is unconditionally live,
251 remove any conditional death information.
252
b1a9f6a0
RH
2532000-05-29 Richard Henderson <rth@cygnus.com>
254
255 * final.c (current_output_insn): New.
256 (final_scan_insn): Set it.
257 * output.h: Declare it.
258
5cb7d6b4
RH
2592000-05-29 Richard Henderson <rth@cygnus.com>
260
c5daf9c4
RH
261 * stor-layout.c (finalize_record_size): Fix typo.
262
5cb7d6b4
RH
263 * jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END
264 if nlabel is null.
265
ea4a453b
ZW
2662000-05-29 Zack Weinberg <zack@wolery.cumb.org>
267
268 * cpplib.h (cpp_reader): Remove if_stack. Change
269 potential_control_macro to a cpp_hashnode *. Add skipping flag.
270 * cpphash.h (struct ihash): Change control_macro to a
271 cpp_hashnode * and shorten name to cmacro.
272 Add NEVER_REINCLUDE constant.
273
274 * cppfiles.c (redundant_include_p): Drop cpp_reader argument.
275 Examine the cmacro node directly, no need to call cpp_defined.
276 (_cpp_execute_include, read_include_file): Set cmacro to
277 NEVER_REINCLUDE, not U"".
278 * cpplex.c (cpp_push_buffer): Don't set new->if_stack.
279 (cpp_get_token): If pfile->skipping is true, discard text and
280 keep scanning until we hit a directive; don't expand macros.
281
282 * cpplib.c (struct if_stack): Remove if_succeeded, add
283 was_skipping. Change control_macro to a cpp_hashnode * and
284 shorten name to cmacro. Remove typedef IF_STACK.
285 (parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *.
286 (conditional_skip, skip_if_group,
287 consider_directive_while_skipping): Delete.
288 (push_conditional): New.
289 (_cpp_handle_directive): Don't process directives other than
290 conditionals if we are skipping.
291
292 (do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif):
293 Update to new scheme.
294 (validate_else): Skip rest of line here, unconditionally.
295 (_cpp_unwind_if_stack): The stack is per-buffer. Force
296 pfile->skipping off.
297
298 (all): Remove `scare quotes' from error messages.
299
86c82654
RH
3002000-05-29 Richard Henderson <rth@cygnus.com>
301
302 * function.c (emit_return_into_block): New line_note arg; emit it.
303 (thread_prologue_and_epilogue_insns): Attempt to locate a line note
304 for the close brace to accompany HAVE_return. Move all line notes
305 following the epilogue to before the NOTE_INSN_EPILOGUE_BEG.
306
8f4773ea
RH
3072000-05-29 Richard Henderson <rth@cygnus.com>
308
309 * longlong.h [__alpha] (count_leading_zeros): New.
310 (count_trailing_zeros): New.
311 (COUNT_LEADING_ZEROS_0): New.
312
313 * config/alpha/alpha.c (alpha_zero_comparison_operator): New.
314 (alpha_split_conditional_move): New.
315 * config/alpha/alpha-protos.h: Prototype them.
316 * config/alpha/alpha.h (PREDICATE_CODES): Update.
317 (CPP_CPU_DEFAULT_SPEC): Fix typo for EV67.
318 * config/alpha/alpha.md: Update ffs cix commentary.
319 (*ze_and_ne): New.
320 (*nabssf2, *nabsdf2): New.
321 (*mov[qhsd]icc_internal): Use add_operand.
322 (if_then_else constant splitters): New.
323 (*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New.
324 (*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New.
325
7b40bc6b
RH
3262000-05-29 Richard Henderson <rth@cygnus.com>
327
d41638e4
RH
328 * combine.c (force_to_mode) [MINUS]: Convert subtraction from
329 a constant to NEG or NOT when conditions allow.
330
085f1714
RH
331 * combine.c (combine_simplify_rtx): Don't create an if_then_else
332 unless both args are general_operand. Don't canonicalize plus
333 to ior unless it helps.
334
7b40bc6b
RH
335 * toplev.c (rest_of_compilation): Set no_new_pseudos after flow1;
336 instead track register_life_up_to_date. Toggle no_new_pseudos
337 around if_convert.
338
37c67319
GK
3392000-05-28 Geoff Keating <geoffk@cygnus.com>
340
341 * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters
342 so output_operand doesn't see them.
343
1270c255
CP
344Sun May 28 18:37:07 2000 Clinton Popetz <cpopetz@cygnus.com>
345
346 * lcm.c (make_preds_opaque): Fix comment.
347 (optimize_mode_switching): Use NORMAL_MODE instead of
348 MODE_USES_IN_EXIT_BLOCK. Change leftover instance of
349 FP_MODE_NONE to no_mode. Rename MODE_AT_ENTRY to NORMAL_MODE.
350 Handle insertions before an existing NOTE_INSN_BASIC_BLOCK.
351 * tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE.
352 (MODE_USES_IN_EXIT_BLOCK): Delete.
353 (MODE_AT_ENTRY) Rename to NORMAL_MODE.
354 * sh.h (MODE_USES_IN_EXIT_BLOCK): Delete.
355 (MODE_AT_ENTRY): Rename to NORMAL_MODE.
356 (MODE_NEEDED): Don't look for USE.
357 (EPILOGUE_USES): Define.
358
d7bfe267
PDM
359Sun May 28 23:26:59 2000 Philippe De Muyter <phdm@macqel.be>
360
361 * mklibgcc.in (all): Variable initialised to `libgcc'.
362
6f5ef761
GDR
3632000-05-28 Gabriel Dos Reis <gdr@codesourcery.com>
364
365 * toplev.h (skip_leading_substring): New macro.
366 * toplev.c (decode_f_option): Use skip_leading_substring instead
367 of strncmp.
368 (decode_W_option): Likewise.
369
055177dc
NC
3702000-05-28 Nick Clifton <nickc@cygnus.com>
371
372 * tm.texi (CONDITIONAL_REGISTER_USAGE): Document that it can
373 modify reg_names.
374
f83ed238
RH
3752000-05-28 Richard Henderson <rth@cygnus.com>
376
9ef07cf1
RH
377 * regclass.c (record_operand_costs): Protect reg_changes_size
378 with CLASS_CANNOT_CHANGE_SIZE.
379
f83ed238
RH
380 * loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.
381
5828d725
RH
3822000-05-28 Richard Henderson <rth@cygnus.com>
383
384 * function.c (diddle_return_value): A pcc-style struct return
385 returns a pointer.
386
f8f769ea
ZW
3872000-05-27 Zack Weinberg <zack@wolery.cumb.org>
388
389 * cppfiles.c: Read files in, using mmap if possible, then
390 prescan them separately.
391 (read_file, read_with_read): New functions.
392 * cpplex.c: Don't define UCHAR_MAX.
393 (_cpp_read_and_prescan): Rename to _cpp_prescan. Don't read
394 the file here.
395
396 * cppinit.c (handle_option): Automatically define __cplusplus,
397 __OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see
398 the respective -lang switch.
399
400 * cpphash.h (enum node_type, struct hashnode, _cpp_lookup
401 prototype): Move to...
402 * cpplib.h: ... here. Rename struct hashnode to struct
403 cpp_hashnode and give it a typedef. Rename _cpp_lookup to
404 cpp_lookup. Add 'fe_value' slot, a union tree_node *.
405
e79f71f7
GK
4062000-05-27 Geoffrey Keating <geoffk@cygnus.com>
407
408 * config/rs6000/rs6000.md (movsi): Constify 'name'.
409
410 * regclass.c [CLASS_CANNOT_CHANGE_SIZE]
411 (class_can_change_size): New variable.
412 (reg_changes_size): New variable.
413 (init_reg_sets_1): Initialise class_can_change_size.
414 (record_operand_costs): Remove subreg_changes_size.
415 Don't pass it around. Instead update reg_changes_size.
416 (regclass): Initialise and free reg_changes_size. If a register
417 changes size, don't preference it to a class that contains
418 registers that can't change size.
419 (record_reg_classes): Don't look at subreg_changes_size.
420
e087aeb2
RH
4212000-05-27 Richard Henderson <rth@cygnus.com>
422
423 * print-rtl.c (reg_names): Remove const.
424 * regclass.c (reg_names): Likewise.
425 * regs.h (reg_names): Likewise.
426 * hard-reg-set.h (reg_names): Likewise.
427
7d70b8b2
RH
4282000-05-27 Richard Henderson <rth@cygnus.com>
429
430 * config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.
431
4f1c5cce
RH
4322000-05-27 Richard Henderson <rth@cygnus.com>
433
434 * config/alpha/alpha.c (alpha_does_function_need_gp): Test
435 TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
436 (alpha_expand_prologue): Emit prologue_mcount if needed.
437 * config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0.
438 * config/alpha/alpha.md (prologue_mcount): New.
439 * config/alpha/linux.h (FUNCTION_PROFILER): Remove.
440 (TARGET_PROFILING_NEEDS_GP): Undef before redefining.
441 * config/alpha/netbsd.h: Likewise.
442
a1920fc3
RH
4432000-05-27 Richard Henderson <rth@cygnus.com>
444
445 * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
446 change to config/elfos.h.
447
d80eb1e1
RH
4482000-05-27 Richard Henderson <rth@cygnus.com>
449
450 * Makefile.in (resource.o): Depend on except.h.
451 * except.h (output_exception_table_data): Prototype.
452 * genconfig.c (gen_peephole2): Prototype.
453 * genemit.c (main): Include ggc.h.
454 * genoutput.c: Revert parts of last change: include errors.h
455 (main): Set progname.
456 * recog.c: Include hard-reg-set.h before recog.h.
457 * resource.c: Include except.h.
458
459 * config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect
460 with RTX_CODE.
461 (alpha_write_linkage): Protect with BUFSIZ.
462 (alpha_need_linkage): Update prototype.
463 * config/alpha/alpha.c (function_arg): Move VMS code here.
464 (alpha_links_base): Remove.
465 (alpha_links): New.
466 (mark_alpha_links_node, mark_alpha_links): New.
467 (alpha_write_one_linkage): New.
468 (alpha_need_linkage): Use a splay tree. Build the linkage symbol.
469 (alpha_write_linkage): Use splay_tree_foreach.
470 * config/alpha/alpha.md (call_vms): Use alpha_need_linkage
471 to get the linkage symbol.
472 (call_value_vms): Likewise.
473 * config/alpha/elf.h (output_file_directive): Remove decl.
474 (ctors_section, dtors_section): Prototype.
475 (sbss_section, sdata_section): Prototype.
476 * config/alpha/vms.h (FUNCTION_ARG): Remove.
477 (readonly_section, link_section, literals_section): Prototype.
478 (ctors_section, dtors_section): Prototype.
479 (vms_valid_decl_attribute_p): Remove decl.
480 (alpha_arg_type, alpha_arg_info_reg_val): Likewise.
481
ed8afe3a
GK
4822000-05-27 Geoff Keating <geoffk@cygnus.com>
483
4f9e0766
GK
484 * reload.c (get_secondary_mem): Don't widen floating-point modes.
485
ed8afe3a
GK
486 * combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when
487 substituting the REG in a (subreg:X (reg:Y ...)).
488
f624ffa7
NB
4892000-05-28 Neil Booth <NeilB@earthling.net>
490
491 * cpplex.c (_cpp_lex_line): Merge vertical space. Flag
492 first token of a line BOL. Update EOF code for this.
493 Remove illegal directive check - it appears in the (not
494 yet committed) caller.
495 * cpplib.h (BOL): New flag.
496
ad265aa4
NB
4972000-05-28 Neil Booth <NeilB@earthling.net>
498
37dbf7aa 499 * cpplex.c (_cpp_init_toklist): No comment space to initialise.
ad265aa4
NB
500 (_cpp_free_toklist): No comment space to free.
501 (expand_comment_space): Remove.
37dbf7aa
ZW
502 (save_comment_space): Place the comment in the current token and
503 not in a separate comment space.
504 (_cpp_lex_line): Save comments during plain code and #define
505 directives only.
506 * cpplib.h (struct _cpp_toklist): Remove comment space.
ad265aa4 507
d1d9a6bd
NB
5082000-05-28 Neil Booth <NeilB@earthling.net>
509
510 * cppexp.c (parse_assertion): Supply extra argument to
511 _cpp_init_toklist.
512 * cpplib.c (do_assert, do_unassert): Similarly.
513 * cpphash.h (_cpp_init_toklist) Update.
514 (_cpp_expand_token_space): New.
515 (DUMMY_TOKEN, NO_DUMMY_TOKEN): New.
516 * cpplex.c (_cpp_init_toklist): New argument.
517 (parse_string2): New argument multiline_ok.
518 (spell_token): Take a const cpp_token *.
519 (INIT_NAME): Replace with INIT_TOKEN_NAME. Update tokens_used.
520 (SPELL_ macros): Replace with enum.
521 (expand_token_space): Replace with _cpp_expand_token_space.
522 Take COUNT argument.
523 (IS_DIRECTIVE): Update.
524 (_cpp_lex_line): Update token structure before parsing number.
525 Don't assume start at beginning of token list.
526 (save_comment): Use INIT_TOKEN_NAME.
527
c190ed67
ZW
5282000-05-27 Zack Weinberg <zack@wolery.cumb.org>
529
f45c9d95
ZW
530 * configure.in (stage1_warn_cflags): Add -Wstrict-prototypes
531 -Wmissing-prototypes.
532 * configure: Regenerate.
533 * gcc.texi: Remove explanation of MD_CALL_PROTOTYPES.
534
535 * builtins.c, calls.c: Change all instances of gen_call_* or
536 gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*.
537 * calls.c (struct_value_size_rtx): Separate definition from
538 initialization to avoid unused variable warning.
539
540 * genflags.c (gen_macro): New function.
541 (gen_proto): Call it for gen_call_* and gen_sibcall_*.
542 (gen_nonproto): Delete.
543 (gen_insn): Put all insns on the same obstack.
544 (main): Generate prototypes for everything unconditionally.
545
f12bc141
ZW
546 * configure.in: Add AC_CHECK_TYPE(ssize_t). Remove commented
547 out check for wchar_t.
548 * acconfig.h: Add template for ssize_t. Remove @TOP@.
549 * system.h: Add infrastructure for defining missing
550 TYPE_MAX/TYPE_MIN macros. Use it to provide fallback
551 definitions of UCHAR_MAX and SSIZE_MAX.
552 * configure: Regenerate.
553 * config.in: Regenerate.
554
c190ed67
ZW
555 * Makefile.in (libgcc2.ready): Rename to libgcc.ready.
556 Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed
557 headers.
558 (clean): No need to delete libgcc1.a, libgcc1-asm.a,
559 libgcc2.a, or libgcc1.null.
560
23280139
RH
5612000-05-27 Richard Henderson <rth@cygnus.com>
562
563 * Makefile.in (recog.o): Don't depend on resource.h.
564 * recog.c: Don't include resource.h.
565 (recog_last_allowed_insn): Remove.
566 (recog_next_insn): Remove.
567 (struct peep2_insn_data): New.
568 (peep2_insn_data, peep2_current): New.
569 (peep2_next_insn): New.
570 (peep2_regno_dead_p, peep2_reg_dead_p): New.
571 (peep2_find_free_register): New.
572 (peephole2_optimize): Track life information by insn as we go.
573 * recog.h: Update declarations.
574 * resource.c (find_free_register, reg_dead_p): Remove.
575 * resource.h: Remove their declarations.
576 * toplev.c: Include hard-reg-set.h before recog.h.
577
578 * genconfig.c (max_insns_per_peep2): New.
579 (gen_peephole2): New.
580 (main): Call it.
581 * genemit.c (output_peephole2_scratches): Generate calls to
582 peep2_find_free_register; adjust surrounding code.
583 (main): Have insn-emit.c include hard-reg-set.h before recog.h.
584 * genrecog.c (change_state): Don't track last_insn.
585 (write_action): Write into *_pmatch_len before accepting.
586 (write_tree): Adjust peephole2_insns and subroutines to match.
587
588 * config/i386/i386.md (all peepholes): Use peep2_regno_dead_p.
589
d2c6a1b6
RH
590 * config/alpha/alpha.c (hard_fp_register_operand): Mind the mode.
591 (hard_int_register_operand): New.
592 * config/alpha/alpha-protos.h: Declare it.
593 * config/alpha/alpha.h (PREDICATE_CODES): Update.
594 * config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand
595 as needed; use peep2_reg_dead_p instead of dead_or_set_p.
596
30196c1f
RH
5972000-05-27 Richard Henderson <rth@cygnus.com>
598
599 * function.c (thread_prologue_epilogue_insns): Don't move the
600 line note at the head of the chain. Only force a lineno note
601 before the end of block 0.
602
d96a2fcd
RH
6032000-05-27 Richard Henderson <rth@cygnus.com>
604
892ecf92
RH
605 * gensupport.c (collect_insn_data): Record the maximum number
606 of alternatives, not the last seen.
607
d96a2fcd
RH
608 * genoutput.c: Don't include errors.h.
609 (struct data): Add lineno member.
610 (have_error): New.
611 (scan_operands): Use message_with_line instead of error.
612 (validate_insn_alternatives): Likewise.
613 (gen_insn): Accept and store the pattern's line number.
614 (gen_peephole, gen_expand, gen_split): Likewise.
615 (main): Don't set progname. Pass line_no to gen_foo.
616
5401747e
RH
6172000-05-27 Richard Henderson <rth@cygnus.com>
618
619 * config/d30v/d30v.c (d30v_print_operand): Handle ':'.
620 * config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'.
621 * config/d30v/d30v.md (attr predicable): New.
622 (all insn patterns): Mark non-predicable patterns; use %: on the rest.
623 (andsi3*): Unify into one pattern.
624 (iorsi3*, xorsi3*): Likewise.
625 (peephole2 patterns): Use peep2_reg_dead_p; verify not a
626 conditional return.
627 (old cond_exec patterns): Remove.
628 (define_cond_exec): New.
629
8d5e6e25
RK
630Sat May 27 11:01:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
631
632 * tree.h (TREE_CODE_LENGTH): New macro.
633 * c-common.c (c_find_base_decl): Use it.
634 * expr.c (safe_from_p): Likewise.
635 * print-tree.c (print_node): Likewise.
636 * tree.c (make_node, copy_node, get_identifier): Likewie.
637 (first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
638 (build, build_nt, build_parse_node, simple_cst_equal): Likewise.
639 * fold-const.c (make_range): Likewise.
640 (fold): Likewise; also use first_rtl_op.
641 * c-iterate.c (collect_iterators): Use first_rtl_op.
642 * calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
643 Use IS_EXPR_CODE_CLASS.
644 (preexpand_calls): Likewise.
645 * ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
646 and TREE_CODE_LENGTH.
647 * stmt.c (warn_if_unused_value): If no operands, no unused value.
648
1d328b19
GK
6492000-05-26 Geoffrey Keating <geoffk@cygnus.com>
650
aee86b38
GK
651 * config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather
652 than '%1(%*)'.
653 (movdi_internal64): Likewise.
654
1d328b19
GK
655 * config/rs6000/rs6000.md: Correct order of operands for DImode
656 boolean patterns.
657
658 * config/rs6000/rs6000.c (boolean_or_operator): New function.
659 * config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it.
660 * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator.
661 * config/rs6000/rs6000.md: Use boolean_or_operator instead of
662 boolean_operator for the boolean patterns without NOTs.
663
664 * config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename
665 from reg_or_u_cint_operand. Change comment and behaviour.
666 (logical_operand): Clean up, add assertion.
667 (non_logical_cint_operand): Also check for
668 reg_or_logical_cint_operand.
669 * config/rs6000/rs6000.h (PREDICATE_CODES): Update.
670 * config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand
671 in the expander.
672 (xorsi3): Likewise.
673 (iordi3): Likewise.
674 (xordi3): Likewise.
675
defd0dea
MM
6762000-05-26 Mark Mitchell <mark@codesourcery.com>
677
678 * tree.h (struct record_layout_info): Rename to (struct
679 record_layout_info_s).
680 * stor-layout.c (start_record_layout): Replace
681 `record_layout_info' with `record_layout_info_s'.
682
1bc48f82
RE
6832000-05-26 Richard Earnshaw <rearnsha@arm.com>
684
685 * flow.c (find_label_refs): New function.
686 (find_basic_blocks_1): Call it for each alternative of a call
687 placeholder.
688
5f361012
RE
6892000-05-26 Richard Earnshaw <rearnsha@arm.com>
690
691 * ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC
692 of get_pc.
693
a0e5a544
RH
6942000-05-25 Richard Henderson <rth@cygnus.com>
695
696 * config/alpha/alpha.c (alpha_comparison_operator): Don't be
697 so strict about DImode.
698 (alpha_swapped_comparison_operator): Likewise.
699 * config/alpha/alpha.md (*setne_internal): Name it. Allow
700 any integer output mode.
701 (*setcc_internal): Likewise.
702 (*setcc_swapped_internal): Likewise.
703 (*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them.
704 (*mov[qhs]icc_internal): New.
705 (*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New.
706
b49425e4
DA
7072000-05-25 J. David Anglin <dave@hiauly1.hia.nrc.ca>
708
709 * vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified.
710
f008a564
RH
7112000-05-25 Richard Henderson <rth@cygnus.com>
712
713 * bb-reorder.c (reorder_block_def): Reorder elements for size.
714 Remove add_jump; add next; replace flags with visited.
715 (rbd_init): Remove.
716 (REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove.
717 (REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove.
718 (REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove.
719 (REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove.
720 (RBI): New.
721 (reorder_index, reorder_last_visited): Remove.
722 (skip_insns_after_block): Rewrite to use a switch.
723 (get_common_dest): Remove.
724 (chain_reorder_blocks): Remove.
725 (record_effective_endpoints): Split out from reorder_basic_blocks.
726 (make_reorder_chain): Likewise. Loop until all blocks are placed.
727 (make_reorder_chain_1): Renamed from old make_reorder_chain.
728 Only construct the reorder chain, do not move insns. Try harder
729 to tail recurse.
730 (label_for_bb, emit_jump_to_block_after): New.
731 (fixup_reorder_chain): Use them. Do bulk block movement. Examine
732 and adjust the jump insns appropriately. Fixup basic_block_info.
733 (verify_insn_chain): Always define.
734 (relate_bbs_with_scopes): Call xmalloc, not xcalloc. Fix thinko
735 in allocation size.
736 (make_new_scope): Don't write zeros to calloc'd space.
737 (build_scope_forest): Rely on xrealloc to DTRT.
738 (reorder_basic_blocks): Don't build loop nest. Don't fail if
739 profile_arc_flag. Streamline EH test.
740
741 * flow.c (redirect_edge_succ, redirect_edge_pred): New.
742 * basic-block.h: Declare them.
743
2d4aecb3
AO
7442000-05-25 Alexandre Oliva <aoliva@cygnus.com>
745
746 * emit-rtl.c (reset_used_decls): New function.
747 (unshare_all_rtl_again): Call it.
748
476f2869
ZW
7492000-05-25 Zack Weinberg <zack@wolery.cumb.org>
750
751 * cpplex.c (maybe_macroexpand): Warn about function-like
752 macros used in non-function context, if -Wtraditional.
753
88741818
MM
7542000-05-25 Mark Mitchell <mark@codesourcery.com>
755
756 * recog.c (peephole2_optimize): Use INSN_P.
757
4e4017cb
RH
7582000-05-25 Richard Henderson <rth@cygnus.com>
759
760 * ifcvt.c (seq_contains_jump): New.
761 (noce_try_store_flag_constants): Use it to fail conversion.
762 (noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise.
763
0519ce30
MM
7642000-05-25 Mark Mitchell <mark@codesourcery.com>
765
766 * except.h (can_throw): Declare it.
767 * except.c (can_throw): Give it external linkage.
768 * resource.c (find_dead_or_set_registers): Use can_throw.
769
a0ee3b83
RH
7702000-05-25 Richard Henderson <rth@cygnus.com>
771
772 * flow.c (mark_set_1): Don't record conditionally dead memory.
773
7f1c097d
JH
7742000-05-25 Jan Hubicka <jh@suse.cz>
775
776 * combine.c (try_combine): Use any_condjump_p, any_uncondjump_p
777 and pc_set at the place of simplejump_p and condjump_p.
778 * cse.c (record_jump_equiv): Likewise.
779 * emit-rtl.c (emit): Likewise.
780 * explow.c (find_next_ref): Likewise.
781 * flow.c (tidy_fallthru_edge): Likewise.
782 (init_propagate_block_info): Likewise.
783 * gcse.c (delete_null_pointer_checks): Likewise.
784 * ifcvt.c (cond_exec_get_condition, noce_get_condition,
785 dead_or_predicable): Likewise.
786 * integrate.c (copy_insn_list): Likewise.
787 * loop.c (scan_loop, verify_dominator, find_and_verify_loops,
788 for_each_insn_in_loop, check_dbra_loop, get_condition,
789 insert_bct, load_mems): Likewise.
790 * resource.c (find_dead_or_set_registers): Likewise.
791 * sibcalls.c (simplejump_p): Likewise.
792 * unroll.c (copy_loop_body, reg_dead_after_loop): Likewise.
793
acad7ed3
DE
7942000-05-25 David Edelsohn <edelsohn@gnu.org>
795
796 * rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move
797 to STRING case. Use doubleword STRING move for TARGET_POWERPC64
798 when unaligned.
799 * rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT.
800 (RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame.
801 (LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high.
802 * rs6000.md: Name various internal patterns.
803
742dff15
JH
8042000-05-25 Jan Hubicka <jh@suse.cz>
805
806 * jump.c (invert_exp_1): Remove first argument, use pc_set
807 to get the expression.
808 (redirect_exp): Make static; redirect only the pc_set expression,
809 remove first argument.
810 (invert_exp): Remove first argument, make static.
811 (jump_optimize): Use any_condjump_p, any_uncondjump_p and
812 any_onlyjump at most places where we originaly did condjump_p
813 and simplejump_p.
814 (jump_back_p, follow_jumps, thread_jumps): Likewise.
815 (delete_barrier_succesors): Use pc_set.
816 (invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update
817 calls of invert_exp and redirect_exp.
818 * rtl.h (redirect_exp, invert_exp): Remove.
819 * unroll.c (copy_loop_body): Use invert_jump and redirect_jump.
820
d1ee23e5
RH
8212000-05-25 Richard Henderson <rth@cygnus.com>
822
823 * stmt.c (expand_end_bindings): Fix thinko last change.
824
ce152ef8 8252000-05-25 Andrew MacLeod <amacleod@cygnus.com>
742dff15 826 Andrew Haley <aph@cygnus.com>
ce152ef8
AM
827
828 * except.c (func_eh_entry): Add emitted field.
829 (new_eh_region_entry): Set emitted field to 0;
830 (output_exception_table_entry): Only emit previously un-emitted data,
831 and send it to the eh_data section.
832 (output_exception_table): Break out common parts. Output
833 exception table for entire compilation unit to eh_data section.
834 (output_exception_table_data): Common parts of output_exception_table.
835 Send output to eh_data section.
836 (output_function_exception_table): Output exception table data for
837 a single function to eh_data section.
838 (free_exception_table): New external to free the table.
839 * except.h (free_exception_table): Add prototype.
840 (output_function_exception_table): Add prototype.
841 * final.c (final_end_function): Output function exception table
842 for IA64_UNWIND_INFO.
843 (final_scan_insn): Emit any unwind directives for an insn.
844
845 * frame-dwarf2.c: New file containing all DWARF 2 specific code
846 from frame.c.
847 * frame.c: Remove all DWARF 2 specific code.
848 * config/ia64/frame-ia64.c: New file.
849 (gthread_stuff): Make all gthread available with
850 IA64_UNWIND_INFO.
851 (dwarf_fde): Define an IA64 struct for dwarf_fde.
852 (__register_frame_info, __register_frame): Move to common area of file.
853 (__register_frame_info_table, __register_frame_table): Move to common i
854 area.
855 (__deregister_frame_info, __deregister_frame): Move to common area.
856 (__frame_init, find_fde): New versions for IA64_UNWIND_INFO.
857 (read_uleb128): New version for ia64.
858 (get_unwind_record): Read the next IA-64 unwind record.
859 (read_R_record): Read a region header record.
860 (process_a_b_reg_code): X record helper.
861 (read_X_record): Read an X format record.
862 (read_B_record): Read a B format record.
863 (P3_record_types): List of record types matching the P3 format.
864 (P7_record_types): List of record types matching the P7 format.
865 (P8_record_types): List of record types matching the P8 format.
866 (read_P_record): Read a P format record.
867 (init_ia64_reg_loc): Set default fields for a register.
868 (init_ia64_unwind_frame): Set defaults for all register records.
869 (execute_one_ia64_descriptor): Execute one descriptor record.
870 (rse_address_add): Calculate the position of a local reg in memory.
871 (normalize_reg_loc): Turn a location descriptor into a memory address.
872 (maybe_normalize_reg_loc): Only normalize a descriptor if it falls
873 within a specified PC offset range.
874 (get_real_reg_value): Given a register location, retrieve its value.
875 (set_real_reg_value): Change the value of a register location.
876 (copy_reg_value): Copy reg values, if needed.
877 (copy_saved_reg_state): Copy all registers that need to be copied.
878 (process_state_between): Normalize all frame register records that
879 fall within the specified PC range.
880 (frame_translate): Take a processed frame description, and turn
881 everything into addresses.
882 (build_ia64_frame_state ): Find and create frame state record for a PC.
883 (get_personality): Get the personality routine for a given frame.
884 (get_except_table): Get the exception table for a given frame.
885 (record_name): Unwind record names for debugging.
886 (print_record): Print and unwind record.
887 (print_all_records): Print an entire unwind image.
888 (__ia64_backtrace): Print a backtrace.
889 (ia64_backtrace_helper): New function.
890 (__register_frame_info_aux): New function.
891 * config/ia64/crtend.asm (__do_frame_setup_aux): New function.
892
893 * frame.h (enum unw_record_type): New unwind record types.
894 (struct unw_p_record, unw_b_record, unw_x_record) : New unwind records.
895 (struct unw_r_record, unwind_record): New unwind record structs.
896 (struct unwind_info_ptr): Unwind information layout.
897 (IA64_UNW_LOC_TYPE_*): Macros for different types for location
898 descriptors.
899 (struct ia64_reg_loc): Register location description.
900 (struct ia64_frame_state): Location of all registers in a frame.
901 (struct object): Add pc_base and fde_end for IA64_UNWIND_INFO.
902 * libgcc2.c (__ia64_personality_v1): Personality routine.
903 (__calc_caller_bsp): Calculate the bsp register for the caller's
904 frame.
905 (ia64_throw_helper): Figure out who to return to and set up the
906 registers.
907 (__throw): Throw routine.
908
909 * output.h (assemble_eh_align, assemble_eh_label): New functions
910 to generate EH info where we want it.
911 (assemble_eh_integer): New function.
912 * toplev.c (compile_file): Output module level exception table for
913 non-ia64 targets.
914 (main): Set exceptions_via_longjump and flag_new_exceptions based
915 on IA64_UNWIND_INFO too.
916
917 * varasm.c (assemble_eh_label): Generate a label via
918 ASM_OUTPUT_EH_LABEL if it has been specified.
919 (assemble_eh_align): Generate an alignment directive via
920 ASM_OUTPUT_EH_ALIGN if it has been specified.
921 (assemble_eh_label): Generate an integer value via
922 ASM_OUTPUT_EH_type if they have been specified.
923 * config/ia64/ia64.c (rtx_needs_barrier): Add flushrs.
924 (ia64_init_builtins): Add __builtin_ia64_bsp
925 and __builtin_ia64_flushrs.
926 (ia64_expand_builtin): Add IA64_BUILTIN_BSP and
927 IA64_BUILTIN_FLUSHRS.
928 * config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and
929 IA64_BUILTIN_FLUSHRS.
930
931 * config/ia64/ia64.md (flushrs): New insn to flush the register
932 stack. Add to unspec list.
933
934 * config/ia64/crtbegin.asm (frame_object): Change size.
935 (__do_frame_setup_aux): New function.
936 * config/ia64/crtend.asm: call __do_frame_setup_aux.
937 * config/ia64/t-ia64 (LIB2ADDEH): Add.
938 * Makefile.in (LIB2ADDEH): Add.
939 (LIB2ADD): Use LIB2ADDEH.
940
7bdebc3a
RH
9412000-05-24 Richard Henderson <rth@cygnus.com>
942
943 * recog.c (offsettable_address_p): If mode size is zero, assume
944 BIGGEST_ALIGNMENT.
945
ff5def20
DA
9462000-05-24 J. David Anglin <dave@hiauly.hia.nrc.ca>
947
948 * configure.in: Check for -Wno-long-long option support and improve
949 handling of warning CFLAGS for stages 1 and 2.
950 * Makefile.in (WARN_CFLAGS): Move definition to configure.in.
951 * configure: Regenerate.
952
c20a2ab1
JL
953Wed May 24 19:37:53 2000 Jeffrey A Law (law@cygnus.com)
954
955 * gcc.texi: Remove contributor list. Instead include contrib.texi.
956 * contrib.texi: New file.
957
af198097
R
958Thu May 25 02:27:22 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
959
960 * loop.c (basic_induction_var): Avoid double recording of an increment.
961
98d1cd45
R
962Thu May 25 02:19:27 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
963
964 * Back out this patch:
965 Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com>
742dff15
JH
966 * loop.h (struct induction): Add multi_insn_incr.
967 * loop.c (basic_induction_var): New multi_insn_incr argument.
968 Set it if we search back through previous insns for the biv.
969 (record_biv): New multi_insn_incr argument; fill in struct induction.
970 (strength_reduce): Discard an iv with multiple bivs, any of
971 which require multiple insns to increment.
98d1cd45
R
972
973 * loop.c (check_insn_for_bivs): Remove bits copied from above patch.
974
db7ba742
R
975Thu May 25 02:09:10 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
976
977 * rtl.h (loc_mentioned_in_p): Declare.
978 * reload.c (loc_mentioned_in_p): Moved from here...
979 * rtlanal.c (loc_mentioned_in_p): to here. No longer static.
980 Fix loop increment for 'E' handling.
981 * loop.c (strength_reduce): When doing biv->giv conversion,
982 take multi-insn biv increments into account.
983
04da69d3
JM
9842000-05-24 Jason Merrill <jason@casey.soma.redhat.com>
985
986 * stmt.c (expand_end_bindings): Look through NOTEs to find a
987 BARRIER.
988
f5e846c8
MM
9892000-05-24 Mark Mitchell <mark@codesourcery.com>
990
991 * calls.c (expand_call): Handle cleanups in tail-recursion
992 arguments analagously to cleanups in sibling calls.
993
ba34d877
KG
9942000-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
995
996 * simplify-rtx.c: Rename macro SIGN_EXTEND to HWI_SIGN_EXTEND.
997 All callers changed.
998
ea4da9db
AO
9992000-05-24 Alexandre Oliva <aoliva@cygnus.com>
1000
1001 * expr.c (expand_assignment, store_expr, expand_expr,
1002 expand_expr_unaligned): Set in_check_memory_usage while emitting
1003 chkr_check_addr libcall.
1004
d08230fe
NC
10052000-05-24 Nick Clifton <nickc@cygnus.com>
1006
1007 * fold-const.c (extract_muldiv): When constructing a
1008 multiplier/divisor, do not expect const_binop to correctly
1009 determine if overflow has occured, so check explicitly.
1010
0543d026
AO
10112000-05-24 Alexandre Oliva <aoliva@cygnus.com>
1012
1013 * c-decl.c (build_enumerator): Don't modify the value's type,
1014 convert it.
1015
3c56b105
AJ
10162000-05-24 Andreas Jaeger <aj@suse.de>
1017
1018 * mips.h (LINKER_ENDIAN_SPEC): Pass -EL to linker by default.
1019
b39d221a
EC
10202000-05-24 Eric Christopher <echristo@cygnus.com>
1021
1022 * configure.in: Redefine inhibit_libc conditions.
1023 * libgcc2.c: Remove inhibit_libc conditional define.
1024 * configure: Regenerate.
1025
d6c6b553
PE
10262000-05-24 Phil Edwards <pme@sourceware.cygnus.com>
1027
1028 * configure.in: For --enable-languages=LIST, check for empty LIST.
1029 * configure: Regenerate.
1030
53e2d849
LB
10312000-05-24 Lars Brinkhoff <lars@nocrew.org>
1032
1033 * pdp11.h (STACK_BOUNDARY): Define.
1034
5896bebb
JJ
10352000-05-24 Jakub Jelinek <jakub@redhat.com>
1036
1037 * ifcvt.c (if_convert): Update life info globally.
1038
5c6df058
AO
10392000-05-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
1040
1041 * emit-rtl.c (unshare_all_decls): New function.
1042 (unshare_all_rtl): Call it.
1043
cd2b33d0
NC
10442000-05-23 Nick Clifton <nickc@cygnus.com>
1045
1046 * configure.in: Treat 'strongarm' as if it were 'arm' when
1047 determining cpu type.
1048
1049 * configure: Regenerate.
1050
1051 * config/arm/arm.c: Change 'char *' to 'const char *' for cases
1052 where constant strings are involved.
1053
1054 * config/arm/arm.h (arm_condition_codes): Change type to 'const
1055 char *'.
1056
1057 * config/arm/arm-protos.h: Change 'char *' to 'const char *' for
1058 cases where constant strings are involved.
1059
8ceaac3c
CP
1060Tue May 23 15:08:31 2000 Clinton Popetz <cpopetz@cygnus.com>
1061
1062 * config/sh/sh.c (gen_far_branch, split_branches): Update
1063 to reflect new prototypes for redirect_jump and invert_jump.
1064 (sh_insn_length_adjustment): Get rid of const warnings.
1065
923c2d86
KH
10662000-05-23 Kazu Hirata <kazu@hxi.com>
1067
1068 * invoke.texi (Options for Debugging Your Program or GCC): Update
1069 the names of dump files.
1070
e38df833
PDM
1071Tue May 23 13:58:52 2000 Philippe De Muyter <phdm@macqel.be>
1072
1073 * configure.in (NO_MINUS_C_MINUS_O): Fix thinko in previous fix.
1074 * configure: Regenerated.
1075
3839069b
ZW
10762000-05-23 Zack Weinberg <zack@wolery.cumb.org>
1077
1078 * simplify-rtx.c (SIGN_EXTEND): New macro.
1079 (simplify_unary_operation, simplify_binary_operation,
1080 simplify_relational_operation): Use SIGN_EXTEND. Make low
1081 halves of (low, high) pairs unsigned if they weren't already.
1082 (simplify_ternary_operation): Cast INTVAL to unsigned before
1083 comparing to a MODE_BITSIZE.
1084
f31e826b
KG
10852000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1086
1087 * aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros
1088 rewritten from the internals of gcc_AC_NEED_DECLARATION{S}.
1089
1090 * configure.in (gcc_AC_CHECK_DECLS): Call this instead of
1091 gcc_AC_NEED_DECLARATIONS.
1092
1093 * dwarfout.c: Don't prototype time().
1094
1095 * gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*.
1096
1097 * system.h: Likewise.
1098
1099 * toplev.c: Likewise.
1100
04de7314
ZW
11012000-05-23 Zack Weinberg <zack@wolery.cumb.org>
1102
1103 * c-decl.c (pushdecl): Invert sense of test for non-global types.
1104
a3afe920
R
1105Tue May 23 18:11:42 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
1106
1107 * reload1.c (reload_cse_move2add): Honor TRULY_NOOP_TRUNCATION.
1108
ed7fd6c8
JL
11092000-05-23 Jonathan Larmour <jlarmour@redhat.co.uk>
1110
1111 * config/mips/elf64.h (CTOR_LISTS_DEFINED_EXTERNALLY): Define
1112
b81f53a1
RK
1113Tue May 23 06:50:29 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1114
1115 * config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler.
1116 (alpha_start_function): Never write ..ng label if VMS or NT.
1117 (alpha_align_insns): Remove GP_IN_USE arg.
1118 Alignment now unsigned.
1119 (alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns.
1120 * config/alpha/alpha.md (prologue_ldgp): Split into one define_expand
1121 and two define_insn's.
1122
3c094e22
RH
11232000-05-22 Richard Henderson <rth@cygnus.com>
1124
1125 * combine.c (simplify_comparison): Use trunc_int_for_mode.
1126
163d3408
RH
11272000-05-22 Richard Henderson <rth@cygnus.com>
1128
1129 * stor-layout.c (place_field): Change rli->size to rli->offset.
1130
ca1117cc
RH
11312000-05-22 Richard Henderson <rth@cygnus.com>
1132
1133 * function.c (thread_prologue_and_epilogue_insns): Make sure
1134 existing line number notes appear after the prologue.
1135
941cc05a
RK
1136Mon May 22 21:49:00 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1137
1138 * config/alpha/alpha.c (alpha_fnname): New static variable.
1139 (print_operand, case '~'): New case.
1140 (alpha_expand_prologue): Emit prologue_ldgp insn if needed.
1141 (alpha_start_function): Set alpha_fnname.
1142 Write "ng" label if no ldgp; don't write ldgp insn.
1143 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'.
1144 * config/alpha/alpha.md (prologue_ldgp): New define_insn.
1145
46972a36
CP
1146Mon May 22 11:30:48 2000 Clinton Popetz <cpopetz@cygnus.com>
1147
1148 * jump.c (jump_optimize_1): Don't increment LABEL_NUSES
1149 on deleted labels.
1150
5dd33f4b
ZW
11512000-05-22 Zack Weinberg <zack@wolery.cumb.org>
1152
1153 * varasm.c (eh_frame_section): Revert change to argument list.
1154
2bc9f98c
RK
1155Mon May 22 13:14:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1156
678164a5
RK
1157 * optabs.c (can_extend_p): Allow unsignedp to have any nonzero value.
1158 (gen_extend_insn, can_fix_p, can_float_p): Likewise.
1159
2bc9f98c
RK
1160 * final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove
1161 dangling "else" that causes "break" to be conditional.
1162 Also remove unneeded code at start.
1163
37941398
PDM
1164Mon May 22 17:31:35 2000 Philippe De Muyter <phdm@macqel.be>
1165
1166 * m68k/m68k.h (STORE_FLAG_VALUE): Macro set to (-1), not -1.
1167 * fx80/fx80.h, i370/i370.h, m88k/m88k.h (STORE_FLAG_VALUE): Ditto.
1168 * gmicro/gmicro.h, we32k/we32k.h (STORE_FLAG_VALUE): Ditto.
1169
1f046771
JJ
11702000-05-22 Jakub Jelinek <jakub@redhat.com>
1171
1172 * config/sparc/sparc.md (movdf_insn_v9only_vis): fzero has
1173 just one argument.
1174
a0c33338
RK
1175Mon May 22 06:57:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1176
1177 * alias.c (record_component_aliases): New function.
1178 * tree.h: Clean up some declarations and comments.
1179 (record_component_aliases): New declaration.
1180 * tree.c (get_alias_set): If type and has alias set, use it.
1181
a774e06e
RH
11822000-05-22 Richard Henderson <rth@cygnus.com>
1183
1184 * simplify-rtx.c (simplify_ternary_operation): Try to simplify
1185 IF_THEN_ELSE to a setcc form.
0dab8f8a 1186 * jump.c (can_reverse_comparison_p): Be prepared for insn null.
a774e06e 1187
93a718f6
KG
11882000-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1189
1190 * fixinc/inclhack.def (sun_malloc): Handle `calloc'.
1191 (sun_malloc, sysz_stdtypes_for_sun): Add test_text.
1192
f85cf636
RK
1193Sun May 21 16:42:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1194
1195 * combine.c (try_combine): Handle i3_subst_into_i2 case when I2 is
1196 not a PARALLEL.
1197
242b0ce6
AO
11982000-05-20 Alexandre Oliva <aoliva@cygnus.com>
1199
212bc5fa
AO
1200 * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
1201 * config/mn10300/mn10300.c (print_operand): Likewise.
1202
7f251dee
AO
1203 * final.c (split_double): Right shift of negative values is not
1204 portable.
1205
13462862
AO
1206 * ifcvt.c (if_convert): Scan and kill dead code.
1207
242b0ce6
AO
1208 * emit-rtl.c (unshare_all_rtl): Store the copied rtx.
1209
fbd40359
ZW
12102000-05-20 Zack Weinberg <zack@wolery.cumb.org>
1211
1212 * diagnostic.c: Eliminate implicit int.
1213 * except.c, gcc.c: Add static prototypes.
1214 * final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED.
1215 * gensupport.c (process_rtx): Use XVEC to initialize vector
1216 slot of 'split'.
1217
1218 * print-rtl.c: If DEBUG_REGISTER_NAMES, define static
1219 debug_reg_names instead of static reg_names. If not, define
1220 global reg_names.
1221 * regclass.c: Don't define global reg_names unless
1222 DEBUG_REGISTER_NAMES is defined.
1223
1224 * reload1.c (order_regs_for_reload): Remove unused variable.
1225 * varasm.c: Include output.h after defaults.h. Define
1226 eh_frame_section as function of no args, not of unspecified args.
1227
1228 * gcc.c: Constify argbuf; arguments to store_arg,
1229 process_command, main; elements of struct command and struct
1230 switchstr; local variables in execute, process_command, main.
1231
cd64831f
BK
12322000-05-20 Bruce Korb <bkorb@gnu.org>
1233
cb8d5168 1234 * fixinc/inclhack.def: many applications of c_fix=format + tests
cd64831f 1235 * fixinc/check.diff: regenerated
a8228686 1236 * fixinc/fixincl.x: regenerated
cd64831f 1237
dc1618bc
RK
1238Sat May 20 09:30:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1239
ac3d9668
RK
1240 * alias.c: Clarify some comments.
1241 (record_base_value): REGNO is unsigned.
1242 * rtl.h (record_base_value): Likewise.
1243
dc1618bc
RK
1244 * alias.c (aliases_everything_p): Don't special-case QImode here.
1245 * c-common.c (c_get_alias_set): Do it here.
1246 Handle BIT_FIELD_REF by getting alias info for arg.
1247 Use POINTER_TYPE_P.
1248
de467fe7
AO
12492000-05-20 Alexandre Oliva <aoliva@cygnus.com>
1250
1251 * mklibgcc.in: Restore rule to create ${dir}.
1252
34840988
L
1253Sat May 20 08:45:41 2000 H.J. Lu <hjl@gnu.org>
1254
1255 * Makefile.in (libgcc.mk): Depend on xgcc$(exeext) for
1256 GCC_FOR_TARGET used by MULTILIBS.
1257 * mklibgcc.in: Make sure each .o file depends on the
1258 directory it will be in.
1259 Make the multilib directory depends libgcc.
1260
b71e9845
L
1261Sat May 20 08:29:28 2000 H.J. Lu <hjl@gnu.org>
1262
1263 * Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1.
1264
c2b63960
AO
1265Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com>
1266
1267 * fold-const.c (make_range): Handle degenerated intervals.
1268 Fixes c-torture/execute/991221-1.c
1269
efc9bd41
RK
1270Fri May 19 18:16:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1271
1272 * cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0.
1273 * reload.c (find_equiv_reg): Likewise.
1274 * alias.c (init_alias_analysis): Likewise.
1275 Only call prologue_epilogue_contains on insns.
1276 * basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function.
1277 * bb-reorder.c (hard-reg-set.h): Include earlier.
1278 * haifa-sched.c (hard-reg-set.h): Likewise.
1279 * ifcvt.c (hard-reg-set.h): Likewise.
1280 * local-alloc.c (hard-reg-set.h): Likewise.
1281 * loop.c (hard-reg-set.h): Likewise.
1282 * predict.c (hard-reg-set.h): Likewise.
1283 * regrename.c (hard-reg-set.h): Likewise.
1284 * flow.c (hard-reg-set.h): Likewise.
1285 (reg_set_to_hard_reg_set): New function.
1286 * bitmap.c (regs.h, basic-block.h): No longer include.
1287 (bitmap.h): Now include.
1288 * conflict.c (hard-reg-set.h): Include.
1289 * profile.c (hard-reg-set.h): Likewise.
1290 * print-rtl.c (hard-reg-set.h): Likewise.
1291 * sbitmap.c (hard-reg-set.h): Likewise.
1292 * toplev.c (hard-reg-set.h): Likewise.
1293 * unroll.c (hard-reg-set.h, basic-block.h): Likewise.
1294 * hard-reg-set.h (reg_names): Now constant.
1295 * regs.h (reg_names): Likewise.
1296 * regclass.c (reg_names): Likewise.
1297 * loop.h (basic-block.h): No longer include.
1298 (bitmap.h): Now include.
1299 * reload1.c (order_regs_for_reload): Avoid loop over reg sets.
1300 * Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes.
1301 (toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise.
1302
51891abe
JH
13032000-05-19 Jan Hubicka <jh@suse.cz>
1304 Richard Henderson <rth@cygnus.com>
1305
1306 * basic-block.h (struct edge_def): New field "count".
1307 (struct basic_block_def): Likewise.
1308 * flow.c (entry_exit_blocks): Add count fileds.
1309 (split_edge): Keep count information up-to-date.
1310 (dump_edge_info, dump_flow_info): Dump count fields.
1311
1312 * final.c (count_instrumented_edges): Rename to edge from arc.
1313 (end_final): Update users.
1314 * profile.c: Include expr.h, basic-block.h.
1315 (struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill.
1316 (struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill.
1317 (ignore_next_note, return_label_execution_count): Kill.
1318 (bbg_file_name, da_file_name): Kill.
1319 (edge_info, bb_info): New structures.
1320 (EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros.
1321 (count_instrumented_edges, total_num_edges): Rename to edge from arc.
1322 (total_num_edges_instrumented): Likewise.
1323 (init_arc, expand_spanning_tree): Kill.
1324 (fill_spanning_tree, tablejump_entry_p): Kill.
1325 (instrument_edges): Rewrite from instrument_arcs to use
1326 commit_edge_insertions infrastructure.
1327 (compute_branch_probabilities): Remove arguments; rewrite for
1328 CFG infrastructure; use rtl_dump_file directly.
1329 (branch_prob, find_spanning_tree): Likewise.
1330 (union_groups, find_group): New.
1331 (init_branch_prob): Make bbg_file_name and da_file_name local.
1332 (end_branch_prob): Use rtl_dump_file directly.
1333 (init_edge_profiler): Rename to edge from arc.
1334 (output_arc_profiler): Kill.
1335 (gen_edge_profiler): New.
1336 (output_func_start_profiler): Turn off profiling. Make the
1337 constructor static when we can.
1338 * rtl.h (branch_prob, end_branch_prob): Update prototypes.
1339
1340 * toplev.c (DFI_flow): Remove.
1341 (DFI_cfg, DFI_life): New.
1342 (dump_file): Update accordingly.
1343 (compile_file): Call end_branch_prob if profile_arc_flag too.
1344 (rest_of_compilation): Move flow1 cfg creation to DFI_cfg. Do edge
1345 profiling after the CFG is built. Move flow1 life analysis to
1346 DFI_life. Always estimate remaining probabilities.
1347
228c4d97
RH
13482000-05-19 Richard Henderson <rth@cygnus.com>
1349
b6cfd264
RH
1350 * ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT.
1351
228c4d97
RH
1352 * flow.c (make_edges): The sibling call edge to exit is abnormal.
1353
9ba11d5a
RH
13542000-05-19 Richard Henderson <rth@cygnus.com>
1355
1356 * jump.c (redirect_jump): Add delete_unused argument. Don't
1357 remove labels and code following when LABEL_NUSES goes to zero.
1358 (invert_jump): Likewise.
1359 (jump_optimize_1): Fix redirect/invert arguments.
1360 (do_cross_jump, thread_jumps): Likewise.
1361 * flow.c (split_edge): Likewise.
1362 * reorg.c (optimize_skip): Likewise.
1363 (reorg_redirect_jump, relax_delay_slots, dbr_schedule): Likewise.
1364 * profile.c (instrument_arcs): Likewise.
1365 * loop.c (find_and_verify_loops): Likewise. Fix indentation.
1366 * rtl.h: Update prototypes.
1367
555a0aa7
CP
1368Fri May 19 12:05:13 2000 Clinton Popetz <cpopetz@cygnus.com>
1369
1370 * ssa.c (convert_from_ssa): Tell life_analysis we need death
1371 notes.
1372 (make_regs_equivalent_over_bad_edges): Only look at abnormal
1373 critical edges.
1374
a58f64f5
ZW
13752000-05-19 Zack Weinberg <zack@wolery.cumb.org>
1376
021c89ed
ZW
1377 * cpphash.c (funlike_macroexpand): Make sure not to walk p1
1378 past l1 when deleting whitespace and markers.
1379
a58f64f5
ZW
1380 * cpplex.c (_cpp_scan_until): Clear AUX field of tokens.
1381 * cpplib.c (do_unassert): Put the list to compare against on
1382 the stack.
1383
da6d3adf
BK
13842000-05-19 Bruce Korb <bkorb@gnu.org>
1385
1386 * fixinc/README: cleaned up old documentation
1387 * fixinc/check.diff: regenerated & verified on OSR5 on ix86
1388 * fixinc/check.tpl: compute the list of needed directories
1389 emit "#if defined(name)" because of conflict
1390 omit machine name differences from output differences
1391 * fixinc/inclhack.def( m88k_multi_incl ): Use `wrap' function
1392 (machine_name): change test text to use `sed' markers
1393 * fixinc/fixincl.x: regen
1394
f2b33981
RK
1395Fri May 19 06:49:35 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1396
1397 * config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of
1398 a CONSTRUCTOR.
1399
c6fd0f17
CD
14002000-05-18 Chris Demetriou <cgd@sibyte.com>
1401
1402 * gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update
1403 it to match the current practice.
1404
e7f731a7
MM
14052000-05-18 Mark Mitchell <mark@codesourcery.com>
1406
1407 * Makefile.in (STAGESTUFF): Fix typo in spelling of s-under.
1408
a8393d5d
RH
14092000-05-18 Richard Henderson <rth@cygnus.com>
1410
1411 * rtlanal.c (insn_dependant_p, insn_dependant_p_1): New.
1412 * rtl.h (insn_dependant_p): Declare it.
1413 * loop.c (strength_reduce): Use it.
1414
036182e7
AO
14152000-05-18 Alexandre Oliva <aoliva@cygnus.com>
1416
1417 * config/mn10300/mn10300.c (expand_prologue, expand_epilogue):
1418 16-bit and 64-bit clean-up.
1419
2838397c
ME
14202000-05-18 Mark Elbrecht <snowball3@bigfoot.com>
1421
9ba11d5a 1422 * configure.in (*-pc-msdosdjgpp): Set float_format to none.
2838397c
ME
1423 * configure: Rebuilt.
1424
1b3459d2
ZW
14252000-05-18 Zack Weinberg <zack@wolery.cumb.org>
1426
1427 * genopinit.c: Use $ for escape sequences in optab patterns.
1428 Remove backslashes from optab patterns. Change $A, $B, $C to
1429 expand to (int) whatever instead of just whatever; remove
1430 explicit (int) from all optab patterns.
1431
1432 * gensupport.c (xmalloc, xrealloc, xstrdup): Provide.
1433 * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c,
1434 genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
1435 genrecog.c: Remove private copies of xmalloc, xrealloc, and
1436 xstrdup.
1437
3fe3a08f
RH
14382000-05-18 Richard Henderson <rth@cygnus.com>
1439
1440 * jump.c (jump_optimize_1): Base minimum insn count during
1441 find_cross_jump on BRANCH_COST.
1442
21835d9b
JJ
14432000-05-18 Jakub Jelinek <jakub@redhat.com>
1444
1445 * print-rtl.c (print_rtx): Only print note line number as string
1446 if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
1447 * final.c (final_scan_insn): Do nothing for note line number 0.
1448
099049da
JJ
14492000-05-18 Jakub Jelinek <jakub@redhat.com>
1450
1451 * gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
1452 from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
1453 NOTE_INSN_DELETED_LABEL.
1454
265f5849
NC
14552000-05-18 Nick Clifton <nickc@cygnus.com>
1456
1457 * config/arm/unknown-elf.h (UNIQUE_SECTION): Place constant,
1458 uninitialised data in .rodata not .bss, and do not interpret an
1459 error in the initialisation value as meaning that the variable
1460 should be placed in the .bss section.
1461
3642ea2f
PDM
1462Thu May 18 12:10:18 2000 Philippe De Muyter <phdm@macqel.be>
1463
1464 * configure.in (NO_MINUS_C_MINUS_O): Test `$ac_cv_prog_cc_${ac_cc}_c_o',
1465 not `$ac_cv_prog_cc_cc_c_o'.
1466 * configure: Regenerated.
1467
7aba5a5f
CD
14682000-05-18 Chris Demetriou <cgd@sibyte.com>
1469 Richard Henderson <rth@cygnus.com>
1470
1471 * c-common.h (enum c_tree_index): Add g77 type entries.
1472 (g77_integer_type_node, g77_uinteger_type_node): New.
1473 (g77_longint_type_node, g77_ulongint_type_node): New.
1474 * c-decl.c (init_decl_processing): Initialize them.
1475
009ac3d3
RH
14762000-05-18 Richard Henderson <rth@cygnus.com>
1477
14f3e03b
RH
1478 * config/h8300/h8300.md (subs patterns): Use %G to negate.
1479
009ac3d3
RH
1480 * config/h8300/h8300.c (ok_for_bclr): Take a HOST_WIDE_INT.
1481 (small_power_of_two): Likewise; use exact_log2.
1482 (adds_subs_operand, one_insn_adds_subs_operand): Remove.
1483 (output_adds_subs): Remove.
1484 (two_insn_adds_subs_operand): New.
1485 (split_adds_subs): New.
1486 * config/h8300/h8300-protos.h: Update.
1487 * config/h8300/h8300.h (CONST_OK_FOR_J): Cast to uns HOST_WIDE_INT.
1488 (CONST_OK_FOR_L): Match strict adds operands.
1489 (CONST_OK_FOR_N): Match struct subs operands.
1490 * config/h8300/h8300.md (adds_subs insns): Remove.
1491 (addhi patterns): Output adds/subs directly.
1492 (addsi_h8300h): Likewise.
1493 (addhi/addsi splitters): New. Decompose two_insn_adds_subs_operand.
1494
15dad1d9
ZW
14952000-05-18 Zack Weinberg <zack@wolery.cumb.org>
1496
1497 * cppexp.c (parse_assertion): New.
1498 (lex): Call it for CPP_HASH. Remove CPP_ASSERTION case.
1499 (_cpp_parse_expr): Remove case '#'. Don't set
1500 parsing_if_directive.
1501 * cpphash.c (collect_objlike_expansion,
1502 collect_funlike_expansion, collect_params,
1503 _cpp_create_definition): The list no longer has a trailing
1504 VSPACE token.
1505 * cpphash.h (enum node_type): Add T_ASSERTION.
1506 (struct hashnode): Remove aschain, add pred.
1507 (struct predicate): New.
1508 Update prototypes.
1509
1510 * cpplex.c (expand_token_space): Handle both offset and
1511 nonoffset lists.
1512 (init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete.
1513 (_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist,
1514 _cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens,
1515 _cpp_equiv_toklists): New.
1516 (_cpp_scan_line): Rename to _cpp_scan_until; add ability to
1517 stop at any single-character token, not just newline.
1518 (_cpp_lex_token): Remove special cases for #define and #if.
1519 (cpp_get_token): Expect # as a separate token type. Remove
1520 DIRECTIVE case.
1521 (_cpp_get_directive_token): Remove DIRECTIVE case.
1522 (_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update.
1523
1524 * cpplib.c (_cpp_check_directive): Set dirno and
1525 SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags.
1526 (_cpp_handle_directive): Run # <number> through the same logic
1527 as normal directives.
1528 (do_define): Don't set parsing_define_directive. Use
1529 _cpp_scan_until. The list does not have a VSPACE at the end.
1530 (do_if): Save, clear, and restore only_seen_white around
1531 _cpp_parse_expr.
1532 (skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/
1533 (do_assert, do_unassert): Rewrite.
1534
1535 * cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION.
1536 (LIST_OFFSET): New flag.
1537 (struct cpp_toklist): Replace dir_handler and dir_flags with
1538 dirno and flags.
1539 (struct cpp_reader): Remove parsing_if_directive and
1540 parsing_define_directive.
1541
7021bb50
KG
15422000-05-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1543
1544 * fixinc/inclhack.def (broken_cabs): Update fix to handle comments
1545 following the cabs decl which terminate on the following line.
1546 Add the corresponding test_text case.
1547
6ab3e7dd
NB
15482000-05-18 Neil Booth <NeilB@earthling.net>
1549
1550 * cppinit.c (cpp_reader_init): Initialise col_adjust and
1551 default tab stop size.
1552 (no_num, OPT_ftabstop): New.
1553 (handle_option): Handle "ftabstop=" command-line option.
1554 (print_help): Document it.
1555 * cpplex.c (COLUMN): Remove.
1556 (handle_newline): Reset col_adjust.
1557 (skip_whitespace): Update col_adjust as tabs encountered.
1558 (_cpp_lex_line): Update to use col_adjust. Call
1559 skip_whitespace for all whitespace.
1560 * cpplib.h (struct cpp_options): New member tabstop.
1561 (struct cpp_reader): New member col_adjust.
1562 (CPP_BUF_COL): Update.
1563 (CPP_BUF_COLUMN): New.
1564 * cpp.texi: Document "-ftabstop=" command line option.
1565
b4c7e567
PDM
1566Wed May 17 18:19:41 2000 Philippe De Muyter <phdm@macqel.be>
1567
1568 * configure.in (NO_MINUS_C_MINUS_O): Macro made availabe for AC_OUTPUT
1569 files.
1570 * configure: Rebuilt.
1571
935fb9c4
JDA
1572Wed May 17 18:06:12 2000 John David Anglin <dave@hiauly1.hia.nrc.ca>
1573
b7d95e6f
JDA
1574 * mklibgcc.in Add missing -DL$name when compiling modules in libgcc1.c.
1575
935fb9c4
JDA
1576 * tree.c (build_common_tree_nodes): Do not build TI nodes unless
1577 HOST_BITS_PER_WIDE_INT is >= 64.
1578
d67b9d00
RH
15792000-05-17 Richard Henderson <rth@cygnus.com>
1580
1581 * jump.c (jump_optimize_1): Remove inactive but real insns
1582 in jump-to-next-insn optimization.
1583
97d36f45
RH
15842000-05-17 Richard Henderson <rth@cygnus.com>
1585
1586 * toplev.c (rest_of_compilation): Don't call optimize_mode_switching
1587 unless OPTIMIZE_MODE_SWITCHING. Conditionally set no_new_pseudos.
1588 Don't call recompute_reg_usage if no_new_pseudos is true.
1589 * lcm.c (optimize_mode_switching): Move ifdefs outside function.
1590 Return true if we did work; update global life information.
1591 * basic-block.h (optimize_mode_switching): Update decl.
1592
79f50f2a
NB
15932000-05-17 Neil Booth <neilb@earthling.net>
1594
1595 * cpplex.c (expand_name_space): Don't use ptrdiff_t.
1596
2c0b35cb
ZW
15972000-05-17 Zack Weinberg <zack@wolery.cumb.org>
1598
1599 * cpplib.c: New feature, #pragma system_header.
1600 * cpp.texi: Document special treatment of system headers, and
1601 the various mechanisms to get a header that special treatment.
1602
e0125cf3
KG
16032000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1604
1605 * system.h (offsetof): Define at the very end, to ensure we prefer
1606 the platform's definition if available.
e9099386
BK
1607
16082000-05-16 Bruce Korb <bkorb@gnu.org>
1609
1610 * fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE
1611 * fixinc/server.c: likewise
3f69bd93
BK
1612 * fixinc/fixfixes.c( char_macro_def_fix ): fix regex
1613 + #ifdef debugging code + use #def constant for
1614 sub-pattern count
2dc693ee
BK
1615 * fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping
1616 on C++ math namespace
e9099386 1617
558fe506
KG
16182000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1619
1620 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
1621 Don't check the return value of sprintf. Use asprintf to avoid
1622 buffer overflows.
1623
078721e1
AC
1624Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com>
1625
1626 * flags.h (warn_unused_function, warn_unused_label,
1627 warn_unused_parameter, warn_unused_variable, warn_unused_value):
1628 Replace ``warn_unused''.
1629 (set_Wunused): Add declaration.
1630 * toplev.c (set_Wunused): New function.
1631 (warn_unused_function, warn_unused_label, warn_unused_parameter,
1632 warn_unused_variable, warn_unused_value): New variables.
1633 (W_options): Add -Wunused-function, -Wunused-function,
1634 -Wunused-label, -Wunused-parameter, -Wunused-variable and
1635 -Wunused-value. Delete -Wunused. Handled in decode_W_option.
1636
1637 * toplev.c (decode_W_option): Update -Wunused flags by calling
1638 set_Wunused.
1639 * c-decl.c (c_decode_option): Ditto for -Wall.
1640
1641 * stmt.c (expand_expr_stmt, expand_expr_stmt,
1642 warn_about_unused_variables): Replace warn_unused with more
1643 explicit warn_unused_value et.al.
1644 * function.c (expand_function_end): Ditto.
1645 * c-typeck.c (internal_build_compound_expr,
1646 internal_build_compound_expr): Ditto.
1647 * c-decl.c (poplevel, pop_label_level): Ditto.
1648 * toplev.c (check_global_declarations): Replace warn_unused with
1649 check for either warn_unused_function or warn_unused_variable.
1650
1651 * gcc.1, invoke.texi (Warning Options): Document
1652 -Wunused-function, -Wunused-function, -Wunused-label,
1653 -Wunused-parameter, -Wunused-variable and -Wunused-value options.
1654
6f6ceed0
PDM
1655Wed May 17 10:28:12 2000 Philippe De Muyter <phdm@macqel.be>
1656
1657 * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in
1658 $(srcdir), not in the current directory.
1659
53749ab7
RH
16602000-05-16 Richard Henderson <rth@cygnus.com>
1661
1662 * config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the
1663 assembler supports it.
1664 (.fini, .init): Use a gp-relative indirect call.
1665 (__do_global_dtors_aux): Preserve the gp; rebundle.
1666 (__do_frame_setup): Likewise.
1667 * config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1.
1668 (.init): Use a gp-relative indirect call.
1669 (__do_global_ctors_aux): Preserve the gp.
1670
f5540cd4
RH
16712000-05-16 Richard Henderson <rth@cygnus.com>
1672
1673 * flow.c (commit_one_edge_insertion): Be prepared for a return
1674 insn to be inserted on the edge with a normal jump.
1675 * jump.c (jump_optimize_1): Don't look to create return isns.
1676
1677 * flow.c (flow_delete_insn): Don't adjust reference count of notes.
1678 * jump.c (jump_optimize_1): Likewise.
1679 (returnjump_p): Verify the argument is a JUMP_INSN.
1680 * rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL.
1681
23568fa0
NC
16822000-05-16 Nick Clifton <nickc@cygnus.com>
1683
1684 * config/m32r/m32r.c (small_insn_p): Use INSN_P() to replace
1685 GET_RTX_CLASS (GET_CODE ()) == 'i'.
1686 (large_insn_p): Ditto.
1687 (m32r_is_insn): New function: Return true if the insn contains
1688 an executable instruction.
1689 (m32r_adjust_insn): Use m32r_is_insn.
1690 (m32r_sched_reorder): Use m32r_is_insn.
1691 (m32r_sched_variable_issue): Use m32r_is_insn.
1692
5a1b894d
FS
16932000-05-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1694
df3aefb0
FS
1695 * rs6000/rs6000.c (rs6000_select_section): Treat CONSTRUCTOR like
1696 VAR_DECL.
1697
9e6e5068
FS
1698 * rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Delete unused variable.
1699
1700 * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux
1701 according to given options.
5a1b894d 1702
66e85f38
JL
1703Tue May 16 12:17:31 2000 Jeffrey A Law (law@cygnus.com)
1704
1705 * mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS
1706 if X has VOIDmode either.
1707 (LIMIT_RELOAD_CLASS): Similarly.
1708
1709 * mn10200.md (indirect_jump, tablejump): Use "register_operand",
1710 not "general_operand" to match the processor's capabilities.
1e248c55
BK
1711
17122000-05-16 Bruce Korb <bkorb@gnu.org>
1713
1714 * fixinc/README: corrected return address
1715 * fixinc/check.diff: regenerate, now that test works
1716 * fixinc/fixfixes.c(format_fix,format_write): reformatted
1717 (char_macro_def_fix,char_macro_use_fix): corrected and
1718 rewrote to use regex to parse the text
1719 * fixinc/inclhack.def: more testing
1720 * fixinc/fixincl.x: regenerated
1721
d651ee81
BK
1722 * fixinc/inclhack.def: added several "test_text" attributes
1723 changed several fixes to use `c_fix = format'
1724 re-alphabetized the fixes
1725
1726 * fixinc/check.diff: regenerate
1727 * fixinc/fixincl.x: regenerate
1728 * fixinc/check.tpl: added `sparc' and `netinet' to the list
1729 of created dirs
1730
1731
789f3ce3
AO
17322000-05-16 Alexandre Oliva <aoliva@cygnus.com>
1733
1734 * config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove.
1735
d2f7de58
RH
17362000-05-15 Richard Henderson <rth@cygnus.com>
1737
1738 * toplev.c (rest_of_compilation): Run full jump pass before
1739 find_basic_blocks of flow2.
1740
d781a164
RH
17412000-05-15 Richard Henderson <rth@cygnus.com>
1742
1743 * jump.c: Fix typos and clarify commentary from last change.
1744 (any_condjump_p): Verify SET_SRC is an IF_THEN_ELSE.
1745 (safe_to_remove_jump_p): Remove.
1746 (condjump_label): Use pc_set.
1747
7f9d9ea1
RH
17482000-05-15 Richard Henderson <rth@cygnus.com>
1749
1750 * ifcvt.c (cond_exec_process_insns): Drop USE and CLOBBER insns
1751 that get in the way after reload.
1752 (cond_exec_process_if_block): Skip a label heading THEN block.
1753
085ce8c6
RH
17542000-05-15 Richard Henderson <rth@cygnus.com>
1755
1756 * varasm.c (output_constant_pool): Abort instead of converting
1757 (improperly) deleted labels to zero.
1758
41e8b1d7
NB
17592000-05-16 Neil Booth <NeilB@earthling.net>
1760
1761 * cpplex.c (parse_string2): Update comment.
1762 (cpp_lex_line): No special assertion treatment for '('.
1763 * cpplib.c (DIRECTIVE_TABLE): Remove SYNTAX_ASSERT.
1764 * cpplib.h (SYNTAX_ASSERT): Remove.
1765
e4c85816
JH
1766Mon May 15 21:45:36 MET DST 2000 Jan Hubicka <jh@suse.cz>
1767
1768 * jump.c (condjump_p): Mark as depreached.
1769 (any_condump_p): New.
1770 (any_uncondump_p): New.
1771 (pc_set): New.
1772 (safe_to_remove_jump_p): New.
1773 * rtl.h (any_condump_p, any_uncondjump_p, pc_set
1774 safe_to_remove_jump_p): Declare.
1775
099e9712
JH
1776Mon May 15 21:07:20 MET DST 2000 Jan Hubicka <jh@suse.cz>
1777
1778 * calls.c: Re-install both patches reverted by last patch.
1779 (struct arg_data): New field tail_call_reg.
1780 (initialize_argument_information): Initialize tail_call_reg
1781 (load_register_parameters): New argument flags, use
1782 tail_call_reg when emiting tail call sequence.
1783 (expand_call): Update call of load_register_parameters;
1784 copy unadjusted_args_size to adjusted_args_size.
1785
1bf14ad7
JH
1786Mon May 15 19:01:42 MET DST 2000 Jan Hubicka <jh@suse.cz>
1787
1788 * loop.c (scan_loop, strength_reduce, loop_optimize): Change unroll_p
1789 and bct_p parameters to flags.
1790 * loop.h (LOOP_UNROLL, LOOP_BCT): New constants.
1791 * rtl.h (loop_optimize): Update prototype.
1792 * toplev.c (rest_of_compilation): Update call of loop_optimize.
1793
b8d254e6
JJ
17942000-05-15 Jakub Jelinek <jakub@redhat.com>
1795
1796 * calls.c (expand_call): Move expand_start_target_temps call after
1797 start_sequence().
1798
f617b8e2
NB
17992000-05-15 Neil Booth <NeilB@earthling.net>
1800
1801 * cpphash.c (trad_stringify, warn_trad_stringify,
1802 collect_params): Make some pointers pointers to const.
1803 * cpplex.c (auto_expand_name_space) Guaranteed to always
1804 expand by at least one character.
1805 (SPELL_CHAR, SPELL_NONE): Temporarily reverse order.
1806 (struct token_spelling): Use const U_CHAR * rather than PTR.
1807 (expand_name_space): Fix up token pointers if name space
1808 is moved when expanding.
1809 (INIT_NAME, cpp_scan_line, parse_name, parse_number,
1810 parse_string2, save_comment, spell_token, cpp_output_list):
1811 Update so the routines handle tokens with a direct pointer to
1812 their text, rather than an offset into the token's list's namebuf.
1813 (_cpp_lex_line): Rearrange for clarity.
1814
1815 * cpplib.c (_cpp_check_directive): Similarly.
1816 (do_define): Make SYM a pointer to const.
1817 * cpplib.h (struct cpp_name): Replace offset with direct pointer.
1818 (CPP_INT, CPP_FLOAT): Spelling type should be SPELL_IDENT.
1819 (TOK_OFFSET): Delete.
1820 (TOK_NAME): Update.
1821
5ba02ca6
GK
18222000-05-14 Geoffrey Keating <geoffk@cygnus.com>
1823
05ef2698
GK
1824 * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for
1825 64-bit ABI.
1826
dfbdccdb
GK
1827 * config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE
1828 into account.
1829 (logical_u_operand): Delete.
1830 (non_logical_cint_operand): Rewrite to take MODE into account.
1831 (non_logical_u_cint_operand): Delete.
1832 (boolean_operator): New function.
1833 (print_operand): Add new %q operand.
1834 * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator,
1835 remove logical_u_operand and non_logical_u_cint_operand,
1836 update logical_operand and non_logical_cint_operand.
1837 * config/rs6000/rs6000.md: Rewrite the patterns for performing
1838 logical operations to use %q.
1839
f176e826
GK
1840 * config/rs6000/rs6000.md (movsi): Don't modify RTL in-place.
1841 (movdi): Make similar to movsi.
1842 * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There
1843 is no such thing as a DImode CONST_DOUBLE.
1844 * config/rs6000/rs6000.c (output_toc): Likewise.
1845
1846 * config/rs6000/rs6000.c (output_cbranch): Don't output prediction
1847 codes when old mnemonics are in use. Print register names
94a54f47
GK
1848 for cc registers when requested.
1849
5ba02ca6
GK
1850 * optabs.c (expand_float): Don't allow mode widening that causes
1851 double rounding.
fa06229f
GK
1852
1853 * invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32
1854 flags to their current names -maix64 and -maix32.
1855
ba8fcfc3
BK
18562000-05-14 Bruce Korb <bkorb@gnu.org>
1857
1858 * fixinc/fixfixes.c(wrap_fix): new fix - inserts text before
1859 and/or after current text of file
1860 * fixinc/fixlib.c(must_malloc):
1861 * fixinc/fixlib.h(must_malloc): + reformatting
1862 * fixinc/inclhack.def: replace the "1i" and "$a" sed commands
1863 with usages of ``c_fix = wrap;''
99d05d99 1864 Add several tests and use the ``c_fix = format'' fixer more.
ba8fcfc3
BK
1865 * fixinc/fixincl.x: regen
1866 * fixinc/check.diff: regen
99d05d99
BK
1867 * fixinc/check.tpl: emit the associated header with the missing
1868 test message
ba8fcfc3 1869
3e6fa9ac
HPN
1870Sun May 14 17:58:59 2000 Hans-Peter Nilsson <hp@axis.com>
1871
1872 * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset
1873 variables $src and $dst.
1874
856b6244
GDR
18752000-05-13 Gabriel Dos Reis <gdr@codesourcery.com>
1876
1877 * diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro.
1878 (DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise.
1879 (DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise.
1880 (struct output_buffer: emitted_prefix_p, prefixing_rule): New
1881 fields.
1882 (set_message_prefixing_rule): Declare.
1883
1884 * diagnostic.c: (current_prefixing_rule): New variable.
1885 (set_message_prefixing_rule): Define.
1886 (output_set_prefix): Adjust buffer->emitted_prefix_p.
1887 (init_output_buffer): Adjust Initialization.
1888 (output_emit_prefix): Rewrite. Take prefixing rules into account.
1889
8701a6a4
PDM
1890Sat May 13 11:05:47 2000 Philippe De Muyter <phdm@macqel.be>
1891
1892 * ifcvt.c (if_convert): Do not free NULL.
1893
aeb4f5ef
NC
18942000-05-12 Nick Clifton <nickc@cygnus.com>
1895
1896 * config/fr30/fr30.c (fr30_move_double): New function: Emit code
1897 to move a double word value.
1898 (di_operand): New function: Return true if the operand is suitbale
1899 for a double word move operation.
1900 (nonimmediate_di_operand): New function: Return true if the
1901 operand is a DImode register or MEM.
1902
1903 * config/fr30/fr30.h (PREDICATE_CODES): Add di_operand and
1904 nonimmediate_di_operand.
1905
1906 * config/fr30/fr30-protos.h Add fr30_move_double, di_operand, and
1907 nonimmediate_di_operand.
1908
1909 * config/fr30/fr30.md (movdi): New pattern. Required because
1910 other patterns generate DImode results.
1911 (movdi_insn): New pattern.
1912
1d11bf18
RH
19132000-05-12 Richard Henderson <rth@cygnus.com>
1914
1915 * config/alpha/alpha.c (struct shadow_summary): Define
1916 bitfields as type unsigned int.
1917
2a1c19ed
DC
1918Sat May 13 00:09:59 2000 Denis Chertykov <denisc@overta.ru>
1919
1920 * config/avr/t-avr: Added definition of FLOAT while generates
1921 fp-bit.c
1922
1923 * config/avr/avr.md: `NEXT_INSN (insn)' substituted to `insn' in
1924 peepholes for tst+jump = sbrs/sbrc optimization.
1925
3ea2292a
JH
1926Fry May 12 20:03:00 CEST 2000 Jan Hubicka <jh@suse.cz>
1927
1928 * expr.c (emit_push_insn): Do not adjust stack pointer when
1929 preallocating.
1930
c0dbdfbb
PDM
1931Fri May 12 19:03:58 2000 Philippe De Muyter <phdm@macqel.be>
1932
1933 * ggc-simple.c (offsetof): Macro fallback definition moved from here ..
1934 * system.h (offsetof): ... to here.
1935
be1bb652
RH
19362000-05-12 Richard Henderson <rth@cygnus.com>
1937
1938 * Makefile.in (final.o): Depend on BASIC_BLOCK_H.
1939 * final.c (final_end_function): Use app_disable. Rearrange note
1940 handling into a switch. Emit deleted labels.
1941 (output_asm_label): Generate label strings for deleted labels.
1942 * flow.c (tail_recursion_label_list): New.
1943 (find_basic_blocks_1): Set label_value_list directly. Collect list
1944 of tail recursion labels from call_placeholders. Don't add deleted
1945 labels to the label value list.
1946 (cleanup_cfg): Use free_EXPR_LIST_list.
1947 (flow_delete_insn_chain): Turn non-removable labels into notes.
1948 (flow_delete_block): Don't disable deleting the block because of
1949 a non-removable label.
1950 (tail_recursion_label_p): New.
1951 (merge_blocks_move_predecessor_nojumps): Don't disable the merge
1952 because of a label.
1953 (merge_blocks_move_successor_nojumps): Likewise. Also move a
1954 jump table.
1955 (merge_blocks): Disable a merge because of tail recursion labels.
1956 * ifcvt.c (merge_if_block): Don't disable a merge because of a label.
1957 Use a more accurate measure of not merging the join block.
1958 (find_if_block): Don't disable conversion because of a label.
1959 (find_if_case_1, find_if_case_2): Likewise.
1960 * jump.c (duplicate_loop_exit_test): Preserve the kind of list
1961 element when copying.
1962 (squeeze_notes): Also leave EH notes.
1963 (mark_jump_label): Ignore deleted labels. Use an INSN_LIST for
1964 REG_LABEL notes.
1965 (delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when
1966 deleting a label.
1967 * print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for
1968 NOTE_INSN_DELETED_LABEL. Print `[# deleted]' for a label_ref
1969 referring to a deleted label. Convert tail handling to a switch.
1970 * rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE
1971 for NOTE_INSN_DELETED_LABEL.
1972 (NOTE): Fix commentary.
1973 * rtl.h (REG_LABEL): Update commentary wrt INSN_LIST.
1974 (REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise.
1975 (CODE_LABEL_NUMBER, LABEL_NAME): Update index.
1976 (LABEL_NUSES, LABEL_REFS): Likewise.
1977 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL.
1978
a92fa608
BK
19792000-05-12 Bruce Korb <bkorb@gnu.org>
1980
1981 * fixinc/fixfixes.c(format_write): buglet & relaxed rules
88acf854
BK
1982 * fixinc/check.diff: updated
1983 * fixinc/inclhack.def: corrected & added some test_text-s
1984 * fixinc/genfixes: removed unneeded options to autogen invocation
1985 * fixinc/fixincl.tpl: Specified the output file
1986 * fixinc/fixfixes.c: visual appearance
1987 * fixinc/fixincl.x: regenerate
a92fa608 1988
4c6d912f
ZW
19892000-05-12 Zack Weinberg <zack@wolery.cumb.org>
1990
f5540cd4
RH
1991 * fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix,
1992 CTRL_defn_fix): Delete.
1993 (fix_char_macro_defines, fix_char_macro_uses): Rename to
1994 char_macro_def_fix and char_macro_use_fix, respectively. Put
1995 them into the FIXUP_TABLE. Get the string to search for from
1996 a c_fix_arg.
4c6d912f 1997
f5540cd4
RH
1998 (format_write): New function.
1999 (format_fix): Use it.
4c6d912f 2000
f5540cd4
RH
2001 (FIX_PROC_HEAD): Constify text parameter.
2002 (machine_name_fix): Constify all char *s.
2003 * fixtests.c (skip_quote): Remove double static.
4c6d912f 2004
f5540cd4
RH
2005 * inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes,
2006 ctrl_use_quotes): Update for new scheme.
2007 * fixincl.x: Regenerate.
4c6d912f 2008
5c68706c
AO
20092000-05-12 Alexandre Oliva <aoliva@cygnus.com>
2010
2011 * config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as
2012 DWARF2_DEBUG.
2013 (DWARF2_ASM_LINE_DEBUG_INFO): Define.
2014 (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
2015
3cfea779
RL
20162000-05-11 Robert Lipe <robertlipe@usa.net>
2017
2018 * fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO.
2019 * fixincl.x: Regenerate.
2020
497eb8c3
RH
20212000-05-11 Richard Henderson <rth@cygnus.com>
2022
2023 * calls.c: Revert both 05-09 patches.
2024
842391df
AO
20252000-05-11 Alexandre Oliva <aoliva@cygnus.com>
2026
cf31fafa
AO
2027 * config/mn10300/mn10300.c (print_operand): Print FP constants in
2028 hexadecimal.
2029 * config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint
2030 for FP values.
2031
842391df
AO
2032 * mklibgcc.in (EQ): Define it to an equal sign in the Makefile,
2033 and replace any occurrences of `=' in multilib dirs with `$(EQ)'.
2034
48a259fc
JM
20352000-05-11 Jason Merrill <jason@casey.cygnus.com>
2036
2037 * fixinc/fixincl.c (run_compiles): Don't crash on null pz_machine.
2038
b7976767
ZW
20392000-05-11 Zack Weinberg <zack@wolery.cumb.org>
2040
2041 * fixinc/fixfixes.c, fixinc/fixtests.c: Update commentary.
2042
b58c068a
DC
2043Thu May 11 22:28:05 2000 Denis Chertykov <denisc@overta.ru>
2044
2045 * config/avr/avr-protos.c (jump_over_one_insn_p): New declaration.
2046 * config/avr/avr.c (jump_over_one_insn_p): New function.
2047 * config/avr/avr.md: New peepholes added. Output test and
2048 conditional jump to "sbrc" or "sbrs" command.
2049
38b8de2f
ME
20502000-05-11 Mark Elbrecht <snowball3@bigfoot.com>
2051
2052 * cppmain.c (main): Use IS_DIR_SEPARATOR.
2053
f19c9228
JJ
20542000-05-11 Jakub Jelinek <jakub@redhat.com>
2055
2056 * except.c (find_exception_handler_labels_1): New function.
2057 (find_exception_handler_labels): Split into two functions, dive
2058 into CALL_PLACEHOLDERs when looking for exception handler labels.
2059
5fa41e13
SC
20602000-05-11 Stan Cox <scox@cygnus.com>
2061
2062 * regrename.c (replace_reg_in_block): Improve REG_DEAD handling.
2063 * timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2.
2064 * toplev.c (rest_of_compilation): Call regrename_optimize before sched2.
2065
35dfe415
BK
20662000-05-11 Bruce Korb <bkorb@gnu.org>
2067
48a259fc 2068 * fixinc/fixfixes.c (double_slash_fix): obsolete
35dfe415
BK
2069 (else_endif_label_fix): obsolete
2070 (format_fix): new, unused as yet
2071 (main): obsolete
2072 * fixinc/fixlib.h: added fix description struct for use by format_fix
2073 * fixinc/fixincl.c: removed the struct & test for SIGIOT befure using
2074 * fixinc/Makefile.in: compile fixfixes.c and fixtests.c as separate
2075 modules. Removed the vestiges of the script version.
2076 Added support for "make check".
ef7615a0 2077 * fixinc/check.diff: base diff file (needs work!!)
35dfe415 2078 * fixinc/check.tpl: quiet the fixup output
48a259fc 2079 * fixinc/fixtests.c (main): obsolete
35dfe415
BK
2080 * fixinc/fixincl.sh: don't bother copying fixincl to ..
2081 * fixinc/fixincl.tpl: provide for arguments to c_fix routines
2082
e54d500c
JH
2083Thu May 11 11:57:02 MET DST 2000 Jan Hubicka <jh@suse.cz>
2084
2085 * toplev.c (rest_of_compilation): Remove dead code after
2086 combine.
2087
3ae1c615
ZW
20882000-05-11 Zack Weinberg <zack@wolery.cumb.org>
2089
2090 * cpphash.c (collect_funlike_expansion): Make "# is not
2091 followed by a macro argument name" a pedwarn, not an error.
2092 Preserve the # in the output. Suppress the warning if lang_asm.
2093
99b09ff3
JL
2094Thu May 11 01:19:31 2000 Jeffrey A Law (law@cygnus.com)
2095
2096 * configure.in (hppa*64*-*-hpux11*): New target for PA64 support.
2097 * configure: Rebuilt.
2098
2798f0d4
LB
20992000-05-10 Laurynas Biveinis <lauras@softhome.net>
2100
2101 * i386/xm-djgpp.h (XREF_FILE_NAME): Add mising brace.
2102
02359929
KH
21032000-05-10 Kazu Hirata <kazu@hxi.com>
2104
2105 * combine.c (try_combine): Fix a typo.
2106
d2ba6dcf
JW
2107Wed May 10 21:31:44 2000 Jim Wilson <wilson@cygnus.com>
2108
2109 * config/ia64/ia64.md (insv): Add comment.
2110
8e9bf55e
RH
21112000-05-10 Richard Henderson <rth@cygnus.com>
2112
2113 * Makefile.in (libgcc.a, stmp-multilib): Depend on FPBIT and DPBIT.
2114 * mklibgcc.in: Rewrite to not use functions. Don't shortcut
2115 dependancies on FPBIT and DPBIT.
2116
ebfe71a8
NC
21172000-05-10 Nick Clifton <nickc@redhat.com>
2118
2119 * flow.c (find_auto_inc): Do not bias REG_N_REFS by loop_depth
2120 when optimising for size.
2121 (mark_used_regs:) Ditto.
2122 (try_pre_increment_1): Ditto.
2123
fa557271
ZW
21242000-05-10 Zack Weinberg <zack@wolery.cumb.org>
2125
e43a1577
ZW
2126 * cppexp.c (lex): Use %.*s to print non-NUL-terminated string.
2127 Make error message friendlier.
2128
fa557271
ZW
2129 * cpphash.h (struct hashnode): Use struct hack for name
2130 member.
2131 * cpphash.c (struct hashdummy): New.
2132 (eq_HASHNODE): Second argument is a hashdummy, not a HASHNODE.
2133 (make_HASHNODE): No need to set ->name pointer. Correct
2134 setting of p.
2135 (cpp_lookup): Make 'dummy' a struct hashdummy. Tidy up a bit.
2136
0d12ea97
RH
21372000-05-10 Richard Henderson <rth@cygnus.com>
2138
2139 * flow.c (find_basic_blocks_1): Remove any spare bb_note
2140 after completion.
2141
5ac38d52
BK
21422000-05-10 Bruce Korb <bkorb@gnu.org>
2143
2144 * fixinc/gnu-regex.c: reg_syntax_t re_syntax_options must be static
2145
ede1dbac
ES
21462000-05-10 Eric Schweitz <schweitz@nortelnetworks.com>
2147
2148 * dwarfout.c (dwarfout_finish): Call retry_incomplete_types
2149 after we enter .debug.
2150
8d8238b6
JM
21512000-05-10 Jason Merrill <jason@casey.cygnus.com>
2152
2153 * dwarf2out.c (gen_subprogram_die): Fixup die_parent for the
2154 abstract instance of a nested inline function.
2155
2156 * stor-layout.c (finish_record_layout): finalize_type_size
2157 before laying out the pending_statics.
2158
5d7ee2fa
NB
2159Wed 10 May 09:36:47 2000 Neil Booth <NeilB@earthling.net>
2160
2161 * cpplex.c (spell_token): New function.
2162 (spell_string, spell_comment, spell_name): fold into
2163 spell_token.
2164 (I, S): Add macros.
2165 (E, H): Remove macros.
2166 (save_comment): Save comment opening characters too.
2167 (_cpp_lex_file): Update to use spell_token. Tidy up comment
2168 handling.
2169 * cpplib.h (I, S): Add macros.
2170 (E, H): Remove macros.
2171 (TTYPE_TABLE): Update entries for new speller.
2172 (SYNTAX_ASSERT): Remove.
2173
fb4527c3
NB
2174Wed 10 May 09:08:30 2000 Neil Booth <NeilB@earthling.net>
2175
f5540cd4
RH
2176 * cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
2177 when removing escaped newlines. Reverse sense of test for
2178 escaped newline.
fb4527c3 2179
47095bfc
RH
21802000-05-09 Richard Henderson <rth@cygnus.com>
2181
2182 * flow.c (find_basic_blocks_1): Do not delete the first
2183 bb_note we run across.
2184 (create_basic_block): Use reorder_insns to move an existing
2185 bb_note to the correct place.
2186
840e7b51
RH
21872000-05-09 Richard Henderson <rth@cygnus.com>
2188
2189 * calls.c (expand_call): Increment currently_expanding_call
2190 before calling optimize_tail_recursion.
2191
4c3f1588
RK
2192Tue May 9 18:54:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2193
2194 * reload1.c (reload_combine): Fix errors in last change.
2195
3b304f5b
ZW
21962000-05-09 Zack Weinberg <zack@wolery.cumb.org>
2197
83a0c799
ZW
2198 * gcc.c (used_arg): Skip over a semicolon at the end of the
2199 split-up loop; don't break out of it.
2200
3b304f5b
ZW
2201 * Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
2202 (tree.o): Depend on output.h.
2203
2204 * c-decl.c (pending_invalid_xref_file,
2205 current_function_prototype_file): Constify.
2206 (pushdecl): Constify a local char *.
2207 (define_label): Constify filename parameter.
2208 * c-lex.c (init_parse): Constify parameter and return value.
2209 * c-typeck.c (c_expand_asm_operands): Constify filename parameter.
2210 * c-tree.h: Update prototypes.
2211 * c-parse.in: Constify filename member of %union, and if_stmt_file.
2212 * c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
2213 objc/objc-parse.c: Regenerate.
2214
2215 * dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
2216 * dwarfout.h: Update prototypes.
2217 * expr.c (expand_expr): Constify a local char *.
2218 * flags.h: Constify main_input_filename.
2219 * function.c (expand_function_end): Constify filename parameter.
2220 * genrecog.c (make_insn_sequence): Use a character array for
2221 c_test_pos.
2222 (main): Remove unused variables.
2223 * input.h: Constify input_filename, main_input_filename, and
2224 file_stack.name. Update prototypes.
2225 * output.h: Declare first_global_object_name and
2226 weak_global_object_name here, as const char *.
2227 * stmt.c (expand_asm_operands): Constify filename parameter.
2228 * toplev.c (compile_file, push_srcloc, debug_start_source_file):
2229 Constify filename parameter.
2230 (input_filename, main_input_filename): Constify.
2231 * toplev.h: Update prototypes.
2232 * tree.c: Include output.h. Don't declare
2233 first_global_object_name or weak_global_object_name. Clean up string
2234 bashing in get_file_function_name_long.
2235 * tree.h (struct tree_decl): Constify filename member.
2236 (input_filename): Constify.
2237 Update prototypes.
2238 * varasm.c (first_global_object_name, weak_global_object_name):
2239 Constify.
2240 (assemble_start_function, assemble_variable): Clean up string bashing.
2241
2242 * gcc.c: Constify all spec-related strings initialized,
2243 transitively, from string constants. Constify all strings
2244 and string variables related to multilibs.
2245 (set_spec, read_specs): Cast argument to free to PTR.
2246 (used_arg): Do not modify multilib_matches. Use strncmp plus
2247 length comparison to compare multilib switches.
2248 * genmultilib: Constify everything declared in multilib.h.
2249
aa9e158d
DC
2250Tue May 9 22:28:03 2000 Denis Chertykov <denisc@overta.ru>
2251
2252 * flow.c (flow_delete_insn): Use INSN_DELETED_P for marking insn
2253 as deleted.
2254
3454eb73
DC
2255Tue May 9 20:52:43 2000 Denis Chertykov <denisc@overta.ru>
2256
2257 * config/avr/avr-protos.h (extra_constraint): change a type of
2258 second argument from char to int to avoid warnings.
2259 (asm_output_byte): Likewise.
2260
2261 * config/avr/avr.c (MAX_LD_OFFSET) New macro.
2262 (initial_elimination_offset): Handle elimination from
2263 FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM.
2264 (legitimate_address_p): Use MAX_LD_OFFSET.
2265 (legitimize_address): Likewise.
2266 (out_movqi_r_mr): Likewise.
2267 (out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'.
2268 (out_movsi_r_mr): Use MAX_LD_OFFSET.
2269 (out_movsi_mr_r): Likewise.
2270 (out_movqi_mr_r): Likewise.
2271 (out_movhi_mr_r): Likewise.
2272 (notice_update_cc): Correct CC for the ashrqi3 with the shift
2273 count as CONST_INT != 6.
2274 (ashlqi3_out): Coding style modifications. Run `fatal_insn' if
2275 shift count is a CONSTANT_P, but not a CONST_INT.
2276 (ashlhi3_out): Coding style modifications.
2277 (ashlsi3_out): Likewise.
2278 (ashrhi3_out): Likewise.
2279 (ashrsi3_out): Likewise.
2280 (lshrhi3_out): Likewise.
2281 (lshrsi3_out): Likewise.
2282 (ashrqi3_out): Generate shift for any known constant count without
2283 scratch register. Run `fatal_insn' if shift count is a CONSTANT_P,
2284 but not a CONST_INT.
2285 (lshrqi3_out): Coding style modifications. Run `fatal_insn' if
2286 shift count is a CONSTANT_P, but not a CONST_INT.
2287 (extra_constraint): change a type of
2288 second argument from char to int to avoid warnings.
2289 (asm_output_byte): Likewise.
2290 (asm_file_end): Output size generated commands count as a hex
2291 number too.
2292
2293 * config/avr/avr.h (RETURN_ADDR_RTX): New macro.
2294
2295 * config/avr/avr.md (addhi3): Fragment commented by &&0 is
2296 removed.
2297 (ashlqi3): Values of "length" attribute changed. Shift count
2298 uses constraints 'n' instead of 'i'.
2299 (ashrqi3): Likewise. Values of "cc" attribute changed. Generate
2300 shifts without clobber register.
2301 (lshrqi3): Shift count uses constraints 'n' instead of 'i'.
2302 (call_insn): Correct test for which_alternative == 1 (was 0).
2303 (call_value_insn): Likewise.
2304
2305 * config/avr/t-avr: Remove definition of FLOAT while generates
2306 fp-bit.c
2307
73101c95
BK
23082000-05-09 Bruce Korb <bkorb@gnu.org>
2309
7a544ce1
BK
2310 * fixinc/check.tpl: Template for checking fixes
2311 * fixinc/inclhack.def: Added 'test_text' for many fixes
87b6d63a 2312 disable hpux8_bogus_inlines on SCO
73101c95
BK
2313 * fixinc/fixinc.sco: Oh, yes, we don't need this any more.
2314
4d393a0b
JH
2315Tue May 9 16:30:27 MET DST 2000 Jan Hubicka <jh@suse.cz>
2316
2317 * calls.c (expand_call): Reorganize somewhat in order
2318 to avoid unnecesary recalculation inside loop and make
2319 tail call failure code cleaner.
2320
f8cd4126
RK
2321Tue May 9 06:30:20 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2322
2323 * alias.c (nonlocal_reference_p): Minor reformatting.
2324 * reload.c (find_equiv_reg): Simplify logic for
2325 CALL_INSN_FUNCTION_USAGE since can't have SUBREG or pseudos and
2326 some some reformatting.
2327 * reload1.c (reload_combine): Don't assume everything in
2328 CALL_INSN_FUNCTION_USAGE is a REG and clean up code a bit.
2329
6b6c1201
RH
23302000-05-08 Richard Henderson <rth@cygnus.com>
2331
2332 * final.c (current_insn_predicate): New.
2333 (final_scan_insn): Set it.
2334 * output.h (current_insn_predicate): Declare.
2335
2336 * ifcvt.c (cond_exec_process_insns): New argument prob_val.
2337 Attach it to call insns.
2338 (cond_exec_process_if_block): Track probability for true and
2339 false branches.
2340 (dead_or_predicable): Likewise.
2341
2342 * predict.c (PROB_NEVER, PROB_VERY_UNLIKELY): New.
2343 (PROB_UNLIKELY, PROB_EVEN, PROB_LIKELY): New.
2344 (PROB_VERY_LIKELY, PROB_ALWAYS): New.
2345 (estimate_probability, expected_value_to_br_prob): Use them.
2346
2347 * config/ia64/ia64-protos.h (ia64_expand_prediction): Declare.
2348 * config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'.
2349 (ia64_expand_prediction): New.
2350 (emit_insn_group_barriers): Don't look at notes. Emit barriers
2351 as needed after calls.
2352 (ia64_epilogue_uses): Mark b0 used.
2353 * config/ia64/ia64.md (beq_true, beq_false): Remove.
2354 (bne_true, bne_false): Remove.
2355 (eq_return, eq_not_return, ne_return, ne_not_return): Remove.
2356 (br_true, br_false): New. Use predicate_operator and
2357 ia64_expand_prediction.
2358 (return_true, return_false): Likewise.
2359 (call_internal): Use ia64_expand_prediction. Don't emit stop bit.
2360 (call_internal1, call_value_internal): Likewise.
2361 (call_value_internal1, call_multiple_values_internal1): Likewise.
2362
2363 * config/ia64/ia64.c (ia64_direct_return): Require frame size zero.
2364
2365 * config/ia64/ia64.md (extendsfdf2): Split only after reload.
2366
22aa60a1
RH
23672000-05-08 Richard Henderson <rth@cygnus.com>
2368
2369 * rtlanal.c (may_trap_p): Consider old-style and volatile
2370 asms to trap.
2371
40860754
JW
2372Mon May 8 17:16:48 2000 Jim Wilson <wilson@cygnus.com>
2373
2374 * config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count.
2375
e8e20f18
RH
23762000-05-08 Richard Henderson <rth@cygnus.com>
2377
2378 * config/ia64/ia64.h (predicate_operator): Declare.
2379
2380 * config/ia64/ia64.md (extendsfdf2): Split the nop case out
2381 of existance.
2382
de4bfbcb
RH
2383 * gensupport.c (process_rtx): Copy and post-process each member
2384 of the define_insn rtvec individually.
2385
3fef5b2b
NB
2386Mon 8 May 22:17:35 2000 Neil Booth <NeilB@earthling.net>
2387
2388 * cpplex.c (spell_token): New function.
e8e20f18
RH
2389 (TOKEN_LEN): Add 1 for whitespace.
2390 (_cpp_lex_file): Update to use spell_token.
3fef5b2b
NB
2391 * cpplib.h (E): Remove.
2392 (TTYPE_TABLE): Update CPP_VSPACE entry.
2393
4fb9b830
RH
23942000-05-08 Richard Henderson <rth@cygnus.com>
2395
2396 * flow.c (init_propagate_block_info): Watch out for conditional
2397 branch to next instruction, and thus one outgoing edge.
2398
549f0725
RH
2399 * config/ia64/ia64.c (ia64_encode_section_info): Exit early
2400 for global register variables; don't special case __[CD]TOR_LIST__;
2401 mind ggc_p for string allocation.
2402
afc2cd05
NC
24032000-05-08 Nick Clifton <nickc@cygnus.com>
2404
2405 * config/i386/i386.h (ELIMINABLE_REGS): Fix comment.
2406
e89c8502
BK
24072000-05-08 Bruce Korb <bkorb@gnu.org>
2408
2409 * fixinc/mkfixinc.sh: fixinc.sco is no longer used
8d21ff13 2410 i?86-*-msdosdjgpp* no longer uses fixincludes
e89c8502
BK
2411 * fixinc/genfixes: inclhack.sh and fixincl.sh are no longer generated
2412 * fixinc/inclhack.sh: deleted
2413 * fixinc/hackshell.tpl: deleted
2414 * fixinc/inclhack.tpl: deleted
93f69683 2415 * fixinc/Makefile.in: Remove dependencies on above
e89c8502
BK
2416 * fixinc/fixincl.sh: "DO NOT EDIT" text modified
2417
c7e81e90
AJ
24182000-05-08 Andreas Jaeger <aj@suse.de>
2419
2420 * config/mips/linux.h: Remove undefines which disabled .ctor/.dtor
2421 support.
2422
a997ec53
ZW
24232000-05-07 Zack Weinberg <zack@wolery.cumb.org>
2424
2425 * Makefile.in (LOOSE_CFLAGS): Add /g modifiers to both sed
2426 substitutions.
2427
b8f41010
NB
2428Sun 7 May 08:43:53 2000 Neil Booth <NeilB@earthling.net>
2429
2430 * cpplex.c: Move new lexer definitions and prototypes
2431 to top. Conditional include these and the code if
2432 NEW_LEXER is defined. Rename functions whose names
2433 clash if this code included.
2434
6b29b0e2
JW
2435Sun May 7 00:54:57 EDT 2000 John Wehle (john@feith.com)
2436
2437 * rtl.def (COND_EXEC): Clarify.
2438
2439 * i386.md (extendsidi2): Clobber (reg:CC 17) in the
2440 same fashion as zero_extendsidi2.
2441
e5bde68a
RH
24422000-05-06 Richard Henderson <rth@cygnus.com>
2443
2444 * config/ia64/ia64.c (predicate_operator): New.
2445 (ia64_print_operand): Handle 'J'.
2446 (rtx_needs_barrier): Handle COND_EXEC.
2447 * config/ia64/ia64.h (BRANCH_COST): Define.
2448 (PREDICATE_CODES): Update.
2449 * config/ia64/ia64.md: Docuement used unspec values.
2450 (attr predicable): New.
2451 (movxf, movxf_internal): New.
2452 (extendsfdf2): Don't comment out nop.
2453 (floatdidf2): Remove.
2454 (truncxfsf2, truncxfdf2, floatdixf2): New.
2455 (abssi2, absdi2): Put the neg in the "true" slot.
2456 (conditional branch instructions): Mark not predicable.
2457 (cmov*_internal): Use predicate_operator. Split to cond_exec.
2458 (abs*_internal): Likewise.
2459 (alloc, set_bsp): Mark not predicable.
2460 (barrier, insn_group_barrier, flush_cache): Likewise.
2461 (define_cond_exec): New.
2462
809d4ef1
RH
24632000-05-06 Richard Henderson <rth@cygnus.com>
2464
2465 * c-decl.c: Include "tm_p.h".
2466
2467 * config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness.
2468 (fetchadd_operand, ia64_expand_fetch_and_op): Declare.
2469 (ia64_expand_op_and_fetch): Declare.
2470 * config/ia64/ia64.c: Include "toplev.h". Kill trailing whitespace.
2471 (setjmp_operand): Constify variables for XSTR.
2472 (ia64_encode_section_info): Likewise.
2473 (ia64_print_operand): Use %d for exact_log2; cast 32-bit printed
2474 values to int.
2475 (ia64_asm_output_external): Constify name.
2476 (process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size.
2477 (process_for_unwind_directive): Provide switch default.
2478 (ia64_expand_compare_and_swap): Remove unused variables.
2479 (ia64_expand_builtin): Likewise.
2480 * config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int
2481 for printing.
2482
fd7c34b0
RH
2483 * config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args.
2484 (symbolic_operand, function_operand, setjmp_operand): Likewise.
2485 (shift_count_operand, shift_32bit_count_operand): Likewise.
2486 (shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise.
2487 (ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise.
2488 (ia64_function_arg_partial_nregs, ia64_function_value): Likewise.
2489 (ia64_print_operand_address, ia64_secondary_reload_class): Likewise.
2490 (ia64_expand_builtin): Likewise.
2491 (call_multiple_values_operation): Make dest_regno unsigned.
2492
3262c1f5
RH
24932000-05-06 Richard Henderson <rth@cygnus.com>
2494
2495 * rtl.def (DEFINE_COND_EXEC): New.
2496 * md.texi: Document it.
2497
2498 * gensupport.c (input_file): Remove.
2499 (struct queue_elem): Add lineno.
2500 (rtx_ready_queue): Remove.
2501 (errors): New.
2502 (predicable_default): New.
2503 (predicable_true, predicable_false): New.
2504 (define_attr_queue, define_attr_tail): New.
2505 (define_insn_queue, define_insn_tail): New.
2506 (define_cond_exec_queue, define_cond_exec_tail): New.
2507 (other_queue, other_tail): New.
2508 (queue_pattern): New.
2509 (process_rtx): Add patterns to the appropriate queues.
2510 (is_predicable, identify_predicable_attribute): New.
2511 (n_alternatives, collect_insn_data): New.
2512 (alter_predicate_for_insn, alter_test_for_insn): New.
2513 (shift_output_template, alter_output_for_insn): New.
2514 (process_one_cond_exec, process_define_cond_exec): New.
2515 (init_md_reader): Read the entire file. Process define_cond_exec.
2516 (read_md_rtx): Return elements from the queues.
2517
f0acaf02
RH
25182000-05-06 Richard Henderson <rth@cygnus.com>
2519
2520 * flow.c (mark_set_1): Don't update conditional life info
2521 if the register is not_dead.
2522
fa9c7493
ZW
25232000-05-06 Zack Weinberg <zack@wolery.cumb.org>
2524
2525 * Makefile.in (STAGESTUFF): Add genrtl.c and genrtl.h.
2526 (mostlyclean): Also delete fixincl, fixinc.sh, and
2527 specs.ready, and make clean in the fixinc subdir.
2528
3916d6d8
RH
25292000-05-06 Richard Henderson <rth@cygnus.com>
2530
2531 * Makefile.in (gensupport.o): Compile for the host.
2532 (host-prefix gensuuprt.o): Remove.
2533 (genflags.o): Depend on gensupport.h and OBSTACK_H.
2534 (genattrtab.o): Likewise.
2535 (gencodes.o): Depend on gensupport.h.
2536 (genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise.
2537 (genpeep.o, genattr.o, genoutput.o): Likewise.
2538
2539 * gensupport.c (obstack, rtl_obstack): New.
2540 (init_md_reader): Initialize rtl_obstack.
2541 * gensupport.h (rtl_obstack): Declare.
2542 (message_with_line): Declare.
2543
2544 * genattr.c: Remove all traces of obstack manipulation.
2545 * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
2546 * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
2547
2548 * genattrtab.c (obstack, rtl_obstack): Remove.
2549 (main): Don't init rtl_obstack.
2550 * genflags.c: Likewise.
2551
2552 * genrecog.c (message_with_line): Move ...
2553 * gensupport.c: ... here.
2554
6efd8160
RH
25552000-05-06 Richard Henderson <rth@cygnus.com>
2556
2557 * c-typeck.c (build_c_cast): Remove dead code.
2558
6482ee51
RH
25592000-05-06 Richard Henderson <rth@cygnus.com>
2560
2561 * flow.c (split_edge): Don't allocate global_live_at_start for
2562 the new block unless the old blocks had them as well.
2563
507741dd
RH
2564 * flow.c (mark_set_1): Respect not_dead when updating reg_live.
2565
65189757 2566 * ifcvt.c (noce_process_if_block): Don't use an insn_b from
02a749ec 2567 test_bb if a or b uses x.
65189757 2568
8784fdcd
ZW
25692000-05-06 Zack Weinberg <zack@wolery.cumb.org>
2570
2571 * cpphash.h: Remove conditional #define of __extension__.
2572 * rtl.h: Add __extension__ to RTL_CHECK1, RTL_CHECK2,
2573 RTL_CHECKC1, RTL_CHECKC2, and RTVEC_ELT macros
2574 (ENABLE_RTL_CHECKING only).
2575 * tree.h: Add __extension__ to TREE_CHECK, TREE_CLASS_CHECK,
2576 CST_OR_CONSTRUCTOR_CHECK, and EXPR_CHECK macros
2577 (ENABLE_TREE_CHECKING only).
2578 * varray.h: Add __extension__ to VARRAY_CHECK macro
2579 (ENABLE_CHECKING only).
2580
0616531f
RE
25812000-05-06 Richard Earnshaw (reanrsha@arm.com)
2582
2583 Use new tail-calling mechanism on ARM.
2584 * arm.md (sibcall, sibcall_value): New expands.
2585 (sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns.
2586 (tailcalling peepholes): Delete.
2587 (push_multi): Simplify.
2588 * arm.c (lr_save_eliminated): Delete definition.
2589 (pattern_really_clobbers_lr, function_really_clobbers_lr): Delete.
2590 (output_return_instruction): Remove checks on lr_save_eliminated.
2591 (output_arm_prologue): Remove old tail-calling code.
2592 (arm_output_epilogue): New parameter, really_return. All callers
2593 changed. Handle tail-calling epilogues.
2594 * arm.h (lr_save_eliminated): Delete declaration.
2595 (frame_pointer_needed): Delete declaration.
2596 * arm-protos.h (arm_output_epilogue): Adjust prototype.
2597
2598 * arm.md (is_thumb): Examine symbol thumb_code, not expression
2599 TARGET_ARM.
2600 * arm.c (thumb_code): Define it.
2601 (arm_override_options): Set it.
2602 * arm.h (thumb_code): Declare it.
2603
ac670723
RE
26042000-05-06 Richard Earnshaw (reanrsha@arm.com)
2605
2606 * arm-protos.h (arm_dllexport_name_p, arm_dllimport_name_p): Constify.
2607
41e3f998
RE
26082000-05-06 Richard Earnshaw (reanrsha@arm.com)
2609
2610 * arm.c (arm_gen_load_multiple, arm_gen_store_mulitple): Don't add
2611 bogus clobber to insns.
2612 (load_multiple_operation, store_mulitple_operation): Don't check
2613 for it.
2614 * arm.md (ldmsi_postinc, stmsi_postinc): Adjust accordingly.
2615
2616 * arm.md (and_scc, ior_scc): Add missing mode.
2617
2618 * arm.md (call_value_symbol): Remove predicate from op2.
2619
ad027eae
RE
2620 * arm.h (SPECIAL_MODE_PREDICATES): Define.
2621
296b4ed9
RK
2622Sat May 6 06:25:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2623
2624 * expr.c (get_subtarget): New function.
2625 (force_operand, expand_expr, do_store_flag): Use it.
2626
2627 * toplev.c (compile_file): Don't take strlen of NAME if null.
2628
53cd5d6c
DE
26292000-05-06 David Edelsohn <edelsohn@gnu.org>
2630
2631 * xcoffout.c (xcoff_current_include_file,
2632 xcoff_current_function_file, xcoff_lastfile): Constify char *.
2633 (xcoffout_source_file, xcoffout_source_line): Make filename 'const
2634 char *'.
2635 (xcoffout_declare_function): Make name 'const char *'.
2636 (xcoffout_end_epilogue): Make fname 'const char *'
2637 * xcoffout.h (xcoff_current_include_file, xcoff_lastfile,
2638 xcoffout_declare_function, xcoffout_source_line): Match above.
2639
2640 * aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -mpowerpc64 without
2641 -maix64 is error.
2642 * rs6000.c (print_operand): Fix lossage typo.
2643 (output_cbranch): Remove "cr" decoration for now.
2644 * rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Make alias 'const char *'.
2645
042575e9
DC
2646Sat May 6 06:55:32 2000 Denis Chertykov <denisc@overta.ru>
2647
2648 * config/avr/avr.c (out_shift_with_cnt): Bugfix for shift by
2649 constant count.
2650
b1a0b75d
BK
26512000-05-05 Bruce Korb <bkorb@gnu.org>
2652
2653 * fixinc/genfixes: Improve the matching for make target names
2654
d20a70b4
CM
26552000-05-05 Catherine Moore <clm@cygnus.com>
2656
2657 * c-common.c (decl_attributes): For TYPE_DECLs attach the
2658 attribute to the decl.
2659 * c-decl.c (pushdecl): Propagate the USED attribute to the
2660 type copy.
2661
37ceff9d
RH
26622000-05-05 Richard Henderson <rth@cygnus.com>
2663
2664 * rtlanal.c (reg_overlap_mentioned_p): Treat parallels in the
2665 same way emit_group_load does.
2666
1a8bb3dd
JL
26672000-05-05 Mark Elbrecht <snowball3@bigfoot.com>
2668
4ebe197a
ME
2669 * gcc.c (set_input) [HAVE_DOS_STYLE_FILE_SYSTEM]: Skip drive name.
2670
1a8bb3dd
JL
2671 * toplev.c (output_file_directive): Use IS_DIR_SEPARATOR.
2672 (main): Likewise.
2673
26742000-05-05 Rodney Brown <RodneyBrown@mynd.com>
d8bea1c6
RB
2675
2676 * pa.h (FUNCTION_ARG_ADVANCE): Warning removal.
2677
6a0177c5
ME
2678Fri May 5 10:29:21 2000 Marc Espie <espie@cvs.openbsd.org>
2679
2680 * config/openbsd.h (LINK_SPEC): pass correct flags to ld
2681 to support -shared, on platforms with dynamic libraries.
2682
be3dad6f
PDM
2683Fri May 5 10:27:06 2000 Philippe De Muyter <phdm@macqel.be>
2684
2685 * system.h (S_ISBLK): Provide fallback definition.
2686
eda3fbbe
GB
26872000-05-05 Geoff Berry <geoffb@bops.com>
2688
2689 * extend.texi (Extended Asm): Document inability to give asm
2690 statements access to condition codes.
2691
4edee0e6
MM
26922000-05-05 Marek Michalkiewicz <marekm@linux.org.pl>
2693
2694 * varasm.c (asm_emit_uninitialised): Use 0, not NULL
2695 as arg 2 of UNIQUE_SECTION.
2696
cde9b87d
JL
2697Fri May 5 10:11:41 2000 Jeffrey A Law (law@cygnus.com)
2698
2699 * predict.c: Remove May 4 change.
2700 * bb-reorder.c (make_reorder_chain): Do not perform block movement
2701 if we have predicted the branch at 50-50 probability.
2702
ad3958e7
RH
27032000-05-05 Richard Henderson <rth@cygnus.com>
2704
2705 * flow.c (init_propagate_block_info): Fix merge error
2706 in HAVE_conditional_execution code.
2707
2708Fri May 5 07:43:50 2000 Denis Chertykov <denisc@overta.ru>
0db7ad3a
DC
2709
2710 * config/avr/avr.c (out_shift_with_cnt): Genetare a more optimal
2711 shift cycle for unknown shift count. Also generates dec + brpl.
2712 (ashlqi3_out): Don't generate dec + brpl which now generates by
2713 `out_shift_with_cnt'.
2714 (ashlhi3_out): Likewise.
2715 (ashlsi3_out): Likewise.
2716 (ashrqi3_out): Likewise.
2717 (ashrhi3_out): Likewise.
2718 (ashrsi3_out): Likewise.
2719 (lshrqi3_out): Likewise.
2720 (lshrhi3_out): Likewise.
2721 (lshrsi3_out): Likewise.
2722
ba40970f
ME
27232000-05-04 Mark Elbrecht <snowball3@bigfoot.com>
2724
2725 * gcc.c (free_split_directories): Correct typo in explanation
2726 of make_relative_prefix.
2727
fce91820
GK
27282000-05-04 Geoff Keating <geoffk@cygnus.com>
2729
2730 * config/rs6000/rs6000.h (PREDICATE_CODES): Add floating-point
2731 comparison codes to branch_comparison_operator.
2732
8eeb3159
RH
27332000-05-04 Richard Henderson <rth@cygnus.com>
2734
2735 * ifcvt.c (noce_process_if_block): Always reset X in the A == B case.
2736
00447f7d
RH
27372000-05-04 Richard Henderson <rth@cygnus.com>
2738
2739 * Makefile.in (FPBIT_FUNCS): Remove _df_to_usi.
2740 (DPBIT_FUNCS): Remove _sf_to_usi.
2741 (stmp-multilib): Pass LIB1ASMSRC to libgcc.mk.
2742
2743 * ifcvt.c (noce_process_if_block): Fail if A or B modified
2744 between condition and jump.
2745
2746 * libgcc2.c (near eh_context_specific): Comment #endif string.
2747 * longlong.h: Don't use strings with embedded newlines.
2748
12a4e8c5
GK
27492000-05-04 Geoff Keating <geoffk@cygnus.com>
2750
2751 * config/rs6000/rs6000-protos.h: Add output_cbranch.
2752 * config/rs6000/rs6000.c (ccr_bit_negated_p): Delete.
2753 (print_operand): Delete %t and %T codes.
2754 (output_cbranch): New function. Support branch prediction.
2755 * config/rs6000/rs6000.md: Use output_cbranch for
2756 conditional branches and returns.
2757
f9e158c3
JM
27582000-05-04 Jason Merrill <jason@casey.cygnus.com>
2759
2760 * simplify-rtx.c (simplify_ternary_operation): Cast to unsigned.
2761 * stor-layout.c (place_field): Likewise.
2762 * integrate.h (struct inline_remap): Make regno_pointer_align unsigned.
2763 * expr.c (store_expr): Make align unsigned.
2764 * explow.c (plus_constant_wide): Make low words unsigned.
2765 * expmed.c (choose_multiplier): Likewise.
2766 * fold-const.c (fold): Likewise.
2767 * tree.h (build_int_2): Likewise.
2768 * tree.c (build_int_2_wide, tree_int_cst_msb): Likewise.
2769 * emit-rtl.c (gen_reg_rtx): Add cast to unsigned char*.
2770 (init_emit): Change cast to unsigned char*.
2771 * varasm.c (compare_constant_1): Add cast to char*.
2772 * gcse.c (delete_null_pointer_checks): Change cast to unsigned int*.
2773 * reload1.c (reload): Likewise.
2774
2775 * rtl.h (MEM_SET_IN_STRUCT_P): Use do { } while (0).
2776
926fd2e1
JL
2777Thu May 4 14:37:23 2000 Jeffrey A Law (law@cygnus.com)
2778
2779 * predict.c (estimate_probability): If no prediction was found, then
2780 predict the successor that is the next physical block (if such a
2781 successor exists).
2782
18b554cb
RH
27832000-05-04 Richard Henderson <rth@cygnus.com>
2784
2785 * config/alpha/t-alpha (LIB2FUNCS_EXTRA): Use qrrnd.asm in place.
2786
7a98f269
KG
27872000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2788
2789 * system.h: Don't wrap <sys/types.h> with HAVE_SYS_TYPES_H.
2790
d34cba2b
MK
27912000-05-04 Mumit Khan <khan@xraylith.wisc.edu>
2792
2afc3e47
MK
2793 * i386/cygwin.h (CPP_PREDEFINES): Don't define __STDC__. Move
2794 attribute macros from here ...
2795 (CPP_SPEC): to here.
2796 * i386/mingw32.h (CPP_PREDEFINES): Likewise.
2797 (CPP_SPEC): Likewise.
2798 * i386/crtdll.h (CPP_PREDEFINES): Delete attribute macros.
2799
d34cba2b
MK
2800 * Makefile.in ($(HOST_PREFIX_1)gensupport.o): Add build rule.
2801 (libgcc.a): Pass LIB1ASMSRC to libgcc.mk.
2802
36244024
KG
28032000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2804
2805 * bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype.
2806
2807 * diagnostic (vbuild_message_string, build_message_string,
2808 build_location_prefix, output_get_prefix, init_output_buffer,
2809 output_notice, vline_wrapper_message_with_location,
2810 v_message_with_decl, default_print_error_function): De-constify.
2811 (set_real_maximum_length): Prototype.
2812
2813 * diagnostic.h (struct output_buffer, init_output_buffer,
2814 output_get_prefix, output_set_prefix): De-constify.
2815
2816 * function.c (init_function_start): Constify.
2817
2818 * gensupport.c (remove_constraints, process_rtx): Prototype.
2819
2820 * gthr-posix.h: Indent uses of #pragma.
2821
2822 * objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table):
2823 Prototype.
2824
2825 * predict.c (find_expected_value): Delete prototype.
2826 (expected_value_to_br_prob): Initialize variable `ev_reg'.
2827
2828 * sbitmap.h (debug_sbitmap): Prototype.
2829
2830 * ssa.c (compute_coalesced_reg_partition): Prototype.
2831
2832 * stor-layout.c (debug_rli): Prototype.
2833
2834 * tree.h (round_down): Prototype.
2835 (init_function_start): Constify.
2836
57c578a6
ZW
28372000-05-04 Zack Weinberg <zack@wolery.cumb.org>
2838
2839 * cpphash.h: #define __extension__ away if GCC_VERSION < 2095
2840 (overly conservative). Change extern inline wrappers to
2841 static inline, define them always, use PARAMS properly.
2842 * cpplex.c (_cpp_get_directive_token): Don't issue pedantic
2843 whitespace warnings for \f and \v at the beginning of a line.
2844
4e95db71
JL
2845Thu May 4 10:03:50 2000 Jeffrey A Law (law@cygnus.com)
2846
2847 * haifa-sched.c (schedule_insns): Free the flow edge list when it
2848 is no longer needed
2849
72b9c7fb
BK
28502000-05-04 Bruce Korb <bkorb@gnu.org>
2851
2852 * fixincl/inclhack.def: added broken_cabs -
2853 Remove `extern double cabs' declarations from math.h
2854 * fixincl/inclhack.sh: regen
2855 * fixincl/fixincl.x: regen
6b151aa7
BK
2856 * fixincl/fixincl.c: Remove BOGOSITY code
2857 * fixincl/mkfixinc.sh: Remove code for installing "shell" version
72b9c7fb 2858
bf49b139
RK
2859Thu May 4 09:45:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2860
2861 * rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and
2862 MEM_ALIAS_SET.
2863 * alias.c (canon_rtx): Don't copy RTX_UNCHANGING_P or MEM_ALIAS_SET
2864 when calling MEM_COPY_ATTRIBUTES.
2865 * emit-rtl.c (operand_subword, change_address): Likewise.
2866 * explow.c (stabilize): Likewise.
2867 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
2868 * integrate.c (copy_rtx_and_substitute): Likewise.
2869 * combine.c (combine_simplify_rtx): Don't copy RTX_UNCHANGING_P
2870 when calling MEM_COPY_ATTRIBUTES.
2871 (make_extraction, simplify_shift_const, gen_lowpart_for_combine):
2872 Likewise.
2873 * cse.c (gen_lowpart_if_possible): Likewise.
2874 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
2875 * optabs.c (gen_move_insn): Likewise.
2876 * recog.c (validate_replace_rtx_1): Likewise.
2877 * simplify-rtx.c (add_mem_for_addr): Likewise.
2878 * stmt.c (expand_anon_union_decl): Likewise.
2879 * config/arm/arm.md: Likewise.
2880 * config/h8300/h7300.c (fix_bit_operand): Likewise.
2881 * config/m88k/m88k.c (legitimize_address, block_move_loop): Likewise.
2882 (block_move_no_loop, block_move_sequence): Likewise.
2883 * config/rs6000/rs6000.c (expand_block_move_mem): Likewise.
2884 * config/alpha/alpha.c (get_aligned_mem): Likewise.
2885 Clear MEM_ALIAS_SET.
2886 * final.c (alter_subreg): Don't copy MEM_ALIAS_SET when calling
2887 MEM_COPY_ATTRIBUTES.
2888
5b8714bf 28892000-05-03 Robert Lipe <robertlipe@usa.net>
f5540cd4
RH
2890
2891 * configure.in (i[34567]86-*-isc*) [tmake_file]: Add t-i386bare
2892 to suppress libgcc1.
2893 (i[34567]86-*-sco3.2v5*) Likewise.
2894 (i[34567]86-*-sco3.2v4*) Likewise.
2895 (i[34567]86-*-sco) Likewise.
2896 (i[34567]86-*-solaris2) Likewise.
2897 (i[34567]86-*-sysv5*) Likewise.
2898 (i[34567]86-*-sysv4*) Likewise.
2899 (i[34567]86-*-udk*) Likewise.
2900 (i[34567]86-*-sysv*) Likewise.
5b8714bf 2901
12cf91fe
ZW
29022000-05-03 Zack Weinberg <zack@wolery.cumb.org>
2903
2904 * cpphash.h (U): New define, to correct type of string constants.
2905 (ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr): New wrapper
2906 routines, to do casts when passing unsigned strings to libc.
2907 * cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c: Use them.
2908
2909 * cppfiles.c (_cpp_execute_include): Make filename an U_CHAR *.
2910 * cpphash.c (_cpp_quote_string): Make string an U_CHAR *.
2911 * cppinit.c (dump_special_to_buffer): Make macro name an U_CHAR *.
2912 * cpplex.c (parse_ifdef, parse_include, validate_else): Make
2913 second argument an U_CHAR *.
2914
2915 * cppinit.c (builtin_array): Make name and value U_CHAR *, add
2916 length field, clean up initializer.
2917 (ISTABLE): Add __extension__ to designated-
2918 initializers version.
2919 * cpplex.c (CHARTAB): Likewise.
2920
2921 * mbchar.c: Add dummy external declaration to the !MULTIBYTE_CHARS
2922 case so the file won't be empty.
2923
2a6fa433
JE
2924Wed May 3 21:01:46 2000 Jason Eckhardt <jle@cygnus.com>
2925
f5540cd4
RH
2926 * bb-reorder.c (struct reorder_block_def): Member succ removed.
2927 (REORDER_BLOCK_SUCC): Removed.
2928 (enum reorder_skip_type): Removed.
2929 (skip_insns_between_block): Renamed to skip_insns_after_block.
2930 Removed second argument. Removed dead code and cleaned up.
2931 (make_reorder_chain): Removed use of REORDER_BLOCK_SUCC.
2932 (reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed
2933 second parameter to skip_insns_after_block.
2a6fa433 2934
1c12c179
RK
2935Wed May 3 13:29:54 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2936
2937 * tree.c (staticp, case LABEL_DECL): New case.
2938
658a87e5
RH
29392000-05-03 Richard Henderson <rth@cygnus.com>
2940
2941 * Makefile.in (start.encap): Do not depend on LIBGCC1.
2942
f4118ce9
RH
2943 * mklibgcc1.in: Fix typo last change.
2944
6bed14c7
JM
29452000-05-03 Jason Merrill <jason@casey.cygnus.com>
2946
2947 * Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long.
2948 (LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional.
2949 (GCC_CFLAGS): Use it.
2950 (LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS.
2951 * cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in,
2952 objc/Make-lang.in: Use it.
2953
122ddbf9
JT
29542000-05-03 Jason R Thorpe <thorpej@zembu.com>
2955
2956 * config/i386/i386.md (lshrqi2_cmpno): Use q not r in constraint.
2957
efdd2c06
RH
29582000-05-03 Richard Henderson <rth@cygnus.com>
2959
2960 * mklibgcc.in: Restrict OLDCC=GCC test to native. Equate
2961 LIBGCC1 empty with libgcc1.null.
2962
13393c8a
JW
2963Wed May 3 12:55:46 2000 Jim Wilson <wilson@cygnus.com>
2964
2965 * fold-const.c (extract_muldiv, case MAX_EXPR): Don't allow signedness
2966 change.
2967
a6d7adfd
GM
29682000-05-03 Greg McGary <gkm@gnu.org>
2969
2970 * tree.h (tree_common): Add bounded_flag member. Remove
2971 inaccurate comment about number of remaining bits.
2972 (BOUNDED_INDIRECT_TYPE_P, BOUNDED_POINTER_TYPE_P,
2973 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
2974 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
2975 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
2976 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED): New macros.
2977 (TYPE_QUAL_BOUNDED): New constant.
2978 (TYPE_QUALS): Handle bounded qualifier.
2979 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): New macros.
2980 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
2981 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
2982 TYPE_AMBIENT_BOUNDEDNESS): New macros.
2983 (MAX_POINTER_DEPTH, VA_LIST_POINTER_DEPTH): New constants.
2984 (tree_type): Add pointer_depth member. Remove
2985 inaccurate comment about number of remaining bits.
2986 (DECL_POINTER_DEPTH): Add macro.
2987 (tree_decl): Add pointer_depth member.
2988
28e801e2
DC
2989Wed May 3 22:52:53 2000 Denis Chertykov <denisc@overta.ru>
2990
2991 * config/avr/avr-protos.h (test_hard_reg_class): Declared.
2992 * config/avr/avr.c (ashrhi3_out): optimized shift by 15.
2993 (lshrhi3_out): Likewise.
2994 (ashrsi3_out): bugfix in shift by 8.
2995 (test_hard_reg_class): New function.
2996 * config/avr/avr.md: Bugfix inside conditions in peepholes.
2997 (ashlhi3): removed define_expand of this pattern.
2998 (*ashlhi3_insn): renamed to ashlhi3.
2999 (ashlsi3): removed define_expand of this pattern.
3000 (*ashlsi3_insn): renamed to ashlsi3.
3001 (ashrqi3): removed define_expand of this pattern.
3002 (*ashrqi3_insn): renamed to ashrqi3.
3003 (ashrhi3): removed define_expand of this pattern.
3004 (*ashrhi3_insn): renamed to ashrhi3.
3005 (ashrsi3): removed define_expand of this pattern.
3006 (*ashrsi3_insn): renamed to ashrsi3.
3007 (lshrhi3): removed define_expand of this pattern.
3008 (*lshrhi3_insn): renamed to lshrhi3.
3009 (lshrsi3): removed define_expand of this pattern.
3010 (*lshrsi3_insn): renamed to lshrsi3.
3011
4bd048ef
RB
30122000-05-03 Rodney Brown <RodneyBrown@pmsc.com>
3013
3014 * config/mcore/mcore.c: Replacing inclusion of "stdio,h" with
3015 inclusion of "system.h".
3016
59da9a7d
JW
3017Wed May 3 11:43:53 2000 Jim Wilson <wilson@cygnus.com>
3018
3019 * config/ia64/ia64.c (ia64_encode_section_info): Add check for
3020 TREE_ASM_WRITTEN.
3021
30222000-05-03 David Mosberger <davidm@hpl.hp.com>
3023
3024 * config/ia64/ia64.c (ia64_override_options): Force -mconstant-gp
3025 if -mauto-pic is on.
3026 (ia64_epilogue_uses): Mark "gp" (r1) as used by the epilogue if
3027 -mconstant-gp is in effect and function-descriptors are being used
3028 to make indirect calls.
3029 * config/ia64/ia64.h (MASK_CONST_GP): New macro.
3030 (MASK_AUTO_PIC): Ditto.
3031 (TARGET_CONST_GP): Ditto.
3032 (TARGET_AUTO_PIC): Ditto.
3033 (TARGET_SWITCHES): Add -mconstant-gp and -mauto-pic options.
3034 (ASM_OUTPUT_DOUBLE_INT): Don't generate @fptr() if -mauto-pic or
3035 -mno-pic is in effect.
3036 (ASM_OUTPUT_XDATA_DOUBLE_INT): Ditto.
3037 * config/ia64/ia64.md (movdi): Use gen_load_gprel64() if
3038 -mauto-pic is in effect.
3039 (gprel64_offset): New pattern.
3040 (load_gprel64): Ditto.
3041 (call): Handle -mauto-pic like -mno-pic (don't use fptr). If
3042 -mconstant-gp is in effect, no need to preserve gp around direct
3043 calls.
3044 (call_value): Ditto.
3045 * config/ia64/linux.h (PROFILE_BEFORE_PROLOGUE): Define.
3046 (FUNCTION_PROFILER): Define.
3047 * config/ia64/sysv4.h (ASM_OUTPUT_CONSTRUCTOR): Don't generate
3048 @fptr() directive when -mno-pic or -mauto-pic is in effect.
3049 (ASM_OUTPUT_DESTRUCTOR): Ditto.
3050
3ec83fc2
RH
30512000-05-03 Richard Henderson <rth@cygnus.com>
3052
3053 * Makefile.in (STAGESTUFF): Add libgcc libgcc.mk.
3054 (libgcc1.null, libgcc1.cross, libgcc1.a): Remove targets.
3055 (libgcc1-asm.a, libgcc1.S, libgcc2.a): Remove targets.
3056 (mklibgcc, libgcc.mk): New targets.
3057 (libgcc.a): Use libgcc.mk.
3058 (stmp-multilib): Likewise.
3059 (stmp-multilib-sub): Remove.
3060 (mostlyclean): Don't delete libgcc2 temp files.
3061 * configure.in (AC_PROG_CC_C_O): Add.
3062 (NO_MINUS_C_MINUS_O): Substitute it.
3063 (all_outputs): Add mklibgcc.
3064 * mklibgcc.in: New file.
3065
8c8de5fc
JM
30662000-05-03 Jason Merrill <jason@casey.cygnus.com>
3067
3068 * cppexp.c (op_t): Make an int.
3069
3070 * rtlanal.c (dead_or_set_regno_p): Remove unused variable.
3071
3072 * varasm.c (initializer_constant_valid_p): Fix parenthesis.
3073
3074 * gensupport.c (process_rtx): Fix macros used.
3075
8d6fe133
RH
30762000-05-03 Richard Henderson <rth@cygnus.com>
3077
3078 * flow.c (propagate_one_insn): Also don't PROP_REG_INFO for
3079 call-clobbered registers of a call.
3080
c88c0d42
CP
3081Wed May 3 12:40:53 2000 Clinton Popetz <cpopetz@cygnus.com>
3082
3083 * gensupport.c: New file.
3084 * gensupport.h: New file.
3085 * Makefile.in (HOST_RTL): Depend on gensupport.
3086 (gensupport.o) New rule.
3087 * genattr.c: Use gensupport for reading .md files.
3088 * genattrtab.c: Ditto.
3089 * gencodes.c: Ditto.
3090 * genconfig.c: Ditto.
3091 * genemit.c: Ditto.
3092 * genextract.c: Ditto.
3093 * genflags.c: Ditto.
3094 * genopinit.c: Ditto.
3095 * genoutput.c: Ditto.
3096 * genpeep.c: Ditto.
3097 * genrecog.c: Ditto.
3098 * rtl.def (define_insn_and_split): New DEF_RTL_EXPR.
3099 * md.texi (Insn Splitting): Document define_insn_and_split.
3100
18ca529b
JE
3101Tue May 2 00:20:30 2000 Jason Eckhardt <jle@cygnus.com>
3102
3ec83fc2
RH
3103 * flow.c (verify_flow_info): Added two more sanity checks. The
3104 first checks that the blocks are numbered consecutively. The second
3105 checks that n_basic_blocks is actually equal to the number of
3106 basic blocks in the insn chain.
18ca529b 3107
1920de47
ZW
31082000-05-03 Zack Weinberg <zack@wolery.cumb.org>
3109
3110 * cpplib.h: Add accessor macros for token lists.
3111 * cpplib.c, cpphash.c, cpplex.c: Use them.
3112
32919a0d
RK
3113Wed May 3 09:29:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3114
3115 * expr.c (expand_expr, case COMPONENT_REF): Don't check for checking
3116 memory usage if not in a function.
3117 * varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only
3118 return address if static.
3119
ea49bef6
JH
3120Wed May 3 13:14:49 MET DST 2000 Jan Hubicka <jh@suse.cz>
3121
3122 * ifcvt.c (noce_try_cmove_arith): Use may_trap_p to thest
3123 whether address may trap.
3124
3ef4c9c6
JE
3125Tue May 2 23:38:37 2000 Jason Eckhardt <jle@cygnus.com>
3126
3ec83fc2
RH
3127 * bb-reorder (chain_reorder_blocks): Changed code to test for
3128 EDGE_FALLTHRU rather than making erroneous assumption that the
3129 first outgoing edge is the fall-through edge.
3ef4c9c6 3130
4fe12442
DL
3131Tue May 2 18:20:31 2000 Donald Lindsay <dlindsay@hound.cygnus.com>
3132
3133 * config/mips/mips.c (mips_build_va_list,mips_va_start,mips_va_arg): new
3134 ABI for varargs, across all MIPS. This is incompatible because the
3135 va_list (__builtin_va_list) structure is different, so a compilation
3136 unit passing a va_list and a compilation unit being passed one, should
3137 both be compiled with the same ABI. (The old structure had two
3138 pointers, now it has three.)
3139
f4e79153
JE
3140Tue May 2 19:18:43 2000 Jason Eckhardt <jle@cygnus.com>
3141
3ec83fc2
RH
3142 * bb-reorder.c (struct reorder_block_def): Remove members end,
3143 block_begin, and block_end.
3144 (REORDER_BLOCK_OLD_END): Delete.
3145 (REORDER_BLOCK_BEGIN): Delete.
3146 (REORDER_BLOCK_END): Delete.
3147 (chain_reorder_blocks): Remove dead code.
f4e79153 3148
eb6f82f7
JE
3149Tue May 2 17:06:53 2000 Jason Eckhardt <jle@cygnus.com>
3150
3151 * bb-reorder.c (remove_scope_notes): Check for both types of scope
3152 notes as the end of a basic block before deleting.
3153
3ac79482
MK
31542000-05-02 Mumit Khan <khan@xraylith.wisc.edu>
3155
3156 * final.c (final_start_function): Fix spelling of "necessary".
3157
64b59a80
JM
31582000-05-02 Jason Merrill <jason@casey.cygnus.com>
3159
64b59a80
JM
3160 * toplev.c (debug_ignore_block): Return int.
3161 * dwarf2out.c (dwarf2out_ignore_block): Likewise.
3162 * toplev.h, dwarf2out.h: Adjust.
3163 * emit-rtl.c (remove_unnecessary_notes): Test return value.
3164
3165 * emit-rtl.c (remove_unnecessary_notes): Fix spelling of "necessary".
3166 * toplev.c, final.c, rtl.h: Adjust.
3167
09fa0705
ZW
31682000-05-02 Zack Weinberg <zack@wolery.cumb.org>
3169
3170 * aclocal.m4 (gcc_AC_CHECK_PROG_VER): New macro.
3171 * configure.in: Look for makeinfo in the unified tree, then
3172 for a system makeinfo which is sufficiently new.
3173 * Makefile.in: If configure says makeinfo is too old, don't
3174 build or install Info documentation.
3175
1ce4a39d
ZW
31762000-05-02 Zack Weinberg <zack@wolery.cumb.org>
3177
3178 * cpphash.c (collect_params): Fix off-by-one error.
3179 (dump_hash_helper): Dump all four macro nodetypes.
3180
9900f597
JJ
31812000-05-02 Jakub Jelinek <jakub@redhat.com>
3182
3183 * cpphash.c (trad_stringify): Adjust p after stringification as
3184 well.
3185
c56c2073
ZW
31862000-05-02 Zack Weinberg <zack@wolery.cumb.org>
3187
3188 * cpplib.h (CPP_POP, parse_cleanup_t): Delete.
3189 (cpp_buffer): Remove cleanup, seen_eof, manual_pop members.
3190
3191 * cppfiles.c (file_cleanup): Delete.
3192 * cpphash.c (macro_cleanup): Delete.
3193 (collect_objlike_expansion, collect_funlike_expansion,
3194 macarg, scan_arguments): Remove CPP_POP case.
3195
3196 * cpplex.c (null_cleanup): Delete.
3197 (cpp_pop_buffer): Do the work that was done in the cleanups
3198 here. Call _cpp_unwind_if_stack from here.
3199 (_cpp_expand_to_buffer, cpp_scan_buffer_nooutput,
3200 cpp_scan_buffer): Run until we see CPP_EOF and the top of
3201 stack is the buffer _below_ the one we stacked.
3202 (cpp_get_token): Always pop an exhausted buffer. Return
3203 CPP_EOF unless it's a macro buffer. Don't call _cpp_handle_eof.
3204 * cpplib.c (skip_if_group): Don't call cpp_get_token to
3205 increment the line number.
3206 (_cpp_handle_eof): Rename to _cpp_unwind_if_stack.
3207
3208 * fix-header.c (read_scan_file) [parsing getchar()]: Run until
3209 we see CPP_EOF and the top of stack is the buffer _below_ the
3210 one we stacked.
3211 * scan-decls.c: Likewise.
3212
32adf8e6
AH
32132000-05-02 Andrew Haley <aph@cygnus.com>
3214
3215 * config/ia64/ia64.c (ia64_encode_section_info): Handle the case
3216 where this function is called for the second time on a decl that
3217 has had its section info changed in such a way as to move it out
3218 of small data/bss.
3219 * config/ia64/ia64.h (REDO_SECTION_INFO_P): New definition.
3220
15ac7707
RH
32212000-05-01 Richard Henderson <rth@cygnus.com>
3222
3223 * ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before
3224 the sequence we're moving, not to merge_bb->head.
3225
8be9eb00
RH
32262000-05-01 Richard Henderson <rth@cygnus.com>
3227
cf889600
RH
3228 * configure.in (alpha*-*-linux-gnulibc1*) [tmake_file]: Remove
3229 reference to alpha/t-linux.
3230 (alpha*-*-linux-gnu*): Likewise.
3231 * configure: Rebuild.
3232
8be9eb00
RH
3233 * calls.c (expand_call): Don't emit reg notes for a sibcall.
3234
1868a0d4
RH
3235 * flow.c (calculate_global_regs_live): Skip for_each_successor_phi
3236 if not in SSA form.
7aa88bcf
RH
3237
3238 * ifcvt.c (if_convert): Only verify_flow_info if ENABLE_CHECKING.
3239
8eec72ec
JM
32402000-05-01 Jason Merrill <jason@casey.cygnus.com>
3241
3242 * integrate.c (copy_decl_for_inlining): Copy TREE_READONLY and
3243 TREE_THIS_VOLATILE.
3244
7e04d3c7
RH
32452000-05-01 Richard Henderson <rth@cygnus.com>
3246
3247 * ifcvt.c (noce_emit_cmove): Conditionally compile call to
3248 emit_conditional_move.
3249
f0b0e152
JJ
32502000-05-01 Jakub Jelinek <jakub@redhat.com>
3251
3252 * config/ia64/linux.h (LINK_SPEC): Use /lib/ld-linux-ia64.so.1
3253 as the dynamic linker.
3254
cc933923
ZW
32552000-05-01 Zack Weinberg <zack@wolery.cumb.org>
3256
10e56506
ZW
3257 * cppfiles.c (open_include_file): Open file in blocking mode.
3258 (read_include_file): Don't fcntl(fd, F_SETFL, 0) anymore.
3259 Only exclude block devices and directories.
3260
cc933923
ZW
3261 * cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now
3262 static. Allocate the hashnode and its string in the same
3263 block of memory.
3264 (del_HASHNODE): Don't free h->name.
3265 (_cpp_lookup): If there is no entry for this string, create
3266 one, of type T_VOID.
3267 (_cpp_lookup_slot): Delete.
3268 * cpphash.h: Update prototypes.
3269
3270 * cpplex.c (maybe_macroexpand): Check for hp->type == T_VOID,
3271 not hp == NULL.
3272 * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert,
3273 do_unassert, cpp_defined): Use _cpp_lookup. Don't create a
3274 node here, just fill in the value field properly. "Delete"
3275 entries by setting the value field to T_VOID. Check for
3276 hp->type == T_VOID, not hp == NULL.
3277
3278 * Makefile.in (cpplib.o): Don't depend on $(HASHTAB_H).
3279 * cpperror.c, cppexp.c, cpplex.c, cpplib.c: Don't include
3280 hashtab.h.
3281
ed6089d6
AO
32822000-05-01 Alexandre Oliva <aoliva@cygnus.com>
3283
79e4122c
AO
3284 * config/mn10300/mn10300.c (print_operand_address): Do not add
3285 zero to SP.
3286
ed6089d6
AO
3287 * config/mn10300/mn10300.c (expand_epilogue): If SP is to be
3288 adjusted by less than 256 bytes, use ret regardless of having any
3289 callee-saved register to restore.
3290
7c714ee1
LB
32912000-05-01 Laurynas Biveinis <lauras@softhome.net>
3292
3293 * tm.texi (TARGET_HAS_F_SETFLKW): Fix typo.
3294
52e45a60
ME
32952000-05-01 Mark Elbrecht <snowball3@bigfoot.com>
3296
3297 * config/i386/djgpp.h (INT_ASM_OP): Define.
3298 (CPP_PREDEFINES): Rename MSDOS to __MSDOS__.
3299 (ASM_WEAKEN_LABEL): Define.
3300 (MASK_BNU210): Define.
3301 (SUBTARGET_SWITCHES): Define.
3302 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Define.
3303 (MAKE_DECL_ONE_ONLY): Define.
3304 (UNIQUE_SECTION_P, UNIQUE_SECTION): Define.
3305
eb70f628
MK
33062000-05-01 Mumit Khan <khan@xraylith.wisc.edu>
3307
3308 * i386/cygwin.h (INT_ASM_OP): Define.
3309
afd1bb91
DC
3310Mon May 1 18:20:06 2000 Denis Chertykov <denisc@overta.ru>
3311
3312 * config/avr/avr.c (address_cost): renamed to avr_address_cost.
3313 * config/avr/avr.h (ADDRESS_COST): use avr_address_cost.
3314
368256d8
DC
3315Mon May 1 17:50:44 2000 Denis Chertykov <denisc@overta.ru>
3316
3317 * config/avr/avr.c (asm_file_start): output 0 as r0 and 1 as r1 in
3318 __tmp_reg__ and __zero_reg__ initialization.
3319
c4686982
RH
33202000-04-30 Richard Henderson <rth@cygnus.com>
3321
5e9e738c
RH
3322 * flow.c (propagate_one_insn): Mark sets even when the insn is dead.
3323
c4686982
RH
3324 * ifcvt.c (noce_process_if_block): Fail the conversion if X is
3325 referenced bewteen the condition and the jump. Don't delete
3326 anything but the jump.
3327
e3fdc58a
JE
3328Sun Apr 30 22:48:24 2000 Jason Eckhardt <jle@cygnus.com>
3329
3330 * bb-reorder.c (scope_def): New struct.
3331 (scope_forest_info): New struct.
3332 (struct reorder_block_def): New member "scope".
3333 (REORDER_BLOCK_SCOPE): New macro.
3334 (relate_bbs_with_scopes): New function and prototype.
3335 (make_new_scope): Likewise.
3336 (build_scope_forest): Likewise.
3337 (remove_scope_notes): Likewise.
3338 (insert_intra_1): Likewise.
3339 (insert_intra_bb_scope_notes): Likewise.
3340 (insert_inter_bb_scope_notes): Likewise.
3341 (rebuild_scope_notes): Likewise.
3342 (free_scope_forest_1): Likewise.
3343 (free_scope_forest): Likewise.
3344 (dump_scope_forest): Likewise.
3345 (dump_scope_forest_1): Likewise.
3346 (chain_reorder_blocks): Set REORDER_BLOCK_SCOPE for new block.
3347 Update REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for new
3348 block.
3349 (reorder_basic_blocks): Added calls to build_scope_scope_forest
3350 and remove_scope_notes before reordering is done. Added calls to
3351 rebuild_scope_notes, free_scope_forest, and reorder_blocks after
3352 after reordering is done.
3353
4c188026
BK
33542000-40-30 Bruce Korb <bkorb@gnu.org>
3355
82c3a53e
BK
3356 * fixinc/inclhack.def: Added definitions needed by OSR5,
3357 removed two stale entries (defined away with OLD_CPP).
4c188026
BK
3358 * fixinc/inclhack.sh: regen
3359 * fixinc/fixincl.x: regen
3360
0ca4f243
RH
33612000-04-30 Richard Henderson <rth@cygnus.com>
3362
3363 * ifcvt.c (dead_or_predicable): Manually squeeze non-movable notes
3364 from the last insn in the sequence.
3365
638d694d
ZW
33662000-04-30 Zack Weinberg <zack@wolery.cumb.org>
3367
6d2c2047
ZW
3368 * cpplex.c (cpp_idcmp): New function.
3369 * cpplib.h: Prototype it.
3370 * scan_decls.c (scan_decls): Use it to inspect token names.
3371 * fix-header.c (read_scan_file): Likewise. Set system_header_p on
3372 the file being run through the preprocessor.
3373 (check_macro_names): Provide length of token to cpp_defined.
3374
3375 * Makefile.in: Remove stale warning message.
3376
638d694d
ZW
3377 * cppfiles.c (redundant_include_p): Provide length of token to
3378 cpp_defined.
3379 * cpphash.c (_cpp_make_hashnode, _cpp_lookup_slot): Hash
3380 values are unsigned int.
3381 (_cpp_lookup, _cpp_lookup_slot): Do not calculate the length.
3382 (_cpp_lookup_slot): Do not calculate the hash, either.
3383 * cpphash.h: Update prototypes.
3384 * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert):
3385 Hashes are unsigned int. Calculate hash here, pass by value
3386 to _cpp_lookup_slot.
3387
4d0482f6
BS
33882000-04-30 Bernd Schmidt <bernds@cygnus.co.uk>
3389
3390 * simplify-rtx.c (check_value_useless): Delete function.
3391 (discard_useless_locs): Don't call it; manage N_USELES_VALUES counter
3392 by hand.
3393 (cselib_invalidate_regno): Likewise.
3394 (cselib_invalidate_mem_1): Likewise.
3395 (references_value_p): Recognize useless values by the fact that they
3396 have no locations.
3397 (discard_useless_values): Likewise.
3398 (cselib_record_set): This may turn a useless value
3399 into a useful one.
6d2c2047 3400
a5c874cb
RH
34012000-04-30 Richard Henderson <rth@cygnus.com>
3402
3403 * config/d30v: New port.
3404
3405 * configure.in (d30v-*): Set fp format.
3406 * configure: Rebuild.
3407
9ec6d7ab
RH
34082000-04-30 Richard Henderson <rth@cygnus.com>
3409
3410 * ifcvt.c: New file.
3411 * Makefile.in (OBJS): Add it.
3412 (ifcvt.o): New target.
6d2c2047 3413 * jump.c (jump_optimize_1): Remove all code related to if-conversion,
9ec6d7ab
RH
3414 and conditional arithmetic.
3415 (find_insert_position): Remove.
3416 * timevar.def (TV_IFCVT, TV_IFCVT2): New.
3417 * toplev.c (DFI_ce, DFI_ce2): New.
3418 (dump_file): Add ce and ce2 dumps.
3419 (rest_of_compilation): Run if_convert a couple o times. Set
3420 cse_not_expected after cse2. Don't set no_new_pseudos until
3421 after sched1 or recompute_reg_usage.
3422
927b868f
RH
34232000-04-30 Richard Henderson <rth@cygnus.com>
3424
3425 * config/alpha/t-crtbe (crtbegin.o): Add "-I.".
3426 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
3427
11ae508b
RH
34282000-04-30 Richard Henderson <rth@cygnus.com>
3429
3430 * flow.c (struct reg_cond_life_info): New.
3431 (struct propagate_block_info): Add reg_cond_dead and reg_cond_reg.
3432 (init_propagate_block_info): Initialize them.
3433 (free_propagate_block_info): Destruct them.
3434 (mark_set_1): Consider conditional life before killing a register.
3435 (mark_regno_cond_dead): New.
3436 (free_reg_cond_life_info): New.
3437 (flush_reg_cond_reg_1, flush_reg_cond_reg): New.
3438 (ior_reg_cond, not_reg_cond, nand_reg_cond): New.
3439 (mark_used_reg): Record conditional life.
3440
3441 * haifa-sched.c (schedule_insns): Disable death counting
3442 sanity check for HAVE_conditional_execution.
3443
614f6bc1
RH
34442000-04-30 Richard Henderson <rth@cygnus.com>
3445
3446 * Makefile.in (TIMEVAR_H): New.
3447 (ggc-simple.o, ggc-page.o, toplev.o, timevar.o): Use it.
3448 (timevar.h): Remove rule.
3449
99eb5b26
RH
34502000-04-29 Richard Henderson <rth@cygnus.com>
3451
3452 * config/alpha/crtend.asm: Use C comments instead of #.
3453 * config/alpha/crtbegin.asm: Likewise. Mark __dso_handle hidden.
3454
3455 * config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL.
3456
5cebbd8d
ZW
34572000-04-29 Zack Weinberg <zack@wolery.cumb.org>
3458
d2158690
ZW
3459 * cpphash.h (enum node_type: Take out T_MCONST.
3460 (union hashval): Move into struct hashnode.
3461 (struct hashnode): Pack tighter. Remove file, line, col
3462 members.
3463 * cpphash.c: Constify most of the macro-definition structures.
3464 (struct definition): Replace by struct object_defn
3465 and struct funct_defn. Put file, line, column information
3466 here. All users updated to match.
3467 (_cpp_create_definition, _cpp_macroexpand): Remove special
3468 case for #define WORD OTHERWORD.
3469 * cpplib.c (do_undef): Remove T_MCONST case.
3470
5cebbd8d
ZW
3471 * cpphash.h: Move struct reflist, struct definition, and the
3472 DEFINITION typedef to cpphash.c. Use 'struct definition *' in
3473 union hashval. _cpp_free_definition takes a HASHNODE pointer.
3474 * cpphash.c (_cpp_free_definition): Free data pointed to by
3475 MCONST, XCONST, MACRO, and FMACRO nodes properly.
3476 (_cpp_create_definition, del_HASHNODE): Just call
3477 _cpp_free_definition to clear out a hashnode.
3478 * cpplib.c (do_pragma_poison): Likewise.
3479
a47944e2
AO
3480Sat Apr 29 12:25:17 2000 Alexandre Oliva <aoliva@cygnus.com>
3481
3482 * config/mn10300/mn10300.h (FIRST_DATA_REGNUM,
3483 LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM,
3484 FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros.
3485 (REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM.
3486 (REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P,
3487 REGNO_AM33_P): Redefine in terms of the new macros.
3488 (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
3489 (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
3490 STRUCT_VALUE): Likewise.
3491 (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
3492 ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise. Moved.
3493
a2ee8430
JH
3494Sat Apr 29 01:18:45 MET DST 2000 Jan Hubicka <jh@suse.cz>
3495
3496 * regmove.c (struct record_stack_memrefs_data): New.
3497 (record_stack_memrefs): New function.
3498 (combine_stack_adjustments_for_block): Use it.
3499
0c4c16df
JH
3500Sat Apr 29 01:15:27 MET DST 2000 Jan Hubicka <jh@suse.cz>
3501
3502 * calls.c (calls_function_1): Propertly handle TREE_LIST expressions;
3503 use special_function_p to detect alloca.
3504
e6746605
ME
3505Fri Apr 28 16:30:33 2000 Marc Espie <espie@cvs.openbsd.org>
3506
3507 * gcc.texi: Fixes for makeinfo 4.0 --html.
3508
2f7205ff
ZW
35092000-04-28 Zack Weinberg <zack@wolery.cumb.org>
3510
3511 * pcp.h: Delete file.
3512
f40a8c03
KH
35132000-04-28 Kazu Hirata <kazu@hxi.com>
3514
3515 * h8300.c (function_epilogue): Clean up flags when the last insn
3516 in a function is a barrier.
3517
e7651ec5
CD
35182000-04-28 Chris Demetriou <cgd@sibyte.com>
3519
3520 * configure.in (sparc-hal-solaris2*): protect [] glob from
3521 my expansion.
3522 (mips*-*-ecoff*, mips*-*-elf*, mips*-*-*): use MASK_ defines
3523 rather than hard-coded constants in target_cpu_default2.
3524 * configure: Regenerate.
3525
c083cf9a
JM
35262000-04-28 Jason Merrill <jason@casey.cygnus.com>
3527
3528 * tree.c (get_callee_fndecl): Extract the initial value from
3529 a readonly decl.
3530
e67cd9f8
RH
35312000-04-28 Richard Henderson <rth@cygnus.com>
3532
3533 * varasm.c (record_constant_1): Record the CODE_LABEL when
3534 taking the address of a LABEL_REF.
3535
ce48579b
RH
35362000-04-28 Richard Henderson <rth@cygnus.com>
3537 Jan Hubicka <jh@suse.cz>
3538
3539 * calls.c (combine_pending_stack_adjustment_and_call): Return the
3540 adjustment; don't do the stack adjust.
3541 (expand_call): Call compute_argument_block_size right before
3542 allocating the block; update comment; don't do alignment sanity
3543 checking for sibling call; use args_size instead of
3544 unadjusted_args_size before args_size is adjusted. Use
3545 combine_pending_stack_adjustment_and_call to compute stack adjust
3546 for must_preallocate case.
3547
3548 * expr.c (push_block): Remove shadow `temp' in inner scope.
3549
f1f39752
JM
35502000-04-28 Jason Merrill <jason@casey.cygnus.com>
3551
6d2c2047 3552 * toplev.c (rest_of_compilation): Call
f1f39752
JM
3553 note_deferral_of_defined_inline_function even if the function
3554 can't be inlined.
3555
bb1ec1d7
SB
35562000-04-28 Scott Bambrough <scottb@netwinder.org>
3557
3558 * cpplex.c (_cpp_scan_line): Fix buffer overwrite.
3559
d8d1d62b
RH
35602000-04-28 Richard Henderson <rth@cygnus.com>
3561
3562 * toplev.c (rest_of_type_compilation): Fix sdb TIMEVAR typo.
3563
4fbe8d07
KG
35642000-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3565
3566 * timevar.c (init_timevar): DeANSIfy function definition.
3567
26026d38
AS
35682000-04-27 Alex Samuel <samuel@codesourcery.com>
3569
3570 * Makefile.in (timevar.o): Depend on flags.h.
3571 * timevar.c (unused_stack_instances): New variable.
3572 (timevar_push): Take a timevar_stack_def from
3573 unused_stack_instances if available.
3574 (timevar_pop): Push the popped timevar_stack_def onto
3575 unused_stack_instances.
3576 (TIMEVAR_ENABLE): New macro.
3577 (timevar_def): Make standalone a 1-bit field. Add field used.
3578 (get_time): Rename parameter to now. Return after clearing it if
3579 not TIMEVAR_ENABLE.
3580 (init_timevar): Do nothing if not TIMEVAR_ENABLE.
3581 (timevar_pop): Likewise.
3582 (timevar_stop): Likewise.
3583 (timevar_push): Likewise. Mark the timing variable as used.
3584 (timevar_start): Likewise.
3585 (timevar_print): Do nothing if not TIMEVAR_ENABLE. Don't print
3586 timevars that were never used.
3587
a6496605
MM
35882000-04-27 Mark Mitchell <mark@codesourcery.com>
3589
6428983a 3590 * c-common.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are
a6496605
MM
3591 always TREE_READONLY.
3592
d8b2fb52
UD
35932000-04-27 Ulrich Drepper <drepper@cygnus.com>
3594
3595 * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference
3596 for call instruction with mode QImode.
3597
2a9a326b
AS
35982000-04-27 Alex Samuel <samuel@codesourcery.com>
3599
3600 * Makefile.in (OBJS): Add timevar.o.
3601 (toplev.o): Depend on timevar.h.
3602 (ggc-simple.o): Likewise.
3603 (ggc-page.o): Likewise.
3604 (timevar.o): New rule.
3605 (timevar.h): New rule.
3606
3607 * timevar.h: New file.
3608 * timevar.c: Likewise.
3609 * timevar.def: Likewise.
3610
3611 * toplev.h (gc_time, parse_time, varconst_time): Remove.
3612 * toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR
3613 throughout.
3614 (TIMEVAR): Remove macro.
3615 (gc_time, parse_time, varconst_time, integration_time, jump_time,
3616 cse_time, gcse_time, loop_time, cse2_time, branch_prob_time,
3617 flow_time, combine_time, regmove_time, sched_time,
3618 local_alloc_time, global_alloc_time, flow2_time, peephole2_time,
3619 sched2_time, dbr_sched_time, reorder_blocks_time,
3620 rename_registers_time, shorten_branch_time, stack_reg_time,
3621 to_ssa_time, from_ssa_time, final_time, symout_time, dump_time,
3622 all_time): Remove.
3623 (compile_file): Don't initialize time variables. Call
3624 init_timevar and start TV_TOTAL timer. Call timevar_print instead
3625 of many calls to print_time.
3626 (rest_of_compilation): Add timing for reload_cse_regs.
3627 (get_run_time): Removed to timevar.c.
3628 (print_time): Likewise.
3629 (get_run_time): Implement using TV_TOTAL time variable.
6d2c2047 3630 (print_time): Get total run time from get_run_time.
2a9a326b
AS
3631 * ggc-page.c (ggc_collect): Push and pop TV_GC instead of
3632 computing elapsed time explicitly.
3633 * ggc-simple.c (ggc_collect): Likewise.
3634 (gc_time): Remove declaration.
6d2c2047 3635
739fb049
MM
36362000-04-27 Mark Mitchell <mark@codesourcery.com>
3637
3638 * calls.c (combine_pending_stack_adjustment_and_call): New function.
3639 (expand_call): Use it.
6d2c2047 3640
d5827326
JH
36412000-04-27 Jan Hubicka <jh@suse.cz>
3642
3643 * flow.c (mark_set_1): Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT
3644 fields.
3645
b340d2b8
AO
3646Thu Apr 27 12:47:00 2000 Alexandre Oliva <aoliva@cygnus.com>
3647
3648 * config/mn10300/mn10300.md (movhi): Simplify. Prefer data
3649 registers.
3650
1b513b77
JH
3651Thu Apr 27 17:33:05 MET DST 2000 Jan Hubicka <jh@suse.cz>
3652
3653 * function.c (epilogue_done): Pass whole insn to record_insns.
3654
01329426
JH
3655Thu Apr 27 16:55:28 MET DST 2000 Jan Hubicka <jh@suse.cz>
3656
3657 * cse.c (CSE_ADDRESS_COST): Remove.
3658 (find_best_addr): Add new parameter "MODE", use address_cost instead
3659 of CSE_ADDRESS_COST
3660 (address_cost): New.
3661 (fold_rtx): Update call of find_best_addr.
3662 * rtl.h (address_cost): Declare.
3663 * loop.c (general_induction_var): Add new parameter "MODE", use
3664 address_cost instead of ADDRESS_COST
3665 (init_loop): Use address_cost instead of ADDRESS_COST.
3666 (check_insn_for_givs): Update call of general_induction_var.
3667 (find_mem_givs): Likewise.
3668 (consec_sets_giv): Likewise.
3669 * config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost.
3670 * i386.c (ix86_address_cost): New.
3671 * i386-protos.h (ix86_address_cost): Declare.
3672
5e849f6e
AO
3673Thu Apr 27 11:45:16 2000 Alexandre Oliva <aoliva@cygnus.com>
3674
3675 * config/mn10300/mn10300.md (movqi): Simplify. Prefer data
3676 registers.
3677
2a5b96fd
JH
3678Thu Apr 27 16:11:00 MET DST 2000 Jan Hubicka <jh@suse.cz>
3679
3680 * expr.c (store_expr): Use clear_storage instead of direct memset
3681 libcall.
3682
d82704fb
AO
3683Thu Apr 27 10:36:51 2000 Alexandre Oliva <aoliva@cygnus.com>
3684
3685 * config/mn10300/mn10300.c (mn10300_address_cost): Test
3686 ASHIFT, AND and LABEL_REF.
3687
1aaef9c1
JH
3688Thu Apr 27 15:08:46 MET DST 2000 Jan Hubicka <jh@suse.cz>
3689
3690 * invoke.texi (-foptimize-sibling-calls): Fix.
3691
28b6b9b2
JH
3692Thu Apr 27 14:54:22 MET DST 2000 Jan Hubicka <jh@suse.cz>
3693
3694 * loop.c (load_mems) Don't use hard registers for the hoisting.
3695
3696 * unroll.c (unroll_loop): Avoid overflow in the n_iterations
3697 calculation; rename const_equiv array in the preconditioning code
3698 from loop_unroll to loop_unroll_precondition
3699
9785c68d
RH
37002000-04-27 Richard Henderson <rth@cygnus.com>
3701
3702 * flow.c (struct propagate_block_info): Remove new_dead, new_live;
3703 add new_set.
3704 (propagate_one_insn): Clear it. Don't update reg_live here.
3705 (init_propagate_block_info): Update for pbi member changes.
3706 (free_propagate_block_info): Likewise.
6d2c2047 3707 (mark_set_1): Know that zero_extract, sign_extract, and
9785c68d
RH
3708 strict_low_part don't kill their argument. Alter hard subregs.
3709 Update new_set for non-CLOBBER sets. Update reg_live.
3710 (find_auto_inc): Update reg_live, not new_dead.
3711 (mark_used_reg): Update reg_live, not new_live. Examine new_set
3712 to determine if the reg in question was set this insn. Only update
3713 reg info with PROP_REG_INFO.
3714
a9f531a6
RH
37152000-04-26 Richard Henderson <rth@cygnus.com>
3716
3717 * flow.c (allocate_reg_life_data): Set max_regno here ...
3718 (life_analysis): ... not here.
3719
83a67d12
RH
3720 * flow.c (calculate_global_regs_live): Force stack pointer
3721 live at end.
3722
2ea64f10
RH
37232000-04-26 Richard Henderson <rth@cygnus.com>
3724
3725 * jump.c (redirect_exp_1): Rework from old redirect_exp. Never
3726 commit change group changes.
3727 (invert_exp_1): Similarly.
3728 (redirect_exp, invert_exp): Use them.
3729 (redirect_jump_1): New.
3730 (invert_jump_1): New.
3731 (jump_optimize_1): Remove code subsumed by condexec.c.
3732 * rtl.h (invert_jump_1, redirect_jump_1): Declare.
3733
0a2287bf
RH
37342000-04-26 Richard Henderson <rth@cygnus.com>
3735
3736 * rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
3737
3738 * genconfig.c (main): Set all HAVE_foo to 1.
3739
3740 * graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array.
3741
4bae0b47
AS
37422000-04-26 Alex Samuel <samuel@codesourcery.com>
3743
3744 * invoke.texi: Document -fssa flag.
3745
f134997f
RH
37462000-04-26 Richard Henderson <rth@cygnus.com>
3747
3748 * flow.c (count_reg_sets_1): Remove.
3749 (count_reg_sets, count_reg_references): Remove.
3750 (recompute_reg_usage): Implement with update_life_info.
3751 Reallocate life data.
3752
693d9e2f
RH
37532000-04-26 Richard Henderson <rth@cygnus.com>
3754
3755 * flow.c (update_life_info): Consider blocks null to mean the
3756 universal set.
3757 (calculate_global_regs_live): Likewise.
3758 (life_analysis): Do that instead of collecting all_blocks.
3759
56aba4a8
RH
37602000-04-26 Richard Henderson <rth@cygnus.com>
3761
3762 * flow.c (tidy_fallthru_edge): Don't delete the jump when it's
3763 a still-valid conditional jump.
3764
604617ba
RH
37652000-04-26 Richard Henderson <rth@cygnus.com>
3766
3767 * jump.c (invert_jump): Always invert REG_BR_PROB. Do it correctly.
3768
3769 * bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability.
3770 * flow.c (calculate_loop_depth): Remove.
3771 * output.h (calculate_loop_depth): Don't declare.
3772 * toplev.c (rest_of_compilation): Expand calculate_loop_depth
3773 inline; run estimate_probability at the same time.
3774
6777db6d
NB
37752000-04-26 Neil Booth <NeilB@earthling.net>
3776
3777 * cpplib.h: "~=" is not a single pp-token.
3778 * cpplex.c: Correct commentary.
3779
b4593d17
RH
37802000-04-26 Richard Henderson <rth@cygnus.com>
3781
3782 * flow.c (mark_set_1): New arguments code and flags; update all
3783 callers. Track regno_first and regno_last; do HARD_REGNO_NREGS
3784 test in one place. Tidy flags tests. Don't bias REG_N_REFS by
3785 loop_depth when optimizing for size. Do new_dead update after
3786 emitting REG_UNUSED notes. Merge mark_set_reg code.
3787 (mark_set_reg): Remove.
3788 (propagate_one_insn): Use mark_set_1 for call-clobbered registers;
3789 arrange to not emit REG_UNUSED notes.
3790
443b75c9
RH
37912000-04-26 Richard Henderson <rth@cygnus.com>
3792
3793 * flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
3794 * ssa.c (convert_from_ssa): Don't run compute_bb_for_insn.
3795
292f3869
RH
37962000-04-26 Richard Henderson <rth@cygnus.com>
3797
3798 * flow.c (propagate_one_insn): Break out from propagate_block.
3799 (init_propagate_block_info): Likewise.
3800 (free_propagate_block_info): Likewise.
3801 (propagate_block): Use them. Export.
3802 * basic-block.h: Declare them all.
3803
7f8a79ba
RH
38042000-04-26 Richard Henderson <rth@cygnus.com>
3805
3806 * basic-block.h (life_analysis): Declare here ...
3807 * output.h: ... not here.
3808 * flow.c (life_analysis): Remove nregs parameter; replace
3809 remove_dead_code with flags. Remove ssa dead code check.
3810 Only init alias analysis if we'll use it.
3811 * reg-stack.c (reg_to_stack): Update life_analysis arguments.
3812 * ssa.c (convert_to_ssa): Likewise.
3813 (convert_from_ssa): Likewise.
3814 * toplev.c (rest_of_compilation): Likewise.
3815
52294521
RH
38162000-04-26 Richard Henderson <rth@cygnus.com>
3817
3818 * flow.c (flow_delete_block): Rename from delete_block. Export.
3819 * basic-block.h (flow_delete_block): Declare.
3820
9485c46e
DM
38212000-04-26 David S. Miller <davem@redhat.com>
3822
3823 * optabs.c (emit_libcall_block): Verify insns with INSN_P before
3824 taking a PATTERN of it.
3825
cfd5b8b8
NB
38262000-04-26 <NeilB@earthling.net>
3827
3828 * cpplex.c (spell_other, spell_char): Remove.
3829 (SPELL_CHAR): New.
3830 (token_spelling, trigraph_map): Use unsigned chars.
3831 (_cpp_lex_line): Tidy up the switch statement.
3832 * cpplib.h: Implement spell_char with spell_string.
3833 (C): New.
3834
466d45de 38352000-04-26 <RodneyBrown@pmsc.com>
6d2c2047 3836
466d45de
RB
3837 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal.
3838 * pa/pa64-regs.h (HARD_REGNO_MODE_OK): Warning removal.
3839
d3e3972c
KG
38402000-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3841
3842 * dwarf2out.c (dw_cfi_oprnd_struct, dw_fde_struct, add_fde_cfi,
3843 reg_save, dwarf2out_frame_debug_expr, dwarf2out_def_cfa,
3844 dwarf2out_window_save, dwarf2out_args_size, dwarf2out_reg_save,
3845 dwarf2out_return_save, dwarf2out_return_reg,
3846 dwarf2out_stack_adjust, dwarf2out_frame_debug, primary_filename,
3847 add_AT_lbl_id, add_AT_lbl_offset, type_tag, decl_start_label,
3848 gen_compile_unit_die, dwarf2out_init): Constify a char*.
3849
3850 * dwarf2out.h (dwarf2out_init): Likewise.
3851
3852 * dwarfout.c (filename_entry, primary_filename, last_filename,
3853 type_tag, output_compile_unit_die, dwarfout_init): Likewise.
3854
3855 * tree.h (dwarf2out_def_cfa, dwarf2out_window_save,
3856 dwarf2out_args_size, dwarf2out_reg_save, dwarf2out_return_save,
3857 dwarf2out_return_reg): Likewise.
3858
d4047e24
AJ
38592000-04-26 Andreas Jaeger <aj@suse.de>
3860
2ea64f10
RH
3861 * extend.texi (Function Attributes): Fix description of pure
3862 attribute.
d4047e24 3863
7d2e8eff
JM
38642000-04-26 Jason Merrill <jason@casey.cygnus.com>
3865
3866 * integrate.c (output_inline_function): Do clear DECL_DEFER_OUTPUT
3867 before calling rest_of_compilation.
3868
70576b75
AJ
38692000-04-26 Andreas Jaeger <aj@suse.de>
3870
3871 * config/mips/linux.h: Remove erroneous commit of #if 0/#endif in
3872 last patch.
3873
e2ee9912
RH
38742000-04-25 Richard Henderson <rth@cygnus.com>
3875
2ea64f10 3876 * cse.c (cse_insn): Emit barrier after unconditional jump.
369edff1 3877
e2ee9912
RH
3878 * calls.c (expand_call): Disable tail call generation once
3879 rtx_equal_function_value_matters is false.
3880
3881 * reg-stack.c (convert_regs_1): Treat EDGE_ABNORMAL_CALL edges
3882 like EDGE_EH edges.
3883
38842000-04-25 Jason Merrill <jason@casey.cygnus.com>
1cfdcc15
JM
3885
3886 * dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR.
3887
3888 * dwarfout.c (output_decl): Ignore NAMESPACE_DECLs.
3889
3890 * dwarf2out.c (gen_subprogram_die): The class-scope declaration DIE
3891 is the primary DIE for a member function.
3892 (gen_decl_die): Call set_decl_origin_self here.
3893 * dwarfout.c (output_decl): And here.
3894 * integrate.c (output_inline_function): Not here.
3895 Don't clear DECL_INLINE until after calling rest_of_compilation.
3896 (set_decl_origin_self): No longer static.
3897 * tree.h: Add prototype.
3898 * toplev.c (note_deferral_of_defined_inline_function): Only write
3899 out abstract instance for actual inlines.
3900
d25ed420
AO
39012000-04-25 Alexandre Oliva <aoliva@cygnus.com>
3902
3903 * config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Return
3904 EXTENDED_REGS only if TARGET_AM33.
3905 * config/mn10300/mn10300.md (movsi, addsi): Avoid exposing
3906 SP_REGS to register allocation and reloading unless absolutely
3907 necessary.
3908 (movsi3): Remove special-case of adding non-constants to SP.
3909
86cf1cbd
KG
39102000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3911
3912 * aclocal.m4 (gcc_AC_NEED_DECLARATION): This macro now requires
3913 INCLUDES to search and does not provide any of its own. Also it
3914 now accepts optional ACTION-IF-NEEDED and ACTION-IF-NOT-NEEDED
3915 parameters. Also it does not call AC_DEFINE.
3916 (gcc_AC_NEED_DECLARATIONS): Likewise. Also this macro now calls
3917 AC_DEFINE and provides for automatic entries for autoheader.
3918 (gcc_AC_FUNC_PRINTF_PTR): Cleanup C code in test.
3919
3920 * configure.in (gcc_AC_NEED_DECLARATIONS): Save and restore CFLAGS
3921 so we can pass -I flags and include gansidecl.h/system.h in this
3922 test.
3923
3924 * acconfig.h: Delete all NEED_DECLARATION_* entries.
3925
62076024
KG
39262000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3927
2ea64f10 3928 * acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
62076024
KG
3929 ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
3930 ENABLE_GC_ALWAYS_COLLECT): Delete entries.
6d2c2047 3931
2ea64f10 3932 * configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
62076024
KG
3933 ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
3934 ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
3935 for these macros. Clean up spacing and linewraps.
3936
39b0dce7
JM
39372000-04-26 Jason Merrill <jason@casey.cygnus.com>
3938
3939 * calls.c (expand_call): Use get_callee_fndecl.
3940
3941 * print-tree.c (print_node): Print the chain of an _EXPR.
3942
0c96007e
AM
3943Tue Apr 25 16:16:04 2000 Andrew MacLeod <amacleod@cygnus.com>
3944 Jim Wilson <wilson@cygnus.com>
3945 Andrew Haley <aph@cygnus.com>
6d2c2047 3946
0c96007e
AM
3947 * config/ia64/crtbegin.asm: Add IA-64 unwind support. Correct alloc
3948 and gp save/restore problems.
3949 * config/ia64/crtend.asm: Add IA-64 unwind support.
3950 * config/ia64/ia64.c (ia64_compute_frame_size): Don't include pr_size
3951 in fr_pad_size calculation.
3952 (save_restore_insns): Move PR save area. Correct uses of
3953 RTX_FRAME_RELATED_P.
3954 (ia64_expand_prologue): Mark alloc with RTX_FRAME_RELATED_P.
3955 (ia64_expand_epilogue): Add eh_epilogue support.
3956 (ia64_function_prologue): Emit .prologue directive.
3957 (ia64_init_machine_status, ia64_mark_machine_status): New functions.
3958 (ia64_override_options): Set init_machine_status and
3959 mark_machine_status.
3960 (rtx_needs_barrier): Handle bsp reads and writes.
3961 (spill_offset, sp_offset, spill_offset_emitted, tmp_reg, tmp_saved):
3962 New static variables.
3963 (process_set, process_for_unwind_directive): New functions.
3964 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR, ASM_OUTPUT_XDATA_SHORT,
3965 ASM_OUTPUT_XDATA_INT, ASM_OUTPUT_XDATA_DOUBLE_INT, ASM_OUTPUT_EH_CHAR,
3966 ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT, ASM_OUTPUT_EH_DOUBLE_INT): New
3967 macros.
3968 (EH_FRAME_SECTION_ASM_OP): Define to IA_64.unwind section.
3969 (IA64_UNWIND_INFO, HANDLER_SECTION, IA64_UNWIND_EMIT): Define.
3970 (struct machine_function): Define.
3971 * config/ia64/ia64.md (bsp_value, set_bsp, eh_epilogue): New patterns.
6d2c2047 3972
7d7f30cf
BK
39732000-04-25 Bruce Korb <bkorb@gnu.org>
3974
3975 * fixinc/Makefile.in: make the removal of old programs more
3976 robust
3977 * fixinc/mkfixinc.sh: use the two new targets in the Makefile:
3978 install-bin and install-sh
3979
b36f4ed3
NC
39802000-04-25 Nick Clifton <nickc@cygnus.com>
3981
3982 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): If not
3983 defined, define to return zero.
3984 (function_cannot_inline_p): If a function has any target
3985 specific attributes, then use the macro
3986 FUNCTION_ATTRIBUTE_INLINABLE_P to allow the target to decide
3987 whether it can be inlined. If it cannot, issue a suitable
3988 explanation.
3989
3990 * tm.texi: Add a new node 'Inlining' to document the new macro
6d2c2047 3991 FUNCTION_ATTRIBUTE_INLINABLE_P.
b36f4ed3 3992
c5a04734
ZW
39932000-04-25 Zack Weinberg <zack@wolery.cumb.org>
3994
3995 * cpplib.h (struct cpp_buffer): Add 'mapped' flag; fix
6d2c2047 3996 commentary.
c5a04734
ZW
3997
39982000-04-25 Neil Booth <NeilB@earthling.net>
3999
4000 Restore previous patch, plus the following fixes:
4001
4002 * cpphash.c (_cpp_create_definition): Test PREV_WHITESPACE in
4003 flags, not CPP_OPEN_PAREN.
4004 * cpplex.c (expand_token_space, init_token_list,
4005 cpp_free_token_list): Put the dummy token at list->tokens[-1].
4006 (_cpp_lex_line, _cpp_lex_file): token list is 0-based.
4007
5ed12799
AO
4008Tue Apr 25 14:06:40 2000 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
4009
4010 * config/i386/freebsd.h (INT_ASM_OP): Define.
4011
424a02db
JH
4012Tue Apr 25 14:51:07 MET DST 2000 Jan Hubicka <jh@suse.cz>
4013
4014 * loop.c (strength_reduce): Fix typo in the last checkin.
4015
65e14bf5
RK
4016Tue Apr 25 07:33:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4017
4018 * stor-layout.c (finalize_record_size): Simplify to use existing
4019 functions.
4020 (compute_record_mode): No longer static.
4021 * tree.h (compute_record_mode): New declaration.
4022
05183359
NB
40232000-04-25 Neil Booth <NeilB@earthling.net>
4024
4025 * Revert my patch below until cause of build failures
4026 determined.
4027
865f50c5
RH
40282000-04-25 Richard Henderson <rth@cygnus.com>
4029
4030 * combine.c (combine_instructions): Add missing argument
4031 to try_combine.
4032
9d9e5c09
RH
4033 * toplev.c (rest_of_compilation): Delay sibcall optimization
4034 until after emit_eh_context.
4035
aabb6c74
NC
40362000-04-24 Nick Clifton <nickc@redhat.com>
4037
4038 * combine.c (combine_instructions): Do not try to combine a
4039 sequence of insns when the second insn has been replaced by a
4040 note.
4041
03bf1c28
MK
4042Mon Apr 24 17:34:18 2000 Mumit Khan <khan@xraylith.wisc.edu>
4043
b633b6c0
MK
4044 * gcc.c (load_specs): New static function.
4045 (read_specs): Use it.
4046
03bf1c28
MK
4047 * gcc.c (lookup_compiler): Make multiple passes for case
4048 insensitive filesystems.
4049
9c603af2
NB
40502000-04-24 Neil Booth <NeilB@earthling.net>
4051
4052 * cpphash.c: replace HSPACE_BEFORE with PREV_WHITESPACE.
4053 * cpphash.h (_cpp_check_directive): new.
4054 * cpplex.c (handle_newline, cpp_free_token_list,
4055 init_trigraph_map, trigraph_ok, trigraph_replace,
4056 backslash_start, skip_block_comment, skip_line_comment,
4057 skip_whitespace, parse_name, parse_number, parse_string,
4058 copy_comment, _cpp_lex_line, spell_char, spell_string,
4059 spell_comment, spell_name, spell_other, _cpp_lex_file,
4060 _cpp_output_list): new.
4061 (expand_name_space): take length argument.
4062 (init_token_list): add comment list initialisation.
4063 (cpp_scan_line): use auto_expand_name_space. PREV_WHITESPACE
4064 instead of HSPACE_BEFORE.
4065
4066 * cpplib.c (_cpp_check_directive): new
4067 * cpplib.h (cpp_name, PREV_WHITESPACE, PREV_COMMENT,
4068 DIGRAPH, UNSIGNED_INT, TOK_NAME): new.
4069 (HSPACE_BEFORE): delete.
4070 (TTYPE_TABLE): rearrange.
6d2c2047 4071 (struct cpp_toklist): update.
9c603af2 4072
91029a29
KG
40732000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4074
4075 * aclocal.m4 (gcc_AC_HEADER_STRING, gcc_AC_FUNC_PRINTF_PTR,
4076 gcc_AC_C_VOLATILE, gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG): Use the three
4077 argument form of AC_DEFINE.
4078
4079 * configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER,
4080 HAVE_INTTYPES_H, PACKAGE, VERSION, ENABLE_WIN32_REGISTRY,
4081 WIN32_REGISTRY_KEY, HAVE_GAS_SUBSECTION_ORDERING, HAVE_GAS_WEAK,
4082 HAVE_GAS_HIDDEN, HAVE_AS_REGISTER_PSEUDO_OP, AS_SPARC64_FLAG,
4083 HAVE_AS_OFFSETABLE_LO10, ENABLE_NEW_GXX_ABI): Likewise.
4084
4085 * acconfig.h: Delete stubs made redundant by 3-arg AC_DEFINE.
4086
3c9a2b55
KG
40872000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4088
4089 * Makefile.in (GCC_FOR_TARGET, GCC_CFLAGS, LIBGCC2_INCLUDES,
4090 deduced.h): Use -isystem, not -I, for including system headers.
4091
aaceac0b
NC
40922000-04-24 Nick Clifton <nickc@cygnus.com>
4093
4094 * config/fr30/fr30.md (addsi3): Do not use small add instruction if
4095 the source register is the frame pointer or arg pointer.
4096 (addsi3_small_int): Disallow if source register is the frame
4097 pointer or arg pointer.
4098
f6cbf672
KG
40992000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4100
4101 * configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Delete redundant
4102 call to AC_MSG_RESULT.
4103
9762e8a4
ML
4104