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