]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
integrate.c (function_cannot_inline_p): Don't allow inlining if setjmp is used.
[gcc.git] / gcc / ChangeLog
CommitLineData
cd8cee7b
RH
1Tue Oct 26 12:35:38 1999 Richard Henderson <rth@cygnus.com>
2
3 * integrate.c (function_cannot_inline_p): Don't allow inlining
4 if setjmp is used.
5
ec0ce6e2
KG
6Tue Oct 26 14:10:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7
8 * c-parse.in (cast_expr): Constify.
9
10 * cccp.c (special_symbol): Likewise.
11
12 * cse.c (hash_cse_reg_info, cse_reg_info_equal_p): Likewise.
13
14 * dwarf2out.c (base_type_die): Likewise.
15
16 * global.c (allocno_compare): Likewise.
17
18 * local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
19
20 * regclass.c (fix_register): Likewise.
21
22 * rtl.h (fix_register): Likewise.
23
24 * stupid.c (stupid_reg_compare): Likewise.
25
26 * toplev.c (decode_f_option): Likewise.
27
28 * tree.c (build_complex_type): Likewise.
29
d8d79d15
RE
30Tue Oct 26 18:35:25 1999 Richard Earnshaw <rearnsha@arm.com>
31
32 * output.h: Don't unnecessarily conditionalize prototypes on TREE_CODE.
33
67e61fe7
BS
34Tue Oct 26 15:42:56 1999 Bernd Schmidt <bernds@cygnus.co.uk>
35
36 * reload.c (find_reloads): Compute mode and nregs fields of all
37 reloads.
38 * reload1.c (calculate_needs_all_insns): Simplify a bit.
39 (calculate_needs): Use precomputed mode/nregs values.
40 (allocate_reload_reg): Likewise.
41 Break out two...
42 (failed_reload, set_reload_reg): ... new functions.
43 (choose_reload_regs_init): New function, mostly broken out from...
44 (choose_reload_regs): ... here. Lose all the save_xxx nonsense.
45 Also lose one #if 0 block.
46
35f86a50
ME
47Tue Oct 26 02:48:32 1999 Marc Espie <espie@cvs.openbsd.org>
48
49 * Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET): Fix target name
50 substitution.
51
2af0ac28
MM
52Tue Oct 26 01:27:32 1999 Mark Mitchell <mark@codesourcery.com>
53
54 * tree.h (BLOCK_TYPE_TAGS): Remove.
55 (BLOCK_END_NOTE): Likewise.
56 (BLOCK_LIVE_RANGE_FLAG): Likewise.
57 (BLOCK_LIVE_RANGE_START): Likewise.
58 (BLOCK_LIVE_RANGE_END): Likewise.
59 (tree_block): Remove live_range_flag, live_range_var_flag, and
60 type_tags. Remove end_note, live_range_start, and live_range_end.
61 (remember_end_note): Remove prototype.
62 * tree.c (build_block): Don't set BLOCK_TYPE_TAGS.
63 * c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
64 remember_end_note.
65 * ggc-common.c (ggc_mark_tree_children): Don't mark
66 BLOCK_TYPE_TAGS or BLOCK_END_NOTE.
67 * integrate.c (adjust_copied_decl_tree): Remove.
68 * print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS.
69 * stmt.c (last_block_end_note): Remove.
70 (init_stmt): Don't add a GC root for it.
71 (expand_fixup): Don't set it.
72 (remember_end_note): Remove.
73 (expand_end_bindings): Don't set last_block_end_note.
74
c2b4b171
BS
75Tue Oct 26 00:41:54 1999 Bernd Schmidt <bernds@cygnus.co.uk>
76
77 * reload1.c (reload_reg_free_for_value_p): Show
78 RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
79 reloads.
80
7f6dae2a
GK
81Mon Oct 25 23:54:45 1999 Geoff Keating <geoffk@cygnus.com>
82
3306eb80
GK
83 * expmed.c (extract_bit_field): Allow for the case of non-integer
84 objects that are smaller than a word (like SFmode on a 64-bit
85 machine).
86
7f6dae2a
GK
87 * loop.c (basic_induction_var): A non-integer variable which is
88 being set by a paradoxical subreg is probably not a biv.
89
7146dfdd
HB
901999-10-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
91
92 * prefix.c (translate_name) Check for empty prefix string.
93
9799e470
AS
94Mon Oct 25 23:10:45 1999 Andreas Schwab <schwab@suse.de>
95
96 * Makefile.in (CPP_CROSS_NAME): New variable.
97 (install-cpp): Use it instead of CPP_INSTALL_NAME for the cross
98 xcpp.
99 (uninstall-cpp): Use CPP_INSTALL_NAME and CPP_CROSS_NAME for the
100 names of the files to be uninstalled.
101
4525e228
JL
102Mon Oct 25 23:03:09 1999 Jeffrey A Law (law@cygnus.com)
103
c2897436
JL
104 * collect2.c (IS_DIR_SEPARATOR): Define.
105 (prefix_from_string): Use IS_DIR_SEPARATOR and DIR_SEPARATOR.
106
92bcb380
JL
107 * som.h (ASM_DECLARE_FUNCTION_NAME): Set PRIV_LEV for static
108 functions too.
109
4525e228
JL
110 * haifa-sched.c (add_dependence): Update the true dependency
111 cache the first time we add a true dependence to the LOG_LINKS chain.
112
a36335da
JK
113Mon Oct 25 22:27:40 1999 Jim Kingdon <http://developer.redhat.com/>
114
115 * fold-const.c (fold): Fix comment.
116
a996cbd4
KG
117Mon Oct 25 22:49:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
118
119 * dbxout.c (lastfile, cwd, dbxout_type_method_1,
120 dbxout_symbol_location, dbxout_symbol_name, dbxout_init,
121 dbxout_start_new_source_file, dbxout_source_file,
122 dbxout_source_line, dbxout_finish, dbxout_type_fields,
123 dbxout_type_methods, dbxout_symbol, dbxout_prepare_symbol):
124 Constify a char*.
125 (dbxout_types, dbxout_args, dbxout_symbol): Delete prototypes.
126 (dbxout_symbol): Mark parameter `local' with ATTRIBUTE_UNUSED.
127 (dbxout_block): Initialize variable `blocknum'.
128
129 * dbxout.h (dbxout_init, dbxout_finish,
130 dbxout_start_new_source_file, dbxout_source_file, dbxout_types,
131 dbxout_args, dbxout_source_line): Constify a char*.
132
133 * dwarfout.c (dwarf_tag_name, dwarf_attr_name,
134 dwarf_stack_op_name, dwarf_typemod_name, dwarf_fmt_byte_name,
135 dwarf_fund_type_name, name_attribute, stmt_list_attribute,
136 low_pc_attribute, high_pc_attribute, body_begin_attribute,
137 body_end_attribute, comp_dir_attribute, sf_names_attribute,
138 src_info_attribute, mac_info_attribute, producer_attribute,
139 lookup_filename, generate_macinfo_entry, fundamental_type_code,
140 dwarfout_line, dwarfout_start_new_source_file, dwarfout_define,
141 dwarfout_undef): Constify a char*.
142 (add_incomplete_type, retry_incomplete_types): Add prototypes.
143
144 * dwarfout.h (dwarfout_define, dwarfout_undef,
145 dwarfout_start_new_source_file, dwarfout_line): Constify a char*.
146
ea09f032
GRK
1471999-10-25 Gavin Romig-Koch <gavin@cygnus.com>
148
149 * config/mips/mips.h (MIPS_ISA_DEFAULT): Insure it's defined.
150 (MULTILIB_ISA_DEFAULT): New.
151 (MULTILIB_DEFAULTS): Use it.
152 * config/mips/mips.c (): Remove the now unnecessary definition
153 of MIPS_ISA_DEFAULT.
154 * config/mips/elf64.h (MULTILIB_DEFAULTS): Remove the now
155 unnecessary definition.
156
f12c5ef3
RE
157Mon Oct 25 22:08:35 1999 Richard Earnshaw (rearnsha@arm.com)
158
159 * arm.md (pic_load_addr): Add constraints to operand 1.
160
dc994a6d
BK
1611999-10-25 Bruce Korb <autogen@linuxbox.com>
162
f12c5ef3
RE
163 * fixinc/genfixes: Provide a means for specifying -D options to
164 AutoGen
dc994a6d 165
59487769
JL
166Mon Oct 25 00:42:35 1999 Jeffrey A Law (law@cygnus.com)
167
2ca12935
JL
168 * arm.c (arm_override_options): Correct initialization of
169 arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
170 arm_is_strong, and arm_is_6_or_7.
171
59487769
JL
172 * loop.c (note_set_pseudo_multiple_uses_retval): New variable.
173 (note_set_pseudo_multiple_uses): New function.
174 (check_dbra_loop): Use not_set_pseudo_multiple_uses to determine
175 if a pseudo set in the loop exit is used elsewhere.
176
20819a09
MM
177Sun Oct 24 20:52:40 1999 Mark Mitchell <mark@codesourcery.com>
178
179 * i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
180
ad678cb0
RH
181Sun Oct 24 21:02:46 1999 Richard Henderson <rth@cygnus.com>
182
183 * i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
184 a single load-address pattern.
185
f77e39fc
MM
186Sun Oct 24 19:33:24 1999 Mark P. Mitchell <mark@codesourcery.com>
187
188 * haifa-sched.c (schedule_insns): Don't assign LUIDs differently
189 depending on whether or not line-number notes are present.
190
4b79993f
KG
191Sun Oct 24 20:29:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
192
193 * cccp.c (progname, file_buf, default_include, include_file,
194 macrodef, definition, hashval, wchar_type, user_label_prefix,
195 directive, out_fname, if_stack, safe_write, index0, get_lintcmd,
196 expand_to_temp_buffer, is_system_include, base_name,
197 absolute_filename, read_name_map, open_include_file,
198 record_control_macro, check_precompiled, check_preconditions,
199 pcfinclude, pass_thru_directive, create_definition,
200 check_macro_name, comp_def_part, collect_expansion,
201 check_assertion, read_token_list, assertion_install,
202 assertion_lookup, eval_if_expression, conditional_skip,
203 validate_else, skip_quoted_string, quote_string, macarg1,
204 error_from_errno, install, lookup, hashf, dump_defn_1,
205 perror_with_name, pfatal_with_name, main, trigraph_pcp,
206 check_white_space, rescan, handle_directive, monthnames,
207 special_symbol, do_include, remap_include_file, write_output,
208 arglist, do_assert, do_unassert, do_line, do_error, do_once,
209 do_ident, do_sccs, do_xifdef, skip_if_group,
210 output_line_directive, macroexpand, macarg, change_newlines,
211 initialize_builtins, make_definition): Constify a char*.
212
213 * pcp.h (stringdef): Likewise.
214
65c8a03d
RH
215Sun Oct 24 13:29:28 1999 Richard Henderson <rth@cygnus.com>
216
217 * unroll.c (copy_loop_body): Examine SET_DEST of single_set
218 not of pattern.
219
ac606739
GS
220Sun Oct 24 13:14:20 1999 Graham <grahams@rcp.co.uk>
221 Richard Henderson <rth@cygnus.com>
222
223 * alias.c: Include ggc.h.
224 (reg_base_value, new_reg_base_value, reg_base_value_size): Make static.
225 (record_set): Verify enough room in reg_base_value.
226 (init_alias_analysis): Allocate reg_base_value with xcalloc.
227 Register it as a GC root.
228 (end_alias_analysis): Free reg_base_value. Remove it as a GC root.
229 * Makefile.in (alias.o): Depend on ggc.h.
230
231 * unroll.c (unroll_loop): Verify the insn before a barrier
232 is a JUMP_INSN before checking JUMP_LABEL.
233
9d73cc12
KG
234Sun Oct 24 15:46:44 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
235
236 * mips/bsd-5.h (ASM_OUTPUT_ASCII): Constify a char*.
237 * mips/iris4.h (ASM_OUTPUT_ASCII): Likewise.
238 * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
239 * mips/mips.h (ASM_OUTPUT_ASCII): Likewise.
240 * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
241 * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
242
7751947b
KG
243Sun Oct 24 15:35:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
244
245 * output.h (ctors_section, dtors_section, bss_section): Prototype.
246
247 * alpha/alpha-interix.h (text_section): Delete prototype.
248 * alpha/elf.h (text_section): Likewise.
249 * arm/linux-elf.h (text_section): Likewise.
250 * arm/linux-telf.h (text_section): Likewise.
251 * c4x/c4x.h (text_section): Likewise.
252 * dsp16xx/dsp16xx.h (bss_section): Likewise.
253 * elfos.h (text_section): Likewise.
254 * i386/aix386ng.h (text_section): Likewise.
255 * i386/i386-interix.h (text_section): Likewise.
256 * i386/sco5.h (text_section): Likewise.
257 * i386/svr3gas.h (text_section): Likewise.
258 * nextstep.h (text_section): Likewise.
259 * psos.h (text_section): Likewise.
260 * ptx4.h (text_section): Likewise.
261 * svr3.h (text_section): Likewise.
262 * svr4.h (text_section, ctors_section, dtors_section): Likewise.
263
36f0e0a6
KG
264Sun Oct 24 15:20:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
265
266 * final.c (peephole): Delete prototype.
267
268 * gcse.c (process_insert_insn, pre_edge_insert): Add prototypes.
269 (pre_insert_copies): Remove unused variable `bb'.
270
271 * genrecog.c (debug_decision_0, debug_decision_list, main): Add
272 prototypes.
273
274 * output.h (peephole): Add prototype.
275
87bb6e4b
MM
276Sun Oct 24 11:35:30 1999 Mark P. Mitchell <mark@codesourcery.com>
277
278 * config/mips/iris6.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Define to
279 -O0.
280
f120f901
MM
281Sat Oct 23 21:13:00 1999 Mark Mitchell <mark@codesourcery.com>
282
283 * integrate.c (integrate_decl_tree): Tweak setting of DECL_CONTEXT
284 for inlined declarations.
285
6ab589e0
JL
286Fri Oct 22 18:05:43 1999 Jeffrey A Law (law@cygnus.com)
287
288 * arm.c (logical_binary_operator): New fucntion.
289 * arm.h (logical_binary_operator): Declare it.
290 (PREDICATE_CODES): Handle logical_binary_operator.
291 * arm.md (anddi3, anddi_zesidi_di, anddi_sesdi_di): Use "#" for
292 output constraints. Add appropriate splitters.
293 (anddi_notdi_di, anddi_notzesidi_di, anddi_notsesidi_di): Likewise.
294 (iordi3, iordi_zesidi_di, iordi_sesidi_di): Likewise.
295 (xordi3, xordi_zesidi_di, xordi_sesidi_di): Likewise.
296
dfac187e
BS
297Fri Oct 22 23:46:50 1999 Bernd Schmidt <bernds@cygnus.co.uk>
298
299 * genoutput.c (struct operand_data): New elt eliminable.
300 (output_operand_data): Write it.
301 (scan_operands): Set it for MATCH_OPERAND, clear for other matchers.
302 (compare_operands): Take it into account.
303 * recog.h (struct insn_operand_data): New elt eliminable.
304 * reload1.c (check_eliminable_occurrences, elimination_effects): New
305 functions.
306 (old_asm_operands_vec, new_asm_operands_vec): Delete.
307 (eliminate_regs): Move code that detects changes to elimination
308 target regs into new function elimination_effects.
309 Delete one #if 0 block.
310 Abort for USE, CLOBBER, ASM_OPERANDS and SET.
311 (eliminate_regs_in_insn): Return immediately for USEs, CLOBBERs,
312 ADDR_VECs, ADDR_DIFF_VECs and ASM_INPUTs.
313 Only call eliminate_regs for real operands of the insn, not for parts
314 of its structure or parts matched by things like match_operator.
315 Use elimination_effects and check_eliminable_occurrences. Use
316 copy_insn to duplicate the pattern when not in the final pass.
317
7ebb782b
MM
318Fri Oct 22 09:03:44 1999 Mark Mitchell <mark@codesourcery.com>
319
320 * i386.md: Add missing `y' modifiers to uses of fst, fstp, fld,
321 and fld.
322
8f9ca912
BK
3231999-10-22 Bruce Korb <autogen@linuxbox.com>
324
325 * fixinc/README: document the "mach" machine matching test
326 * fixinc/fixfixes.c: Implement the #else/#endif label fix
327 * fixinc/fixtests.c: Implement the #else/#endif label test
328 * fixinc/inclhack.def: utilize these tests and fixes
329 * fixinc/inclhack.sh: regen
330 * fixinc/fixincl.x: regen
331 * fixinc/fixincl.sh: regen
332
d84319de
JL
333Thu Oct 21 20:37:19 1999 Jeffrey A Law (law@cygnus.com)
334
335 * Makefile.in (cse.o): Depend on hashtab.h, not splay-tree.h. Also
336 depend on ggc.h.
337
84221183
MK
338Thu Oct 21 20:30:19 1999 Matthias Klose <doko@debian.org>
339
340 * gcc.1: Document exit codes.
341
b1474bb7
KG
342Thu Oct 21 12:49:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
343
344 * calls.c: Include tm_p.h later, so everything we need is defined.
345 * expr.c: Likewise.
346 * function.c: Likewise.
347
348 * except.c: Include tm_p.h.
349
350 * sparc.c: Likewise.
351 (dwarf2out_cfi_label): Don't prototype.
352 (check_return_regs, epilogue_renumber,
353 ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
354 ultra_find_type, ultra_build_types_avail, ultra_flush_pipeline,
355 ultra_rescan_pipeline_state, set_extends, ultra_code_from_mask,
356 ultra_schedule_insn): Add static prototype.
357 (data_segment_operand, text_segment_operand): Call itself with the
358 proper number of arguments.
359 (sparc_flat_save_restore, sparc_v8plus_shift): Constify a char*.
360
361 * sparc.h: Move all declarations to sparc-protos.h.
362 (SELECT_RTX_SECTION): Pass a missing MODE argument to
363 symbolic_operand.
364
365 * sparc/sysv4.h (SELECT_RTX_SECTION): Likewise.
366
367 * config/svr4.h (text_section, ctors_section, dtors_section): Add
368 Prototypes.
369 (ASM_OUTPUT_SECTION_NAME, UNIQUE_SECTION,
370 ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
371 ASM_OUTPUT_ASCII): Constify a char*.
372
373 * sparc-protos.h: New file for sparc prototypes.
374
ec97b83a
KG
375Thu Oct 21 12:23:40 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
376
377 * function.c (record_insns, contains): Always declare and define.
378 (record_insns): Mark with ATTRIBUTE_UNUSED.
379
ec8aac6f
JL
380Thu Oct 21 13:03:49 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
381
382 * config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Add %nobits option
383 to .section when outputting a .bss section to deal with multiple
384 .bss input sections (as happens with -fdata-sections)
385 Also output %progbits, not @progbits so the assembler doesn't treat as
386 a comment.
387 * config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Likewise
388
389 * config/arm/lib1funcs.asm (_call_via_rX): Allow compilation of
390 thumb parts even when building with non-thumb CPUs, by forcing
391 thumb mode.
392
b768aa38
JL
393Wed Oct 20 22:57:58 1999 Jeffrey A Law (law@cygnus.com)
394
e54635a2
JL
395 * sparc.md (movsf_const_intreg): If splitting, length must be > 1.
396 (movdf_const_intreg_sp64): Similarly.
397
b768aa38
JL
398 * local-alloc.c (update_equiv_regs): Check the correct insn
399 for pre-existing REG_EQUIV notes.
400
16b702cd
MM
401Wed Oct 20 20:41:46 1999 Mark Mitchell <mark@codesourcery.com>
402
403 * cse.c (cse_end_of_basic_block): Don't return the end of a basic
404 block reached by a branch if we're not going to actually process
405 this block.
406
417d348c
JW
407Wed Oct 20 15:18:42 1999 Jim Wilson <wilson@cygnus.com>
408
409 * integrate.c (integrate_decl_tree): Set DECL_CONTEXT to 0 if this is
410 a local extern function declaration.
411
276ab4a4
RH
412Wed Oct 20 13:56:01 1999 Richard Henderson <rth@cygnus.com>
413
414 * i386.c (ix86_expand_prologue): Properly wrap USE around
415 reg for CALL_INSN_FUNCTION_USAGE.
416
c26040ee
AH
417Thu Oct 14 18:51:37 1999 Andrew Haley <aph@cygnus.com>
418
419 * config/mips/mips.md (movdf_internal1a): Allow floating-point
420 move between GP_REGs.
421
7086004d
AH
422Wed Oct 20 15:36:11 1999 Andrew Haley <aph@cygnus.com>
423
424 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
425 the mode size when finding out if an offset is legal.
426
49c3bb12
RH
427Wed Oct 20 06:26:58 1999 Richard Henderson <rth@cygnus.com>
428
429 * basic-block.h (PROP_*): Move constants from ...
430 * flow.c: ... here.
431 (compute_bb_for_insn): Free the array before reallocating.
432 (update_life_info): New arg PROP_FLAGS; pass on to propagate_block.
433 (allocate_reg_life_data): Reset all reg variables collected by
434 propagate_block.
435 (get_block_head_tail): Don't convert from bb to block.
436 (get_bb_head_tail): New. Update all callers of get_block_head_tail.
437 (find_insn_reg_weight): Take block not bb.
438 (schedule_block): Don't set block num for moved insns.
439 (schedule_region): Don't update_life_info or find_insn_reg_weight.
440 (schedule_insns): Do it here instead.
441 * combine.c (combine_instructions): Invoke compute_bb_for_insn
442 before update_life_info.
443 * recog.c (split_all_insns, peephole2_optimize): Update for
444 new arg to update_life_info.
445 * rtlanal.c (remove_note): Cope with NULL note.
446 * toplev.c (rest_of_compilation): Don't invoke recompute_reg_usage
447 if we did sched1.
448
dc9e9f3f
RE
449Wed Oct 20 10:46:41 1999 Richard Earnshaw (rearnsha@arm.com)
450
451 * jump.c (jump_optimize_1): More accurately detect casesi insns.
452
ee7b8369
RE
453 * flow.c (merge_blocks_move_predecessor_nojumps): Re-order the basic
454 block records so that merge_blocks_nomove will clean up correctly.
506f9fbf 455 (split_edge): Handle casesi insns.
ee7b8369 456
5b918807
RE
457 * gcc-page.c: Try MAP_ANON if we don't have MAP_ANONYMOUS.
458
7978192f
JL
459Tue Oct 19 23:43:50 1999 Jeffrey A Law (law@cygnus.com)
460
461 * pa.md (call, call_value): Do not emit a blockage after restoring
462 the PIC register.
463
1bef1e7c
MM
464Tue Oct 19 17:22:39 1999 Mark Mitchell <mark@codesourcery.com>
465
466 * c-typeck.c (c_expand_asm_operands): Fix typo.
467
9ce71c6f
BS
468Tue Oct 19 18:42:58 1999 Bernd Schmidt <bernds@cygnus.co.uk>
469
470 * arm.c (fpu_rhs_operand): Verify modes.
471 (fpu_add_operand): Likewise.
472 (di_operand): Likewise.
473 (soft_df_operand): Likewise.
474
3a2ea258
RE
475Tue Oct 19 15:26:11 1999 Richard Earnshaw (rearnsha@arm.com)
476
477 * arm.c (arm_return_in_memory): APCS rules state that the elements
478 of a structure returned in a register must be 'integer-like'.
479
db025289
BK
4801999-10-19 Bruce Korb <autogen@linuxbox.com>
481
482 * fixinc/Makefile.in: Change the generation rules to run `genfixes'
483 in the source tree when the generated targets are out of date
484 * fixinc/genfixes: Alter it to run individual fixes for make.
485 * fixinc/README: rewrite
486 * fixinc/inclhack.def: moved initial comments to README
487
0c70c30f
NC
488Tue Oct 19 14:01:34 1999 Nick Clifton <nickc@cygnus.com>
489
490 * toplev.c (main): Do not generate an error message if an
491 unrecognised command line switch is recognisable by another
492 language. If extra_warnings are enabled, then generate a
493 warning message instead.
494
61e8b354
MK
495Tue Oct 19 11:41:12 1999 Mumit Khan <khan@xraylith.wisc.edu>
496
497 * c-pragma.h (PRAGMA_INSERT_ATTRIBUTES): Delete macro.
498 (insert_pack_attributes): Delete prototype.
499
500 * c-pragma.c (default_alignment): New static variable.
501 (push_alignment): Initialize to current effective alignment.
502 (pop_alignment): Use to set new alignment.
503 (insert_pack_attributes): Delete function.
504 (handle_pragma_token): Set default_alignment as well each time
505 a #pragma pack(<n>) is encountered.
506
f099b1c9
JL
507Tue Oct 19 02:03:00 1999 Jeffrey A Law (law@cygnus.com)
508
509 * reg-stack.c (stack_result): Aggregates are not returned in
510 stack registers.
511
2af3e5fb
AB
512Tue Oct 19 01:26:48 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
513
514 * fold-const.c (fold): Fix thinko in x+(-0) -> x transformation.
515
c88e8206
RH
516Mon Oct 18 15:19:41 1999 Richard Henderson <rth@cygnus.com>
517
518 * basic-block.h (set_block_num): Declare.
519 * flow.c (update_life_info): Don't call compute_bb_for_insn
520 or free_basic_block_vars.
521 * haifa-sched.c (remove_dependence): Conditionalize on HAVE_cc0.
522 (insn_orig_block): Remove.
523 (INSN_BLOCK): Remove. Update all callers to use BLOCK_NUM.
524 (schedule_block): Keep BLOCK_NUM up-to-date.
525 (schedule_insns): Use compute_bb_for_insn.
526 * recog.c (split_all_insns): Likewise.
527 (peephole2_optimize): Likewise.
528
d3f4f2d6
AS
529Mon Oct 18 18:50:51 1999 Andreas Schwab <schwab@suse.de>
530
531 * config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
532 if the pic register is used.
533
e3d2508d
BS
534Mon Oct 18 02:38:46 1999 Bernd Schmidt <bernds@cygnus.co.uk>
535
536 * c-decl.c (pushdecl): Use TYPE_CONTEXT rather than TREE_PERMANENT.
537 (finish_decl): Duplicate test for TREE_ASM_WRITTEN in else branch of
538 if that tests TREE_PERMANENT.
539
ca4cd906
JL
540Mon Oct 18 01:41:35 1999 Jeffrey A Law (law@cygnus.com)
541
b61a6c81
JL
542 * cse.c (invalidate_for_call): Do not remove memory references from
543 the table here. It's handled elsewhere.
544
35c95c5a
JL
545 * haifa-sched.c (add_dependence): Protect references to the
546 true dependency cache with #ifdef INSN_SCHEDULING.
547 (remove_dependence): Similarly.
548
87b5c7e5
JL
549 * mn10200.md (outline_epilogue_jump): Embed a (return) to indicate
550 to the cfg code that this is a return instruction.
551 * mn10300.md (return_internal): Similarly.
552
ca4cd906
JL
553 * combine.c (get_last_value): If the last set of a register
554 is after subst_low_cuid, then we can not use it to determine
555 the register's last value.
556
d336e504
MM
557Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
558
559 * Makefile.in: Back out previous change.
560
aae0390e
JL
561Sun Oct 17 15:22:50 1999 Jeffrey A Law (law@cygnus.com)
562
7739ebae
JL
563 * pa.c (move_operand): Reject (lo_sum (reg) (unspec ...)).
564
aae0390e
JL
565 * haifa-sched.c (add_dependence): Only check/update the cache
566 if it exists.
567 (remove_dependence): Likewise.
568 (schedule_insns): Only create the true_dependency_cache if the
569 average number of instructions in a basic block is very large.
570
81631c48
MM
571Sun Oct 17 11:02:52 1999 Mark Mitchell <mark@codesourcery.com>
572
573 * Makefile.in (ggc-common.o): Depend on genrtl.h.
574 (ggc-simple.o): Likewise.
575 (ggc-page.o): Likewise.
576
3cce638b
AM
577Sun Oct 17 02:09:50 1999 Andrew MacLeod <amacleod@cygnus.com>
578
579 * basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
580 Prototype for exported functions.
581 (pre_lcm, pre_rev_lcm): Remove prototypes.
582 * gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
583 (compute_available): Move to lcm.c, and change parameter order.
584 (one_classic_gcse_pass): Call compute_ae_kill with parameters.
a42cd965
AM
585 (pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
586 (gcse_main): No longer call compute_preds_succs. Rebuild the
587 set table after reach pre pass.
588 (pre_insert_map, pre_delete_map, edge_list): New.
589 (alloc_pre_mem): Allocate edge vectors.
590 (free_pre_mem): Delete edge vectors.
591 (compute_pre_data): Call new edge based lcm routines.
592 (process_insert_insn): New function.
593 (insert_insn_end_bb): Use it.
594 (pre_edge_insert): New function.
595 (pre_insert_copy_insn): Formatting fixes. Update BLOCK_END as
596 needed.
597 (pre_insert_copies): Revamp using new edge based lcm outputs.
598 (pre_delete): Likewise.
599 (one_pre_gcse_pass): Insert & remove fake edges to the exit
600 block.
601 (compute_code_hoist_vbeinout): New new edge based routines.
3cce638b
AM
602 * lcm.c: Remove all the old LCM functions. Replace with new ones
603 that work with the new cfg datastructures and work with edges
604 instead of blocks.
605
8ec450a4
BS
606Sun Oct 17 00:44:17 1999 Bernd Schmidt <bernds@cygnus.co.uk>
607
608 * reload.h (struct reload): Add new fields "mode" and "nregs".
609 * reload1.c: Change all occurrences of reload_mode and reload_nregs
610 to reference the "mode" and "nregs" field within struct reload.
611
e75f2df7
JL
612Sat Oct 16 21:50:28 1999 Jeffrey A Law (law@cygnus.com)
613
356edbd7
JL
614 * haifa-sched.c (true_dependency_cache): New.
615 (add_dependence): Use the true dependency cache to avoid expensive
616 walks down the LOG_LINKS dependency list. Add entries to the
617 cache as necessary.
618 (remove_dependence): Remove entries from the true dependency cache
619 as needed.
620 (schedule_insns): Allocate and initialize and free the true
621 dependency cache.
622
e75f2df7
JL
623 * haifa-sched.c (schedule_insns): Do not remove inter-block
624 dependencies anymore.
625
1b284f05
RH
626Sat Oct 16 11:19:52 1999 Richard Henderson <rth@cygnus.com>
627
628 * i386/t-cygwin (winnt.o): Depend on RTL_H and TREE_H.
629 * i386/t-winnt: Likewise.
630
631Sat Oct 16 11:11:54 1999 Richard Henderson <rth@cygnus.com>
632
633 * ggc-page.c (init_ggc): Work around SunOS unaligned mmap bug.
634
28fe2fb7
MH
6351999-10-16 Manfred Hollstein <mhollstein@cygnus.com>
636
637 * Makefile.in (LANGUAGES): Omit "proto".
638 (clean): Remove stale comment about removing unprotoize.c.
639
9c592305
KG
640Sat Oct 16 11:29:14 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
641
642 * protoize.c (safe_read, safe_write): Avoid the gcc extension of
643 using arithmetic on void pointers.
644
706c5c2f
JL
645Sat Oct 16 02:48:22 1999 Jeffrey A Law (law@cygnus.com)
646
647 * haifa-sched.c (compute_block_forward_dependencies): Only check
648 for notes, deleted insns and duplicates if ENABLE_CHECKING is defined.
649
297c3335
RH
650Sat Oct 16 00:07:01 1999 Richard Henderson <rth@cygnus.com>
651
652 * gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
653 (expr_equiv_p): Reject memories with different alias sets.
654
a8aa7975
GM
655Fri Oct 15 15:17:29 1999 Greg McGary <gkm@gnu.org>
656
657 * flags.h (flag_bounds_check, flag_bounded_pointers): New extern decls.
658 * toplev.c (flag_bounds_check, flag_bounded_pointers): New flags.
659 (f_options): Add "bounded-pointers" and "bounds-check" entries.
660 * c-lang.c (lang_init_options): Set flag_bounds_check as "unspecified".
661 (lang_init): Set default for flag_bounds_check if still "unspecified".
662
a9d3cc3f
MH
663Sat Oct 16 13:42:29 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
664
665 * config/c4x/c4x.md (HF mode patterns): Add missing modes.
666
0dced2c7
MH
667Sat Oct 16 13:37:46 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
668
669 * config/c4x/c4x.md (movstrqi_small): Utilise parallel move
670 instructions.
671
6c7811a8
MH
672Sat Oct 16 13:26:47 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
673
674 * config/c4x/c4x.md (*db_noclobber,
675 *decrement_and_branch_until_zero_noclobber): New patterns and
676 associated splitters.
677
1f7c7f6f
MH
678Sat Oct 16 13:13:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
679
680 * config/c4x/c4x.md (parallel instruction patterns): Rework
681 constraints to keep reload happy.
682
57e5bce8
MH
683Sat Oct 16 13:03:16 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
684
685 * config/c4x/c4x.md (*absqi2_noclobber, *negqi2_noclobber,
686 *one_cmplqi2_noclobber, *subqi3_noclobber, *andqi3_255_noclobber,
687 *andqi3_65535_noclobber, *andnqi3_noclobber, *xorqi3_noclobber):
688 Add new patterns and associated post-reload splitters.
689
3411b713
MH
690Sat Oct 16 12:42:12 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
691
692 * config/c4x/c4x.c (c4x_emit_libcall): Use ggc_alloc_string.
693
3b5e8a16
MH
694Sat Oct 16 12:34:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
695
696 * config/c4x/c4x.c (c4x_rptb_insert): Emit rpts_top pattern
697 if appropriate.
698 * config/c4x/c4x.md (rpts_top): New pattern and splitter.
699
1a616dfc
MH
700Sat Oct 16 12:26:30 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
701
702 * config/c4x/c4x.c (src_operand): Check SYMBOL_REF and LABEL_REF
703 memory mode.
704
f9b5668e
JL
705Fri Oct 15 17:02:09 1999 Jeffrey A Law (law@cygnus.com)
706
707 * pa.c (move_operand): Rely on memory_address_p to determine the
708 validity of non-indexed memory addresses.
709 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic
710 operand in DFmode and SFmode when generating PA2.0 code.
711
d5e3e85b
RH
712Fri Oct 15 14:25:19 1999 Richard Henderson <rth@cygnus.com>
713
714 * print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
715
810c1b83
RH
716Fri Oct 15 13:48:45 1999 Richard Henderson <rth@cygnus.com>
717
718 * mips.c (function_prologue): Fix argument types.
719 * mips.md (casesi): Use emit_jump_insn for casesi_internal.
720 (casesi_internal): Write to the scratch register.
721
a2c8e144
ZW
7221999-10-15 11:16 -0700 Zack Weinberg <zack@bitmover.com>
723
724 * cppexp.c (cpp_parse_escape): Make static. Change second arg
725 to U_CHAR **.
726 (parse_charconst): Delete unnecessary cast when calling
727 cpp_parse_escape.
728 (cpplib.h): Kill prototype of cpp_parse_escape.
729
104dfaa8
RH
730Fri Oct 15 11:02:46 1999 Richard Henderson <rth@cygnus.com>
731
732 Based on patch from Michael Gschwind <mikeg@watson.ibm.com>:
733 * unroll.c (unroll_loop): Cast return value of alloca.
734 * i370/i370.c: Include function.h and toplev.h.
735 (i370_label_scan): Remove c++ commented abort.
736 * i370/i370.h (HANDLE_PRAGMA): Takes three arguments.
737 (ASM_OUTPUT_LABELREF): Fix TOUPPER/else broken 16 Sept.
738 * i370/xm-i370.h (HOST_BITS_PER_LONGLONG): Define.
739 * i370/xm-mvs.h, i370/xm-oe.h: Likewise.
740
370c81d6
LR
741Fri Oct 15 03:01:01 1999 Loren Rittle <ljrittle@acm.org>
742
743 * config/t-freebsd: Do not override USER_H.
744 * ginclude/stddef.h: Generalize check for _MACHINE_ANSI_H_.
745
ffc3b0f9
AH
746Fri Oct 15 02:37:28 1999 Alastair J. Houghton <ajh8@doc.ic.ac.uk>
747 Mumit Khan <khan@xraylith.wisc.edu>
748
749 * c-parse.in (component_decl): Support anonymous struct/union.
750 (%expect): Update.
751 * c-parse.y: Regenerate.
752 * c-parse.c: Likewise.
753 * objc/objc-parse.y: Likewise.
754 * objc/objc-parse.c: Likewise.
755 * c-decl.c (finish_struct): Don't sort the fields.
756 (field_decl_cmp): Delete unused function.
757
e57ad0c8
RH
758Fri Oct 15 01:20:52 1999 Richard Henderson <rth@cygnus.com>
759
760 * sparc.md (movsf_const_intreg): Revert last constraint change.
761 (movdf_const_intreg_sp32): Likewise.
762
c1edba58
VM
763Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com>
764
765 * cse.c: Include hashtab.h instead of splay-tree.h
766 (struct cse_reg_info): No longer use variant union. Add new
767 field "regno". All references changed to avoid union.
768 (cse_reg_info_used_list, cse_reg_info_used_list_end): New variables.
769 (free_cse_reg_info): Remove.
770 (hash_cse_reg_info, cse_reg_info_equal_p): New functions.
771 (get_cse_reg_info): Revamp to use expandable hash tables instead
772 of splay trees. Initialize new fields in cse_reg_info structure.
773 (new_basic_block): Similarly.
774
aece2740
RH
775Thu Oct 14 23:51:56 1999 Richard Henderson <rth@cygnus.com>
776
777 * genrecog.c (message_with_line): Prototype.
778 (validate_pattern): Pass along the set for the dest, not a flag.
779 Fix non-lvalue message. Don't warn for VOIDmode SET_DEST of CALL.
780 Check for PC/CC0 as sources.
781 (nodes_identical): Check for children position match before
782 allowing the combination.
783
784 * rtl.c (read_rtx): Track line number across \\\n.
785
0e7e9155
RH
786Thu Oct 14 23:50:25 1999 Richard Henderson <rth@cygnus.com>
787
788 * mips.h (SPECIAL_MODE_PREDICATES): New.
789 * mips.md (*) Use nonimmediate_operand not general_operand for outputs.
790 (movdi+1, movsi+1): Add output reload constraint.
791 (casesi_internal): Likewise. Fix commentary.
792 (return_internal): Use pmode_register_operand.
793
997718c7
RH
794Thu Oct 14 23:19:34 1999 Richard Henderson <rth@cygnus.com>
795
796 * 1750a.md (movstrqi): Add missing output reload constraint.
797 (call_value): Likewise.
798 * a29k.md (cpxxx patterns): Add missing match_operator mode.
799 (jmpfdec): Add missing inout reload constraint.
800 * elxsi.md (addsi patterns): Add missing output reload constraint.
801 (move from sp): Use @ alternates.
802 (call_value): No constraint on output.
803 * fr30.md (movsi_pop): Add missing output reload constraint.
804 (movsf_constant_store): Likewise.
805 (splits): Remove constraints.
806 (subsi3): Add missing mode.
807 * i370.md (cmpstrsi+1): Add missing output reload constraint.
808 (call_value): Likewise.
809 * i960.md (cmpinc/cmpdec patterns): Add inout reload constraints.
810 * m32r.h (PREDICATE_CODES): Add seth_add3_operand.
811 * m32r.md (movsicc_internal): Add output reload constraint.
812 (movstrsi_internal): Add inout reload constraints.
813 * m88k.h (reg_names): Don't declare.
814 (SPECIAL_MODE_PREDICATES): New.
815 * m88k.md (*): Use register_operand not reg_or_0_operand
816 on destinations.
817 * mn10200.h (PREDICATE_CODES): New.
818 * ns32k.md (ffs pattern): Add output reload constraint.
819 * pdp11.md (sob pattern): Add inout reload constraint.
820 * sh.md (splits): Remove constraints.
821 (indirect_jump_scratch, fpu_switch): Add output reload constraint.
822 * v850.md (pattern_is_ok_for_epilogue): Likewise.
823 * vax.md (jgequ pattern): Add inout reload constraint.
824
7901f53f
JL
825Fri Oct 15 00:05:00 1999 Jeffrey A Law (law@cygnus.com)
826
827 * configure.in (djgpp): Revert previous patch.
828 * configure: Rebuit.
829 * config/i386/djgpp.h: Revert previous patch.
830
70d42369
LR
831Fri Oct 15 00:00:24 1999 Loren J. Rittle <ljrittle@acm.org>
832
833 * fixinc/inclhack.def: Restore patch lost during last merge of
834 "no_bogosity" branch.
835 * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
836
abf7cec7
GRK
837Thu Oct 14 23:57:56 1999 Gavin Romig-Koch <gavin@cygnus.com>
838
839 * fixincludes: Add a HPUX 11 fix for inttypes.h.
840 * fixinc/inclhack.def: Same.
841 * fixinc/inclhack.sh, fixinc/fixincl.sh, fixinc/fixincl.x: Regenerate.
842
0c5912f4
RH
843Thu Oct 14 22:51:55 1999 Richard Henderson <rth@cygnus.com>
844
845 * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Accept ADDRESSOF
846 as the base of a PLUS.
847
f959ff1a
MH
848Fri Oct 15 18:36:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
849
850 * config/c4x/c4x.md: Define mode for remaining unspec operators.
851 * config/c4x/c4x.c (dst_operand): Use nonimmediate_operand.
852
fc524c1c
RH
853Thu Oct 14 22:14:23 1999 Richard Henderson <rth@cygnus.com>
854
1c784a0e
RH
855 * pa.md (post_stw+1): Use pmode_register_operand.
856 (dcacheflush, icacheflush): Likewise.
857
fc524c1c
RH
858 * i386.md (movstricthi_1): Allow r/r.
859
79e8185c
JH
860Thu Oct 14 19:44:08 1999 Jan Hubicka <hubicka@freesoft.cz>
861
ccc5fd95
JH
862 * fold-const.c (fold): Convert (or (not arg0) (not arg1))
863 to (not (and (arg0) (arg1))). Similary for and.
864
79e8185c
JH
865 * fold-const.c (fold): Move bit_rotate code to the EXPR_PLUS case,
866 falltrought to assocate code.
867 Convert XOR to OR in code like (a&c1)^(a&c2) where c1 and c2 don't have
868 bits in common.
869
870 * combine.c (simplify_logical): Convert XOR to IOR if operands have
871 no bits in common; remove XOR to ROTATE conversion.
872
ce577467
MH
873Fri Oct 15 17:40:11 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
874
875 * config/c4x/c4x.h (c4x_va_start, c4x_va_arg): Declare.
876
f416f18c
MH
877Fri Oct 15 17:27:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
878
879 * config/c4x/c4x.c (dst_operand): New.
880 (PREDICATE_CODES): Update.
881 * config/c4x/c4x.h (dst_operand): Declare it.
882 * config/c4x/c4x.md: Define mode for each unspec usage.
883 (move patterns): Use dst_operand predicate instead of src_operand.
884 (movqi_update, movqf_update): Delete.
885
556ffcc5
RH
886Thu Oct 14 18:48:54 1999 Richard Henderson <rth@cygnus.com>
887
888 * recog.c (pmode_register_operand): New.
889 * recog.h: Declare it.
890 * genrecog.c (pred_codes): Likewise.
891 (special_mode_pred_table): Likewise.
892 (validate_pattern): Don't warn no mode for address_operand.
893
894 * print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression
895 if the operand is not insn-like.
896
10414089
JL
897Thu Oct 14 19:38:42 1999 Jeffrey A Law (law@cygnus.com)
898 Sylvian Pion <Sylvain.Pion@sophia.inria.fr>
899
900 * fold-const.c (fold): Handle more simplifications allowed by IEEE.
901
db7eb3e8
RH
902Thu Oct 14 17:30:14 1999 Richard Henderson <rth@cygnus.com>
903
904 * sparc.md (*): Use {nonimmediate,register}_operand as appropriate
905 instead of general_operand in a SET_DEST. Use const_double_operand
906 instead of an explicit test against CONST_DOUBLE.
907 (movsf_const_lo): Add missing register mode.
908 (goto_handler_and_restore): Add auxiliary test for Pmode.
909 (flush): Adjust to use address_operand.
910 (return_sf_no_fpu): Add missing output constraint.
911
2d1086d8
RH
912Thu Oct 14 17:21:26 1999 Richard Henderson <rth@cygnus.com>
913
914 * rs6000.md (call_value_indirect_aix32): Use wildcard match_operand
915 for call return value.
916 (call_value_indirect_aix64, call_value_indirect_nt): Likewise.
917
43a8f6d5
JM
918Thu Oct 14 13:54:25 1999 Jason Merrill <jason@yorick.cygnus.com>
919
920 * toplev.c (main): Only warn about options for other languages.
921 * collect2.c (main): Pass -w to sub-gcc.
922
d1abb925
RH
923Thu Oct 14 16:27:50 1999 Richard Henderson <rth@cygnus.com>
924
925 * flow.c (propagate_block): Add call-clobbered registers to
926 significant too.
927
ff666313
RH
928 * flow.c (propagate_block): Use free_EXPR_LIST_list instead of
929 zapping mem_set_list.
930 (invalidate_mems_from_autoinc): Use free_EXPR_LIST_node.
931 (mark_set_1, mark_used_regs): Likewise.
932
e99b93ff
RH
933Thu Oct 14 10:51:49 1999 Richard Henderson <rth@cygnus.com>
934
935 * m68k.md (zero_extendsidi2): Add missing output reload constraint.
936
fe50c0eb
GP
937Wed Oct 13 00:09:18 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
938
939 * invoke.texi: Label -Wbad-function-cast, -Wmissing-prototypes,
940 -Wnested-externs, -Wstrict-prototypes, and -Wtraditional as C only
941 options. Also add a new item "C-only Warning Options" to the
942 option summary.
943
a4ebb0e6
GRK
9441999-10-14 Gavin Romig-Koch <gavin@cygnus.com>
945
946 * libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
947 from multiple calls.
948
69404d6f
RH
949Thu Oct 14 04:54:54 1999 Richard Henderson <rth@cygnus.com>
950
951 * i386.md (call value patterns): Move to the end of the file.
952 (prologue_set_got, prologue_get_pc): Use register_operand for op 0.
953
65be5cf0
ME
9541999-10-14 Mark Elbrecht <snowball3@bigfoot.com>
955
956 * configure.in (djgpp configuration): Define extra_objects..
957 * configure: Rebuilt.
958 * config/i386/djgpp.h (CTORS_SECTION_ASM_OP): Define.
959 (DTORS_SECTION_ASM_OP): Define.
960 (INIT_SECTION_ASM_OP): Define.
961 (FINI_SECTION_ASM_OP): Define.
962 (DATA_SECTION_ASM_OP): Define.
963 (TEXT_SECTION_ASM_OP): Define.
964 (EH_FRAME_SECTION_ASM_OP): Define.
965 (LINK_COMMAND_SPEC): Remove -Tdjgpp.djl.
966 (STARTFILE_SPEC): Add crtbegin.o.
967 (ENDFILE_SPEC): Define and add crtend.o. Move argument -Tdjgpp.djl
968 to here from LINK_COMMAND_SPEC.
969 (DO_GLOBAL_CTORS_BODY): Define.
970 (CRTSTUFF_USE_FINI_SECTION): Define
971 (HAS_INIT_SECTION): Delete.
972
d81c9768
AS
973Thu Oct 14 05:08:14 1999 Andreas Schwab <schwab@suse.de>
974
975 * Makefile.in (all.cross): Depend on xcpp$(exeext).
976
476a33f4
RH
977Thu Oct 14 04:00:40 1999 Richard Henderson <rth@cygnus.com>
978
0c273d11
RH
979 * pa.h (PREDICATE_CODES): New.
980
476a33f4
RH
981 * genrecog.c (validate_pattern): Condense the destination
982 non-lvalue message.
983
d41395a5
RH
984Thu Oct 14 03:23:08 1999 Richard Henderson <rth@cygnus.com>
985
986 * alpha.md (call-1): Supply missing mode for operator.
987 (*): Add missing output reload constraints. Remove constraints
988 from define_splits.
989
c76aab11
RH
990 * i386.h (SPECIAL_MODE_PREDICATES): New.
991 * i386.md (movstricthi_1): Use nonimmediate_operand for op 0.
992 (movqi_1, movdi_1, movdi_2, some splits): Likewise.
993 (addsi_lea_3): Add missing mode for op 3.
994 (prologue_set_got, prologue_get_pc): Add missing modes.
995 (*) Add missing output reload constraints.
996
9180cca3
SC
997Thu Oct 14 03:59:57 1999 Stephane Carrez <stcarrez@worldnet.fr>
998
999 * stor-layout.c (layout_union): Use HOST_WIDE_INT for const_size;
1000 check for member bit-size overflow and use var_size if it occurs.
1001 (layout_record): Use bitsize_int() to define the type size in bits.
1002 Likewise for computation and assignment to DECL_FIELD_BITPOS.
1003 (layout_decl): Likewise when assigning to DECL_SIZE.
1004
25238622
RH
1005Thu Oct 14 02:57:05 1999 Richard Henderson <rth@cygnus.com>
1006
1007 * genrecog.c (validate_pattern): Typo last change. Verify
1008 that output operands have output reloads.
1009
8fe0ca0c
RH
1010Thu Oct 14 01:49:54 1999 Richard Henderson <rth@cygnus.com>
1011
1012 * genrecog.c (special_mode_pred_table): New.
1013 (NUM_SPECIAL_MODE_PREDS): New.
1014 (find_operand): New.
1015 (validate_pattern): New argument `insn'. Warn for assignment to
1016 any predicate accepting non-lvalues. Conditionaly warn for
1017 match_operand without a mode. Try much harder to match source
1018 and destination modes on a set.
1019 * tm.texi (SPECIAL_MODE_PREDICATES): Document.
1020
03e0a65f
JL
1021Thu Oct 14 02:54:13 1999 Jeffrey A Law (law@cygnus.com)
1022
1023 * fold-const.c (fold): Detect rotates built from BIT_XOR_EXPRs.
1024
0918eca0
ME
1025Thu Oct 14 02:18:19 1999 Marc Espie <espie@cvs.openbsd.org>
1026
1027 * combine.c (simplify_logical): Recognize xor pattern that encodes
1028 rotation.
1029
5ee95df6
FS
1030Wed Oct 13 23:23:45 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1031
1032 * rs6000.c (expand_block_move): Use INTVAL, not XINT to access
1033 alignment.
1034
8342b467
RH
1035Wed Oct 13 21:47:18 1999 Richard Henderson <rth@cygnus.com>
1036
1037 * ggc-page.c (MAP_FAILED): Provide default.
1038
6871dd65
RH
1039Wed Oct 13 21:41:59 1999 Richard Henderson <rth@cygnus.com>
1040
1041 * sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
1042 * sparc.h (PREDICATE_CODES): Update.
1043
f711a22b
RH
1044Wed Oct 13 21:18:17 1999 Richard Henderson <rth@cygnus.com>
1045
1046 * alpha.c (some_ni_operand): New.
1047 * alpha-protos.h: Declare it.
1048 * alpha.h (PREDICATE_CODES): Update.
1049 * alpha.md (sXaddq reload insns): Use some_ni_operand
1050 for SET_DEST instead of some_operand.
1051
4dc320a5
RH
1052Wed Oct 13 21:04:45 1999 Richard Henderson <rth@cygnus.com>
1053 Jim Wilson <wilson@cygnus.com>
1054
1055 * genrecog.c (maybe_both_true_2): Don't compare modes of
1056 two DT_pred tests.
1057 (process_tree): Elide peephole2_insns. Invoke simplify_tests
1058 after find_afterward.
1059 (debug_decision_1): Dump next and afterward codes.
1060
bcdaba58
RH
1061Wed Oct 13 20:35:16 1999 Richard Henderson <rth@cygnus.com>
1062
1063 * rtl.c (dump_and_abort): Remove.
1064 (fatal_with_file_and_line): New.
1065 (fatal_expected_char): New.
1066 (read_rtx_lineno, read_rtx_filename): New.
1067 (read_skip_spaces): Track line number.
1068 (read_name): Use fatal_with_file_and_line.
1069 (read_rtx): Use fatal_expected_char. Track line number.
1070 * rtl.h (read_rtx_filename, read_rtx_lineno): Declare.
1071
1072 * print-rtl.c (print_rtx): Don't special case LABEL_REF argument
1073 if it isn't a CODE_LABEL.
1074
1075 * genattr.c (main): Set read_rtx_filename.
1076 * genattrtab.c (main): Likewise.
1077 * gencodes.c (main): Likewise.
1078 * genconfig.c (main): Likewise.
1079 * genemit.c (main): Likewise.
1080 * genextract.c (main): Likewise.
1081 * genflags.c (main): Likewise.
1082 * genopinit.c (main): Likewise.
1083 * genoutput.c (main): Likewise.
1084 * genpeep.c (main): Likewise.
1085
1086 * genrecog.c (decision_test.u.insn): Add `lineno'.
1087 (pattern_lineno, error_count): New variables.
1088 (message_with_line): New.
1089 (add_to_sequence): Break out checking code to ...
1090 (validate_pattern): ... here. Detect SET_DEST matching CONST_INT.
1091 (merge_insn): Use message_with_line.
1092 (make_insn_sequence): Use validate_pattern. Record insn lineno.
1093 (main): Set read_rtx_filename, pattern_lineno. Exit early on error.
1094
a59f8640
R
1095Wed Oct 13 22:01:35 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
1096
1097 * expr.c (store_constructor): Clear union if constructor is empty.
1098
56e4a0eb
JW
1099Wed Oct 13 15:19:04 1999 Jim Wilson <wilson@cygnus.com>
1100
1101 * config/rs6000/sysv4.h (CC1_SPEC): Fix errors from Jan 19 change.
1102 Add !endian checks. Change %{...} to %(...).
1103
7abd4e00
RH
1104Wed Oct 13 13:30:34 1999 Richard Henderson <rth@cygnus.com>
1105
1106 * i386.md (*addsi3_cc): Renamed from addcsi3.
1107 (*addsi3_carry): Renamed from addxsi3.
1108 (*subsi3_cc): Renamed from subcsi3.
1109 (*subsi3_carry): Renamed from subxsi3.
1110 (*xorqi_cc_1): Renamed from xorcqi_1.
1111 (xorqi_cc_ext_1): Renamed from xorcqi_ext_1.
1112 * i386.c (ix86_expand_fp_compare): Update for xorqi_cc_ext_1.
1113
a13c82d4
RH
1114Wed Oct 13 13:10:46 1999 Richard Henderson <rth@cygnus.com>
1115
1116 * Makefile.in (ggc-common.o): Depend on RTL_H not RTL_BASE_H.
1117 (ggc-simple.o, ggc-page.o, ggc-none.o, ggc-callbacks.o): Likewise.
1118
9c07e479
BK
11191999-10-13 Brendan Kehoe <brendan@cygnus.com>
1120
1121 * regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
1122 climb up the chain of insns.
1123
e8f9b13a
RH
1124Wed Oct 13 10:20:58 1999 Richard Henderson <rth@cygnus.com>
1125
1126 * genrecog.c (write_subroutine): Careful for null trees.
1127 (process_tree): Don't elide empty functions.
1128
5c371bd0
RH
1129Wed Oct 13 10:07:54 1999 Richard Henderson <rth@cygnus.com>
1130
1131 * Makefile.in (genrtl.o): Depend on ggc.h.
1132 * configure.in (valloc): Probe for it.
1133 (with-gc): Use ggc-page if valloc present.
1134 * ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_if_gcable.
1135 (ggc_mark_rtvec_children): New from corpse of ggc_mark_rtvec.
1136 (ggc_alloc_string): Moved from ggc-page.c.
1137 * ggc-none.c (ggc_alloc_obj): New.
1138 (ggc_alloc_rtx, ggc_alloc_rtvec): Remove.
1139 * ggc-page.c (sys/mman.h): Only include if HAVE_MMAP.
1140 (struct globals): Likewise for dev_zero_fd.
1141 (init_ggc): Likewise for it's initialization.
1142 (ggc_allocated_p): Move careful dereference from ...
1143 (ggc_lookup_page_table): ... here. Delete.
1144 (lookup_page_table_entry): Don't use ggc_lookup_page_table.
1145 (alloc_anon): Use valloc if no mmap.
1146 (release_pages): Use free if using valloc.
1147 (ggc_alloc_obj): Renamed from alloc_obj.
1148 (ggc_set_mark): Renamed from mark_obj.
1149 (ggc_mark_if_gcable): Renamed from ggc_mark_string_if_gcable.
1150 (ggc_alloc_rtx, ggc_alloc_rtvec): Delete.
1151 (ggc_alloc_tree, ggc_alloc_string, ggc_alloc): Delete.
1152 (ggc_set_mark_rtx, ggc_set_mark_rtvec): Delete.
1153 (ggc_set_mark_tree, ggc_mark_string, ggc_mark): Delete.
1154 (ggc_collect): Use fp printing instead of our own rounding.
1155 * ggc-simple.c (IS_MARKED, IGNORE_MARK): Delete.
1156 (GGC_STRING_MAGIC, GGC_STRING_MAGIC_MARK): Delete.
1157 (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): Delete.
1158 (struct ggc_rtx, struct ggc_rtvec, struct ggc_tree): Delete.
1159 (struct ggc_string, struct ggc_any): Delete.
1160 (offsetof): Provide default definition.
1161 (GGC_BALANCE, GGC_ALWAYS_COLLECT, GGC_ALWAYS_VERIFY): New.
1162 (PTR_KEY): New.
1163 (struct ggc_mem): New, from corpse of ggc_any.
1164 (struct ggc_status): Delete.
1165 (ggc_chain, ggc_allocated_strings, ggc_strings_used): Delete.
1166 (n_rtxs_collected, n_vecs_collected, n_trees_collected): Delete.
1167 (n_strings_collected, n_anys_collected): Delete.
1168 (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Delete.
1169 (ggc_alloc_string, ggc_alloc): Delete.
1170 (ggc_free_rtx, ggc_free_rtvec, ggc_free_tree): Delete.
1171 (ggc_free_string, ggc_free_any): Delete.
1172 (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Delete.
1173 (ggc_compare_addresses, ggc_mark_string): Delete.
1174 (ggc_mark_string_if_gcable, ggc_mark): Delete.
1175 (search_data): Delete.
1176 (struct globals): New.
1177 (GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED): New.
1178 (tree_insert, tree_lookup): New.
1179 (ggc_alloc_obj, ggc_set_mark, ggc_mark_if_gcable): New.
1180 (clear_marks, sweep_objs): New.
1181 (ggc_collect): Gut. Use clear_marks, sweep_objs.
1182 (init_ggc): Set allocated_last_gc.
1183 (ggc_push_context): Gut. Use G.context.
1184 (ggc_pop_context): Likewise.
1185 (ggc_pop_context_1): New.
1186 (debug_ggc_tree): New.
1187 (debug_ggc_balance, tally_leaves): New.
1188 * ggc.h (ggc_mark_rtvec, ggc_mark_string, ggc_mark): Remove decl.
1189 (ggc_mark_string_if_gcable): Remove decl.
1190 (ggc_mark_rtx, ggc_mark_tree): Use ggc_set_mark.
1191 (ggc_mark_rtvec_children): New.
1192 (ggc_mark_rtvec, ggc_mark_string, ggc_mark): New.
1193 (ggc_mark_if_gcable): New decl.
1194 (ggc_alloc_rtx, ggc_alloc_rtvec): Remove decl.
1195 (ggc_alloc_tree, ggc_alloc): Likewise.
1196 (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Likewise.
1197 (ggc_alloc_obj): New decl.
1198 (ggc_alloc_rtx, ggc_alloc_rtvec): New macros.
1199 (ggc_alloc_tree, ggc_alloc): Likewise.
1200 (ggc_set_mark): New decl.
1201 * rtl.h (struct rtx_def): Remove gc_mark.
1202 (struct rtvec_def): Likewise.
1203 * tree.h (struct tree_common): Likewise.
1204
a5037588
CL
1205Wed Oct 13 01:44:29 1999 Carol LePage <carolo@hal.com>
1206
0e7e9155 1207 * configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
a5037588
CL
1208 float_format and thread_file definitions.
1209 * configure: Rebuilt.
1210
22acfb79
NM
1211