]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* Make-lang.in (G77STAGESTUFF): Add g77.c.
[gcc.git] / gcc / ChangeLog
CommitLineData
aeb2f500
JW
1Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com>
2
225695a4
JW
3 * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
4 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
5 (install-common): Use them.
6
aeb2f500
JW
7 * gcse.c (add_label_notes): New function.
8 (pre_insert_insn): Call it.
9 * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
10 pass the label to set_label_in_map.
11
efef624b
DL
12Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk>
13
14 * Makefile.in (install-info): Fix typpo in previous change.
15
4bcfa7a8
CM
16Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com>
17
18 * varasm.c (assemble_variable): Emit alignment warning.
19
296433e1
KG
20Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21
22 * Makefile.in (varasm.o): Depend on sdbout.h.
23 (sdbout.o): Depend on toplev.h.
24
25 * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
26 use %ld specifier.
27
28 * final.c (shorten_branches): Cast first arg of `bzero' to char *.
29
30 * genextract.c (main): When creating insn-extract.c, mark variable
31 `i' with ATTRIBUTE_UNUSED.
32
33 * genpeep.c (main): When creating insn-peep.c, mark variables
34 `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
35
36 * objc/init.c (__objc_tree_print): Wrap function definition in
37 macro `DEBUG'.
38
39 * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
40 and use %ld specifier.
41 (adorn_decl): Likewise, twice.
42
e016950d
KG
43 * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
44
45 * sdbout.c: Include output.h and toplev.h.
46 (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
47 `a'. Cast `a' to HOST_WIDE_INT to force it to always be so.
48 (PUT_SDB_SIZE): Likewise.
49
50 * sdbout.h (sdbout_mark_begin_function): Add prototype.
51
52 * stmt.c (check_for_full_enumeration_handling): Cast argument of
53 `warning' to long and use %ld specifier.
54
55 * toplev.c (main): Likewise for `fprintf'.
56
57 * toplev.h (output_file_directive): Add prototype.
58
59 * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
60 call to `fprintf'.
61 (precondition_loop_p): Likewise.
62
63 * varasm.c Include sdbout.h.
64 (assemble_static_space): Move sometimes-unused variable `rounded'
65 into the scope in which it is used.
b3fb0b5e
KG
66
67 * mips.c (gpr_mode): Don't say `static' twice.
68
69 * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
70
71 * objc/objc-act.c (init_selector): Hide prototype and definition.
72
73 * optabs.c (gen_cond_trap): Remove unused variable `icode'.
74
75 * regmove.c (copy_src_to_dest): Likewise for `i'.
e016950d 76
cd1661d6
KG
77 * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
78 (add_ext_symbol): Likewise.
79 (add_file): Likewise.
80 (parse_def): Likewise.
81 (write_varray): Use HOST_PTR_PRINTF to print a pointer. Fix
82 remaining format specifiers and arguments.
83 (write_object): Likewise, several times.
84 (read_seek): Likewise.
85 (out_of_bounds): Likewise.
86 (allocate_cluster): Likewise.
87 (xmalloc): Likewise.
88 (xcalloc): Likewise.
89 (xrealloc): Likewise.
90 (xfree): Likewise.
91
92 * mips-tdump.c (print_symbol): Likewise.
93
824d9076
DL
94Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk>
95
96 * Makefile.in (install-info): Use install-info program if
97 available, per GNU standard.
98
9a8b0889
JL
99Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com)
100
ecff22ab
JL
101 * invoke.texi: Document -mrelax for the mn10300 and mn10200.
102
04821e98
JL
103 * basic-block.h (init_regset_vector): Delete declaration.
104 * flow.c (init_regset_vector): Make it static and add a prototype.
105
4d7fc9e7
JL
106 * bitmap.h (debug_bitmap): Declare.
107
9a8b0889
JL
108 * haifa-sched.c (debug_ready_list): Make static.
109
110 * toplev.h (fancy_abort): Declare.
111
27fa83c1
L
112Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org)
113
4d7fc9e7
JL
114 * basic-block.h (init_regset_vector): New declaration.
115
2086b675
L
116 * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
117
f6781658
L
118 * global.c: Include machmode.h amd move hard-reg-set.h before
119 rtl.h.
120
cc4fe0e2
L
121 * haifa-sched.c (insn_issue_delay, birthing_insn_p,
122 adjust_priority, print_insn_chaino): New declaration.
123 (schedule_insns): Remove declaration.
124 (init_target_units, get_visual_tbl_length,
125 init_block_visualization): Add prototype.
126
8a1ef8c9
L
127 * integrate.c (pushdecl, poplevel): Remove declaration.
128
9a8b0889
JL
129 * rtl.h (expand_expr): Remove declaration.
130
27fa83c1
L
131 * loop.c (oballoc): Remove declaration.
132 (replace_call_address): Add prototype.
133
e4ad60fe
JL
134Sun Jun 21 01:08:17 PDT 1998 Jeff Law (law@cygnus.com)
135
136 * version.c: Bump for snapshot.
137
c0067dc8
JW
138Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
139
140 * i386.c (output_fp_conditional_move): Don't bother handling
141 (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
142 prevent this from happening.
143
144 * i386.md (nonlocal_goto_receiver): Delete.
145
a24da858
L
146Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
147
1442f4eb
L
148 * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
149 -DCRTSTUFFS_O.
150 (INSTALL): cd $(srcdir) before make.
151
a24da858
L
152 * flow.c (allocate_for_life_analysis, init_regset_vector):
153 Remove declaration.
154
155 * function.h (get_first_block_beg): New declaration.
156
157 * gbl-ctors.h (__do_global_dtors): Add prototype.
158
159 * gcov-io.h (__fetch_long): New declaration.
160 (__store_long): Likewise.
161 (__read_long): Likewise.
162 (__write_long): Likewise.
163
164 * gcov.c (print_usage): New declaration.
165
166 * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
167
4ef873c2
JL
168Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com)
169
c16ddde3
JL
170 * calls.c (expand_call): Initialize "src" and "dest".
171 * stmt.c (expand_return): Likewise.
172 * expmed.c (extract_split_bit_field): Similarly for "result"
173 * gcse.c (compute_hash_table): Mark first arg as unused.
174 * jump.c (jump_optimize): Initialize reversep.
175 * tree.c (make_node): Initialize length.
176
f67aab2c
JL
177 * c-common.c (check_format_info): Initialize length_char and
178 fci to keep -Wall quiet.
179
767f5b14
JL
180 * except.c (jumpif_rtx): Put declaration and definition
181 inside a suitable #ifdef.
182 (jumpifnot_rtx): Delete dead function.
183
5a77b5f3
JL
184 * i386.h (output_int_conditional_move): Declare.
185 (output_fp_conditional_move): Likewise.
2305ac0d 186 (ix86_can_use_return_insn_p): Likewise.
5a77b5f3 187
4ef873c2
JL
188 * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
189
2e107e9e
GS
190Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk>
191
192 * alias.c: Include toplev.h
193 * caller-save.c: Include toplev.h
194 * combine.c: Include toplev.h
195 * flow.c Include toplev.h
196 * global.c: Include toplev.h
197 * jump.c: Include toplev.h
198 * local-alloc.c: Include toplev.h
199 * loop.c: Include toplev.h
200 * regmove.c: Include toplev.h
201 * stupid.c: Include toplev.h
202 * unroll.c: Include toplev.h
203 * Makefile.in: Add toplev.h dependencies.
204
29a4c5ed
JM
205Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com>
206
207 * regmove.c (copy_src_to_dest): Add decl for loop_depth.
32bd96ff
JM
208
209 * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
210 * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
211 Add parens to various macros.
212
9dfcc8db
BH
213Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
214
215 * c-typeck.c (pop_init_level): Warn about implicit zero initialization
216 of struct members.
217
ee830309
JM
218Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
219
220 * varasm.c (assemble_start_function): Add weak_global_object_name.
221 * tree.c (get_file_function_name): Use it.
222
2c975716
JL
223Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com)
224
561592c5
JL
225 * except.c (jumpif_rtx): Make static and add prototype.
226 (jumpifnot_rtx): Likewise.
227
90bf9bc4
JL
228 * README.gnat: Add a build patch from Fred Fish.
229
2c975716
JL
230 * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
231
3ca4021d
JL
232 * Makefile.in (c-iterate.o): Depend on expr.h.
233
3559eb28
L
234Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org)
235
19864289
L
236 * except.h (emit_unwinder, end_eh_unwinder): Removed.
237
90bf9bc4
JL
238 * dwarfout.c (getpwd): Add prototype.
239 (is_pseudo_reg, type_main_variant, is_tagged_type,
240 is_redundant_typedef): New declaration.
241 (output_decl): Add prototype for FUNC.
242 (type_main_variant): Make it static.
243 (is_tagged_type): Likewise.
244 (is_redundant_typedef): Likewise.
245
0d091530
L
246 * expr.c (do_jump_by_parts_greater_rtx): Removed.
247 (truthvalue_conversion): Likewise.
248
3ca4021d
JL
249 * c-iterate.c: Include "expr.h".
250 (expand_expr): Use proper values when calling the function.
251
0ddc9a94
L
252 * explow.c (emit_stack_save): Add prototype for FCN.
253 (emit_stack_restore): Likewise.
254
e179bf0f
L
255 * dwarf2out.c (getpwd): Add prototype.
256
79a2acc8
L
257 * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
258
f5a8bfff 259 * c-typeck.c (c_expand_asm_operands): Use proper values when calling
79a2acc8 260 expand_expr.
f5a8bfff 261
3ab6dd7c
L
262 * c-lex.c (yyprint): Add prototype.
263 (check_newline, build_objc_string): Remove declaration.
264
0bb0a00b
L
265 * c-tree.h (comptypes_record_hook): Removed.
266 (finish_incomplete_decl): New prototype.
267
960b4ee6
L
268 * alias.c (find_base_value): Add prototype.
269 (true_dependence): Add prototype for function argument.
270
3559eb28
L
271 * c-aux-info.c (xmalloc): Remove declaration.
272
bb5177ac
RL
273Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com>
274
275 * i386.c: Include system.h. Remove redundant includes.
276 (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
277 (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
278 'identifier', 'args'.
279 (i386_valid_type_attribute_p): Likewise for 'attributes'.
280 (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
281 (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
282 and 'named'.
283 (symbolic_operand): Likewise for 'mode'.
284 (call_insn_operand): Likewise.
285 (expander_call_insn_operand): Likewise.
286 (ix86_logical_operator): Likewise.
287 (ix86_binary_operator_ok): Likewise.
288 (emit_pic_move): Likewise.
289 (VOIDmode_compare_op): Likewise.
290 (is_mul): Likewise.
291 (str_immediate_operand): Likewise.
292 (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
293 (asm_output_function_prefix): Likewise for 'name'.
294 (function_prologue): Likewise for 'file', and 'size'.
295 (function_epilogue): Likewise.
296
7e7ca3a1
JW
2971998-06-19 Jim Wilson <wilson@cygnus.com>
298
299 * loop.h (struct induction): Clarify comment for unrolled field.
300 * unroll.c (find_splittable_givs): Move set of unrolled field
301 after address validity check.
302
c0418205
MM
303Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com>
304
305 * config/fp-bit.c (INLINE): Only define if not already defined.
306
fe2fa3c4
MH
3071998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
308
309 * Makefile.in (installdirs): Loop over directories in $(libsubdir)
310 creating probably missing ones, instead of single if statements.
311
f0b8d9aa
AS
312Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
313
314 * c-common.c (truthvalue_conversion): Protect side effects in the
315 expression when splitting a complex value.
316 * fold-const.c (fold): Likewise.
317
94fb3933
KK
318Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de)
319
320 * cccp.c (hack_vms_include_specification): rewrite to handle
321 '#include <dir/file.h>' correctly.
322
de3eb7b7
L
323Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org)
324
325 * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
326
b4d030e5
JW
327Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
328
9c8c5afb
JW
329 * i386.c (notice_update_cc): Integer conditional moves don't
330 affect cc0.
331
b4d030e5
JW
332 * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
333 to support LT, LE, GE, and GT signed integer comparisons.
334 (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
335 movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
336 is LT, LE, GE, or GT.
337 (movdicc): Remove code resulting from an earlier patch which
338 didn't apply correctly.
339
bb173ade
RK
340Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
341
342 * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
343 consider a MEM in FP mode as equal.
344
11346e89
JL
345Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com)
346
347 * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
348 duplicate declarations of a function.
349
76a8de12
L
350Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org)
351
352 * config/float-i386.h: New.
353
354 * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
355
7c74b010
JW
356Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com>
357
358 * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
359 indexed arrays. Call free at the end of the function for them.
360 * haifa-sched.c (schedule_insns): Likewise.
361
243e7835
JW
362Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com>
363
364 * dwarf2out.c (size_of_string): Do count backslashes.
365
bf3ad139
NC
366Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
367
368 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
369 addressing when one register is the frame pointer or stack
370 pointer. Disallow REG+CONST addressing in HI mode.
371
f9df0a1d
R
372Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
373
374 * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
375 RELOAD_FOR_INSN.
376
cab634f2
KG
377Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
378
379 * Makefile.in (c-lang.o): Depend on output.h.
380
381 * c-lang.c: Include output.h.
382
383 * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
384
385 * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
386
387 * genrecog.c (write_subroutine): When writing insn-recog.c, mark
388 variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
389 with ATTRIBUTE_UNUSED.
390
391 * regmove.c (copy_src_to_dest): Make function static to match its
392 prototype.
393
394 * reload1.c Include hard-reg-set.h before rtl.h to get macro
395 HARD_CONST. Include machmode.h before hard-reg-set.h.
396
397 * rtl.h: Prototype `retry_global_alloc' and wrap with macro
398 HARD_CONST to protect usage of typedef HARD_REG_SET.
399
400 * tree.c: Prototype `_obstack_allocated_p'.
401
402 * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
403 BSS_SECTION_ASM_OP.
404
0b17dd98
KG
405Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
406
407 * pa.c: Include system.h and toplev.h. Remove redundant code.
408 (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
409 (symbolic_operand): Likewise.
410 (symbolic_memory_operand): Likewise.
411 (pic_label_operand): Likewise.
412 (fp_reg_operand): Likewise.
413 (pre_cint_operand): Likewise.
414 (post_cint_operand): Likewise.
415 (ireg_or_int5_operand): Likewise.
416 (int5_operand): Likewise.
417 (uint5_operand): Likewise.
418 (int11_operand): Likewise.
419 (uint32_operand): Likewise.
420 (ior_operand): Likewise.
421 (lhs_lshift_cint_operand): Likewise.
422 (pc_or_label_operand): Likewise.
423 (legitimize_pic_address): Likewise.
424 (hppa_legitimize_address): Likewise for parameter `old'.
425 (output_block_move): Likewise for parameter `size_is_constant'.
426 (output_function_prologue): Likewise for parameter `size'.
427 (output_function_epilogue): Likewise.
428 (return_addr_rtx): Likewise for parameter `count'.
429 (output_mul_insn): Likewise for parameter `unsignedp'.
430 (hppa_builtin_saveregs): Likewise for parameter `arglist'.
431 (output_bb): Likewise for parameter `operands'.
432 (output_bvb): Likewise.
433 (function_label_operand): Likewise for parameter `mode'.
434 (plus_xor_ior_operator): Likewise.
435 (shadd_operand): Likewise.
436 (non_hard_reg_operand): Likewise.
437 (eq_neq_comparison_operator): Likewise.
438 (movb_comparison_operator): Likewise.
439 (pa_combine_instructions): Likewise for parameter `insns'.
440
441 * pa.h: Add prototypes for functions `output_deferred_plabels',
442 `override_options', `output_ascii', `output_function_prologue',
443 `output_function_epilogue', `print_operand',
444 `symbolic_expression_p', `reloc_needed', `compute_frame_size',
445 `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
446 `pa_adjust_cost', `pa_adjust_insn_length' and
447 `secondary_reload_class'.
448
ca8c3b37
JM
449Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com>
450
451 * configure.in: Don't turn on collect2 unconditionally.
452
1d22a2c1
MM
453Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com>
454
455 * cse.c (cse_basic_block): Don't include NOTE insns in the count
456 that is used to decide whether or not it is time to erase the
457 equivalence table.
458
b74390de
FS
459Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
460
461 * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
462
e0cd0770
JC
463Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu>
464
465 * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
466 (sched_analyze_2): Allow scheduling TRAP_IF.
467
468 * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
469
470 * rtl.h (TRAP_CODE): New macro.
471
472 * rtl.def (TRAP_IF): Change second operand type to rtx.
473
474 * optabs.c (gen_cond_trap): New function.
475 (init_traps): New function.
476 (init_optabs): Call init_traps.
477 * expr.h: Declare gen_cond_trap.
478
479 * jump.c (jump_optimize): Optimize jumps to and around traps.
480
481 * sparc.md: Define trap instructions.
482
483 * rs6000.md: Define trap instructions.
484 * rs6000.c (print_operand): New code 'V' for trap condition.
485 (trap_comparison_operator): New function.
486
487 * m88k.md: Update use of TRAP_IF.
488
489 * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
490 * c-decl.c (init_decl_processing): New builtin __builtin_trap.
491 * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
492
493 * expr.c (expand_builtin): Error if __builtin_longjmp second argument
494 is not 1.
495
4fdf79cb
CM
496Wed Jun 17 15:20:00 PDT 1998 Catherine Moore <clm@cygnus.com>
497
498 * reload1.c (spill_hard_reg): Check mode of register when
499 spilling from scratch_list.
500
d7e78529
AM
501Wed Jun 17 16:25:38 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
502
503 * except.c (add_new_handler): fix bug in finding last region handler.
504 * libgcc2.c (find_exception_handler): Pass exception table pointer
505 to runtime type matcher, not the match info field.
506
3301dc51
AM
507Wed Jun 17 15:57:48 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
508
509 * eh-common.h (struct eh_context): Add comment for hidden use of
510 field dynamic_handler_chain.
511 * except.c (get_dynamic_handler_chain): Comment on, and use the
512 correct offset of the dynamic_handler_chain field.
513
33f264af
JW
5141998-06-17 12:46:56 1998 Jim Wilson <wilson@cygnus.com>
515
516 * mips/iris6.h (LINK_SPEC): Add -woff 131.
517
d460fb3c
JM
5181998-06-17 Jason Merrill <jason@yorick.cygnus.com>
519
520 * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
521
522 * configure.in: Don't disable collect2 when we have GNU ld.
523
4c738570
JL
524Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com)
525
7d12cee1
JL
526 * fold-const.c (make_range): Do not widen the type of the expression.
527
dbecbbe4
JL
528 * expr.c (check_max_integer_computation_mode): New function.
529 (expand_expr): Avoid integer computations in modes wider than
530 MAX_INTEGER_COMPUTATION_MODE.
531 * fold-const.c (fold): Likewise.
532 * tree.h (check_max_integer_computation_mode): Declare.
533 * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
534
4b95eb49
JL
535 * configure.in (nm): Make a link to "nm" in the build tree too.
536
4c738570
JL
537 * mn10300.md (andsi3): Fix typo.
538
33ab8de0
RH
539Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com>
540
541 * reload1.c (reload_cse_regs): Call bzero instead of looping.
542
bf20f341
JW
543Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com>
544
545 * dwarf2out.c (stripattributes): Prepend '*' to the section name.
546
9c0e94a5
RH
547Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com>
548
549 * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
550 (output_prologue, output_epilogue): Merge VMS and OSF versions;
551 Remove anything related to the actual code generation.
552 (output_end_prologue): New function.
553 (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
554 (alpha_does_function_need_gp): Return false for VMS.
555 (alpha_function_needs_gp): Make static.
556 (add_long_const): Delete.
557 (summarize_insn): Don't assume a SUBREG is of a REG.
558 Prototype all static functions. Rename VMS-specific global
559 variables vms_*.
560 * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
561 (FUNCTION_BOUNDARY): Align to cache line.
562 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
563 (FUNCTION_END_PROLOGUE): New macro.
564 * alpha.md (attribute length): New. Mark all insns.
565 (return_internal, prologue_stack_probe_loop) New patterns.
566 (prologue, init_fp, epilogue): New patterns.
567 Disable peepholes.
568 * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
569
ad1da1de
DB
570Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
571
572 * toplev.c (lang_options): Add -trigraphs option for cpplib.
573
75528b80
R
574Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
575
576 * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
577 is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
578 is earlier than RELOAD_FOR_INPUT_ADDRESS.
579
42b82dd3
JW
580Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
581
582 * libgcc1-test.c (memcpy): Define.
583
6f6074ea
MM
584Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com>
585
586 * genattrtab.c (struct attr_desc): Change int flags to bit
587 fields. Add bit fields for this being function_units_used
588 or *_blockage_range attributes.
589 (write_unit_name): New function to print a function unit name
590 given unit #.
591 (expand_units): Indicate whether this is function_units_used or
592 *_blockage_range attributes.
593 (write_toplevel_expr): Print function_units_used and
594 *_blockage_range attributes in a more friendly fashion.
595 (make_internal_attr): Indicate whether this attribute is either
596 function_units_used or *_blockage_range.
597
ddc8bed2
MM
598Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com>
599 Jim Wilson <wilson@cygnus.com>
3bd89472 600
ddc8bed2
MM
601 * regmove.c (copy_src_to_dest): Do not copy src to dest if either
602 the source or destination is special.
3bd89472 603
ddc8bed2 604Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com>
a7db2896 605
ddc8bed2 606 * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
a7db2896 607
d61d494a
JL
608Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com)
609
610 * version.c: Bump for snapshot.
611
a08432bd
KW
612Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
613
614 * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
615 redefining it.
616
a4ea8d97
DE
617Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
618
619 * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
416db271 620 (ENDFILE_SPEC): Add -lgloss.
a4ea8d97 621
38831dfe
KG
622Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
623
624 * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
625 (large_int): Likewise.
626 (pc_or_label_operand): Likewise.
627 (call_insn_operand): Likewise.
628 (consttable_operand): Likewise.
629 (m16_uimm3_b): Likewise.
630 (m16_simm4_1): Likewise.
631 (m16_nsimm4_1): Likewise.
632 (m16_simm5_1): Likewise.
633 (m16_nsimm5_1): Likewise.
634 (m16_uimm5_4): Likewise.
635 (m16_nuimm5_4): Likewise.
636 (m16_simm8_1): Likewise.
637 (m16_nsimm8_1): Likewise.
638 (m16_uimm8_1): Likewise.
639 (m16_nuimm8_1): Likewise.
640 (m16_uimm8_m1_1): Likewise.
641 (m16_uimm8_4): Likewise.
642 (m16_nuimm8_4): Likewise.
643 (m16_simm8_8): Likewise.
644 (m16_nsimm8_8): Likewise.
645 (m16_usym8_4): Likewise.
646 (m16_usym5_4): Likewise.
647 (mips_move_1word): Change type of variable `i' from int to size_t.
648 (mips_move_2words): Likewise.
649 (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
650 (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
651 (function_arg): Likewise.
652 (function_arg_partial_nregs): Mark parameter `named' with
653 ATTRIBUTE_UNUSED.
654 (override_options): Use ISDIGIT instead of isdigit.
655 (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
656 (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
657 (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
658 function `fatal' to long before printing. Use
659 HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
660 times in this function.
661 (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
662 (function_epilogue): Likewise for parameters `file' and `size'.
663 Print an int with "%d" not "%ld".
664 (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
665 (mips_function_value): Likewise for parameter `func'.
666 (function_arg_pass_by_reference): Likewise for parameters `cum'
667 and `named'.
668 (extend_operator): Likewise for parameter `mode'
669 (highpart_shift_operator): Likewise.
670
671 * mips.md (mul_acc_si): Remove unused variable `macc'.
672
77a45a2e
RH
673Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
674
675 * fold-const.c (fold): Revert last change. It breaks constant
676 expressions somehow.
677
8d62b411
AS
678Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
679
680 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
681 prevent operands from being evaluated twice.
682
cac45626
SO
683Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
684
685 * toplev.c (lang_options): Add -remap as a preprocessor option.
686
9bc6d2c2
JW
687Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
688
689 * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
690 which set CC_REVERSED since reload should ensure that
691 the operands are already the correct type.
692
fb95c8c9
JW
693Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
694
695 * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
696 calling gen_rtx_SET.
697
95009288
DE
698Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
699
700 * config/rs6000/x-aix43 (AR): Delete.
701 (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
702
bf6f78d1
DS
703Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
704
705 * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
706
45cc4c09
JW
707Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
708
709 * mips.c (override_options): Replace word_mode with explicit
710 TARGET_64BIT check.
711
ecb75b7a
MM
712Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
713
714 * regmove.c (regmove_optimize): If we can't replace the
715 destination in an insn that sets the source, generate an explicit
716 move of the source to the destination.
717 (copy_src_to_dest): New function.
718 (toplevel): Include basic-block.h
719
720 * Makefile.in (regmove.o): Add basic-block.h dependencies.
721
8e34149d
DB
722Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
723
724 * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
725
8358a974
MM
726Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
727
728 * rtl.h (rtx_def): Improve documentation.
729 (MEM_IN_STRUCT_P): Likewise.
730
e80716de
GS
731Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
732
733 * c-decl.c (start_decl): Correct test for -Wmain.
734
b3fbc9ad
GS
735 * c-decl.c (grokdeclarator): Remove unused variable "last".
736
3e2b9a3d
JW
737Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
738
739 * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
740 (expand_builtin_longjmp): Abort if value isn't const1_rtx.
741 Delete code storing value in static_chain_rtx.
742 (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
743 to second expand_expr call.
744
748b909e
MM
745Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
746
747 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
748
e061d1ce
DB
749Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
750
751 * cppmain.c (fatal): New function.
752 * configure.in (cpp_main): New configuration variable.
753 * configure: Regenerated.
e80716de
GS
754 * Makefile.in (CCCP): Use a configuration variable to select basex
755 for cccp.
e061d1ce
DB
756 (cppmain$(exeext)): Add @extra_cpp_objs@.
757
a0d85b75
DB
758Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
759
760 * objc/objc-act.c: Add cpplib declarations.
761 (lang_decode_option): Initialize cpplib if necessary.
762 (lang_decode_option): New argc/argv interface.
763 * tree.h (lang_decode_option): New argc/argv interface.
764 * toplev.c (lang_options): Add cpp options.
765 (main): New interface for lang_decode_option.
766 * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
767 unless -E, -M or -MM is specified.
768 * cpplib.h (cpp_handle_option): New function.
769 * cpplib.c (cpp_handle_option): New function.
770 (cpp_handle_options): Now calls cpp_handle_option.
771 * c-tree.h (c_decode_option): New argc/argv interface.
772 * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
773 * c-lang.c (lang_decode_option): New argc/argv interface.
774 * c-decl.c: Add cpplib declarations.
775 (c_decode_option): New argc/argv interface.
776 (c_decode_option): Call cpp_handle_option.
777 (c_decode_option): Now returns number of strings processed.
778
95193030
RE
779Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
780
781 * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
782 changes. Abort if the undo fails.
783
e74e8c84
VM
7841998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
785
786 * config/rs6000/rs6000.c (output_prolog): Change locations and
787 directions of saving and restoring arguments of main on the stack.
788
0254c561
JC
789Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
790
791 * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
792 for each alternative. Do not replace a CONST_INT with a REG unless
793 the reg is cheaper.
794
0365438d
JL
795Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
796
07fb7f79
JL
797 * decl.c (init_decl_processing): Fix typo.
798
bfed8dac
JL
799 * mips.c (gpr_mode): New variable.
800 (override_options): Initialize gpr_mode.
801 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
802 determine size and offset of general purpose registers save slots.
803 (save_restore_insns, mips_expand_prologue): Similarly.
804
0365438d
JL
805 * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
806 between constant representations when we have (SUBREG (REG)) with
807 REG equivalent to a constant.
808
e6bcfef9
JS
809Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
810
811 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
812
ac1fdb22
RH
813Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
814
815 * fold-const.c (fold): Even with otherwise constant trees, look for
816 opportunities to combine integer constants.
817
1c5d60f5
JW
818Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
819
9d932d43
JW
820 * i386.c (notice_update_cc): Clear cc_status.value2 in the
821 case of UNSPEC 5 (bsf).
822
1c5d60f5
JW
823 * i386.md (movsfcc, movdfcc, movxfcc): The floating point
824 conditional move instructions don't support signed integer
825 comparisons.
826
f1be41ad
NC
827Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
828
829 * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
830 overlfows.
831
832 * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
833 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
834 <glctr@abc.it>.
835
0d3453df
AM
836Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
837
838 * except.c (expand_start_catch): Rename to start_catch_handler.
839 (expand_end_catch): Delete function.
840 (expand_end_all_catch): Remove catch status that expand_end_catch
841 use to do.
842 * except.h (expand_start_catch): Rename prototype.
843 (expand_end_catch): Delete prototype.
844
3398f47f
MM
845Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
846
847 * invoke.texi: Add documentation for -mips4 and -mabi=*.
848
6805ef53
KK
849Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
850
851 * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
852 (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
853 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
854
9ae4ec46
JC
855Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
856
857 * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
858 as the threshold to permit splitting memory operations.
859
624a8b3a
JL
860Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
861
1c5d60f5
JW
862 * mips.c (gpr_mode): New variable.
863 (override_options): Initialize gpr_mode.
864 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
865 determine size and offset of general purpose registers save slots.
866 (save_restore_insns, mips_expand_prologue): Similarly.
867
624a8b3a
JL
868 * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
869 (LIBGCC2_CFLAGS): Remove -fexceptions.
870 (LIB2FUNCS): Remove "_eh".
871 (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
872 it with -fexceptions.
873
874 * Makefile.in (local-alloc.o): Depend on insn-attr.h.
875 * local-alloc.c (block_alloc): Avoid creating false
876 dependencies for targets which use instruction scheduling.
877
674576f1
RH
878Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
879
880 * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
881 (ASM_FINISH_DECLARE_OBJECT): Define;
882 * mips/elf64.h: Likewise.
883
5dd57225 884Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
602ad236 885
5dd57225 886 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
b8211569 887
5dd57225 888Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
ac4bac77
JL
889
890 * version.c: Bump for snapshot.
891
a2f270cc
DE
892Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
893
894 * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
895 (mulsidi3_ppc64): Delete.
896
50b2596f
KG
897Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
898
899 * Makefile.in (varasm.o): Depend on dbxout.h.
900 (cse.o): Depend on toplev.h and output.h.
901 (gcse.o): Depend on output.h.
902
903 * mips.c: Include system.h and toplev.h and remove redundant code.
904 Include output.h after tree.h so all its prototypes get activated.
905 * mips.md (table_jump): Remove unused variable `dest'.
906
907 * sparc.h: Add prototype for `v8plus_regcmp_op'.
908
909 * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
910 with __attribute__ ((__unused__)).
911 (__frame_dummy): Provide prototype before use, wrap it with
912 EH_FRAME_SECTION_ASM_OP.
913
914 * cse.c: Move inclusion of <setjmp.h> above local headers.
915 Include toplev.h and output.h.
916
917 * dbxout.h: Add prototype for `dbxout_begin_function'.
918
919 * final.c (final_scan_insn): Wrap variable `max_skip' in macro
920 ASM_OUTPUT_MAX_SKIP_ALIGN.
921
922 * gcse.c: Include system.h and output.h.
923 (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
924 Make extern instead of static.
925 (compute_can_copy): Only declare variables `reg' and `insn' when
926 AVOID_CCMODE_COPIES is not defined.
927 (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
928 (hash_scan_clobber): Likewise for `x' and `insn'.
929 (hash_scan_call): Likewise.
930 (record_last_set_info): Likewise for `setter'.
931 (mark_call): Likewise for `pat'.
932 (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
933
934 * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
935 length parameter so that it multiplies the number of elements by
936 the sizeof(element).
937
938 * output.h: Add prototype for `weak_finish'.
939
940 * recog.h: Likewise for `validate_replace_src'.
941
942 * rtl.h: Likewise for `optimize_save_area_alloca',
943 `fix_sched_param', `purge_addressof', `gcse_main',
944 `regmove_optimize', `dbr_schedule', `branch_prob' and
945 `end_branch_prob'.
946
947 * toplev.h: Likewise for `set_float_handler' and
948 `output_quoted_string'.
949
950 * varasm.c: Include dbxout.h.
951
33d7a521
JW
952Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
953
954 * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
955 GP_REG_P. Use gr_regs instead of GR_REGS.
956
cb923660
KR
957Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
958 Jeff Law <law@cygnus.com>
959
960 * Revamped multiply support for MIPS chips.
961 * mips.c (extend_operator): New function.
962 (highpart_shift_operator): Likewise.
963 * mips.h: Declare new functions.
964 (PREDICATE_CODES): Add support for new predicates.
965 * mips.md (mulsi3 expander): Simplify.
966 (mulsi_mult3): Add another constraint alternative. Support
967 3 operand multiply instructions as found on various mips
968 parts.
969 (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
970 (mul_acc_si): New pattern and associated splitters.
971 (mulsidi3 expander): Rework to use mulsidi3_64bit and
972 mulsidi3_internal.
973 (umulsidi3): New expander.
974 (mulsidi3_internal): Accept either sign or zero extended
975 operands and generate code as appropriate appropriately.
976 (mulsidi3_64bit): Similarly.
977 (smulsi3_highpart): Turn into an expander and generate code
978 to match new patterns.
979 (umulsi3_highpart): Likewise.
980 (xmulsi3_highpart_internal): New pattern.
981 (maddi patterns): Delete. Replace with:
982 (mul_acc_di, mul-acc_64bit_di): New patterns.
983
a1622f83
AM
984Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
985
986 * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
987 flag_new_exceptions runtime flag.
988 (struct old_exception_table): New struct which represents what
989 the exception table looks like without the new model.
990 (NEW_EH_RUNTIME): New value used as a tag in the exception table to
991 flag that this is a new style table.
992 * except.h: Remove compile time flag NEW_EH_MODEL.
993 (expand_builtin_eh_stub_old): New prototype.
994 * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
995 * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
996 * c-decl.c (init_decl_processing): Add new builtin function
997 __builtin_eh_stub_old.
998 * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
999 * flags.h (flag_new_exceptions): New runtime flag.
1000 * toplev.c (flag_new_exceptions): Initialize default to 0,
1001 -fnew-exceptions sets to 1.
1002 * except.c (output_exception_table_entry): Output New style exception
1003 identifier into table, and replace compile time flag NEW_EH_MODEL
1004 with runtime flag flag_new_exceptions.
1005 (output_exception_table): Replace compile time flag NEW_EH_MODEL.
1006 (expand_builtin_eh_stub_old): Duplicates original functionality of
1007 expand_builtin_eh_stub.
1008 (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
1009 * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
1010 (old_find_exception_handler): New func, same as find_exception_handler
1011 except it works on the old style exception table.
1012 (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
1013 of identifier in the exception table, and call appropriate routines.
1014
aeb302bb
JM
1015Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
1016
1017 * function.c: Define current_function_cannot_inline.
1018 (push_function_context_to): Save it.
1019 (pop_function_context_from): Restore it.
1020 * function.h (struct function): Provide it a home.
1021 * output.h: Declare it.
1022 * integrate.c (function_cannot_inline_p): Check it.
1023
8b015896 1024Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
9a14a3ab 1025
8b015896
RH
1026 * expr.c (force_operand): Detect PIC address loads before
1027 splitting arithmetic.
2b4065a4 1028
8b015896 1029Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
209c9866
JL
1030
1031 * version.c: Bump for snapshot.
1032
79990a39
GS
1033Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
1034
1035 * tree.c (tree_class_check): Add braces to eliminate ambigious
1036 else warning.
1037 (tree_check): Likewise.
1038
49fa02d9
L
1039Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
1040
1041 * reg-stack.c (subst_stack_regs_pat): Make sure the top of
1042 stack is the destination for conditional move insn.
1043
52267fcb
JM
1044Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
1045
1046 * tree.h (TREE_VEC_END): Cast unused value to void.
1047
1048 * i386.c (print_operand): Use %lx for long operand.
1049
2b01d264
RH
1050Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
1051
1052 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
1053
cb9e12a7
JC
1054Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
1055
1056 * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
1057 conversion functions.
1058
b53beeb2
RH
1059Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
1060
1061 * toplev.c (flag_exceptions): Default to 0.
1062 (compile_file): Remove flag_exceptions == 2 hack.
1063 (main): Call lang_init_options.
1064 * tree.h: Declare it.
1065 * c-lang.c: Implement it.
1066 * objc/objc-act.c: Likewise.
1067
dfdfa60f
DE
1068Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
1069
1070 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
1071 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
1072 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
1073 (output_function_profiler): Use asm_fprintf and fputs.
1074
83e0821b
KG
1075Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1076
1077 * gencheck.c: Remove redundant stdio.h include. Add a definition
1078 of xmalloc for when we are forced to link with alloca.o.
1079
1080 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
1081 instead of `1U'.
1082
1083 * fold-const.c (constant_boolean_node): Make definition static to
1084 match the prototype.
1085
6ff0d2a0
PB
1086Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
1087
1088 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
1089 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
1090 (do_spec, input_filename, input_filename_length): Make public.
1091 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
1092 Call lang_specific_pre_link befor elinking.
1093
2db45993
JL
1094Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
1095
1096 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
1097 the insn which has the most insns dependent on it.
1098
74186471
JC
1099Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
1100
1101 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
1102
989f090c
RH
1103Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
1104
1105 * alpha.md (insxh-1): New insxl pattern for combine.
1106
b657fc39
L
1107Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
1108
1109 * i386/i386.c (output_fp_conditional_move): New function
1110 to output floating point conditional move.
1111 (output_int_conditional_move): New function to output integer
1112 conditional move.
1113
1114 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
1115 output_int_conditional_move () to output int conditional move.
1116 (movsfcc+5, movdfcc+5, movxfcc+5): Call
1117 output_fp_conditional_move () to output floating point
1118 conditional move.
1119
1120 * i386/i386.c (put_condition_code): In INT mode, check
1121 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
1122
202fe2d6
DB
1123Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
1124
1125 * dbxout.c (dbxout_type): Output arrays of bits as if
1126 they were bitstrings for Chill
1127
a260abc9
DE
1128Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
1129
1130 * tree.c (get_inner_array_type): New function.
1131 * tree.h (get_inner_array_type): Prototype.
1132 * expr.h (STACK_SAVEAREA_MODE): New macro.
1133 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
1134 STACK_SAVEAREA_MODE.
1135 (expand_builtin_longjmp): Likewise.
1136 * explow.c (emit_stack_save): Likewise.
1137 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
1138
1139 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
1140 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
1141 * rs6000/aix43.h: New file.
1142 * rs6000/t-aix43: New file.
1143 * rs6000/x-aix41: New file.
1144 * rs6000/x-aix43: New file.
1145 * configure.in (rs6000-ibm-aix*): Use them.
1146 * rs6000/powerpc.h: Delete.
1147 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
1148 * rs6000/netware.h: and here.
1149 * rs6000/win-nt.h: and here.
1150
1151 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
1152 MASK_POWERPC64.
1153 (rs6000_override_options): Ignore flag_pic for AIX.
1154 (rs6000_immed_double_const): Delete.
1155 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
1156 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
1157 (num_insns_constant): mask64_operand() is 2 insns.
1158 (logical_operand): Don't assume 32-bit CONST_INT.
1159 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
1160 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
1161 (mask_constant): HOST_WIDE_INT parameter.
1162 (non_and_cint_operand): Delete.
1163 (mask64_operand): New function.
1164 (and64_operand): New function.
1165 (function_arg_advance): DImode arguments do not need special
1166 alignment when 64-bit.
1167 (function_arg): Likewise.
1168 (setup_incoming_varargs): Reverse reg_size assignment.
1169 (print_operand): HOST_WIDE_INT second parameter.
1170 (print_operand, 'B'): New case.
1171 (print_operand, 'M'): Fix typo in lossage string.
1172 (print_operandm 'S'): New case.
1173 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
1174 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
1175 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
1176 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
1177 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
1178 (rs6000_allocate_stack_space): Use {cal|la}.
1179 (output_epilog): Use {cal|la}
1180 (output_function_profiler): Add call glue to mcount call.
1181 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
1182
1183 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
1184 (STACK_BOUNDARY): Depend on TARGET_32BIT.
1185 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
1186 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
1187 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
1188 64-bit mask operand.
1189 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
1190 (STACK_SAVEAREA_MODE): New macro.
1191 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
1192 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
1193 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
1194 (ASM_FILE_START): Emit 64-bit ABI directive.
1195 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
1196 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
1197 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
1198 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
1199
1200 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
1201 Restore define_splits.
1202 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
1203 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
1204 Do not specify base register operand mode.
1205 (floatsidf2_loadaddr): Do not specify base register operand mode.
1206 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
1207 register; do not specify mode. Remove !TARGET_POWERPC64 final
1208 constraint.
1209 (floatsidf2_load): Do not specify base register operand mode. Remove
1210 !TARGET_POWERPC64 final constraint.
1211 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
1212 base register operand mode.
1213 (adddi3): Split large constants early.
1214 (absdi3): Shift by 63, not 31.
1215 (*mulsidi3_ppc64): New pattern.
1216 (rotldi3): Add masking combiner patterns.
1217 (anddi3): Add rldic{r,l} masking. Remove split of large constants
1218 because PPC insns zero-extend.
1219 (iordi3, xordi3): Split large constants early.
1220 (movsi matcher): Remove S and T constraints.
1221 (movsf const_double): create SImode constant from TARGET_DOUBLE.
1222 (movdf_hardfloat32): Add default abort() case.
1223 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
1224 (movdi): Remove 64-bit constant generator. Try to convert
1225 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
1226 (movdi_32): Add default abort() case.
1227 (movdi_64): Add numerous ways to split 64-bit constants.
1228 Make catch-all define_split more optimal and never FAIL.
1229 (movti_ppc64): Add default abort() case.
1230 (allocate_stack): Remove operand modes. Use Pmode.
1231 (restore_stack_block): Remove operand modes. Generate Pmode
1232 temporary.
1233 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
1234 temporary. Save area is double Pmode.
1235 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
1236 (call, call_value): Do not specify address operand mode. Choose
1237 appropriate AIX ABI.
1238 (*call_local64, *ret_call_local64): New patterns.
1239 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
1240 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
1241 (compare): Materialize DImode truthvalues.
1242
ff439b5f
CB
1243Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
1244
1245 * expr.c (safe_from_p): Avoid combinatorial explosion
1246 over duplicate SAVE_EXPRs by ensuring we never recurse
1247 on one that has already been visited.
1248
7d2a46a8
GS
1249Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
1250
1251 * loop.c (check_dbra_loop): Initialise final_value before
1252 normalizing the loop.
1253
f5470689
R
1254Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1255
1256 * reload1.c (reload_reg_free_for_value_p): New arguments out and
1257 reloadnum. Changed all callers.
1258
9b91d8f4
UD
12591998-06-03 Ulrich Drepper <drepper@cygnus.com>
1260
1261 * system.h: Add _() and N_() macros in preparation for gettext.
1262
7fdc2757
AS
1263Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1264
bc516719
AS
1265 * c-common.c (check_format_info): Put back check for C9x `hh'
1266 length modifier. Warn about %n format writing into const. Remove
1267 obsolete comment.
9b91d8f4 1268 (format_char_info): Fix comments.
bc516719 1269
7fdc2757
AS
1270 * configure.in: Set float_format to m68k for all m68k targets that
1271 do not override LONG_DOUBLE_TYPE_SIZE.
1272 * config/float-m68k.h: New file.
1273
dc2a47ed
RH
1274Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
1275
1276 * jump.c (jump_optimize): Remove debug messages accidentally left in
1277 with the previous change.
1278
f0348c25
RH
1279Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
1280
1281 * expr.c (store_expr): Revert stray patch associated with
1282 1998-05-23 commit.
1283
4f4f436f
RH
1284Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
1285
1286 * jump.c (rtx_unsafe_p): New function.
1287 (jump_optimize): Use it on if/then/else transformations and
1288 conditional move transformations.
1289
df0e526f
AS
1290Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1291
1292 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
1293 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
1294 Cope with CONST being out of range for the bitfield.
1295
2638126a
BS
1296Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
1297
1298 * expr.c (emit_move_insn_1): When moving complex values in several
1299 steps, emit a CLOBBER to show the destination dies.
1300
6c8538cc
JL
1301Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
1302
ccdb9251
JL
1303 * Makefile.in (site.exp): Use the object testsuite directory as
1304 the temporary directory.
1305
6c8538cc
JL
1306 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
1307 address of an ADDRESSOF rtx.
1308
0bc02db4
MS
13091998-06-02 Mike Stump <mrs@wrs.com>
1310
1311 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
1312 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
1313 * i960.md (ret, flush_register_windows): Define.
1314 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
1315 work yet.
1316 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
1317
d46f7484
RH
1318Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
1319
1320 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
1321 around an OSF/1 library bug wrt sign-extension of inputs.
1322
e3c81d20
RH
1323Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
1324
1325 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
1326
44ec7e59 1327Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
9b91d8f4 1328
44ec7e59
CM
1329 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
1330
1331 * varasm.c (assemble_variable): Augment alignment warning.
1332
9224220f
MM
1333Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
1334
1335 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
1336 in the presence of IEEE negative 0's.
1337
726e2d54
JW
1338Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
1339
1340 * reload.c (find_reloads): Record the existing mode if
1341 operand_mode == VOIDmode before replacing a register with
1342 a constant.
1343 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
1344 i386_compare_op1 to const0_rtx for the benefit of the
1345 conditional move patterns.
1346 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
1347 based on suggestions from Jim Wilson.
1348
97f959a5
JL
1349Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
1350
1351 * version.c: Bump for snapshot.
1352
b5662334
BK
1353Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
1354
1355 * Makefile.in (fixinc.sh): Update rules again.
1356
674032e2
JL
1357Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
1358
1359 * extend.texi: Bring back reference to trampoline paper.
1360
1361Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
1362
1363 * Makefile.in (USER_H): Add stdbool.h.
1364 * ginclude/stdbool.h: New file.
1365
d3903c22
JL
1366Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
1367
c71407f9
JL
1368 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
1369 of a non-note insn.
1370
d3903c22
JL
1371 * gcse.c (pre_delete): Fix code to determine the mode of
1372 the reaching pseudo register.
1373
8376d400
BS
1374Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
1375
1376 * Makefile.in (GEN): Add gencheck
1377 (STAGESTUFF): Add tree-check.h and gencheck.
1378
71d085b0
BK
1379Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
1380
1381 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
1382 (fixinc.sh): Set some additional environment variables before
1383 calling mkfixinc.sh.
1384
f4d1453e
JL
1385Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
1386
1387 * reload.c (find_reloads): Do not force a reloads of match_operators.
9b91d8f4 1388
9f8e6243
AM
1389Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1390
1391 * except.h (remove_handler): Add new prototype.
1392 * except.c (remove_handler): New function to remove handlers
1393 from an exception region.
1394 * flow.c (find_basic_blocks_1): Remove handlers from regions when
1395 handler label is deleted; remove exception regions with no handlers.
1396
d05a5492
MM
1397Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
1398
1399 * except.h (rtx): Define rtx type correctly if needed.
1400 * function.h (rtx): Ditto.
1401 (tree): Define tree type correctly if needed.
1402
1403 * c-pragma.c (toplevel): Include rtl.h.
1404
1405 * stor-layout.c (toplevel): Move include of rtl.h before
1406 except.h.
1407
1408 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
1409 (tree.o): Add except.h dependency.
9b91d8f4 1410
ed385fd9
JL
1411Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
1412
5bc80b30
JL
1413 * reload1.c: Revert accidental checkin.
1414
ed385fd9
JL
1415 * configure.lang: Fix thinko when adding a definition for
1416 target_alias to the Makefile.
1417
00c26dc2
CM
1418Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
1419
9b91d8f4 1420 * config/sparc/lb1spc.asm (.rem and .urem): Replace
00c26dc2
CM
1421 routines.
1422
d499463f
RE
1423Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
1424
1425 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
1426 variable warnings. Don't generate scratch registers if only
1427 counting insns.
1428 (find_barrier): Eliminate unused variable SRC.
1429
62fe00be
MH
14301998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
1431
1432 * toplev.h (rtx_def): Provide global declaration to avoid
1433 `limited scope' warnings.
1434
1a4bf22f
MK
1435Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
1436
1437 * Makefile.in (gencheck.o): Use HOST_CC.
1438 * i386/t-mingw32: New file.
1439 * configure.in (i386-*-mingw32*): Use.
1440
4d818c85
RE
1441Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
1442
1443 * arm.c (bad_signed_byte_operand): New predicate function.
1444 * arm.h (PREDICATE_CODES): Add it to the list.
1445 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
1446 can't handle.
1447 (define_split): Two new splits for above insns.
1448
ad076f4e
RE
1449 * arm.c: Include toplev.h.
1450 (arm_override_options): Add parentheses around use of tune_flags.
1451 (arm_split_constant): Remove unused variable.
1452 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
1453 (output_func_prologue, arm_expand_prologue): Likewise.
1454 (arm_canonicalize_comparison): Make I unsigned; rework constants
1455 accordignly. Add missing paratheses around << operation.
1456 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
1457 clause.
1458 ({load,store}_multiple_sequence): Initialize BASE_REG.
1459 (select_dominance_cc_mode): Add DEFAULT clauses.
1460 (broken_move): Return zero if the destination is not a register.
1461 (arm_reorg): Move unused REGNO declaration into the dead code.
1462 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
1463
a1ec8ea1
JL
1464Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
1465
1466 * version.c: Bump for snapshot.
1467
c7f58590
JL
1468Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
1469
1470 * version.c: Bump for snapshot.
1471
33b019ad
DB
1472Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
1473
1474 * cpperror.c (v_cpp_message): Remove static prototype.
1475 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
1476 * cpplib.h (v_cpp_message): Add protoptype.
1477 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
1478
61819ba5
JL
1479Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
1480
1481 * version.c: Bump for snapshot.
1482
f5c57ba7
JL
1483Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
1484
1485 * version.c: Bump for snapshot.
1486
7a87758d
AS
14871998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1488
1489 * m68k.h: Declare more functions used in macros.
1490 (REG_CLASS_CONTENTS): Completely embrace initializer.
1491 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
1492 about returning no value.
1493 * cse.c (find_best_addr): Declare p and found_better only if
1494 needed.
1495 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
1496 * dwarfout.c (string_length_attribute): #if 0 away.
1497 * function.c (expand_function_end): Define varible blktramp only
1498 if needed.
1499 * jump.c (find_insert_position): Define only if !HAVE_cc0.
1500 * loop.c (combine_givs_p): Define variable tem only if needed.
1501 * real.c: Comment out unused functions eabs, eround,
1502 e{24,53,64,113}toasc and eiinfin.
1503
1504
10ad38ca
AO
1505Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1506
1507 * Makefile.in (boostrap2-lean, bootstrap3-lean,
1508 bootstrap4-lean): New targets.
1509
57fec042
JL
1510Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
1511
1512 * warn_summary, test_summary: Moved into the contrib directory.
1513
97263b8c
MH
15141998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
1515
e7f62ad3
MH
1516 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
1517 of the Makefile.
1518 (FLOAT_H_TEST): Likewise.
1519 (ENQUIRE): Likewise.
1520 (float.h-nat): Likewise.
1521 (float.h-cross): Likewise.
1522 (enquire): Likewise.
1523 (enquire.o): Likewise.
1524 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
1525 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
1526 no-op.
1527 (FLOAT_H): Remove old float.h-nat version; move current definition
1528 to CROSS_FLOAT_H location.
1529 (all.cross): Remove comments about enquire stuff.
1530
8d45987f
MH
1531 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
1532 (rest.encap): Likewise.
e7f62ad3 1533 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
8d45987f 1534
97263b8c
MH
1535 * toplev.h (tree_node): Provide global declaration to avoid
1536 `limited scope' warnings.
1537
a8c24967
RL
1538Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
1539
1540 * test_summary: Display section breaks for each entry
1541 in a multilibbed target's output.
1542
bd070e1a
RH
15431998-05-23 Richard Henderson <rth@cygnus.com>
1544
1545 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
1546 offset's mode is not ptr_mode, convert it.
1547
697073d9
JM
15481998-05-22 Jason Merrill <jason@yorick.cygnus.com>
1549
1550 * fold-const.c (ssize_binop): New fn.
1551 * tree.h: Declare it.
1552
07704a9a
RE
1553Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
1554
9b91d8f4 1555 * genextract.c (print_path): Handle zero-length path as a special
07704a9a
RE
1556 case.
1557
911c3b7d
HPN
1558Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
1559
1560 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
1561
75197b37
BS
1562Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
1563
1564 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
1565 (shorten_branches, final_scan_insn): Test value of
1566 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
1567 is defined.
1568 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
1569 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
28ec9418 1570 * arm/tcoff.h: Likewise.
75197b37
BS
1571 * i386/386bsd.h: Likewise.
1572 * i386/freebsd-elf.h: Likewise.
1573 * i386/freebsd.h: Likewise.
1574 * i386/netbsd.h: Likewise.
1575 * i386/ptx4-i.h: Likewise.
1576 * i386/sysv4.h: Likewise.
1577 * pa/pa.h: Likewise.
1578 * rs6000/linux.h: Likewise.
1579 * rs6000/rs6000.h: Likewise.
1580 * sh/sh.h: Likewise.
1581 * sparc/sp64-elf.h: Likewise.
1582 * v850/v850.h: Likewise.
1583 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
1584 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
1585
1a29f703
R
1586Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1587
1588 * regmove.c (gen_add3_insn): New function.
1589 (fixup_match_2): Use it instead of calling gen_addsi3.
1590
aee21ba9
JL
1591Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
1592
37433f49
JL
1593 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
1594
aee21ba9
JL
1595 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
1596 address.
1597
12b195d9
ML
1598Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
1599
1600 * Makefile.in (TREE_H): Add tree-check.h.
1601 (tree-check.h, gencheck): New targets.
1602 * gencheck.c: New file.
1603 * tree.c (tree_check, tree_class_check): New functions.
1604 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
1605 (TYPE_CHECK, DECL_CHECK): Define.
1606 Modify all access macros to use generated checking macros.
1607
9e423e6d
JW
1608Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
1609
1610 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
1611 * configure.in: Check for it.
1612 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
1613 * final.c (uid_align, uid_shuid, label_align): Make static.
1614 (label_align): Change type to struct label_alignment pointer.
1615 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
1616 (LABEL_TO_MAX_SKIP): Define.
1617 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
1618 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
1619 (shorten_branches): Record the maximum bytes to skip when
1620 aligning a label.
1621 (final_scan_insn): Use the maximum bytes to skip when aligning a label
1622 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1623 * i386.h (LOOP_ALIGN_MAX_SKIP,
1624 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
1625 * i386.c (override_options): i386_align_jumps and i386_align_loops
1626 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1627 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
1628
1cc75298
MM
16291998-05-21 Mark Mitchell <mmitchell@usa.net>
1630
1631 * cplus-dem.c (do_type): Handle volatile qualification.
9b91d8f4 1632
178ca02d
PB
1633Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
1634
1635 * function.c (init_function_start): Don't call emit_line_note if
1636 lineno is 0. (Can happen when compiling Java .class files.)
1637
cecbf6e2
R
1638Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1639
1640 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
1641 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
1642
b52ce03d
R
1643Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1644
1645 * combine.c (nonzero_bits): For paradoxical subregs, take
1646 LOAD_EXTENDED_OP into account.
1647
c8724862
DB
1648Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
1649
1650 * configure.in (extra_c_objs): add prefix.o.
1651 (extra_cxx_objs): extra objects for C++ with cpplib.
1652 * configure: Regenerate.
1653
1654 * c-tree.h: (get_directive_line): Different prototype for cpplib.
1655 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
1656
1657 * c-lex.h: (get_directive_line): Not needed here for cpplib.
1658
1659 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
1660 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
1661
1662 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
1663 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
1664
fd97443c
KG
1665Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1666
1667 * gengenrtl.c (type_from_format, accessor_from_format): Change
1668 type of parameter `c' from `char' to `int'.
1669
0e4347ce
JL
1670Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
1671
2a3edac9
JL
1672 * warn_summary, test_summary: New scripts from
1673 Kaveh Ghazi and Alexandre Oliva respectively.
1674
0e4347ce
JL
1675 * gcse.c (current_function_calls_longjmp): Declare.
1676
4e5a8d7b
JM
16771998-05-20 Jason Merrill <jason@yorick.cygnus.com>
1678
1679 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
1680
7506f491
DE
1681Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
1682 Jeff Law (law@cygnus.com)
1683
1684 * Global CSE and constant/copy propagation.
1685 * Makefile.in (OBJS): Add gcse.o
1686 (STAGESTUFF): Add *.gcse.
1687 (gcse.o): Add dependencies.
1688 (mostlyclean): Remove *.gcse and */*.gcse.
1689 * gcse.c: New file.
1690 * loop.c (loop_optimize): Move call to init_alias_analysis.
1691 * recog.c (validate_replace_src): New function.
1692 * toplev.c (gcse_dump): New global variable.
1693 (flag_gcse, gcse_time): Likewise.
1694 (compile_file): Initialize gcse_time and clean out the gcse dump
1695 file if necessary.
1696 (rest_of_compilation): Call gcse_main as requested. Dump RTL
1697 after gcse if requested.
1698 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
1699 dumps for -da.
1700 * gcc.texi: Add gcse related internal documentation.
1701 * invoke.texi: Note new command line options for gcse.
1702 * tm.texi: Document AVOID_CCMODE_COPIES.
1703 * mips.h (AVOID_CCMODE_COPIES): Define.
1704
40859b41
JL
1705Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
1706
1707 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
1708 exists.
aef1617c 1709 (stmp-fixproto): Simlarly for running fixproto.
40859b41
JL
1710 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
1711
f85c8be7
JW
1712Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
1713
1714 * config/mips/mips.c (double_memory_operand): Accept any MEM during
1715 reload when TARGET_64BIT.
1716
c7391272
JW
1717Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
1718
1719 Finish incomplete change started by Kenner.
1720 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
1721 (powerpcle-*-cygwin32): Delete xm_defines.
1722 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
1723 HAVE_STAB_H instead of NO_STAB_H.
1724 * config/xm-linux.h (NO_STAB_H): Delete.
1725 (HAVE_STAB_H): Undefine.
1726 * config/i386/xm-go32.h (NO_STAB_H): Delete.
1727
af02da67
JW
17281998-05-19 Jim Wilson <wilson@cygnus.com>
1729
1730 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
1731 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
1732
79edd21c
TV
1733Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
1734
1735 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
1736
6e684430
R
1737Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1738
1739 * reload1.c (reload_reg_free_for_value_p): New function.
1740 (allocate_reload_reg, choose_reload_regs): Use it.
1741
7ecb5d27
AM
1742Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
1743
1744 * except.c (expand_start_catch): Correct logic for when to
1745 generate a new handler label, and when to use the old one.
1746
487a6e06
KG
1747Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1748
1749 * Makefile.in (print-rtl.o): Depend on bitmap.h.
1750 (dbxout.o): Depend on toplev.h.
1751 ($(SCHED_PREFIX)sched.o): Likewise.
1752 ($(out_object_file)): Likewise for system.h and toplev.h.
1753 (cppmain.o): Depend on gansidecl.h.
1754 (cpplib.o): Likewise.
1755 (cpperror.o): Likewise.
1756 (cppexp.o): Likewise.
1757 (cpphash.o): Likewise.
1758 (cppalloc.o): Likewise.
1759 (fix-header.o): Depend on cpplib.h and cpphash.h.
1760 (scan-decls.o): Depend on gansidecl.h.
1761
1762 * basic-block.h (free_regset_vector): Add prototype.
1763
1764 * cccp.c (check_precompiled): Mark parameter `fname' with
1765 ATTRIBUTE_UNUSED.
1766 (do_assert): Likewise for `op' and `keyword'.
1767 (do_unassert): Likewise.
1768 (do_line): Likewise for `keyword'.
1769 (do_error): Likewise for `op' and `keyword'.
1770 (do_warning): Likewise.
1771 (do_ident): Likewise for `keyword'.
1772 (do_pragma): Likewise for `limit', `op' and `keyword'.
1773 (do_sccs): Likewise.
1774 (do_if): Likewise for `keyword'.
1775 (do_elif): Likewise.
1776 (do_else): Likewise.
1777 (do_endif): Likewise.
1778
1779 * collect2.c (getenv): Remove redundant prototype.
1780 (collect_exit, collect_execute, dump_file): Likewise.
1781 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
1782 (dump_prefix_list): Hide prototype and definition.
1783
1784 * sparc.c: Include toplev.h.
1785 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1786 (symbolic_memory_operand): Likewise.
1787 (sp64_medium_pic_operand): Likewise.
1788 (data_segment_operand): Likewise.
1789 (text_segment_operand): Likewise.
1790 (splittable_symbolic_memory_operand): Likewise.
1791 (splittable_immediate_memory_operand): Likewise.
1792 (eq_or_neq): Likewise.
1793 (normal_comp_operator): Likewise.
1794 (noov_compare_op): Likewise.
1795 (v9_regcmp_op): Likewise.
1796 (v8plus_regcmp_op): Likewise.
1797 (extend_op): Likewise.
1798 (cc_arithop): Likewise.
1799 (cc_arithopn): Likewise.
1800 (small_int): Likewise.
1801 (uns_small_int): Likewise.
1802 (clobbered_register): Likewise.
1803 (legitimize_pic_address): Likewise.
1804 (delay_operand): Likewise.
1805 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
1806
1807 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
1808 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
1809
1810 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
1811
1812 * cppalloc.c: Include gansidecl.h.
1813
1814 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
1815 (cpp_file_line_for_message): Mark parameter `pfile' with
1816 ATTRIBUTE_UNUSED.
1817 (v_cpp_message): New function.
1818 (cpp_message): Use it. Also convert to variable arguments.
1819 (cpp_fatal): Likewise.
1820 (cpp_pfatal_with_name): Constify parameter `name'.
1821
1822 * cppexp.c: Move gansidecl.h before cpplib.h.
1823 * cpphash.c: Likewise.
1824 * cpphash.h (hashf, delete_macro): Add prototypes.
1825
1826 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
1827 cpplib.h. Don't include errno.h.
1828 (update_path): Add arguments to prototype.
1829 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
1830 cpp_print_containing_files): Remove redundant prototypes.
1831 (cpp_hash_cleanup, add_import, append_include_chain,
1832 make_assertion, path_include, initialize_builtins,
1833 initialize_char_syntax, finclude, validate_else, comp_def_part,
1834 lookup_import, redundant_include_p, is_system_include,
1835 read_name_map, read_filename_string, open_include_file,
1836 check_macro_name, compare_defs, compare_token_lists,
1837 eval_if_expression, change_newlines): Add prototype arguments.
1838 (hashf): Remove redundant prototype.
1839 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
1840 conditional_skip, skip_if_group): Add prototype arguments.
1841 (fdopen): Remove redundant prototype.
1842 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
1843 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
1844 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
1845 (struct directive): Add prototype arguments to function pointer
1846 member `func'.
1847 (handle_directive): Add missing arguments to call to `do_line'.
1848 (do_include): Mark parameters `unused1' and `unused2' with
1849 ATTRIBUTE_UNUSED.
1850 (do_line): Likewise for `keyword' and new parameters `unused1' and
1851 `unused2'.
1852 (do_error): Likewise for `keyword'.
1853 (do_warning): Likewise. Also add missing argument `pfile' in call
1854 to cpp_pedwarn.
1855 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
9b91d8f4 1856 ATTRIBUTE_UNUSED.
487a6e06
KG
1857 (do_ident): Likewise for `keyword', `buf' and `limit'.
1858 (do_pragma): Likewise. Also add missing arguments in call to do_once.
1859 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
9b91d8f4 1860 ATTRIBUTE_UNUSED.
487a6e06
KG
1861 (do_if): Likewise for `keyword'.
1862 (do_elif): Likewise.
1863 (eval_if_expression): Likewise for `buf' and `length'.
1864 (do_xifdef): Likewise for `unused1' and `unused2'.
1865 (do_else): Likewise for `keyword', `buf' and `limit'.
1866 (do_endif): Likewise.
1867 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
1868 (cpp_handle_options): Remove superfluous NULL argument in call to
1869 cpp_fatal.
1870 (cpp_handle_options): Likewise.
1871 (do_assert): Mark parameter `keyword', `buf' and `limit' with
1872 ATTRIBUTE_UNUSED.
1873 (do_unassert): Likewise.
1874 (cpp_print_file_and_line): Add missing argument `pfile' in call to
1875 cpp_file_line_for_message.
1876 (v_cpp_error): New function.
1877 (cpp_error): Use it. Also accept variable arguments.
1878 (v_cpp_warning): New function.
1879 (cpp_warning): Use it. Also accept variable arguments.
1880 (cpp_pedwarn): Accept variable arguments.
1881 (v_cpp_error_with_line): New function
1882 (cpp_error_with_line): Use it. Accept variable arguments.
1883 (v_cpp_warning_with_line): New function.
1884 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
1885 definition.
1886 (cpp_pedwarn_with_line): Accept variable arguments.
1887 (cpp_pedwarn_with_file_and_line): Likewise.
1888 (cpp_error_from_errno): Constify parameter `name'. Add missing
1889 argument `pfile' in call to cpp_file_line_for_message.
1890 (cpp_perror_with_name): Constify parameter `name'.
1891
1892 * cpplib.h: Define PARAMS() in terms of PROTO().
1893 (fatal): Remove redundant prototype.
1894 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
1895 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
9b91d8f4 1896 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
487a6e06
KG
1897 cpp_fatal, cpp_message, cpp_pfatal_with_name,
1898 cpp_file_line_for_message, cpp_print_containing_files): Add
1899 arguments to prototypes.
1900 (scan_decls, cpp_finish): Add prototypes.
1901
1902 * cppmain.c: Include gansidecl.h.
1903 (main): Remove unused variable `i'.
9b91d8f4 1904
487a6e06
KG
1905 * dbxout.c: Include toplev.h.
1906
1907 * demangle.h (do_tlink, collect_execute, collect_exit,
1908 collect_wait, dump_file, file_exists): Add prototype.
1909
1910 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
1911 prototype and definition.
1912 (gen_unspecified_parameters_die): Don't assign results of call to
1913 function new_die() to unused variable `parm_die'.
1914 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
1915 (dwarf2out_define): Likewise for `lineno' and `buffer'.
1916
1917 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
1918 prototype and definition.
1919 (output_die): Add prototype arguments to function pointer arg.
1920 (output_unspecified_parameters_die): Mark parameter `arg' with
1921 ATTRIBUTE_UNUSED.
1922
1923 * except.c (output_exception_table_entry): Remove unused variable
1924 `eh_entry'.
1925
1926 * except.h (expand_fixup_region_start, expand_fixup_region_end):
1927 Add prototypes.
1928
1929 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
1930
1931 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
1932
1933 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
1934 before cpplib.h, include cpphash.h, remove redundant prototype of
1935 cpp_fatal, don't define `const', add a prototype for `fatal'.
1936 (cpp_file_line_for_message): Add missing arguments `pfile'.
1937 (v_cpp_message): New function.
1938 (cpp_message): Use it.
1939 (v_fatal): New function.
1940 (fatal, cpp_fatal): Use it.
1941 (cpp_pfatal_with_name): Constify parameter `name'.
1942
1943 * flow.c (free_regset_vector): Remove redundant prototype.
1944
1945 * function.c (round_down): Wrap prototype and definition with
1946 macro ARGS_GROW_DOWNWARD.
1947 (record_insns): Wrap prototype and definition with
1948 defined (HAVE_prologue) || defined (HAVE_epilogue).
1949
1950 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
1951
1952 * gen-protos.c: Include gansidecl.h.
1953 (hashf): Don't make it static, constify parameter `name'.
1954
1955 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
1956 specifier %s in calls to function `fatal'.
1957
1958 * haifa-sched.c: Include toplev.h.
1959 (find_rgns): Remove unused variable `j'.
1960
1961 * integrate.c (note_modified_parmregs): Mark parameter `x' with
1962 ATTRIBUTE_UNUSED.
1963 (mark_stores): Likewise.
1964
1965 * jump.c (mark_modified_reg): Likewise.
1966
1967 * output.h (insn_current_reference_address): Add prototype.
1968 (eh_frame_section): Likewise.
1969
1970 * print-rtl.c: Include bitmap.h.
1971
1972 * reload1.c (reload): Wrap variables `note' and `next' in macro
1973 PRESERVE_DEATH_INFO_REGNO_P.
1974 (forget_old_reloads_1): Mark parameter `ignored' with
1975 ATTRIBUTE_UNUSED.
1976 (choose_reload_regs): Remove unused variable `in'.
1977 (reload_cse_invalidate_mem): Mark parameter `ignore' with
1978 ATTRIBUTE_UNUSED.
1979 (reload_cse_check_clobber): Likewise.
1980
1981 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
1982 (mark_elimination): Fix typo in prototype.
1983
1984 * scan-decls.c: Include gansidecl.h.
1985
1986 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
9b91d8f4 1987
c7fdfd49
JL
1988Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
1989
1990 * function.c (identify_blocks): Fix thinko when setting the
1991 block number for NOTE_INSN_BLOCK_END.
1992
53f2d033
NC
1993Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
1994
f122eb7a 1995 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
9b91d8f4 1996 ___udivsi3.
f122eb7a
NC
1997
1998 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
9b91d8f4 1999 underscores for the prefixes to the names of the maths functions.
f122eb7a 2000
53f2d033
NC
2001 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
2002 comment explaining why.
2003
ead17059
RH
2004Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
2005
2006 * tree.h (TYPE_SIZE_UNIT): New.
2007 (struct tree_type): Add size_unit member.
2008 * stor-layout.c (layout_type): Initialize it.
2009 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
2010 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
2011
069b95ce
RE
2012Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
2013
2014 * stor-layout.c (layout_record): Fix off-by-one error when checking
2015 length of the TYPE_BINFO vector.
2016
972a4adb
NC
2017Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
2018
2019 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
2020 function parameter passed in memory.
2021
76ead72b
RL
2022Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
2023
2024 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
2025 Prototypes for externally used functions in respective C files.
2026 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
2027 final.c: Include above files.
2028 * Makefile.in (toplev.o): Add dependency for above four headers.
2029 (final.o): Likewise.
2030 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
2031 respective header files.
2032
b0ccd8de
JL
2033Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
2034
7e717196
JL
2035 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
2036 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
2037 the build tree if they exist.
2038 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
2039 appropriately.
2040 (objdir): Let configure substitute value.
2041 (FLOAT_H): Let configure select a pre-built version from the
2042 config subdir.
2043 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
2044 * configure.in: Substitute for objdir.
2045
88111b26
JL
2046 * Makefile.in (build_canonical, host_canonical): Let configure
2047 substitute values for these variables.
2048 * configure.in: Substitute for build_canonical, host_canonical
2049 and target_subdir in generated Makefile.
2050
d8af60bf
JL
2051 * output.h (find_basic_blocks): Declare.
2052 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
2053
b0ccd8de
JL
2054 * Makefile.in (BISON): Use bison from the build tree if it exists.
2055 (FLEX): Similarly.
2056
88117d44
NC
2057Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
2058
2059 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
2060 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
2061 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
2062 command line arguments to see if an executable is not being
2063 created, and if so - do not append the suffix.
2064
2065 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
2066 driver macro.
2067
e5e8a8bf
JW
2068Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
2069
2070 * i386.h (ALIGN_DFmode): Delete.
2071 (CONSTANT_ALIGNMENT): Define.
2072 * varasm.c (force_const_mem): Use it.
2073
b771b6b4
RH
2074Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
2075
2076 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
2077 using it with swap_condition, not before.
2078
0211b6ab
JW
2079Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
2080
2081 * alias.c (mode_alias_check): Delete.
2082 (true_dependence, anti_dependence, output_dependence): Revert April 21
2083 change.
2084
c5991f68
KW
2085Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
2086
3fe4d12a 2087 * toplev.c (output_lang_identify): Enable prototype and definition.
c5991f68 2088
18f315a4
JL
2089Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
2090
2091 * version.c: Bump for snapshot.
2092
2a831d01
RH
2093Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
2094
2095 * alpha/osf.h (HAVE_STAMP_H): Define.
2096 * alpha.c: Use it.
2097 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
2098 * configure.in (alpha*-*-netbsd*): New.
2099 Based on patches from Paul H. Anderson <pha@pdq.com>.
2100
2101 * configure.in (alpha*-*-linux-*): Kill xm_defines.
2102 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
2103 * alpha/xm-linux.h: Remove file.
2104
620422fd
DE
2105Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
2106
2107 * dbxout.c (dbxout_parms): If mode of type of parameter living
2108 in memory doesn't match mode of DECL_RTL, make big endian correction.
2109
d2f2cb19
JW
2110Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
2111
2112 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
2113
bbc0e641
JM
2114Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
2115
2116 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
2117 * stor-layout.c (layout_record): Set it.
2118
2119Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
2120
2121 * toplev.c (rest_of_compilation): Don't defer nested functions.
2122
92834d7d
BM
2123Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
2124
2125 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
2126 to an 8-byte boundary if info_ptr->fpmem_p.
2127
829002bb
BM
2128Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
2129
2130 * loop.c (basic_induction_var): Added test preventing
2131 CCmode parameter passed to convert_modes().
2132
b24f65cd
APB
2133Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
2134
2135 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
2136 input_filename and lineno around expand_expr call. Set them to values
2137 in WFL before expand_expr call.
2138
b09293cc
BK
2139Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
2140
2141 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
2142
f628873f
MM
2143Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
2144
2145 * fold-const.c (constant_boolean_node): New function.
2146 (fold): Use it.
2147
61fb6bac
R
2148Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2149
2150 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
2151 Abort if trying to split kind 3 or 4 outside of combine.
2152
8f9661dd
JL
2153Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
2154
2155 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
2156
b22284e1
MK
2157Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
2158
2159 * objc/Make-lang.in (OBJC_O): Add missing exeext.
2160 (libobjc.a, runtime-info.h): Likewise.
2161
8a022443
JW
2162Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
2163
2164 * i386.h (DATA_ALIGNMENT): Define.
2165
aa6498c2
R
2166Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2167
2168 * reload1.c (delete_output_reload): Ignore single USE that
2169 was emitted for the pseudo use of this INSN.
2170 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
2171 remains, we can always delete OUTPUT_RELOAD_INSN.
2172
41372177
JW
2173Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
2174
2175 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
2176
ddc5654a
JL
2177Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
2178
2179 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
2180
9a0d1e1b
AM
2181Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2182
2183 * eh-common.h: New file for basic EH data structures.
2184 * except.h: Various prototypes and structures for NEW_EH_MODEL
2185 * function.h (struct function): Add a struct eh_stack for the catch
2186 clause stack.
9b91d8f4 2187 * except.c (gen_exception_label): New function to generate an
9a0d1e1b
AM
2188 exception label.
2189 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
2190 (push_entry): New function to push an existing entry onto a stack.
9b91d8f4 2191 (receive_exception_label): New function to emit the code required
9a0d1e1b
AM
2192 at the start of all catch blocks.
2193 (struct func_eh_entry): New structure for maintaining handlers
2194 associated with EH regions.
2195 (new_eh_region_entry): New function to register an EH region.
2196 (add_new_handler): New function to register a handler with a region.
2197 (get_new_handler): Creates anew handler entry for registering.
2198 (find_func_region): New function to convert a NOTE eh region number
2199 to an Eh region index.
2200 (get_first_handler): New function to get the first handler in a region.
2201 (clear_function_eh_region): New function to release memory.
2202 (duplicate_handlers): New function to duplicate a list of handlers.
2203 (expand_eh_region_end): Create a new region entry node as well.
2204 (expand_leftover_cleanups): Call receive_exception_label() and
2205 register the cleanup as a handler to the current region.
2206 (expand_start_catch): New function to start a catch clause.
2207 (expand_end_catch): New function to end a catch clause.
2208 (expand_start_all_catch): restructure to not do the equivilent of
2209 what expand_start_catch() does now. Push the exception region being
2210 handled onto the catch stack.
2211 (output_exception_table_entry): Issue an entry for each handler
2212 associated with a region.
2213 (set_exception_lang_code): New function for setting the language code.
2214 (set_exception_version_code): New function to set the version number.
2215 (output_exception_table): Output version and language codes.
2216 (find_exception_handler_labels): Find handler labels using new scheme.
2217 (is_exception_handler_label): New function, returns 1 if label is
2218 present as a handler in some exception region.
2219 (check_exception_handler_labels): Use the new scheme.
2220 (init_eh_for_function): Initialize the catch stack.
2221 (save_eh_status): Save the catch stack.
2222 (restore_eh_status): Restore the catch stack.
2223 (scan_region): Don't remove unreferenced handler label. Flow does it.
2224 (get_reg_for_handler): New function to get the eh_context pointer
2225 passed by __throw.
2226 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
2227 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
2228 entry when processing END region rather that START region.
2229 * flow.c (find_basic_blocks_1): Find all potential handler regions
2230 now that we don't automatically know what the labels might be.
2231 Let scan_region() remove unreferenced EH BEGIN/END labels.
2232 * integrate.c (get_label_from_map): Put inlined labels onto the
2233 permanent obstack since we dont know which ones might be exception
2234 labels.
2235 (save_for_inline_copying): Make new copies of all the handlers.
2236 (expand_inline_function): Make new copies of all the handlers.
2237 * libgcc2.c: Remove local struct decls, and include eh-common.h.
9b91d8f4 2238 (find_exception_handler): With NEW_EH_MODEL the first matching
9a0d1e1b
AM
2239 region we find is the right one. Add eh_info as a new parameter.
2240 (__throw): Pass eh_info to find_exception_handler. Set handler
2241 and pass use different regs under NEW_EH_MODEL.
2242
2129b081
JW
2243Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
2244
2245 * i960.h (hard_regno_mode_ok): Changed to function from array of
2246 unsigned.
2247 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
2248 * i960.c (hard_regno_mode_ok): Changed to function from array of
2249 unsigned.
2250
029b38ff
R
2251Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2252
2253 * reload.c (remove_replacements): New function.
2254 * reload.h (remove_replacements): Declare.
2255 * reload1.c (choose_reload_regs): Disable some reloads that
2256 belong to inherited reloads.
2257
efdb3590
R
2258Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2259
9dd07f87
R
2260 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
2261
efdb3590
R
2262 * reload1.c (merge_assigned_reloads): When merging, reset
2263 reload_spill_index for the eliminated reload.
2264
5d27de7d
JL
2265Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
2266
2267 * haifa-sched.c (schedule_insns): Fix merge goof.
2268
92d4501f
JW
22691998-05-13 Jim Wilson <wilson@cygnus.com>
2270
2271 * varasm.c (make_decl_rtl): Revert April 1 change.
2272 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
2273 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
2274 Get function name from the SYMBOL_REF in the DECL_RTL, not from
2275 DECL_ASSEMBLER_NAME.
2276 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
2277 DECL_ASSEMBLER_NAME.
2278
d6cc54f6
JW
2279Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
2280
2281 * i386.c (notice_update_cc, output_float_compare): Disable
2282 TARGET_CMOVE support.
2283
6d3352d9 2284Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
0dfa1860
MM
2285 Jeff Law <law@cygnus.com>
2286
ae78d276
MM
2287 * rtlanal.c (find_reg_note): Ignore notes that are not on on
2288 insns of class 'i'.
2289 (find_regno_note): Likewise.
2290
82ce5b75
MM
2291 * Makefile.in (stor-layout.o): Depend on except.h
2292 (varasm.o, function.o): Likewise.
2293 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
2294
0dfa1860
MM
2295 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
2296 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
2297 ($(HOST_PREFIX_1)rtl.o): Likewise.
2298 ($(HOST_PREFIX_1)bitmap.o): New host object.
2299 * emit-rtl.c (toplevel): Include bitmap.h.
2300 (gen_rtx): Handle 't' and 'b' nodes.
2301 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
2302 Print block number for block begin/end notes. Print 't' type
2303 nodes as a pointer. Know that the 3rd argument of live range
2304 start/stop notes is really a range_info rtx. If type is 'b', print
2305 out argument as a bitmap.
2306 * rtl.c: Include bitmap.c.
2307 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
2308 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
2309 * rtl.def (RANGE_LIVE): New node to hold live information while we
2310 recalculate the basic blocks.
2311 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
9b91d8f4 2312 (RANGE_VAR): New node, to hold information saved in symbol node for New
0dfa1860
MM
2313 communicating live range information to the debug output functions.
2314 * rtl.h (rtunion_def): Add rttree and rtbit fields.
2315 (XBITMAP, XTREE): New accessor macros.
2316 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
2317 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
2318 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
2319 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
2320 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
2321 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
2322 (RANGE_INFO_*): Likewise.
2323 * sched.c (sched_analyze): Keep live range start/stop notes.
2324 (unlink_other_notes): Likewise.
2325 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
2326 (unlink_other_notes): Likewise.
2327 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
2328 (BLOCK_LIVE_RANGE_FLAG): Likewise.
2329 (DECL_LIVE_RANGE_RTL): Likewise.
2330 (struct tree_block): Add live_range_flag, live_range_var_flag,
2331 live_range_start and live_range_end.
2332 (struct tree_decl): Add live_range_rtl field.
2333 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
2334 (accessor_from_format): Likewise.
6d3352d9
MM
2335
2336 * haifa-sched.c (schedule_block): Make verbose output line up.
47312d84 2337 Also add a blank line in printing the individual ready lists.
6d3352d9 2338
63e76c87
KG
2339Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2340
2341 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
2342 (c-lex.o): Depend on output.h.
2343 (c-common.o): Likewise.
2344 (stmt.o): Likewise.
2345 (calls.o): Likewise.
2346 (integrate.o): Depend on toplev.h.
2347 (regclass.o): Depend on output.h.
2348 (final.o): Depend on reload.h.
2349
2350 * c-common.c: Include output.h.
2351 (check_format_info): Remove unused variable `integral_format'.
2352
2353 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
2354 `indent' with ATTRIBUTE_UNUSED.
2355 (print_lang_type): Likewise.
2356 (maybe_build_cleanup): Likewise for parameter `decl'.
2357 (copy_lang_decl): Likewise for parameter `node'.
2358
2359 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
2360 (lang_print_xnode): Mark parameters `file', `node' and `indent'
2361 with ATTRIBUTE_UNUSED.
2362 (lookup_interface): Likewise for parameter `arg'.
2363 (is_class_name): Likewise.
2364 (maybe_objc_check_decl): Likewise for parameter `decl'.
2365 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
2366 `reflexive'.
2367 (maybe_objc_method_name): Likewise for parameter `decl'.
2368 (build_objc_string): Likewise for parameters `len' and `str'.
2369
2370 * c-lex.c: Include output.h.
2371
2372 * c-lex.h (position_after_white_space): Correct typo in prototype.
2373
2374 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
2375 c_expand_end_cond, init_iterators): Add prototypes.
2376
2377 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
2378 with ATTRIBUTE_UNUSED.
2379
2380 * calls.c: Include output.h.
2381
2382 * cccp.c (pipe_closed): Mark parameter `signo' with
2383 ATTRIBUTE_UNUSED.
2384
2385 * combine.c: Move inclusion of expr.h to after insn-config.h.
2386
2387 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
2388 as empty, rather define as ((void)0).
2389
2390 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
2391 Add parentheses around assignment used as truth value.
2392
2393 * cplus-dem.c (squangle_mop_up): Change return type to void.
2394 (internal_cplus_demangle): Remove unused parameter `options'.
2395 All callers changed.
2396 (cplus_demangle_opname): Remove function wide variable `int i' and
2397 replace with `size_t i' at each location where it is used.
2398 (cplus_demangle_opname): change type of `i' from int to size_t.
2399
2400 * cppexp.c (right_shift): Mark parameter `pfile' with
2401 ATTRIBUTE_UNUSED.
2402
2403 * cpphash.c (cpp_lookup): Likewise.
2404 (cpp_hash_cleanup): Likewise.
2405
2406 * cpplib.c (parse_name): Add a prototype and make it static.
2407 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
2408 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
2409 (macro_cleanup): Likewise for parameter `pfile'.
2410 (file_cleanup): Likewise.
2411
2412 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
2413 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
2414
2415 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
2416 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
2417
2418 * cse.c (cse_check_loop_start): Mark parameter `set' with
2419 ATTRIBUTE_UNUSED.
2420
2421 * dbxout.c (flag_minimal_debug, have_used_extensions,
2422 source_label_number): Move inside macro wrapper check against
2423 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
2424
2425 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
2426
2427 * except.h (doing_eh): Provide prototype.
2428
2429 * expr.c: Move inclusion of expr.h to after insn-config.h.
2430
2431 * final.c: Include reload.h.
2432 (shorten_branches): Cast the first argument of bzero to char *.
2433
2434 * fix-header.c (cpp_print_containing_files): Mark parameter
2435 `pfile' with ATTRIBUTE_UNUSED.
2436 (cpp_fatal): Likewise.
2437
2438 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
2439 to char *.
2440
2441 * genattrtab.c (make_length_attrs): Change the type of variable
2442 `i' from int to size_t.
2443 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
2444 (one_fn): Likewise.
9b91d8f4 2445
63e76c87
KG
2446 * genextract.c (main): When generating insn-extract.c, mark
2447 variable `junk' with ATTRIBUTE_UNUSED.
2448
2449 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
2450 argument of bzero to char*.
2451
2452 * integrate.c: Include toplev.h.
2453
2454 * libgcc2.c: Wrap `struct exception_table' and
2455 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
2456
2457 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
9b91d8f4 2458
63e76c87
KG
2459 * objc/objc-act.c: Include toplev.h.
2460 (lang_print_xnode): Mark parameters `file', `node' and `indent'
2461 with ATTRIBUTE_UNUSED.
2462 (finish_protocol): Likewise for parameter `protocol'.
2463
2464 * output.h (declare_weak): Add prototype.
2465 (decode_reg_name): Don't wrap with TREE_CODE macro.
2466 (assemble_alias): Add prototype.
2467
2468 * regclass.c: Include output.h.
2469
2470 * reload.h (reloads_conflict): Add prototype.
2471
2472 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
2473 output_func_start_profiler): Add prototypes.
2474
2475 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
2476 ATTRIBUTE_UNUSED.
2477
2478 * scan-decls.c: Include scan.h.
2479
2480 * scan.h (recognized_function, recognized_extern): Add prototypes.
2481
2482 * stmt.c: Include output.h.
2483
2484 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
2485 (output_lang_identify): Hide prototype and definition.
2486 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
2487 (pipe_closed): Likewise.
2488
2489 * toplev.h (count_error, strip_off_ending, error_for_asm,
2490 warning_for_asm): Add prototypes.
2491
a494747c 2492Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
a494747c 2493
32e705c4
MM
2494 * toplev.c (rest_of_compilation): "Charge" final for any time
2495 doing various cleanup operations after finishing compilation
2496 of a function.
2497
9b91d8f4 2498 * flow.c (dump_flow_info): Also print number of sets and
6fc4610b
MM
2499 whether or not the pseudo is a user variable.
2500
a494747c
MM
2501 * flow.c (reg_n_max): New global variable.
2502 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
2503 Delete regno_max variable.
2504 * regs.h (REG_N_CHECK): Define.
2505 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
2506 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
2507 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
2508
21622caf
JL
2509Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
2510
2511 * acconfig.h (ENABLE_CHECKING): Undefine.
2512 * configure.in (--enable-checking): New option.
2513
d668e863
R
2514Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2515
2516 * reload1.c (merge_assigned_reloads): Can merge
2517 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
2518 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
2519
b706d7f2
JW
2520Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
2521
2522 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
2523
4117a96b
R
2524Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2525
2526 * reload1.c (gen_reload): Create REG_EQUIV notes.
2527
4d3eb414
R
2528Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2529
2530 * reload1.c (reload): Fix check for USEs to use code of pattern.
2531 (choose_reload_regs): Remove dead variable use_insn.
2532
b10c8966
JL
2533Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
2534
9b91d8f4 2535 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
b10c8966 2536
cbb13457
MM
2537Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
2538
2539 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
2540 already defined.
2541 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
2542 (insn_{unit,issue_delay}): Ditto.
2543 (blockage_range): Ditto.
2544 (actual_hazard{,_this_instance}): Ditto.
2545 (schedule_unit): Ditto.
2546 (potential_hazard): Ditto.
2547 (insn_cost): Ditto.
2548 (swap_sort): Ditto.
2549 (queue_insn): Ditto.
2550 (birthing_insn_p): Ditto.
2551 (adjust_priority): Ditto.
2552 (get_block_head_tail): Ditto.
2553 (init_rgn_data_dependences): Ditto.
2554
1478d88a
KK
2555Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
2556
2557 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
2558
a688e0b7
GK
2559Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
2560
2561 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
2562
ec350bdd
GK
2563Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
2564
2565 * config/mips/mips.md (dslot): Move after definition of "cpu"
2566 attribute. Handle r3900 case.
2567
d4ba0ead
KG
2568Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2569
2570 * system.h: Define the STRINGIFY macro here.
2571 * protoize.c: Not here.
2572 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
2573
8a198bd2
JW
2574Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
2575
9b91d8f4 2576 * varasm.c (assemble_variable): Compute the alignment of the data
8a198bd2
JW
2577 earlier so that both initialized and uninitialized variables are
2578 effected by DATA_ALIGNMENT.
2579 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
2580
eace3df1
JL
2581Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
2582
2583 * mips.c: Prototype static functions.
2584
a9e95099
JW
2585Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
2586
b1a7d591
JW
2587 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
2588 Add explanatory comments.
2589
a9e95099
JW
2590 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
2591
0f177d7c
RH
2592Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
2593
2594 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
2595
28233641
JW
2596Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
2597
2598 * varasm.c (make_decl_rtl): Disable April 1 change.
2599
e55a5ea6
RH
2600Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
2601
2602 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
2603
e83015a9
RH
2604Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
2605
2606 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
2607 * alpha.c (print_operand): Handle it.
9b91d8f4 2608 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
e83015a9
RH
2609 related define_splits. Also add peepholes for SImode reload
2610 plus sign_extend lossage.
2611
320e7c40
KG
2612Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2613
2614 * genattr.c: Include stdarg.h/varargs.h. Change function
2615 `fatal' to use variable arguments instead of faking it with
2616 integer parameters. Provide a prototype which also
2617 checks the format specifiers using ATTRIBUTE_PRINTF_1.
2618
2619 * genattrtab.c: Likewise.
2620 * gencodes.c: Likewise.
2621 * genconfig.c: Likewise.
2622 * genemit.c: Likewise.
2623 * genextract.c: Likewise.
2624 * genflags.c: Likewise.
2625 * genopinit.c: Likewise.
2626 * genpeep.c: Likewise.
2627 * genrecog.c: Likewise.
2628 * genoutput.c: Likewise. Similarly for function `error'.
2629
e9b4fabf
JL
2630Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2631
2632 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
2633 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
2634 * configure.in: Use GCC_C_VOLATILE.
2635 * system.h (volatile): Define as empty if no volatile support is
2636 available.
2637
2638Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
2639
2640 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
2641 generated fucntion.
2642
f283421d
RH
2643Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
2644
2645 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
2646 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
2647 the body of beq; additionally set the mode of the branch to CCmode for
9b91d8f4 2648 FP compares and not fast_math.
f283421d
RH
2649 (alpha_emit_conditional_move): Always use a compare insn for FP
2650 when not fast_math, as well as setting CCmode on the cmov.
2651 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
2652
2653 * machmode.h (COMPLEX_MODE_P): New macro.
2654
53c0919d
RH
2655Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
2656
2657 * haifa-sched.c (print_exp): Fix typo.
2658
23d297ab
JL
2659Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
2660
2661 * version.c: Bump for snapshot.
2662
cf879efa
MM
2663Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
2664
2665 * final.c (final_scan_insn): Call fatal_insn instead of abort if
2666 we could not split an insn when required to.
2667
5b8ae21f
MM
2668 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
2669 level insns.
2670 (peepholes): Disable peepholes that call dead_or_set_p.
2671 (movsi): Rewrite to handle addresses better after last change.
2672 Add define_split to split load of addresses in large/medium modes.
2673 (prologue): Call m32r_expand_prologue.
2674 (movsi_{push,pop}): Generators for push/pop.
2675 (movsi): Support PRE_{INC,DEC}, POST_INC.
2676 (mov{di,df}): Rewrite. Always split the insns.
2677 (movsf): Add define_split to get register load in correct mode.
2678 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
2679 (attributes): Rewrite attributes so that type indicates both the
2680 type and the length of the insn directly.
2681 (all insns): Change to use new type attributes.
2682 (debug): New attribute to convey whether -mdebug was used.
2683 (opt_space): New attribute to convey whether -Os was used.
2684 (function units): Loads are 3 cycles, not 2. Better classify all
2685 insns into short/long.
2686 (load/store/extend insns): Add separate case for load/store
2687 indirect operations without an offset.
2688 (divsi3): Division is a long operation, not short.
2689
2690 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
2691 modes > 1 word.
2692 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
2693 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
2694 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
2695 operands with PRE_{INC,DEC}, POST_INC.
2696 (FUNCTION_PROFILER): Call abort instead of doing nothing.
2697 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
2698 SImode variables.
2699 (gen_split_move_double): Declare.
2700 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
2701
2702 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
2703 emit_move_insn, build up SET's directly.
2704 (toplevel): Include system.h, not stdio.h.
2705 (move_double_src_operand): Allow any DF or DI mode constant.
2706 (gen_split_move_double): Split moves of DI or DF values into the
2707 appropriate moves, loads, or stores. Don't handle use of auto
2708 inc/dec if using dead index. Do handle overlapping moves, etc.
2709 (m32r_frame_info): Remove prologue_size field.
2710 (m32r_compute_frame_size): Don't calculate prologue size.
2711 (m32r_output_function_prologue): Change to pretty much a NOP.
2712 (m32r_expand_prologue): Expand prologue as a series of INSNs.
2713 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
2714 (m32r_print_operand_address): Ditto.
9b91d8f4 2715
d7c2e385
L
2716Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
2717
2718 * reload1.c (emit_reload_insns): When performing expensive
2719 optimizations, do not output the last reload insn if OLD is
2720 not the dest of NSN and is in the src and is clobbered by INSN.
2721
560bd19e
KG
2722Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2723
2724 * Makefile.in (genrtl.o): Depend on system.h.
2725 * gengenrtl.c (gencode): When creating genrtl.c, have it
2726 include system.h.
2727
0d33d22e
AS
2728Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2729
2730 * config/m68k/t-linux: Remove extra stuff already included in
2731 config/t-linux.
2732
dea4ae0d
MH
2733Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
2734
2735 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
2736 curses.h if it contains `typedef char bool;', as suggested by
2737 Manfred Hollstein <manfred@s-direktnet.de>.
2738
2739 * configure.in: Rename fixinc.math to fixinc.wrap.
2740
02e56202
JW
2741Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
2742
bbeb7b65
JW
2743 * gcc.c (read_specs): Handle missing blank line at end of specs file.
2744
02e56202
JW
2745 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
2746 movdfcc_1): Disable.
2747
e445171e
JW
2748Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
2749
2750 * configure.in (enable_threads): Rename to enable_threads_flag before
2751 main loop. Set enable_threads to enable_threads_flag inside main
2752 loop.
2753
a1b5a7e1
MM
2754Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
2755
2756 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
2757 multiple times.
2758
76b4b31e
KG
2759Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2760
2761 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
9b91d8f4 2762
76b4b31e
KG
2763 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
2764 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
2765 (AC_CHECK_FUNCS): Remove unused check for vprintf.
9b91d8f4 2766
76b4b31e
KG
2767 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
2768 (cccp.o): Depend on gansidecl.h.
2769 (cexp.o): Likewise.
2770
2771 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
2772 per the rest of gcc source.
2773 * cexp.y: Likewise. Include gansidecl.h and remove all code made
2774 redundant.
2775
2776 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
2777 used when vfprintf is missing.
2778 * cexp.y: Likewise.
2779 * gcc.c: Likewise.
2780 * genattrtab.c: Likewise.
2781 * mips-tfile.c: Likewise.
2782 * toplev.c: Likewise.
2783
2784 * vfprintf.c: New file.
2785 * doprint.c: New file.
2786
bebc4663
JL
2787Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
2788
2789 * config/linux.h (ASM_COMMENT_START): Remove from here,
2790 * config/linux-aout.h (ASM_COMMENT_START): and here,
2791 * config/i386/linux.h (ASM_COMMENT_START): to here,
2792 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
2793 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
2794 here as '#' too.
2795
436bf9fb
AS
2796Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2797
2798 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
9b91d8f4 2799 constant.
436bf9fb 2800
f103890b
RL
2801Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
2802
2803 * Makefile.in (dwarfout.o) Add toplev.h dependency.
2804 * dwarfout.c, i386.c: Include toplev.h
2805 * toplev.h: (pfatal_with_name) Add prototype.
2806
024b5658
JM
2807Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
2808
2809 * Makefile.in: Fix .SUFFIXES.
2810
410c3875
AM
2811Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
2812
2813 * config/linux.h (ASM_COMMENT_START): Define as "#".
2814 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
2815
7e073314
JW
2816Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
2817
71ebb3b8
JW
2818 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
2819 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
2820
a0c8e1b2
JW
2821 * toplev.c: Include toplev.h.
2822 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
2823 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
2824 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
2825 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
2826 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
2827 toplev.h dependency.
9b91d8f4 2828
1b15c5de
JW
2829 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
2830 HARD_FRAME_POINTER_REGNUM.
2831
7e073314
JW
2832 * expr.c (target_temp_slot_level): Delete duplicate definition.
2833
d06eab0d
JL
2834Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
2835
df03cab5 2836 * stmt.c (mark_seen_cases): Make it have external linkage again.
0586a4ce
JL
2837 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
2838 has been included.
df03cab5 2839
6b879bcc
JL
2840 * haifa-sched.c (print_value, case SUBREG): Fix typo.
2841
6b28fd63
JL
2842 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
2843 * i386.h (REG_CLASS_CONTENTS): Similarly.
2844
cc132865
JL
2845 * toplev.c (-fsched-max): Delete flag.
2846 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
2847 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
2848 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
2849 conditionals.
2850
2851 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
2852 inner loops which are not reducible.
2853
fd4a1ca5
JL
2854 * loop.c (regs_match_p): Fix typo in prototype.
2855
d06eab0d
JL
2856 * regmove.c (try_auto_increment): Wrap declaration inside an
2857 #ifdef AUTO_INC_DEC.
2858
31bfbf1f
MM
2859Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
2860
2861 * final.c (output_operand_lossage): Call fatal with the operand
2862 lossage message instead of calling abort.
2863
e9a780ec
KG
2864Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2865
2866 * c-common.c: Convert to using ctype macros defined in system.h.
2867 * c-lex.c: Likewise.
2868 * cccp.c: Likewise.
2869 * collect2.c: Likewise.
2870 * rs6000.c: Likewise.
2871 * cpplib.c: Likewise.
2872 * fix-header.c: Likewise.
2873 * gcc.c: Likewise.
2874 * gen-protos.c: Likewise.
2875 * pexecute.c: Likewise.
2876 * protoize.c: Likewise.
2877 * rtl.c: Likewise.
2878 * scan.c: Likewise.
2879 * stmt.c: Likewise.
2880 * tlink.c: Likewise.
9b91d8f4 2881 * toplev.c: Likewise.
e9a780ec 2882
d4c3e60e
GK
2883Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
2884
9b91d8f4 2885 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
d4c3e60e
GK
2886 Replace -gdwarf-2 with -g0.
2887
90fbb8c9
KG
2888Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2889
2890 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
2891 * mips-tdump.c: Include system.h, remove redundant headers.
2892 * mips-tfile.c: Likewise. Also, convert all ctype function calls
2893 to calls of the macro versions defined in system.h.
2894
2895 * objc/Make-lang.in (objc-act.o): Depend on system.h.
2896 * objc/objc-act.c: Include system.h, remove redundant headers.
2897
8f81384f
KG
2898Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2899
2900 * configure.in (AC_CHECK_FUNCS): Add isascii.
2901 (GCC_NEED_DECLARATIONS): Add atof.
2902
2903 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
2904 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
2905
e572c0c6
KG
2906Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2907
2908 * system.h: Wrap time.h and sys/file.h in autoconf checks.
2909 Provide default definitions for O_RDONLY and O_WRONLY here.
2910
2911 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
2912
8830da36
MM
29131998-05-06 Mark Mitchell <mmitchell@usa.net>
2914
2915 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
2916
c5ff95e6
RL
2917Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
2918
2919 * toplev.h: New file. Protypes for functions in toplev.c.
2920 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
9b91d8f4
UD
2921 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
2922 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
2923 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
2924 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
2925 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
c5ff95e6
RL
2926 varasm.c: include it.
2927
15ebe47d
JL
2928Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
2929 Jim Wilson (wilson@cygnus.com)
2930
2931 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
2932 blocks. Check for 1 successor which is the EXIT_BLOCK.
2933
2934 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
2935 unreachable loops with more than one block.
2936
dbbfa8c8
MH
2937Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
2938
2939 * fix-header.c (write_rbrac): Add "abort" to functions which need to
2940 be protected.
2941
f5963e61
JL
2942Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
2943
2944 * Check in merge from gcc2. See ChangeLog.12 for details.
2945
3d90c2b5
JW
2946Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
2947
c6a9dea8
JW
2948 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
2949 accept 'a' flag. 'S' does accept 'a' flag.
2950 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
2951 and `a' flag.
2952
3d90c2b5
JW
2953 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
2954
97b57a81
AS
2955Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2956
2957 * config/m68k/m68k.h: Declare functions from m68k.c used in
2958 macros and machine description.
2959 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
2960 long values.
2961 (ASM_OUTPUT_FLOAT): Likewise.
2962 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
2963
c5c63738
JM
2964Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
2965
2966 * tree.def: Add NAMESPACE_DECL.
2967 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
2968 * dwarf2out.c (push_decl_scope): Likewise.
2969 (scope_die_for): Likewise.
2970 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
2971 how to get next context level.
2972
2e14a41b
JW
2973Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
2974
2975 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
2976 case.
2977
f78c792c
JL
2978Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
2979
8b05263d
JL
2980 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
2981
f78c792c
JL
2982 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
2983 for any insns skipped at the start of a block because they were
2984 redundant.
2985
4330b0e7
JW
2986Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
2987
2988 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
2989
b57062ca
UD
29901998-05-04 Ulrich Drepper <drepper@cygnus.com>
2991
2992 * c-common.c (format_char_info): Add new field hhlen.
2993 (print_char_table, scan_char_table, time_char_table): Initialize
2994 hhlen field appropriately.
2995 (char_format_info): Recognize hh modifier and lookup correct char
2996 table entry.
2997
06eaa86f
JW
2998Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
2999
3000 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
3001 reference if this is a store.
3002
9ed5dc54
RH
3003Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
3004
3005 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
3006
fb6d9312
RL
3007Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
3008
3009 Make UnixWare 7 bootstrap support work with final shipping product.
b57062ca 3010 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
fb6d9312
RL
3011 Pick up xm-siglist and xm-alloca.
3012 (xm_defines): Add USG so dbxout will build.
3013 * configure: Regenerate.
3014
b53beeb2 3015Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
82d6b402
RH
3016
3017 Support for official Sparc V9 ABI:
3018 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
3019 Care for flag_pcc_struct_return default.
3020 (output_move_quad): Rewrite to move by halves on v9 and in the
3021 proper direction.
3022 (move_quad_direction): New function.
3023 (output_fp_move_quad): Use it to determine the direction of copy.
3024 (function_arg_slotno): Return -1 for FP reg overflow as well.
3025 (function_arg_record_value*): New functions.
3026 (function_arg): Use them. Streamline unprototyped parameter passing.
3027 (function_arg_pass_by_reference): Pass TCmode by reference.
3028 (function_value): New function.
3029 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
3030 long long in 64-bit mode.
3031 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
3032 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
3033 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
3034 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
3035 (BASE_INCOMING_ARG_REG): Likewise.
3036 (FUNCTION_VALUE): Call function_value.
3037 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
3038 * sparc.md (movdi_sp32_v9): Disable for arch64.
3039 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
3040 (call_value_address_sp64): Remove register class constraints.
3041 (call_value_symbolic_sp64): Likewise.
3042 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
3043 v9 case to 32-bit constants.
3044 (goto_handler_and_restore_v9): Provide a version for arch64.
3045 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
3046 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
3047 (CPP_PREDEFINES): New.
3048 * sparc/sp64-elf.h: Likewise.
3049 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
3050 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
3051 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
3052
e40abc32
JL
3053Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
3054
3055 * version.c: Bump for snapshot.
3056
b60a8416
R
3057Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3058
3059 * reload.c (find_reloads): Emit USEs to mark where a pseudo
1e89ac8a 3060 is reloaded with the MEM of its stack slot.
b60a8416
R
3061 * reload1.c (cannot_omit_stores): Delete.
3062 (reload): Don't initialize it.
3063 Don't apply avoid_return_reg logic to USEs.
3064 When done, remove USEs that have a REG_EQUAL note on them.
3065 (emit_reload_insns): Handle case where we have inherited a MEM.
4d3eb414 3066 (choose_reload_regs): Likewise.
b60a8416
R
3067 (delete_output_reload): Don't use cannot_omit_stores.
3068
c1879238
JW
3069Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
3070
3071 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
3072
459b3825
MM
3073Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
3074
3075 * haifa-sched.c (print_{exp,value}): Various changes to make the
3076 debug output easier to read. Also, use only one buffer, and make
3077 sure the buffer we are passed in doesn't overflow.
3078 (safe_concat): Concatenate to a buffer without overflow.
3079
3fe4d12a 3080Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
459b3825
MM
3081
3082 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
3083 with the prototype.
b57062ca 3084
93da030f
R
3085Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3086
3087 * sched.c (new_insn_dead_notes): Check if the register was
3088 used in the original instruction.
3089 * haifa-sched.c (new_insn_dead_notes): Likewise.
3090
0c84c618
JW
3091Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
3092
3093 * dwarf2out.c (scope_die_for): If could not find proper scope,
3094 check for and handle tagged type with incorrect TYPE_CONTEXT.
3095
bf5f0e90
JC
3096Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
3097
3098 * calls.c (expand_call): Fix recognition of C++ operator new.
3099
3100 * alias.c (mode_alias_check): Disable type based alias detection.
3101
a0281dae
GK
3102Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
3103
3104 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
3105 ASM_OUTPUT_WEAK_ALIAS): Define.
3106 * config/mips/elf64.h: Same.
3107 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
3108 ASM_WEAKEN_LABEL): Removed.
3109
55666054
AS
3110Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3111
3112 * calls.c (expand_call): Bump the length limit on the specially
3113 recognized function names to 17.
3114
2cea586a
JW
3115Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
3116
f60d6248
JW
3117 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
3118 when undefining macros at the end.
3119
bf931ec8
JW
3120 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
3121 val or len has TREE_SIDE_EFFECTS set.
3122
2cea586a
JW
3123 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
3124 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
3125 (smuldi3_highpart): Call const v8plus routine.
3126 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
3127 (const_smulsi3_highpart_v8plus): New pattern.
3128 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
3129 (umulsidi3): Call const v8plus routine.
3130 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
3131 routine.
3132 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
3133 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
3134
2b7972b0
MM
3135Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
3136
3137 * m32r.c (*_oper{and|ator}): Change enum arguments and return
3138 values to int, so they can be prototyped even in files that don't
3139 include rtl.h.
3140 ({small,large}_insn_p): Ditto.
3141 (m32r_select_cc_mode): Ditto.
3142 (gen_compare): Ditto.
3143 (function_arg_partial_nregs): Ditto.
3144 (m32r_setup_incoming_varargs): Ditto.
3145 (init_reg_tables): Add prototype.
3146 (m32r_frame_info): Add prolog_size field.
3147 (m32r_compute_frame_size): Calculate the size of the prologue.
3148 (m32r_first_insn_address): Return prologue size.
3149 (m32r_output_function_prologue): Calculate frame size before
3150 printing out information. Print out the prologue size.
3151
3152 * m32r.h: Prototype all functions in m32r.c.
3153 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
3154
3155 * m32r.md (bcc functions): Cast enum's to int.
3156
3157 * m32r.c (conditional_move_operand): Silence a debug message.
3158 ({small,long}_insn): New predicates.
b57062ca 3159
2b7972b0
MM
3160 * m32r.h (TARGET_M32R): New macro.
3161 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
3162 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
3163 was selected.
3164 (ISSUE_RATE): Define as 2.
3165
3166 * m32r.md (insn_size): New attribute.
3167 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
3168 short.
3169 (m32r): New attribute.
3170
3171 * configure.in (enable_haifa): Switch m32r to Haifa by default.
3172 * configure: Regenerate.
3173
3174 (Changes from Nick Clifton <nickc@cygnus.com>)
3175 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
3176 the equivalent of a negated 'I' constraint.
3177 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
3178 optimisation to work.
3179
3180 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
3181 than 'I' since the value is negated.
3182 (peephole): Add peephole optimisation to cope with optimization of
3183 divide and subtracts of the same operands.
3184
3185 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
b57062ca 3186 * m32r.h: Ditto.
2b7972b0
MM
3187 * m32r.md: Ditto.
3188
3189 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
3190 predicates.
3191
bd55c374
MH
3192Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
3193
3194 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
3195
3a6bd8c0
NC
3196Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
3197
3198 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
3199 frame_pointer_rtx not FRAME_POINTER_REGNUM.
3200
0628fde6
JW
3201Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
3202
561cf7b1
JW
3203 * reg-stack.c: Revert last patch (Apr 20).
3204 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
3205
1688d6d2
JW
3206 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
3207
0628fde6
JW
3208 * loop.c (check_dbra_loop): New locals jump, first_compare, and
3209 compare_and_branch. Call get_condition to set first_compare.
3210 Set compare_and_branch to number of compare/branch instructions.
3211 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
3212 Replace '2' with compare_and_branch.
3213
07623417
AM
3214Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
3215
3216 * cplus-dem.c (demangle_qualified): Replace missing else.
3217
97d6fd65
R
3218Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3219
3220 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
3221
3d5a0820
R
3222Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3223
3224 * sh.c (sh_expand_prologue, sh_expand_epilogue):
3225 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
3226 * sh.h (STACK_BOUNDARY): Likewise.
3227
ef41dabb
R
3228Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3229
3230 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3231
14bf4a33
MM
3232Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
3233
22c4957e
MM
3234 * system.h (abort): If abort is not defined, and neither is
3235 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
3236 reporting the line and filename of the error.
3237
3238 * .gdbinit: Add breakpoints on exit and fancy_abort.
3239
563c063f
MM
3240 * final.c (split_double): Avoid a compiler warning if
3241 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
3242
14bf4a33
MM
3243 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
3244 for calling jump_optimize.
3245
3246 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
3247 macros, rather than 0/1's.
3248
5d02ee66
RH
3249Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
3250
3251 * alpha.h (CONST_COSTS): Zero is always free.
3252 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
3253
7bf40741
AS
3254Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3255
3256 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
3257 length in the name of a virtual table.
3258
556ccd9b
RH
3259Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
3260
3261 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
3262
1206d294
JL
3263Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
3264
3265 * version.c: Bump for snapshot.
3266
4f242db3
JL
3267Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
3268
3269 * fold-const.c (fold_convert): Fix typo.
3270
de12be17
JC
3271Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
3272
3273 * alias.c (alias_invariant): New variable.
3274 (record_base_value): New argument INVARIANT.
3275 (memrefs_conflict_p): If a register has an entry in the alias_invariant
3276 array, try substituting that value for the register.
3277
3278 * rtl.h: Declare record_base_value.
3279
3280 * loop.c, unroll.c: Update callers of record_base_value.
3281
3282 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
3283 ZERO_EXTEND do not affect base values.
3284
fe81dd69
JL
3285Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
3286
fb2c5c00
JL
3287 * dbxout.c (dbxout_type): Fix typo.
3288 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
3289
fe81dd69
JL
3290 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
3291
87d1ea79
JC
3292Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
3293
3294 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
3295 if the argument is the address of a structure or array.
3296
3297 * configure.in: Enable Haifa scheduler by default for SPARC.
3298
e89d3e6f
R
3299Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3300
3301 * cse.c (cse_set_around_loop): Don't do optimization when
3302 new pseudos are created.
3303
442f4018
JL
3304Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
3305
3306 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
3307 appropriately.
3308 (dbxout_type_method_1, dbxout_type): Likewise.
3309 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
3310 (dbxout_type): Fix check for when to print a type range in
3311 octal vs decimal.
3312
7174c937
R
3313Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3314
3315 * (gen_shl_and, in case 1): Fix comparison with mask.
3316
0b812758
NC
3317Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
3318
3319 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
3320 pointer as second register in REG+REG pair.
3321
753a73c8
KG
3322Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3323
3324 * c-common.c (check_format_info): Don't check for the 'x' format
3325 character twice, instead check for 'x' and 'X'
3326
4a1991b3
MH
3327Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
3328
3329 * Makefile.in (libgcc2.ready): Add explicit dependancy from
3330 $(STMP_FIXPROTO) to ensure all necessary include files have
3331 been created and to guarantee proper parallel builds.
3332
aec373f1
R
3333Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3334
3335 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
3336 register for stdarg functions.
3337 * sh.h (current_function_varargs): Declare.
3338 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
3339
f5880dbe
JW
33401998-04-23 Jim Wilson <wilson@cygnus.com>
3341
f1f53f0b
JW
3342 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
3343 inhibit_libc is defined.
3344
f5880dbe
JW
3345 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
3346
8ade1519
JW
3347Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
3348
3349 * profile.c (tablejump_entry_p): New function.
3350 (branch_prob): Add code to recognize MIPS tablejump entry branch.
3351 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
3352
a2538ff7
NC
3353Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
3354
3355 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
3356 found, rather than at end of the loop, after the insn has been
b57062ca 3357 changed.
a2538ff7 3358
d0c42859
R
3359Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3360
3361 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
3362 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
3363
693e265f
MM
3364Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
3365
3366 * loop.c (note_addr_stored): Correct function to take 2 arguments,
3367 instead of 1.
3368
3369 * rtl.def (MATCH_INSN2): Add new matching pattern.
b57062ca 3370 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
693e265f 3371
27eef9ce
JC
3372Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
3373
3374 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
3375 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
b57062ca 3376
27eef9ce
JC
3377 * final.c (split_double): Sign extend both halves of a split CONST_INT.
3378
d972dd33
JL
3379Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
3380
3381 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
3382
5e5199e8
AM
3383Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
3384
3385 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
3386 (cplus_demangle_opname): Call mop_up_squangle.
b57062ca 3387 (cplus_demangle): Initialize squangle info, then call
5e5199e8 3388 internal_cplus_demangle. (Most code moved there as well)
b57062ca 3389 (internal_cplus_demangle): New function, performs most of what use
5e5199e8
AM
3390 to be done in cplus_demangle, but is only called with this file.
3391 (squangle_mop_up): New function to clean up B and K code data.
3392 (mop_up): set pointers to NULL after freeing.
b57062ca 3393 (demangle_signature, demangle_template, demangle_class): Add
5e5199e8
AM
3394 switch elements to handle K and B codes.
3395 (demangle_prefix, gnu_special, demangle_qualified): Add
3396 code to handle K and B codes.
3397 (do_type, demangle_fund_type): Handle B and K codes.
3398 (remember_Ktype): New function to store K info.
3399 (register_Btype, remember_Btype): New functions for B codes.
3400 (forget_B_and_K_types): New function to destroy B and K info.
3401
0dacbd0e
JW
34021998-04-21 Jim Wilson <wilson@cygnus.com>
3403
3404 * stmt.c (check_seenlabel): When search for line number note for
3405 warning, handle case where there is no such note.
3406
4ceb7595
JC
3407Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
3408
3409 * genemit.c (gen_exp): Allow machine description to set mode of
3410 MATCH_OP_DUP.
3411
d09c9385
JC
3412Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
3413
3414 * alias.c (mode_alias_check): New function.
3415 (true_dependence, anti_dependence, output_dependence): Call
3416 mode_alias_check.
3417
1eeed24e
JL
3418Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
3419
d1c17572
JL
3420 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
3421 (MIPS_STACK_ALIGN): Similarly.
3422
a6d7e156
JL
3423 * c-common.c (type_for_mode): Handle TI types.
3424 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
3425 (init_decl_processing): Handle TI types.
3426 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
3427
1eeed24e
JL
3428 * mips.c (block_move_loop): Test Pmode == DImode instead of
3429 TARGET_MIPS64.
3430 (expand_block_move, save_restore_insns): Likewise.
3431 (function_prologue, mips_expand_prologue): Likewise.
3432 (mips_expand_epilogue): Likewise.
3433 * mips.h (POINTER_SIZE): Allow specific targets to override.
3434 (Pmode): Allow specific targets to override.
3435 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
3436 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
3437 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
3438 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
3439 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
3440 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
3441 * mips.md (indirect, tablejump & casesi support): Test for
3442 Pmode == DImode instead of TARGET_MIPS64.
3443 (call patterns): Likewise.
3444
d2f5ef70
KG
3445Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3446
3447 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
3448 for gen_rtx(MEM, ...).
3449
cb85a2f3
RH
3450Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
3451
3452 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
3453 to not be so gross, and to properly function with PIC.
3454
bb27e6c9
JW
3455Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
3456
99b13ed3
JW
3457 * frame.c (heapsort): Rename to frame_heapsort.
3458
bb27e6c9
JW
3459 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
3460
a9a05945
DE
3461Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
3462
3463 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
3464
dc0f0eb8
JW
3465Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
3466
3467 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
3468 operands during and after reload.
3469
95707627
R
3470Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3471
ba70e85a
JR
3472 * final.c (shorten_branches, init_insn_lengths): Move code
3473 to free label_align, uid_shuid, insn_lengths, insn_addresses
3474 and uid_align from the former function into the latter one;
3475 Add code to clear these variables.
3476 * sh.h (label_align): Remove declaration.
95707627 3477
0cd355fe
MM
3478Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
3479
763d7ce8
MM
3480 * gcc.c (lang_specific_driver): Declare prototype properly so
3481 fatal can be passed to it without error.
3482
f55b1ca8
MM
3483 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
3484 * configure: Regenerate.
3485 * config.in: Add #undef's for strchr and strrchr.
3486
3487 * protoize.c (toplevel): If we have rindex, but not strrchr, map
3488 rindex to strrchr.
3489 (file_could_be_converted): Use strrchr, not rindex since rindex is
3490 not defined on Linux systems when _POSIX_SOURCE is defined.
3491 (file_normally_convertible): Ditto.
3492 (process_aux_info_file): Ditto.
3493 (main): Ditto.
3494
0cd355fe
MM
3495 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
3496 a constant to an integer register, don't split the insns that do
3497 the simple AND and OR operations, rather just split each word, and
3498 let the normal movsi define split handle it further.
3499
a0798779
R
3500Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3501
3502 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
3503 (split_branches): Call init_insn_lengths.
3504
ced8dd8c
MM
3505Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
3506
3507 * i386.c: Include expr.h to get the change_address prototype
3508 declared.
b57062ca 3509
f37eb5cb
L
3510Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
3511
3512 * reg-stack.c (subst_asm_stack_regs): Change to return the last
3513 new insn generated by this function.
3514 (subst_stack_regs): Likewise.
3515 (convert_regs): Record the last newly generated insn and use
3516 it for change_stack () instead of INSN.
3517
49fb8382
MH
3518Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
3519
3520 * fix-header.c (enum special_file): Undefine enumerators if they
3521 are already defined by include files.
3522 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
3523 macro with '__' to not pollute user namespace.
3524
c6a754f2
RH
3525Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
3526
3527 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
3528
399cc148
JL
3529Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
3530
3531 * version.c: Bump for snapshot.
3532
84b77fba
JW
3533Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
3534
07415a17
JL
3535 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
3536
84b77fba
JW
3537 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
3538 Add missing -Dpentium* options.
3539 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
3540 instead of CPP_CPU_DEFAULT.
3541 (EXTRA_SPECS): Add entry for cpp_cpu_default.
3542
db72d7a1
DE
3543Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
3544
3545 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
3546 negative in a stackless frame.
3547 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
3548 in stackless frame size. Support 64-bit stackless frame size.
3549 Combine fpmem offset calculations and don't add total_size to
3550 offset if not pushing a stack frame.
3551
a1ecb5ca
JW
3552Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
3553
3554 * regmove.c (fixup_match_1): In three places, in flag_exceptions
3555 check, change p to q.
3556
a2a05b0a
JW
3557Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
3558
3559 * gcc.c (lang_specific_driver): Add new parm type to prototype.
3560 (added_libraries): New file scope static variable.
3561 (process_command): Initialize added_libraries. Pass it to
3562 lang_specific_driver.
3563 (main): Use added_libraries in check for no input files.
b57062ca 3564
284d86e9
JC
3565Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
3566
3567 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
3568 code generation. Use 64 bit instructions in 32 bit mode when
3569 possible. Use V9 return instruction. UltraSPARC optimizations.
3570
3571 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
3572
43be8193
JL
3573Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
3574
ea8693a4
JL
3575 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
3576 just pass zero. That will work regardless of the size of HARD_REG_SET.
3577
43be8193
JL
3578 * libgcc2.c (__floatdisf): Fix a couple typos.
3579
45df6aea
JW
3580Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
3581
3582 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
3583
6cca74ab
GM
3584Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
3585
3586 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
3587
77e6b0eb
JC
3588Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
3589
3590 * emit-rtl.c (operand_subword_force): If a register can not be
3591 accessed by words, copy it to a pseudo register.
3592
27f4cfdb
JW
3593Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
3594
3595 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
3596
f4a73984
MM
3597Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
3598
3599 * tree.h (mark_seen_cases): Delete declaration.
3600
00769100
JL
3601Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
3602
3603 * stmt.c (mark_seen_cases): Make static and add prototype.
3604
2467749d
KG
3605Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3606
3607 * frame.c: Include stdlib.h and unistd.h to possibly get various
3608 function prototypes. The fixproto script guarantees these header
3609 files exist on the target system.
3610 * libgcc2.c: Likewise.
b57062ca 3611
2467749d
KG
3612 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
3613 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
3614 function parameters.
3615 * libgcc2.c (__udiv_w_sdiv): Likewise.
3616
74c5186c
JL
3617Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
3618
ac546323
JL
3619 * varasm.c (asm_output_bss): Add prototype.
3620 (asm_output_aligned_bss): Likewise.
3621
3622 * unroll.c (verify_addresses): Add prototype.
3623
3624 * toplev.c: Add many prototypes. Too many to mention here.
3625
3626 * stmt.c (check_seenlabel): Add prototype.
3627
3628 * rtlanal.c (reg_set_p_1): Add prototype.
3629 (reg_set_last_1): Likewise.
3630
3631 * reorg.c (find_dead_or_set_registers): Add prototype.
b57062ca 3632
ac546323
JL
3633 * regmove (try_auto_increment): Add prototype.
3634
3635 * reg-stack.c (pop_stack): Add prototype.
3636
3637 * recog.c (validate_replace_rtx_1): Add prototype.
3638 (find_cosntant_term_loc): Likewise.
3639
a777ae13
JL
3640 * loop.c (regs_patch_p): Add prototype.
3641 (add_label_notes, count_nonfixed_reads): Likewise.
3642 (find_single_use_in_loop): Likewise.
3643 (express_from): Surround prototype with #ifdef.
3644 (giv_sort): Similarly.
3645
3646 * jump.c (mark_modified_reg): Add prototype.
3647
3648 * haifa-sched.c (is_prisky): Add prototype.
3649 (queue_to_ready): Likewise.
3650
3651 * genextract.c (gen_insn): Add prototype.
3652
3653 * genemit.c (max_operand_1): Add prototype.
3654 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
3655 (gen_expand, gen_explit, output_add_clobbers): Likewise.
3656 (output_init_mov_optab): Likewise.
3657
3658 * genattrtab.c (attr_hash_add_rtx): Add prototype.
3659 (attr_hash_add_string, write_length_unit_log): Likewise.
3660
3661 * genattr.c (init_range): Add prototype.
3662
3663 * combine.c (sets_function_arg_p): Add prototype.
3664
3665 * expr.c (store_constructor_field): Add prototype.
3666 (get_memory_usage_from_modifier): Likewise
3667
3668 * expmed.c (synth_mult): Add prototype.
3669 (choose_multiplier, invert_mod2n): Likewise.
3670
242c13b0
JL
3671 * except.c (push_eh_entry): Add prototype.
3672 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
3673 (call_get_eh_context, start_dynamic_cleanup): Likewise.
3674 (start_dynamic_handler, can_throw): Likewise.
3675 (output_exception_table_entry, scan_region): Likewise.
3676 (eh_regs, set_insn_eh_region): Likewise.
3677
1ad4f46b
JL
3678 * dwarfout.c (decl_class_context): Add prototype.
3679 (output_inheritance_die, type_ok_for_scope): Likewise.
3680
e822c593
JL
3681 * c-lex.c (skip_white_space_on_line): Add prototype.
3682
70fec650
JL
3683 * alias.c (record_set): Add prototype.
3684 (find_base_term, base_alias_check): Likewise.
b57062ca 3685
1ac4f799
JL
3686 * function.c (assign_outer_stack_local): Make static and add prototype.
3687
a2e68776
JL
3688 * haifa-sched.c (build_control_flow): Accept raw data as inputs
3689 instead of computing it locally. Callers changed.
3690 (find_rgns): Several new arguments. Callers changed.
3691 Generally clean up and comment better. Use dominators to
3692 identify reducible loops. Convert some flag arrays to bitmaps.
3693 Convert most of the code to work on pred/succ lists instead of
3694 an edge table. Add comments for future improvements.
3695 (schedule_insns): Allocate temporary tables for flow data, call
3696 routines to compute flow data and pass it along to children as
3697 arguments.
3698 (debug_control_flow): Delete. Use dump_bb_data instead.
3699
97b1ef1c
JL
3700 * basic-block.h (compute_dominators): Declare.
3701
74c5186c
JL
3702 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
3703 functions.
3704 * basic-block.h: Declare them.
3705
7ce55772
JW
3706Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
3707
3708 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
3709 no operands.
3710
e88caebd
APB
3711Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
3712
3713 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
3714 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
3715 node is non NULL. Cache last file name and file name identifier node.
3716
a62e870c
MM
37171998-04-15 Mark Mitchell <mmitchell@usa.net>
3718
3719 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
3720 the length of an array, not TREE_TYPE.
3721
5e89e58b
JL
3722Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
3723
3724 * flow.c (sbitmap_union_of_successors): New function.
3725 * basic-block.h (sbitmap_union_of_successors): Declare it.
3726
df6faf79
JW
3727Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
3728
3729 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
3730 Set gnu_ld to gnu_ld_flag inside main loop.
3731 (gas): Likewise.
3732
5c60e5c0
DB
3733Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
3734
3735 * toplev.c (compile_file): Call init_parse using new interface.
3736 (init_lex): Remove declaration.
3737
3738 * c-lex.c (init_parse): Now returns char* containing filename.
3739
2872409d
JL
3740Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
3741
3742 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
3743
4db83042
MM
3744Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
3745
3746 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
3747 (gen{extract,peep,opinit,output}): Ditto.
3748
3749 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
3750 global definition so print-rtl.o can be linked in.
3751 * gen{peep,recog}.c (insn_attr_name): Ditto.
3752
9aeba741
RP
3753Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
3754
3755 * fixincludes: discard empty C++ comments, as found in sys/time.h
3756 on hpux-11.0.
3757
7878eae7
AS
3758Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3759
3760 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
3761 operand.
3762
fcb7cb6c
JL
3763Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
3764
3765 * emit-rtl.c (operand_subword): Rework slightly to avoid
3766 bogus warning from previous change.
3767
47747e53
RH
3768Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
3769
3770 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
3771 Nov 8 find_replacement change. Move decls of get_unaligned_address
3772 * alpha.h: ... here.
3773
8450a694
JC
3774Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
3775
7940255d
JC
3776 * function.c (assign_parms): Initialize unsignedp before passing
3777 its pointer to promote_mode.
3778
8450a694
JC
3779 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
3780 (write_test_expr): Allow MATCH_INSN.
3781
c70afde1
PE
3782Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
3783
3784 * install.texi: Update section on warnings that can be safely ignored.
3785
cf877a42
JW
3786Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
3787
3788 * mips.md (reload_outdi): Change the scratch mode from DImode to
3789 TImode. New variable scratch, used instead of operand[2] in template.
3790 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
3791
996d9dac
MM
3792Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
3793
3794 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
3795
de2d990f
KW
3796Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
3797
3798 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
3799
d5daf098
JL
3800Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
3801
6862dfac
JL
3802 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
3803 (ASM_FINISH_DECLARE_OBJECT): Likewise.
3804
b7cb92ad
JL
3805 * Idea and part of the patch from HJ.
3806 * Makefile.in: auto-host.h renamed from auto-config.h. All references
3807 changed.
3808 (distclean): Remove auto-build.h too.
3809 * configure.in: Rename host autoconf generated file to auto-host.h.
3810 If host != build, then run autoconf to generate auto-build.h for
3811 the build machine and include it in build_xm_files.
3812 Check for wait.h and sys/wait.h.
3813
d5daf098
JL
3814 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
3815 TRULY_NOOP_TRUNCATION.
3816
7d02bbef
JM
3817Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
3818
3819 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
3820
4754172c
CM
3821Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
3822
3823 * invoke.texi (ld options) Include memset requirements
3824 for options -nodstdlib and -nodefaultlibs.
3825
bb72a084
PE
38261998-04-12 Paul Eggert <eggert@twinsun.com>
3827
3828 This change is from an idea suggested by Arthur David Olson.
3829
3830 * c-common.c (decl_attributes, record_function_format,
3831 check_format_info, init_function_format_info):
3832 Add support for strftime format checking.
3833 (enum format_type): New type.
3834 (record_function_format): Now static, and takes value of type
3835 enum format_type instead of int.
3836 (time_char_table): New constant.
3837 (struct function_format_info): format_type member renamed from is_scan.
3838 (check_format_info): Use `warning' rather than sprintf followed by
3839 `warning', to avoid mishandling `%' in warnings.
3840 Change `pedwarn' to `warning', since these warnings do not necessarily
3841 mean the program does not conform to the C Standard, as the code
3842 need not be executed.
3843
3844 * c-tree.h (record_function_format): Remove decl; no longer extern.
3845
3846 * extend.texi: Add documentation for strftime format checking.
3847
1be12a4a
JL
3848Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
3849
71922625
JL
3850 * mips/ecoffl.h: Do not include mips.h.
3851 * mips/elf.h: Likewise.
3852
1be12a4a
JL
3853 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
3854 * mips/ecoff.h: Include "mips/mips.h".
3855
9fe69077
JL
3856Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
3857
3858 * version.c: Bump for snapshot.
3859
c6a26dc4
JL
3860Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
3861
3862 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
3863 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
3864 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
3865 between loop optimization passes.
3866 * rtl.h: Updated appropriately.
3867
bbb81923
JL
3868Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
3869
3870 Reinstall this patch from Jason.
3871 * function.c (push_function_context_to): Don't call init_emit.
3872
29cb1e1f
NC
3873Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
3874
3875 * rtl.c (read_skip_spaces): Prevent infinite loops upon
3876 encountering unterminated comments.
3877
3f518020
JL
3878Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
3879
3880 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
3881 64x32 cross builds.
4b104d6e
JL
3882
3883 * configure.in: Handle --with-fast-fixincludes.
3884 (fixincludes): If --with-fast-fixincludes, then use a different
3885 fixincludes program by default.
3886 * Makefile.in (fixinc.sh): New rule.
3887
b76c90cf
L
3888Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
3889
3890 * i386.md (movqi+1): Handle invalid QI register.
3891 (movsf_push-1): Likewise.
3892
2e076ddf
NC
3893Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
3894
3895 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
3896 addresses.
3897 symbolic_memort_operand(), call32_operand(), int8_operand(),
3898 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
3899 Not used.
3900 uint16_operand(): Made static.
3901
b1d6ccb8
JL
3902Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
3903
3904 * calls.c (expand_call): Fix typo.
3905
e56e519d
DB
3906Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
3907
3908 * c-lex.c (finput): New global.
3909 (init_parse): Always included. Handle !USE_CPPLIB using
3910 code originally in compile_file.
3911 (finish_parse): Update for CPPLIB.
3912 * toplev.c (init_parse, finish_parse): Declare.
3913 (finput): Delete variable. Now in front-ends.
3914 (compile_file): Remove code which is now handled by init_parse
3915 which is unconditionally called. Similarly for finish_parse.
3916
85d7aed9
GK
3917Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
3918
3919 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
3920 ASM_WEAKEN_LABEL): Add.
3921
574badbc
RH
3922Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
3923
3924 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
3925 * configure.in (alpha-*-linux*): Use them.
3926
bf1e5319 3927Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
b57062ca 3928
bf1e5319
APB
3929 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
3930 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
3931 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
3932 (build_expr_wfl): New prototype declaration.
3933 * tree.c (build_expr_wfl): New function, to build
3934 EXPR_WITH_FILE_LOCATION nodes.
3935 (copy_node): Don't zero TREE_CHAIN if copying a
3936 EXPR_WITH_FILE_LOCATION node.
3937 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
3938 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
3939
ee5254ff
JL
3940Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
3941
62db76ee
JL
3942 * configure.in (v850): Use t-v850.
3943 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
3944
10a998b0
JL
3945 * protoize.c (creat, read, write): Do not declare.
3946
e105f02c
JL
3947 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
3948 refer to the CODE_LABEL before a dispatch table.
3949
56b2d7a7
JL
3950 * invoke.texi: Add ARC options.
3951
c74c0cff
JL
3952 * gcc.c (proces_command): Improve error message for -o with
3953 either -c or -S.
3954
2d58da15
JL
3955 * i386/x-cygwin32 (CLIB): Link in advapi32.
3956
40ef2fc5
JL
3957 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
3958 (ASM_IDENTIFY_LANGUAGE): Likewise.
3959
df89b5e7
JL
3960 * i386.md (movqi recognizer): Don't perfom byte increment into
3961 a NON_QI_REG_P.
3962
f09ff199
JL
3963 * configure.in (x86-dg-dgux): Run fixinc.dgux.
3964
df89b5e7 3965 * i370.h: Fix typo in GEN_INT changes.
f962b99f 3966
c3709629
JL
3967 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
3968 of an empty arglist in prototype.
3969
ee5254ff
JL
3970 * Makefile.in: Remove bytecode crud that crept back in after the
3971 gcc2 merge.
3972
0806342b
BK
39731998-04-08 Brendan Kehoe <brendan@cygnus.com>
3974
3975 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
3976 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
3977
6f734908
RE
3978Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
3979
3980 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3981
56c0e996
BS
3982Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
3983
3984 * c-lex.c (is_class_name): Delete declaration.
3985 (whitespace_cr): Make static and add prototype.
3986 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
3987 yylex, get_directive_line): Turn declarations into prototypes.
3988 (position_after_whitespace, check_newline, yyerror,, is_class_name,
3989 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
3990 prototypes.
3991 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
3992 prototypes.
3993 * gencodes.c (gen_insn): Add prototype.
3994 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
3995 gen_peephole): Add prototypes.
3996 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
3997 prototypes.
3998 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
3999 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
4000 genheader, gencode): Add prototypes.
4001 * genopinit.c (gen_insn): Add prototype.
4002 * genoutput.c (output_prologue, output_epilogue, scan_operands,
4003 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
4004 gen_expand, gen_split, n_occurrences): Add prototypes.
4005 * genpeep.c (gen_peephole): Add prototype.
4006 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
4007 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
4008 labels_in_range_p, count_loop_regs_set, note_addr_stored,
4009 loop_reg_used_before_p, scan_loop, replace_call_address,
4010 skip_consec_insns, libcall_benefit, ignore_some_movables,
4011 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
4012 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
4013 check_final_value, record_giv, update_giv_derive, basic_induction_var,
4014 simplify_giv_expr, general_induction_var, consec_sets_giv,
4015 check_dbra_loop, express_from, combine_givs_p, combine_givs,
4016 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
4017 last_use_this_basic_block, record_initial, update_reg_last_use,
4018 iteration_info, analyze_loop_iterations, insert_bct,
4019 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
4020 into prototypes.
4021
cc46ae8e
JL
4022Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
4023
4024 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4025
e7d075bf
KR
40261998-04-07 Ken Raeburn <raeburn@cygnus.com>
4027
4028 * config/mips/mips.c (siginfo): Deleted.
4029 (override_options): Don't install SIGINFO signal handler.
4030
668d07be
JW
4031Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
4032
4033 * loop.c (check_dbra_loop): When normalize comparison_val, add check
4034 to verify it is non-negative.
4035
cd36edbd
RH
4036Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
4037
4038 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
4039 (alpha_expand_block_clear): Likewise.
4040
e814ca97
RH
4041Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
4042
4043 * tree.h (sizetype_tab): Fix previous change for K&R.
4044
f1d9e6d2
JL
4045Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
4046
4047 * version.c: Bump for snapshot.
4048
22ec3928
RE
4049Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
4050
4051 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
4052 Add USG and POSIX to xm_defines.
4053
10da1131
BM
4054Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
4055
4056 * gcc.c: Add linker spec.
4057 (link_command_spec): Use %(linker) instead of ld.
4058 (main): If collect2 is requested as the linker, see if it exists;
4059 if not, use ld instead.
4060
4061 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
4062 (ld:) Deleted.
4063 (install-collect2): Install as collect2, not ld.
4064
4065 * configure.in(will_use_collect2): It's named collect2 now.
4066
4067 * collect2: Remove checks to see if we were invoked recursively.
4068 (collect_execute): Use _spawnvp under cygwin32.
4069
a8afd67b
JW
4070Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
4071
4072 * haifa-sched.c (build_control_flow): Set unreachable for block whose
4073 only predecessor is itself.
4074
944fc8ab
KG
4075Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4076
4077 * c-parse.in: Include system.h, and remove stuff now made redundant.
4078 * cccp.c: Likewise.
4079 * cexp.y: Likewise.
4080 * protoize.c: Likewise. Properly check for cpp stringification.
4081
4082 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
b57062ca 4083 Depend on system.h.
944fc8ab
KG
4084
4085 * objc/Make-lang.in (objc-parse.o): Likewise.
4086
3286ab57
KG
4087Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4088
4089 * gansidecl.h: Check if compiler supports __attribute__. Provide
4090 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
4091 __attribute__ when its available. Also provide definitions for
4092 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
4093 terms of ATTRIBUTE_PRINTF.
b57062ca 4094
3286ab57
KG
4095 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
4096 of __attribute__.
4097
d276f2bb
CM
4098Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
4099
4100 * combine.c (can_combine_p): Include successor in volatile test.
4101
64ad9df2
R
4102Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4103
4104 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
4105 offset_unsigned.
4106
dc544d2c
JL
4107Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
4108
4109 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
4110 in prototype and definition.
b57062ca 4111
38c413cd
JL
4112Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
4113
4114 * version.c: Bump for snapshot.
4115
59dd0a31
RH
4116Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
4117
b57062ca 4118 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
59dd0a31
RH
4119 alpha_expand_unaligned_store_words.
4120
f31fce3f
JW
4121Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
4122
4123 * i386.md (movsf_push, movsf_mem): Remove.
4124 (movsf_push): Rename from movsf_push_nomove and move in front of
4125 movsf. Use nonmemory_operand predicate and don't bother checking
4126 TARGET_MOVE.
4127 (movsf_push_memory): New pattern.
4128 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
4129 both operands refer to memory then force operand[1] into a register.
4130 (movsf_normal): Change to unnamed pattern.
4131 Likewise for movdf, movxf, and friends.
4132
27ebc03e
JL
4133Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
4134
4135 * version.c: Bump for snapshot.
4136
6ecd4e53 4137Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
98bd9f0f 4138
6ecd4e53 4139 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
98bd9f0f 4140
b57062ca 4141Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
ac08ebd0 4142
6ecd4e53 4143 * configure.in (mips-wrs-vxworks): New target.
ac08ebd0 4144
6ecd4e53 4145Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
f4a788ac 4146
f3978531
JL
4147 * expmed.c (synth_mult): The value -1, has no zeros, so it can
4148 never have the form ...011.
4149
f4a788ac
JL
4150 * version.c: Bump for snapshot.
4151
5cb6195d
RH
4152Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
4153
4154 * i386.c (asm_output_function_prefix, load_pic_register):
4155 Use ASM_GENERATE_INTERNAL_LABEL properly.
4156 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
4157 (print_operand): Ignore it.
4158 (load_pic_register): Use it for the got load call.
4159 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
4160 (prologue_get_pc_and_set_got): Likewise.
4161 * i386.h: Update print_operand docs.
4162
ce193852
RH
4163Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
4164
4165 * i386.md (ffssi, ffshi): Rewrite as define_expands.
4166 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
4167 * i386.c (notice_update_cc): Recognize unspec 5.
4168
0022a940
DMT
4169Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
4170
4171 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
4172 * alpha.c (print_operand): Handle it.
4173 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
4174 for ALPHA_TP_INSN.
4175 (fix_truncdfdi2): Likewise.
4176
896cced4
RH
4177Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
4178
4179 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
4180 of these into a single struct, with additional [us]sizetype entries.
4181 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
4182 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
4183 an array.
4184
8983c716
RH
4185Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
4186
4187 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
4188
4ed43ff8
RH
4189Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
4190
4191 * haifa-sched.c (split_block_insns): Don't supress insn splitting
4192 on subsequent passes.
4193
4194 * alpha.c (hard_fp_register_operand): New function.
4195 * alpha.h (PREDICATE_CODES): Add it.
4196 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
4197 f<-m case and accompanying define_split.
4198 (trapb): Use a unique unspec_volatile number.
4199
8e7bc3cd
RH
4200Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
4201
4202 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
4203 from gcc2 merge.
4204
e5e809f4
JL
4205Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
4206
4207 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
4208 for details.
4209
4210 * haifa-sched.c: Mirror recent changes from gcc2.
4211
516c2342
JL
4212Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
4213
e9eaed43
JL
4214 * Makefile.in (insn*.o): Depend on system.h.
4215
516c2342
JL
4216 * pa.c (output_global_address): Initialize base.
4217 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
4218
7cc34889
MS
42191998-04-03 Mike Stump <mrs@wrs.com>
4220
4221 * gthr.h: Support systems that don't have weak, but have threads.
4222 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
4223 * gthr-vxworks.h: New file.
4224 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
4225
52c18286
JW
4226Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
4227
4228 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
4229
c1ac292d
VM
42301998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
4231
4232 * ginclude/va-i960.h (va_end): Change void * to void.
4233
4cb1caaf
KG
4234Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4235
4236 * Makefile.in (choose-temp.o): Depend on system.h.
4237
4238 * choose-temp.c: Include system.h when IN_GCC.
4239
a9a2595b
JR
4240Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
4241 Richard Henderson <rth@cygnus.com>
4242
4243 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
4244 (move_replacements): New function.
4245 * reload.h: Prototype it.
b57062ca 4246
a9a2595b 4247 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
b57062ca 4248
79363e2f
RH
4249Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
4250
4251 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
4252 Run fixincludes.
4253
4901a643
RH
4254 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
4255 (gen_highpart): Likewise.
ce4d78eb
RH
4256 * final.c (alter_subreg): Allow the target to hook by-mode subreg
4257 hard register number changes.
b57062ca 4258
715f9c99
JL
4259Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
4260
4e86caed
JL
4261 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
4262 rnbitsize, rnmode and rinner.
4263 (make_range): Initialize type.
4264 (fold): Initialize arg0, arg1 and varop.
4265
4266 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
4267 and regnor.
4268 (expand_function_start): Initialize last_ptr.
4269
4270 * stor-layout.c (layout_record): Initialize desired_align.
4271 (get_best_mode): Initialize unit.
4272
4273 * tree.c (copy_node): Initialize length.
4274
aefdd5ab
JL
4275 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
4276
4277 * caller-save.c (insert_save_restore): Initialize pat, code and
4278 numregs.
4279
4280 * emit-rtl.c (push_to_sequence): Initialize top.
4281 (push_topmost_sequence): Likewise.
4282
4283 * genattrtab.c (simplify_by_exploding): Initialize defval.
4284
4285 * profile.c (branch_prob): Initialize dest.
4286
4287 * rtl.h (note_stores): Remove duplicate prototype.
4288 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
4289
4290 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
4291 strings that are not actually lengths.
4292
729da3f5
JL
4293 * genattrtab.c: Make generated file use system.h, instead of
4294 including stdio.h, etc directly.
4295 * genextract.c, genopinit.c, genoutput.c: Likewise.
4296 * genpeep.c, genrecog.c: Likewise
4297
4298 * genoutput.c (process_template): Mark operands in the generated
4299 function as potentially unused if compiling with GNU CC.
4300
2a8034f8
JL
4301 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
4302
715f9c99
JL
4303 * pa.md (reload peepholes): Remove unused variable "mode".
4304
75d3a15b
NC
4305Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
4306
4307 * config/arm/thumb.h: Add super interworking support.
4308 * config/arm/thumb.c: Add super interworking support.
4309 * config/arm/thumb.md: Add super interworking support.
75d3a15b
NC
4310 * config/arm/lib1funcs.asm: Add interworking support.
4311 * config/arm/lib1thumb.asm: Add super interworking support.
75d3a15b
NC
4312 * config/arm/t-semi: Add interworking support.
4313 * config/arm/t-thumb: Add interworking support.
75d3a15b 4314 * config/arm/README-interworking: New file.
b57062ca 4315
63959c22
JW
4316Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
4317
4318 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
4319 (MD_STARTFILE_PREFIX): Unset.
4320
c651e1e0
MM
43211998-04-01 Mark Mitchell <mmitchell@usa.net>
4322
4323 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
4324 entity in a local scope.
4325
4326 * fold-const.c (fold): Call truthvalue_conversion for values which
4327 are folded to boolean type.
4328
3a598fbe
JL
4329Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
4330
4331 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
4332 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
4333 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
4334 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
4335 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
4336 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
4337 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
4338 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
4339 * md.texi: Likewise.
4340
b5026c50
MH
4341Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
4342
4343 * fixincludes (limits.h): Fix nested comments in Motorola's
4344 limits.h and sys/limits.h.
4345
c8d86b9a
JW
4346Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
4347
1a7cb241
JW
4348 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
4349 as dest of expand_binop call.
4350
221a9f65
JW
4351 * alpha.md (extzv): Correct check for valid operand[2] values.
4352
a7ebd547
JW
4353 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
4354 branch.
4355
c8d86b9a
JW
4356 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
4357
97be8f06
SC
4358Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
4359
4360 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
4361 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
b57062ca 4362
97be8f06
SC
4363 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
4364 cygwin32 can override this to allow both unix and win32 style PATHs.
4365
4366 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
4367 style environment paths.
b57062ca 4368
b04cd507
KG
4369Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4370
4371 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
4372 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
4373 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
4374 system.h.
b57062ca 4375
b04cd507
KG
4376 * cpphash.c: Include config.h.
4377 * cppalloc.c: Include system.h. Add parameters to various
4378 function prototypes.
4379 * cpperror.c: Likewise.
4380 * cppexp.c: Likewise.
4381 * cpphash.c: Likewise.
4382 * cpplib.c: Likewise.
4383 * cppmain.c: Likewise.
4384 * fix-header.c: Likewise.
4385 * gcov.c: Likewise.
4386 * gen-protos.c: Likewise.
4387 * gengenrtl.c: Likewise.
4388 * halfpic.c: Likewise.
4389 * hash.c: Likewise.
4390 * scan-decls.c: Likewise.
4391 * scan.c: Likewise.
4392
1aa5d112
JW
4393Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
4394
4395 * README.gnat: Add lang_print_xnode definition.
4396
e18db50d
AS
4397Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4398
4399 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
4400 fmovecr on the 68060.
4401
c0d45032
JL
4402Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
4403
4404 * genemit.c (DONE): Rework so that it works in the true arm if
4405 an if-else conditional.
4406 (FAIL): Likewise.
4407
31ed227b
JL
4408Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
4409
c3670418
JL
4410 * rs6000.c: Do not include stdioh or ctype.h anymore.
4411
234042f4
JL
4412 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
4413 $(RTL_H).
4414 (stor-layout.o): Likewise.
4415 * c-typeck.c: Include rtl.h and expr.h.
4416 * stor-layout.c: Likewise.
4417
72e19470
JL
4418 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
4419 All callers changed.
4420 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
4421 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
4422 All callers changed.
4423
40c3a857
JL
4424 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
4425
c80150b7
JL
4426 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
4427
31ed227b
JL
4428 * tree.h (lang_print_xnode): Provide prototype.
4429
fe776296
JL
4430Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
4431
4432 * version.c: Bump for snapshot.
4433
f1b03ce1
JL
4434Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
4435
3ac2735b
JL
4436 * objc/sendmsg.c (__objc_block_forward): Add braces for return
4437 value if INVISIBLE_STRUCT_RETURN.
4438
f2b147f7
JL
4439 * pa.c (arith_double_operand): Fix parens.
4440
c4fa3460
JL
4441 * haifa-sched.c (print_pattern): Correct arg to sprintf.
4442
f1b03ce1
JL
4443 * Makefile.in (libgcc1.null): Make return type for __foo void.
4444
2e61a5a5
JL
4445Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
4446
ba0b8436
JL
4447 * pa.h: Add declarations for many functions defined in pa.c.
4448
67ac5957
JL
4449 * genpeep.c (main): Remove unused variable 'i' from the generated
4450 file.
4451
c38d8c5b
JL
4452 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
4453 (gen_split): Likewise.
4454 (main): Rework generated definitions of DONE and FAIL so that they
4455 no longer use gotos. Avoids warnings about unused labels.
4456
d6e6c585
JL
4457 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
4458 unused "junk" variable.
4459
2e61a5a5
JL
4460 * genattrtab.c (write_complex_function): Add a default case in
4461 generated switch statement to keep -W -Wall quiet.
4462
0b26e56d
NC
4463Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
4464
157a620e
NC
4465 * invoke.texi: Document more ARM and Thumb command line options.
4466
0b26e56d
NC
4467 * config/arm/xm-thumb.h: New file.
4468
600a4ce7
CB
4469Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
4470
4471 * stmt.c (expand_expr_stmt): Must generate code for
4472 statements within an expression (gcc's `({ ... )}')
4473 even if -fsyntax-only.
4474
4d1d8045
BS
4475Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4476 Jeffrey A Law (law@cygnus.com)
4477
4478 * basic-block.h (basic_block_computed_jump_target): Declare.
4479 * flags.h: (current_function_has_computed_jump): Declare.
4480 * flow.c: (basic_block_computed_jump_target): Define.
4481 (flow_analysis): Allocate it. Set current_function_has_computed_jump
4482 to 0.
4483 (find_basic_blocks): Set current_function_has_computed_jump and
4484 elements of basic_block_computed_jump_target to 1 as appropriate.
4485 * function.c: (current_function_has_computed_jump): Define.
4486 * global.c (global_conflicts): Don't allocate pseudos into stack regs
4487 at the start of a block that is reachable by a computed jump.
4488 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
4489 immediately.
4490 (subst_stack_regs): Undo change from Sep 4 1997.
4491 (uses_reg_or_mem): Now unused, deleted.
4492 * stupid.c (stupid_life_analysis): Compute
4493 current_function_has_computed_jump.
4494 (stupid_find_reg): Don't allocate stack regs if the function has a
4495 computed goto.
4496 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
4497 the current function has a computed jump. Use the global value
4498 instead.
4499
56f28b73
JL
4500Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
4501
4502 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
4503 (DWARF2_UNWIND_INFO): Define to zero.
4504
6ed4bb9a
MM
4505Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
4506
4507 * gcc.c (set_std_prefix): Add declaration.
4508 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
4509 suffix, and update the standard prefix prefix.c uses.
4510
4511 * prefix.c (std_prefix): New global to hold default prefix value.
4512 (get_key_value): Change to use std_prefix instead of PREFIX.
4513 (translate_name): Ditto.
4514 (update_path): Ditto.
4515 (get_key_value): Release allocated scratch storage.
4516 (set_std_prefix): New function to reset the standard prefix.
4517
1f3fa20e
R
4518Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4519
7daa142b 4520 * sh.c (find_barrier): Fix calculations for alignment increase.
1f3fa20e 4521
d8a0154e
MH
4522Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
4523
4524 * Makefile.in (stmp-fixinc): If we're actually fixing include
4525 files, copy gcc's assert.h into the fixed include dir.
4526 * fixincludes (assert.h): Avoid any attempts to fix a probably
4527 broken system specific assert.h file.
4528 * fixproto (stdlib.h): Make sure, it'll contain a definition of
4529 size_t.
4530
64d3b4ca
JL
4531Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
4532
4533 * regclass.c (reg_scan_mark_refs): Be more selective about
4534 when we mark a register with REGNO_POINTER_FLAG.
4535
e6e52be0
R
4536Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4537
4538 reload inheritance improvement:
4539 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
4540 Change meaning: index is now hard reg number.
4541 (reg_reloaded_valid, reg_reloaded_dead): New variables.
4542 (reload_spill_index): Content is now a hard reg number.
4543 (reload_as_needed): Change to fit new variable meaning.
4544 (forget_old_reloads_1, allocate_reload_reg): Likewise.
4545 (choose_reload_regs, emit_reload_insns): Likewise.
4546
812f2051
R
4547Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4548
4549 * regclass.c (record_reg_classes): '?' increases cost by two.
4550
4551 * reload.c (find_reloads): Double previous costs. Output
4552 reloads cost one unit extra.
4553
4554 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
4555 boiled down to && ! 0.
4556
4557 * reload.c (find_equiv_reg): Also consider a goal offset from the
4558 frame pointer to be constant.
4559
04d02ece
R
4560Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4561
4562 * sh.h (OPTIMIZATION_OPTIONS): Define.
4563
6f28d3e9
RH
4564Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
4565
4566 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
4567
b09fa787
JL
4568Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
4569
4570 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
4571
a16b4c9c
JW
4572Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
4573
4574 * c-common.c (check_format_info): Initialize type, is_type. New local
4575 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
4576 when pedantic if used with integral format specifier.
4577
c4d38ccb
MM
4578Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
4579
4580 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
4581 direction.
4582 (function_arg_padding): Declare.
4583
4584 * rs6000.c: Include system.h.
4585 (function_arg_padding): Change return type to int, cast enum's to
4586 int.
4587
4588 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
4589 * collect2.c (scan_prog_file): Add explicit braces to avoid
4590 ambiguous `else'.
b57062ca 4591
c4d38ccb
MM
4592 * dbxout.c (dbxout_type_fields): Add braces around empty body in
4593 an if-statement.
4594 (dbxout_type): Likewise.
b57062ca 4595
c4d38ccb
MM
4596 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
4597 `ptt_size' from int to size_t.
4598 (rs6000_file_start): Likewise for `i'.
4599 (rs6000_replace_regno): Add default case in enumeration switch.
4600 (output_epilog): Remove unused variable `i'.
4601 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
4602 and `reg2'.
b57062ca 4603
c4d38ccb
MM
4604 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
4605 initializer.
4606 (get_issue_rate, non_logical_cint_operand): Add prototype.
4607 (rs6000_output_load_toc_table): Ditto.
b57062ca 4608
c4d38ccb
MM
4609 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
4610 `else'.
b57062ca 4611
e98e406f
NC
4612Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
4613
4614 * config/arm/thumb.c: New File. Support for ARM's Thumb
b57062ca 4615 instruction set.
e98e406f
NC
4616 * config/arm/thumb.h: New File. Thumb definitions.
4617 * config/arm/thumb.md: New File. Thumb machine description.
4618 * config/arm/tcoff.h: New File. Thumb COFF support.
4619 * config/arm/t-thumb: New File. Thumb makefile fragment.
4620 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
4621
4622 * configure.in: Add Thumb-coff target.
4623 * configure: Add Thumb-coff target.
4624 * config.sub: Add Thumb-coff target.
4625
8cf619da
JW
4626Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
4627
4628 * loop.c (scan_loop): Initialize move_insn_first to zero.
4629
fe0714d3
JS
4630Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
4631
4632 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
4633 * config/i386/rtems.h: Likewise.
4634 * config/i960/rtems.h: Likewise.
4635 * config/m68k/rtems.h: Likewise.
4636 * config/mips/rtems64.h: Likewise.
4637 * config/pa/rtems.h: Likewise.
4638 * config/rs6000/rtems.h: Likewise.
4639 * config/sh/rtems.h: Likewise.
4640 * config/sparc/rtems.h: Likewise.
4641
428be702
RK
4642Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4643
4644 * pa.c (emit_move_sequence): If in reload, call find_replacement.
4645
ae8c5963
NC
4646Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
4647
2ea9a965
NC
4648 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
4649
ae8c5963
NC
4650 * collect2.c (find_a_file): Add debugging.
4651 (find_a_file): Test for win32 style absolute paths if
4652 DIR_SERPARATOR is defined.
4653 (prefix_from_string): Add debugging.
4654 (main): Test for debug command line switch at start of program
b57062ca 4655 execution.
ae8c5963 4656 (main): Use GET_ENVIRONMENT rather than getenv().
72cf6902
NC
4657 (prefix_from_env): Use GET_ENVIRONMENT.
4658
050367a3
MM
46591998-03-24 Mark Mitchell <mmitchell@usa.net>
4660
4661 * cplus-dem.c (optable): Add sizeof.
4662 (demangle_template_value_parm): New function containing code
4663 previously found in demangle_template.
b57062ca 4664 (demangle_integral_value): New function which handles complicated
050367a3
MM
4665 integral expressions.
4666 (demangle_template): Use them.
4667
0b93b64e
KG
4668Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4669
4670 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
4671 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
4672 genattrtab.o, genoutput.o): Depend on system.h.
b57062ca 4673
0b93b64e
KG
4674 * genattr.c: Include system.h. Add arguments to various function
4675 prototypes. Remove redundant prototype of read_rtx().
4676 * genattrtab.c: Likewise.
4677 * gencodes.c: Likewise.
4678 * genconfig.c: Likewise.
4679 * genemit.c: Likewise.
4680 * genextract.c: Likewise.
4681 * genflags.c: Likewise.
4682 * genopinit.c: Likewise.
4683 * genoutput.c: Likewise.
4684 * genpeep.c: Likewise.
4685 * genrecog.c: Likewise.
4686
bc289659
ML
46871998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
4688
4689 * c-lang.c (lang_print_xnode): New function.
4690 * objc/objc-act.c (lang_print_xnode): Likewise.
4691 * print-tree.c (print_node): Call it
4692
990ac8d7
L
4693Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
4694
4695 * c-parse.in: Recognize protocol qualifiers in class
4696 definitions for objc.
4697 Include "output.h".
4698 (yyerror): Remove redundant decl.
4699 (yyprint): Fix prototype.
4700
65d98182
JL
4701Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
4702
47a0b68f
JL
4703 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
4704
65d98182
JL
4705 * stmt.c (unroll_block_trees): Free block_vector if needed.
4706
3cac0a21
PDM
4707Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
4708
4b8bef1d
PDM
4709 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
4710 (zero_extendsidi2): Avoid useless copy.
4711 (iordi_zext): New pattern.
4712 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
4713 operand 2.
4714 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
4715
3cac0a21
PDM
4716 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
4717 (ashldi3): Allow constant shift count in range ]32,63].
4718 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
4719
4da05956
MM
47201998-03-22 Mark Mitchell <mmitchell@usa.net>
4721
4722 * tree.h (IS_EXPR_CODE_CLASS): New macro.
4723
545f2aab
JL
4724Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
4725
4726 * h8300.h (CONST_COSTS): Remove definition.
4727 (DEFAULT_RTX_COSTS): Define.
4728
eef15f9f
JS
4729Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
4730
4731 * config/sh/rtems.h: Switched from ELF to COFF.
4732
4bca6986
R
4733Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4734
4735 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
4736
8ca77a11
JL
4737Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
4738
4739 * version.c: Bump for snapshot.
4740
e09e14e9
NC
4741Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
4742 Geoff Noer <noer@cygnus.com>
4743
4744 * Makefile.in: Various fixes for building cygwin32 native toolchains.
4745
35d541d4
NC
4746 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
4747 * objc/Make-lang.in: Likewise.
4748
4a0cf2aa
NC
4749 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
4750
535b86ce
G
4751Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
4752
4753 * configure.in: Handle with-PACKAGE=no correctly
4754
670ee920
KG
4755Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4756
4757 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
4758 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
4759 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
4760 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
4761 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
4762 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
4763 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
4764 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
4765 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
4766 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
4767 on system.h.
4768
4769 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
4770 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
4771 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
4772 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
4773 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
4774 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
4775 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
4776 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
4777 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
4778 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
4779 xcoffout.c: Include system.h. Organize include ordering so
4780 that stdarg/varargs comes before other system headers. Remove
4781 spurious casts of functions assured of a prototype in system.h.
4782
7aa74e4c
SC
4783Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
4784
4785 * reg-stack.c (pop_stack): Define. Pops any register on the
4786 regstack and adjusts regstack.
4787 (compare_for_stack_reg): Use pop_stack.
b57062ca 4788
d005a5a4
JL
4789Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
4790
4791 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
4792 config too.
4793
ba3ad5e0
PDM
4794Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
4795
09b4ce12
PDM
4796 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
4797
ba3ad5e0
PDM
4798 * fold-const.c (fold): Replace sign-extension of a zero extended
4799 value by a single zero extension.
4800
6e1f1f93
JM
4801Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
4802
4803 * except.c (init_eh): Do nothing.
4804 (save_eh_status): Call init_eh_for_function, not init_eh.
4805 * function.c (push_function_context_to): Don't call init_emit.
4806
838b0e4e
MM
4807Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
4808
4809 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
4810 and EABI.
4811
ecb06768
KG
4812Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4813
4814 * final.c (shorten_branches): Add parentheses around +/- in
4815 operand of &.
4816
4817 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
4818
dfba7a1b
MH
4819Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
4820
4821 * regclass.c (memory_move_secondary_cost): Wrap uses of
4822 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
4823 with #ifdef tests.
4824
4faca093
MH
4825Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
4826
4827 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
4828
4829 * flow.c (life_analysis): #include <sys/types.h> to make sure
4830 size_t is defined.
4831 * cplus-dem.c (demangle_function_name): Likewise.
4832
af7da199
MH
4833Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
4834
4835 * final.c (insn_noperands): Change type to unsigned int.
4836 (final_scan_insn): Likewise for noperands;
4837 properly check operand number boundaries.
4838
10a25232
RH
4839Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
4840
4841 * alpha.md (extzv): Don't reject register operands. Fix
4842 mode of operand 1.
4843
99d1a24c
RH
4844Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
4845
4846 * dbxout.c (dbxout_function_end): Fix last change. The correct
4847 predicate is ASM_OUTPUT_SECTION_NAME.
4848
5bac82c5
JW
4849Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
4850
4851 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
4852 (ashlsi): Use match_dup 1 instead of match_operand 2.
4853
52de9b6c
RK
4854Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4855
4856 * fold-const.c (operand_equal_for_comparison_p): See if equal
4857 when nop conversions are removed.
4858
7c00d1fe
RK
4859Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4860
4861 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
4862 don't use ORIGINAL_TARGET unless REG.
4863
343665b9
R
4864Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4865
4866 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
4867
1a61c29f
JW
4868Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
4869
4870 * loop.c (struct movable): New field move_insn_first.
4871 (scan_loop): In consec sets code, set it. Clear it otherwise.
4872 (move_movables): In consec sets code, use it. Copy REG_NOTES from
4873 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
4874 out code.
4875
cbe36725
RH
4876Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
4877
4878 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
4879 is large, and the system doesn't provide atoll or atoq.
b57062ca 4880 (atoll): New.
cbe36725
RH
4881
4882 * alpha/xm-vms.h (HAVE_ATOLL): Define.
4883 Reported by Klaus Kaempf <kkaempf@progis.de>.
b57062ca 4884
081f5e7e
KG
4885Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4886
4887 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
4888 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
4889
4890 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
b57062ca 4891 test !ACCUMULATE_OUTGOING_ARGS.
081f5e7e
KG
4892
4893 * collect2.c (write_c_file_glob): Wrap function definition in
4894 macro test !LD_INIT_SWITCH.
4895
4896 * combine.c (try_combine): Wrap variables `cc_use' and
4897 `compare_mode' in macro test EXTRA_CC_MODES.
4898
4899 * cpplib.c (do_ident): Remove unused variable `len'.
4900 (skip_if_group): Remove unused variables `at_beg_of_line' and
4901 `after_ident'.
4902 (cpp_get_token): Remove unused variable `dummy'.
4903
4904 * dbxout.c (scope_labelno): Move static variable definition inside
4905 the one function scope where it is used.
4906 (dbxout_function_end): Wrap prototype and definition in
4907 macro test !NO_DBX_FUNCTION_END.
4908
4909 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
4910 in macro test !MIPS_DEBUGGING_INFO.
4911
4912 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
4913 into the scope where it is used. Wrap empty else-statement body
4914 in braces.
4915
4916 * fix-header.c: Fix typo in comment.
4917 (inf_skip_spaces): Cast results of INF_UNGET to (void).
4918 (check_protection, main): Likewise.
4919
4920 * flow.c (find_basic_blocks_1): Remove dangling comment text.
4921
4922 * function.c (contains): Wrap prototype and definition in macro
4923 test HAVE_prologue || HAVE_epilogue.
4924 (fixup_var_refs_1): Remove unused variable `width'.
4925
4926 * gen-protos.c (main): Remove unused variable `optr'.
4927
4928 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
4929
4930 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
4931 (__sjpopnthrow): Remove unused variable `jmpbuf'.
4932 (__throw): Remove unused variable `val'.
4933
4934 * protoize.c: Check for a previously existing definition before
b57062ca 4935 defining *_OK macros.
081f5e7e
KG
4936
4937 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
4938
76ce4776
R
4939Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4940
4941 * vax.h (ADDR_VEC_ALIGN): Define.
4942
e29ef920
MM
4943Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
4944
4945 * gcc.c (default_arg): Don't wander off the end of allocated
4946 memory.
4947
dbf55e53
MM
4948 (From Geoffrey Keating <geoffk@ozemail.com.au>)
4949 * rs6000.c (small_data_operand): Ensure that any address
b57062ca 4950 referenced relative to the small data area is inside the SDA.
dbf55e53 4951
883482b2 4952Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
b57062ca 4953
883482b2
JW
4954 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
4955
9ad82ff8 4956Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
a0b61d14
AM
4957
4958 * except.h (in_same_eh_region): New prototype.
4959 (free_insn_eh_region, init_insn_eh_region): New prototypes.
4960 * except.c (insn_eh_region, maximum_uid): New static variables.
4961 (set_insn_eh_region): New static function to set region numbers.
4962 (free_insn_eh_region): New function to free EH region table.
4963 (init_insn_eh_region): New function to initialize EH region table.
4964 (in_same_eh_region): New function used to determine if two rtl
4965 instructions are in the same exception region or not.
4966 * final.c (final): Initialize the table indicating which instructions
4967 belong in which exception region.
4968 * genpeep.c (main): Add "except.h" to include file list in generated
b57062ca
UD
4969 file insn-peep.c.
4970 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
4971 peepholes involving calls and unconditional branches.
a0b61d14 4972
66bd0128
JW
4973Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
4974
4975 * README.gnat: New file.
4976
1d8eaa6b
AS
4977Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4978
4979 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
4980 "recog.h" for offsettable_memref_p.
4981 (legitimize_pic_address): Remove unused variable `offset'.
4982 (notice_update_cc): Change return type to void. Add default label
4983 to switch.
4984 (standard_68881_constant_p): Remove unused variable mode.
4985 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
4986 (const_int_cost): Explicitly declare as returning int.
4987 (output_dbcc_and_branch): Change return type to void.
4988
4989 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
4990 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
4991 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
4992
60ba47b4
JL
4993Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
4994
4995 * version.c: Bump for snapshot.
4996
68137318
AS
4997Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4998
4999 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
5000 check for 'M' constraint.
5001
7a50f126
JW
5002Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
5003
5004 * cccp.c (create_definition): If pedantic, call pedwarn for macro
5005 varargs feature.
5006
57dbca5e
BS
5007Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
5008
5009 * i386.c (ix86_logical_operator): New function.
5010 (split_di): Ensure that when a MEM is split, the resulting MEMs have
5011 SImode.
5012 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
5013 to implement them.
5014
8625fab5
KG
5015Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5016 Richard Earnshaw <rearnsha@arm.com>
5017 Nick Clifton <nickc@cygnus.com>
b57062ca 5018
8625fab5 5019 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
b57062ca 5020
8625fab5 5021 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
b57062ca 5022
8625fab5
KG
5023 * cse.c (rtx_cost): Provide a default case in an enumeration
5024 switch, and call DEFAULT_RTX_COSTS if it's defined.
b57062ca 5025
6ce22dac
MH
5026Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
5027
5028 * basic-block.h (compute_preds_succs): Change return type in
5029 prototype to void.
5030 * flow.c (compute_preds_succs): Likewise in function definition.
5031
5032 * regmove.c (find_matches): Cast char used as array index to unsigned char
5033 to supress warning.
5034
9c318306
MH
5035Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
5036
5037 * i386.h (RTX_COSTS): Insert braces around nested if.
5038 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
5039 elements.
5040
5041 * gcc.c (default_compilers): Properly put brackets around array elements in
5042 initializer.
5043
5044 * getopt.c (_getopt_internal): Add explicit braces around nested if;
5045 reformatted.
5046
5047 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
5048 (record_reg_life_pat): Add explicit parens around && and || in expression.
5049 (stack_reg_life_analysis): Add parens around assignment used as expression.
5050 (convert_regs): Likewise.
5051
56c5d8bf
MH
5052Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
5053
5054 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
5055 change callers accordingly.
5056
5057 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
5058 and definition; change all callers accordingly.
5059
5060 * except.c (init_eh): Avoid assignment of unused return value of
5061 build_pointer_type; cast it to void, instead, and remove unused
5062 variable type.
5063
5064 * gcc.c (lang_specific_driver): Define prototype only #ifdef
5065 LANG_SPECIFIC_DRIVER.
5066 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
5067
5068 * genoutput.c (output_epilogue): Initialize next_name to 0.
5069
5070 * real.c (efrexp): #if 0 prototype and function definition.
5071 (eremain): Likewise.
5072 (uditoe): Likewise.
5073 (ditoe): Likewise.
5074 (etoudi): Likewise.
5075 (etodi): Likewise.
5076 (esqrt): Likewise.
5077
5078 * reload.c (push_secondary_reload): Define prototype only
5079 #ifdef HAVE_SECONDARY_RELOADS.
5080
5081 * varasm.c (assemble_static_space): Define rounded only
5082 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
5083
4fce8e83
MH
5084Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
5085
5086 * i386.md (andsi): Add default case in enumeration switch.
5087 (iorsi3): Likewise.
5088 (iorhi3): Likewise.
5089 (xorsi3): Likewise.
5090
85066503
MH
5091Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
5092
5093 * c-decl (finish_struct): Change type of min_align to unsigned.
5094
5095 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
5096 remove unused variable len.
5097
5098 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
5099 comment indicating this is proper behaviour.
5100 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
5101 reg >= 0.
5102 (based_loc_descr): Likewise.
5103
5104 * enquire.c (bitpattern): Change type of variable i to unsigned.
5105
5106 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
5107
5108 * flow.c (life_analysis): Change type of variable i to size_t;
5109 remove unused variable insn.
5110
5111 * gcc.c (translate_options): Change type of variables optlen, arglen and
5112 complen to size_t.
5113 (input_filename_length): Change type to size_t.
5114 (do_spec_1): Change type of variable bufsize to size_t.
5115 (main): Change type of variables i and j to size_t;
5116 remove subblock local definition of variable i.
5117 (lookup_compiler): Change type of second argument to size_t;
5118 change type of variable i to size_t.
5119
5120 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
b57062ca 5121
85066503
MH
5122 * genopinit.c (get_insn): Change type of variable pindex to size_t.
5123
5124 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
5125
5126 * global.c (global_alloc): Change type of variable i to size_t.
5127
5128 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
5129
5130 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
5131 (expand_end_case): Change type of variable count to size_t.
5132
5133 * toplev.c (main): Change type of variable j to size_t.
5134 (set_target_switch): Change type of variable j to size_t.
5135 (print_switch_values): Change type of variable j to size_t;
5136 remove unused variable flags.
5137
5138 * varasm.c (assemble_variable): Change type of variable align to size_t.
5139 (const_hash_rtx): Change type of variable i to size_t.
5140
6d89b990
MM
51411998-03-11 Mark Mitchell <mmitchell@usa.net>
5142
5143 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
5144 TREE_VEC if that's what it really is.
5145
01c7f350
MM
5146Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
5147
5148 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
5149 as per ISO C spec.
5150
754d1a92
TT
5151Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
5152
5153 * gthr.h: Changed the comment about return values.
5154 * gthr-solaris.h (__gthread_once): Do not use errno; return the
b57062ca 5155 error number instead of -1.
754d1a92
TT
5156 (__gthread_key_create): Any non-zero return value is an error.
5157 * libgcc2.c (eh_context_initialize): Check for non-zero return
5158 value from __gthread_once.
5159 Check that the value of get_eh_context was really changed.
5160
77008a44
R
5161Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5162
5163 * sh.h (LOOP_ALIGN): Only align when optimizing.
5164 * sh.c (find_barrier): Clear inc for CODE_LABELs.
5165 When not optimizing, calculate alignment for BARRIERs directly.
5166
a8aa4e0b
R
5167Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5168
5169 * final.c (shorten_branches): Remove conditionalizing on
5170 SHORTEN_WITH_ADJUST_INSN_LENGTH
5171 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
5172
832544bd
JL
5173Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
5174
5175 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
5176 an unconditional jump around deleted blocks.
5177
bdd3e6ab
JW
5178Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
5179
11a932c0
JW
5180 * profile.c (branch_prob): If see computed goto, call fatal instead of
5181 abort.
5182
eeb54a49 5183 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
b57062ca 5184
35011dd5
JW
5185 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
5186 Patch from Bruno Haible.
5187
bdd3e6ab
JW
5188 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
5189 (assign_parms): Set aggregate if hide_last_arg and last_named.
5190
af035616
R
5191Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5192
5193 * final.c (shorten_branches): Initialize insn_addresses.
5194
97e3c422
R
5195Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5196
5197 * sh.h (MUST_PASS_IN_STACK): Define.
5198
5e75ef4a
JL
5199Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
5200
5201 * final.c (shorten_branches): Fix minor logic error in
5202 ADDR_DIFF_VEC shortening support.
5203
99613661
JL
5204Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
5205
5206 * version.c: Bump for snapshot.
5207
8ea2b111
JL
5208Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
5209
168cbdf9
JL
5210 * haifa-sched.c (is_cfg_nonregular): Change return type to
5211 an int. No longer compute "estimated" number of edges. Use
5212 computed_jump_p instead of duplicating the code. Fixup/add
5213 some comments.
5214 (build_control_flow): Returns a value indicating an irregularity
5215 in the cfg was detected. Count the number of edges in the cfg.
5216 allocate various edge tables.
5217 (find_rgns): No longer look for unreachable blocks.
5218 (schedule_insns): Do not allocate memory for edge tables here.
5219 Free memory for edge tables before returning. Do not perform
5220 cross block scheduling if build_control_flow returns nonzero.
5221 * flow.c (compute_preds_succs): More accurately determine when
5222 a block drops in.
5223
52becdc0
JL
5224 * basic-block.h (free_basic_block_vargs): Provide prototype.
5225
8ea2b111
JL
5226 * cccp.c (main): Fix dumb mistakes in last change.
5227
33f7f353
JR
5228Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5229
5230 * rtl.h (addr_diff_vec_flags): New typedef.
5231 (union rtunion_def): New member rt_addr_diff_vec_flags.
5232 (ADDR_DIFF_VEC_FLAGS): New macro.
5233
5234 * sh.c (output_branch): Fix offset overflow problems.
5235
5236 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
5237 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
5238 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
5239 * stmt.c (expand_end_case): Supply new arguments to
5240 gen_rtx_ADDR_DIFF_VEC.
5241 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
5242 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
5243 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
5244 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
5245 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
5246 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
5247 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
5248 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
5249 * i386/freebsd.h, i386/linux.h : Likewise.
5250 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
5251 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
5252 * m68k/mot3300.h, m68k/sgs.h : Likewise.
5253 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
5254 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
5255 (CASE_VECTOR_SHORTEN_MODE): Define.
5256 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
5257 (med_branch_p, braf_branch_p): Don't declare.
5258 (mdep_reorg_phase, barrier_align): Declare.
5259 (ADJUST_INSN_LENGTH): Remove alignment handling.
5260 * sh.c (uid_align, uid_align_max): Deleted.
5261 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
5262 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
5263 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
5264 (output_far_jump): Don't use braf_branch_p.
5265 (output_branchy_insn): Don't use branch_offset.
5266 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
5267 Remove paired barrier stuff.
5268 Don't use cache_align_p.
5269 Take alignment insns into account.
5270 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
5271 the addr_diff_vec.
5272 (barrier_align, branch_dest): New function.
5273 (machine_dependent_reorg, split_branches): Remove infrastructure
5274 for branch shortening that is now provided in the backend.
5275 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
5276 (braf_branch_p, braf_cbranch_p): Likewise.
5277 (attribute length): Use new attributes.
5278 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
5279 (addr_diff_vec_adjust): Delete.
5280 (align_2): Now a define_expand.
5281 (align_log): Now length 0.
5282
170a16c7
MM
5283Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
5284
5285 * m32r.md (right): Correctly check for length == 2, not 1.
5286
688f0603
KG
5287Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5288
5289 * mips/mips.h: Prototype `machine_dependent_reorg'.
5290 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
5291
19cbe68d
JR
5292Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
5293
5294 * final.c (shorten_branches): Restore accidentally removed code.
5295
8add77ce
AS
5296Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5297
5298 * configure.in: Remove duplicate uses of AC_PROG_CC and
5299 AC_PROG_MAKE_SET.
5300
fbb5ed67
RH
5301Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
5302
5303 * configure.in (target_cpu_default2): Correct typo for alphapca56.
5304
5ece9746
JL
5305Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
5306 Doug Evans (devans@cygnus.com)
5307
5308 * haifa-sched.c (build_jmp_edges): Delete dead function.
5309 (build_control_flow): Use cfg routines from flow.c
5310 (schedule_insns): Remove debugging code accidentally checked
5311 in earlier today.
5312
5313 * basic-block.h: Add external integer list structures, typdefs,
5314 accessor macros and function declarations. Simlarly for
5315 basic block pred/succ support and simple bitmap stuff.
5316 * flow.c: Add functions for integer list, basic block pred/succ
5317 support and simple bitmap support.
5318 (compute_dominators): New function to compute dominators and
5319 post dominators.
5320 (find_basic_blocks): Split into two functions.
5321 (life_analysis): Likewise.
5322 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
5323 the life_analysis from toplev.c
5324 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
5325 life_analysis instead of flow_analysis.
5326
ac9b3c97
R
5327Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5328
5329 * jump.c (jump_optimize): Call mark_jump_label also for deleted
5330 insns.
5331 (mark_jump_label): Don't increment ref counts for deleted insns.
5332
6e92f4b6
KG
5333Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5334
5335 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
b57062ca 5336
6e92f4b6
KG
5337 * mips/mips.c: Include stdlib.h and unistd.h.
5338 (mips_asm_file_end): Add braces around empty body in an if-statement.
5339 (function_prologue): Wrap variable `fnname' in
5340 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
5341 (mips_select_rtx_section, mips_select_section): Declare as void.
b57062ca 5342
6e92f4b6
KG
5343 * mips/mips.h: Add prototypes for extern functions in mips.c.
5344 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
5345 (ENCODE_SECTION_INFO): Add braces around empty body in an
5346 if-statement.
b57062ca 5347
6e92f4b6
KG
5348 * mips/mips.md (movdi): Add parentheses around && within ||.
5349 (movsf, movdf): Likewise.
5350 (branch_zero, branch_zero_di): Add default case in
5351 enumeration switch.
b57062ca 5352
6e92f4b6 5353
9ba3994a
RH
5354Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
5355
5356 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
5357 real constants, since they can't be changed.
5358 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
5359 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
5360 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
5361 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
5362 * alpha/vms.h (TARGET_OPEN_VMS): New.
5363 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
5364
5ec105cd
RH
5365Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
5366
5367 * reload.c (find_reloads): Always force (subreg (mem)) to be
5368 reloaded if WORD_REGISTER_OPERATIONS.
5369
ebb7b10b
RH
5370Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
5371
5372 * haifa-sched.c (free_list): Rename from free_pnd_lst.
5373 (free_pending_lists): Rename free_pnd_lst uses.
5374 (remove_dependence): Place expunged element on unused_insn_list.
5375 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
5376 gen_rtx_*_LIST and alloc_rtx to use them.
5377 (compute_block_backward_dependences): Free the reg_last_* lists.
5378
cb37ce62
JL
5379Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
5380
5381 * cccp.c (main): Avoid undefined behavior when setting pend_includes
5382 and pend_files.
5383
ce514f57
FS
5384Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5385
b57062ca 5386 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
ce514f57
FS
5387 USE_GNULIBC_1 is defined
5388 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
5389 includes the t-linux-gnulibc1 fragment
5390
89a5e42b
JW
5391Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
5392
5393 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
5394
1dd8faa8
R
5395Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5396
5397 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
5398
e2faec75
R
5399Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5400
5401 * final.c (shorten_branches): Tag the loop alignment onto the
5402 first label after NOTE_INSN_LOOP_BEG even if there is an
5403 intervening insn.
5404
de7987a6
R
5405Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5406
26024475
R
5407 * final.c (insn_current_reference_address):
5408 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
5409 proper alignment chain.
5410
de7987a6
R
5411 * final.c (max_labelno): New static variable.
5412 (final_scan_insn): Check max_labelno before outputting an
5413 alignment for a label.
de7987a6
R
5414 (shorten_branches): Remove unused variable length_align.
5415
27d8f9ea
KG
5416Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5417
5418 * sparc.c (ultrasparc_adjust_cost): Add default case in
5419 enumeration switch.
b57062ca 5420
27d8f9ea
KG
5421 * sparc.h: Add prototypes for extern functions defined in
5422 sparc.c.
5423
bd334356
NC
5424Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
5425
5426 * toplev.c: Only generate <name>.dbr file when dumping RTL if
b57062ca 5427 DEALY_SLOTS is defined.
bd334356 5428
1838fe6d
MH
5429Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
5430
5431 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
5432 in call to fill_slots_from_thread.
5433
b0021153
RH
5434Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
5435
b57062ca 5436 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
b0021153
RH
5437 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
5438
687d0ab6 5439Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
fc470718
R
5440
5441 * final.c (insn_last_address, insn_current_align, uid_align):
5442 New variables.
5443 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
5444 (insn_current_reference_address): Likewise.
5445 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
5446 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
5447 (label_to_alignment): New function.
5448 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
5449 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
5450 insn_current_reference_address instead of insn_current_address.
5451 (or_attr_value, write_length_unit_log): New functions.
5452 (main): Call write_length_unit_log.
5453 (write_const_num_delay_slots): Output extra '\n'.
5454 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
5455 replace with:
5456 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
5457 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
5458 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
5459 (LOOP_ALIGN).
5460 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
5461 (LABEL_ALIGN_AFTER_BARRIER).
5462 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
5463 * ns32k/tek6000.h: Likewise.
5464 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
5465 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
5466 ASM_OUTPUT_ALIGN_CODE.
5467
54f00917
JL
5468Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
5469
5470 * version.c: Bump for snapshot.
5471
38630f7e
JL
5472Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
5473
5474 * version.c: Bump for snapshot.
5475
ab63953e
JL
5476Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
5477
5478 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
b57062ca 5479 if condition code of jump conflicts with opposite_needed.
ab63953e
JL
5480
5481 * reorg.c (fill_slots_from_thread): Mark resources referenced in
5482 opposite_needed thread. Return delay_list even when cannot get
5483 any more delay insns from end of subroutine.
5484
5485Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
5486
5487 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
5488 All callers changed.
5489
5490Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
72dd050a
BH
5491
5492 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
5493 end_fde_sort): New functions for fast sorting of an FDE array.
5494 (fde_insert): Simplified.
5495 (add_fdes): Change argument list.
5496 (frame_init): Use the new functions.
5497
de153e82
JL
5498Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
5499
925b1f33
JL
5500 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
5501
c7271385
JL
5502 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
5503
de153e82
JL
5504 * fold-const.c (fold_range_test): Always return a value.
5505
81023100
MK
5506Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
5507
5508 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
5509 data in the text section unless READONLY_DATA_SECTION is defined.
5510
818e50a5
JL
5511Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
5512
5513 * c-parse.in (undeclared variable error): Tweak error message to
5514 be clearer.
5515
c93dc3ac
JL
5516Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
5517
5518 * version.c: Bump for snapshot.
5519
90ca38bb
MM
55201998-02-28 Mark Mitchell <mmitchell@usa.net>
5521
5522 * final.c (final_scan_insn): Undo overzealous removal of `set'.
5523
3d85c12e
KG
5524Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5525
5feca984
KG
5526 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
5527 case, add parentheses to specify the proper order of precedence in
5528 the if-statement.
b57062ca 5529
5feca984 5530
51723711
KG
5531 * c-aux-info.c: Include string.h/strings.h.
5532
5533 * pa.c: Include stdlib.h.
5534 (pa_combine_instructions): Prototype the function.
5535 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
5536 (reloc_needed): Add default case for enumeration switch.
5537 (remove_useless_addtr_insns): Remove unused variable `all'.
5538 (hppa_expand_prologue): Add explicit braces to avoid
5539 ambiguous `else'.
5540 (output_function_epilogue): Remove unused variable `i'.
5541 (output_millicode_call): Remove unused variable `link'.
5542 (shadd_constant_p, forward_branch_p): Make the function static.
5543 (following_call): Explicitly declare to return int.
5544 (pa_reorg): Declare as void.
5545 (pa_combine_instructions): Declare as static void. Add
5546 parentheses around && within ||.
b57062ca 5547
51723711
KG
5548 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
5549 following_call, function_label_operand, lhs_lshift_cint_operand
5550 and zdepi_cint_p.
5551
5552 * pa.md: Add parentheses around && within ||.
5553
5554 * cppalloc.c: Include stdlib.h.
5555
5556 * cpperror.c (cpp_print_containing_files): Remove unused variable
5557 `i'. Fix format specifier in fprintf.
5558
5559 * cse.c (cse_around_loop): Add explicit braces to avoid
5560 ambiguous `else'.
5561 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
5562
5563 * expr.c (expand_expr): Add parentheses around && within ||.
5564
5565 * final.c (app_enable): Replace fprintf with fputs where there are
5566 no format specifiers and no trailing argument after the string.
5567 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
5568 (app_disable): Likewise.
5569 (final_end_function): Likewise.
5570 (final_scan_insn): Likewise. Remove unused variable `set'.
5571 (profile_function): Wrap empty if-statement body in {} brackets.
5572
5573 * function.c: Include stdlib.h.
5574 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
5575 (reposition_prologue_and_epilogue_notes): Add parentheses
5576 around assignment used as truth value.
5577
5578 * integrate.c (expand_inline_function): Wrap variable
5579 `cc0_insn' in macro HAVE_cc0.
5580
5581 * jump.c (jump_optimize): Wrap variable `q' in macro
5582 HAVE_cc0. Remove unused variable `prev1'.
5583
5584 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
5585 within ||. Fix format specifier in fprintf.
5586 (__bb_init_prg): Add parentheses around assignment used as
5587 truth value.
5588
5589 * local-alloc.c: Include stdlib.h.
5590 (requires_inout): Add parentheses around assignment used
5591 as truth value.
5592
5593 * loop.c (analyze_loop_iterations): Wrap prototype and definition
5594 in macro HAVE_decrement_and_branch_on_count.
5595 (insert_bct, instrument_loop_bct): Likewise.
5596 (move_movables): Add parentheses around assignment used as
5597 truth value.
5598 (consec_sets_invariant_p): Likewise.
5599 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
5600
5601 * objc/objc-act.c: Include stdlib.h.
5602 (lookup_method_in_protocol_list): Wrap empty else-statement body
5603 in braces.
5604 (lookup_protocol_in_reflist): Likewise.
5605 (objc_add_static_instance): Remove unused variables `decl_expr'
5606 and `decl_spec'.
5607 (get_objc_string_decl): Remove unused variable `decl'.
5608 (generate_static_references): Remove unused variables `idecl' and
5609 `instance'.
5610 (check_protocols): Wrap empty else-statement body in braces.
b57062ca 5611
51723711
KG
5612 * protoize.c: Include stdlib.h.
5613 (substr): Add parentheses around assignment used as truth value.
5614 (abspath): Likewise.
5615 (shortpath): Likewise.
5616
5617 * regmove.c (fixup_match_1): Add parentheses around assignment
5618 used as truth value.
5619
5620 * reload.c (push_secondary_reload): Remove unused variable `i'.
5621 (find_reloads): Add parentheses around assignment used as truth
5622 value.
5623
5624 * reload1.c: Include stdlib.h.
5625
5626 * rtl.h: Correct typo in prototype of offsettable_memref_p.
5627
5628 * stmt.c (add_case_node): Add parentheses around assignment used
5629 as truth value.
5630 (case_tree2list): Likewise.
5631
5632 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
5633 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
5634 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
5635 (merge_attributes): Add explicit braces to avoid ambiguous
5636 `else'.
5637
5638 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
5639 macro HAVE_cc0.
b57062ca 5640
51723711 5641 * varasm.c: Include stdlib.h.
b57062ca 5642
51723711 5643
c5801053
KG
5644 * system.h: Remove sys/stat.h.
5645 * gcc.c: Add sys/stat.h.
5646
3d85c12e
KG
5647 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
5648 * genattrtab.c: Likewise.
5649 * genconfig.c: Likewise.
5650 * genemit.c: Likewise.
5651 * genextract.c: Likewise.
5652 * genflags.c: Likewise.
5653 * genopinit.c: Likewise.
5654 * genoutput.c: Likewise.
5655 * genpeep.c: Likewise.
5656 * genrecog.c: Likewise.
5657 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
5658
0fd12b04
AS
5659Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5660
bd762873
AS
5661 * invoke.texi: Use @itemx for a secondary item in a @table.
5662
0fd12b04
AS
5663 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
5664 zero.
5665
c3cf395b
ILT
5666Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
5667
5668 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
5669
b94b5c16
JL
5670Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
5671
5672 * i386.c (struct machine_function): Add new fields for PIC stuff.
5673 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
5674 and pic_label_name.
5675 (restore_386_machine_status): Corresponding changes.
5676 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
5677
8dfafd99
JL
5678Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
5679
5680 * c-parse.y (undeclared variable error): Tweak error message
5681 to be clearer.
5682
bb8ebb7f
RH
5683Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
5684
5685 * flags.h (g_switch_value, g_switch_set): Declare.
5686 * alpha.c (override_options): Set g_switch_value=8 if not set.
5687 * alpha/elf.h (CC1_SPEC): New.
5688 (ASM_SPEC): New.
5689 (LINK_SPEC): Pass along the -G value we were given.
5690 (LOCAL_ASM_OP): Remove.
5691 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
5692 (MAX_OFILE_ALIGNMENT): New.
5693 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
5694 (EXTRA_SECTIONS): Add sbss and sdata.
5695 (SECTION_FUNCTION_TEMPLATE): New.
5696 (EXTRA_SECTION_FUNCTIONS): Use it.
5697 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
5698 (SELECT_SECTION): Use sdata when small enough.
5699 * alpha/linux.h (ASM_SPEC): Remove.
b57062ca 5700
bb8ebb7f 5701
3e07bdbd
BH
5702Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
5703 * config.sub (sco5): Fix typo.
5704
9d1ebd25
MH
5705Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
5706
5707 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
5708 set to empty.
5709 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
5710 * config/alpha/t-linux: Remove file.
5711 * config/sparc/t-linux: Remove file.
5712 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
5713 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
5714 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
5715 for tmake_file.
5716 (alpha*-*-linux-gnu*): Likewise.
5717 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
5718 (sparc-*-linux-gnu*): Likewise.
84bc3b4f
RL
5719
5720Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
5721 * collect2.c (ldd_file_name): Bracket declaration with same
5722 manifests as use.
5723 (full_real_ld_suffix): Deleted. Variable was calloced and
5724 written into, but never read.
5725
9e89df50
MS
57261998-02-23 Mike Stump <mrs@wrs.com>
5727
5728 * configure.in: Add support for i386-wrs-vxworks configuration.
5729 * i386/vxi386.h: New file.
5730
1160f9ec
BH
5731Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
5732
5733 * tree.c (contains_placeholder_p): Ensure function always returns
5734 a value.
5735 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
5736 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
5737
328da75c
JL
5738Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
5739
5740 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
5741
deabc777
PE
57421998-02-22 Paul Eggert <eggert@twinsun.com>
5743
5744 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
5745 Define this new symbol.
5746 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
5747 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
5748 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
5749
0e84e8fb
JW
5750Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
5751
5752 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
5753 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
5754
9c37957a
RH
5755Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
5756
5757 * objc/Object.m (-error): Call objc_verror with our va_list.
5758
e3c49f52
DE
5759Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5760
5761 * collect2.c (scan_prog_file): Completely cover uses of variable
5762 `exports' with macro COLLECT_EXPORT_LIST.
5763
5764Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
d935d60e
JL
5765
5766 * version.c: Bump for snapshot.
5767
3c674857
MM
5768Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
5769
5770 * sched.c (schedule_block): Remove code to get arguments from hard
5771 regs into pseudos early. Same as Aug 25, 1997 change to
5772 haifa-sched.c.
5773
c2d731c4
JM
57741998-02-20 Jason Merrill <jason@yorick.cygnus.com>
5775
5776 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
5777
7d02bbef
JM
57781998-02-16 Mark Mitchell <mmitchell@usa.net>
5779
5780 * toplev.c (rest_of_compilation): Do not defer the output of a
5781 nested function.
5782
9766dbcf
MT
5783Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
5784
5785 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
5786 continuation character (line 243).
5787
01a7aaea
AS
5788Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5789
5790 * genrecog.c (main): Remove duplicated sentence in emitted comment.
5791
db126753
DE
5792Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
5793 David Edelsohn <edelsohn@mhpcc.edu>
5794
5795 * collect2.c (XCOFF_SCAN_LIBS): Remove.
5796 (export_flag): New variable.
5797 (export_file): #ifdef COLLECT_EXPORT_LIST.
5798 (import_file, exports, imports, undefined): New variables.
5799 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
5800 (dump_list, dump_prefix_list, is_in_list): New functions.
5801 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
5802 (write_import_file, resolve_lib_name): New functions.
5803 (use_import_list, ignore_library): Same.
5804 (collect_exit): maybe_unlink import_file and #ifdef.
5805 (handler): Same.
5806 (main): New variable importf, #ifdef exportf. Move parsing of
5807 -shared before general argument parsing. Resolve AIX library
5808 paths and import libgcc.a symbols. Treat .so shared libraries the
5809 same as objects and .a libraries. Create alias for object_lst and
5810 increment it instead of original pointer. Scan AIX libraries as
5811 objects earlier instead of using scan_libraries. Perform AIX
5812 tlink later to resolve templates instead of forking ld.
5813 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
5814 (GCC_UNDEF_SYMBOL): New macro.
5815 (scan_prog_file): Loop for members of AIX libraries. Handle
5816 export/import of ctors/dtors.
5817 (aix_std_libs): New variable.
5818 (scan_libraries, XCOFF): Delete.
5819
5820Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
5821
5822 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
5823
e642002f
MS
58241998-02-19 Mike Stump <mrs@wrs.com>
5825
5826 * Makefile.in: Use $tooldir for sys-include to match toplevel
5827 configure.
5828
aff48bca
JL
5829Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
5830 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5831
5832 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
5833
5834 * emit-rtl.c (hard-reg-set.h): Include.
b57062ca 5835 (get_lowpart_common): Don't make new REG for hard reg in a
aff48bca
JL
5836 class that cannot change size.
5837 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
5838
5839 * combine.c: Revert previous patch.
5840
0a9bdce3
PE
58411998-02-19 Paul Eggert <eggert@twinsun.com>
5842
5843 * config/sparc/sol2-sld.h: New file.
5844 * configure.in (sparc-*-solaris2*): Use it when using the
5845 system linker.
5846
3875b31d
JL
5847Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
5848
5849 * loop.c (force_movables): Fix typo.
5850
bb5fa67f
MH
5851Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
5852
5853 * m88k.h: Change file pattern to match reality.
5854
7f83c0e7
JL
5855Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
5856
5857 * varasm.c (output_constant_pool): Fix dumb thinko in last
5858 change.
dffc0da4
JL
5859
5860 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
5861 a function name to a section name.
5862
d9525bec
BK
58631998-02-18 Doug Evans <devans@cygnus.com>
5864
5865 * tree.h (merge_machine_{type,decl}_attributes): Declare.
5866 (split_specs_attrs, strip_attrs): Add prototypes.
5867 * tree.c (merge_machine_{type,decl}_attributes): New functions.
5868 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
5869 Update olddecl's attributes too.
5870 * c-common.c (strip_attrs): New function.
5871 * c-typeck.c (common_type): Call merge_machine_type_attributes.
5872 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
5873 (make_decl_rtl): Likewise.
5874
58751998-02-18 Jim Wilson <wilson@cygnus.com>
5876
5877 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
5878
f9a366ac
JL
5879Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
5880
5881 Remove this change until we can fix it correctly.
5882 * collect2.c: Bracket declaration of 'exportf' and
5883 'full_real_ld_suffix'.
5884
206ae7cf
BS
5885Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
5886
5887 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
5888
0a7ed33c
BS
5889Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
5890
5891 * c-common.c (c_expand_start_cond, c_expand_end_cond,
5892 c_expand_start_else): Don't warn about non-ambiguous else even if
5893 braces are missing.
5894
68c9728a 5895Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
0a7ed33c 5896
68c9728a
RL
5897 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5898 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
5899 instead.
5900
15941d29
RH
5901Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
5902
5903 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
5904 simplifying a subreg of a hard reg.
5905 (expand_compound_operation): Likewise.
5906 (force_to_mode): Likewise.
5907
5835e573
KG
5908Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5909
2fde567e
KG
5910 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
5911 (lshift_double): Add parentheses around + or - inside shift.
5912 (rshift_double): Likewise.
5913 (size_int_wide): Explicitly set type of `bit_p' to `int'.
5914
5915 * Makefile.in (fold-const.o): Depend on system.h.
5916
8e85ff2c
KG
5917 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
5918 change to gcc.c.
5919
5835e573
KG
5920 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
5921 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
5922 (sched_note_set): Remove unused parameter `b', all callers changed.
5923 (schedule_block): Likewise for `rgn'.
5924 (split_hard_reg_notes): Likewise for `orig_insn'.
5925 (check_live): Likewise for `trg'.
5926 (update_live): Likewise.
5927 (check_live_1): Explcitly declare variable `i' as int.
5928 (update_live_1): Likewise.
5929 (insn_issue_delay): Remove unused variable `link'.
5930 (sched_analyze_2): Add default case in enumeration switch.
5931 (schedule_insns): Remove unused variable `i'.
5932
5933 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
5934
b1a0c816
JL
5935Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
5936
5937 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
5938 a dangling else clause.
5939
365ca18b
GK
5940Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
5941
5942 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
5943 pointer for the stack pointer in MIPS16 and 64BIT.
5944
feb60352
R
5945Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
5946
5947 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
5948 * emit-rtl.c (force_line_numbers, restore_line_number_status):
5949 New functions.
5950 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
5951 (expand_start_case): Adjust to this change.
5952 (check_seenlabel): New function.
5953 (pushcase, pushcase_range, expand_endcase): Use it.
5954
93f83bd5
R
5955Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5956
5957 * i386.md (adddi3): Add =!r,0,0,X alternative.
5958
b9af8fb0
DE
5959Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
5960
5961 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
5962 * x-aix31 (INSTALL): Delete.
5963
a4dee8a5
GK
5964Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
5965
b57062ca 5966 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
a4dee8a5
GK
5967 tsize changes to something other than zero.
5968
8898f8a1
GK
5969Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
5970
5971 * ginclude/va-mips.h: Replace casts of pointers to int with
5972 casts of pointers to __PTRDIFF_TYPE__.
5973
9ba7a303
JC
5974Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
5975
5976 * loop.c (strength_reduce, record_biv, record_giv): Use
5977 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
5978
b7f6588d
JM
59791998-02-16 Jason Merrill <jason@yorick.cygnus.com>
5980
5981 * tree.c (first_rtl_op): New fn.
5982 (unsave_expr_now): Use it.
5983 * print-tree.c (print_node): Likewise.
5984 * tree.c (has_cleanups): New fn.
5985 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
5986 conservative about pushing the cleanup point down.
5987 * tree.h: Declare them.
5988
8e7336f8
JL
5989Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
5990
5991 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
5992 (flag_schedule_reverse_after_reload): Likewise.
5993 (f_options): Remove reverse scheduling support.
5994 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
5995 (flag_schedule_reverse_after_reload): Likewise.
5996 * haifa-sched.c (rank_for_schedule): Remove support for reverse
5997 scheduling.
b57062ca 5998
79e11844
KG
5999Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6000
17248a6b
KG
6001 * gcc.c: Get system includes, prototypes and macros via "system.h"
6002 instead of doing it manually. Change all calls of the ctype
6003 macros to custom versions defined in "system.h".
6004
79e11844
KG
6005 * system.h: Fix return type of bcmp prototype from `void' to `int'.
6006 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
6007 Add a prototype for getenv.
6008
c9b4de06
JW
6009Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
6010
6011 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
6012
9f8f10de
JC
6013Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
6014
6015 * alias.c: Include <stdlib.h> and <string.h>.
6016 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
6017
d757d141
JL
6018Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
6019
6020 * version.c: Bump for snapshot.
6021
7a0a1f09
RE
6022Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
6023
6024 * arm.md (movsfcc): Also validate operands[3] when compiling hard
6025 float.
6026 (movdfcc): Only accept fpu_add_operand for operands[3].
6027
99e90438
RE
6028 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
6029 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
6030
29a82058
JL
6031Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
6032
6033 * varasm.c (output_constant_pool): Bring back 'done' label inside
6034 an appropriate #ifdef.
6035
b57062ca 6036 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
29a82058
JL
6037 appropriate #ifdef.
6038 (bitmap_copy, bitmap_operation): Likewise.
6039 * combine.c (combinable_i3pat): Similarly for 'src'.
6040 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
6041 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
6042 * regclass.c (copy_cost): Similarly for 'secondary_class'.
6043 * reload.c (make_memloc): Simliarly for 'i'.
6044 (find_reloads_address_1): Similarly for 'link'.
6045 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
6046 (emit_reload_insns): Similarly for 'second_reloadreg'.
6047 * unroll.c (iteration_info): Similarly for 'v'.
6048
6049 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
6050 * calls.c (expand_call): Similarly for 'i'.
6051 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
6052 * fold-const.c (strip_compund_expr): Similarly for 'type'.
6053 * function.c (fixup_var_refs_1): Similarly for 'width'.
6054 (fixup_memory_subreg): Similarly for 'saved'.
6055 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
6056 (setjmp_protect): Similarly for 'sub'.
6057 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
6058 * loop.c (record_giv): Similarly for 'p'.
6059 (combine_givs): Similarly for 'temp_iv'.
6060 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
6061 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
6062 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
6063 * unroll.c (unroll_loop): Similarly for 'copy'.
6064 (iteration_info): Similarly for 'b'.
6065 * varasm.c (assemble_string): Similarly for 'i'.
6066 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
6067
7d02bbef
JM
60681998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
6069
6070 * c-lang.c (lang_print_xnode): New function.
6071 * objc/objc-act.c (lang_print_xnode): Likewise.
6072 * print-tree.c (print_node): Call it
6073
e3e7774e
JW
6074Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
6075
6076 * dwarf2out.c (decl_scope_node): New type.
6077 (decl_scope_table): Change type to use it.
6078 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
6079 (push_decl_scope): Use new type. New locals containing_scope, i.
6080 Add code to handle setting previous field.
6081 (scope_die_for): Change type of local i to int. Add code to use
6082 previous field.
6083 (dwarf2out_init): Use new type.
6084
442f0a30
JM
60851998-02-13 Jason Merrill <jason@yorick.cygnus.com>
6086
6087 * except.c (emit_throw): Lose throw_used.
6088
fcdc0d6e
R
6089Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6090
6091 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
6092 was deleted.
6093 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
6094
b7673cdb
JL
6095Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
6096
6097 * genextract.c (main): Fix typo.
6098
9e4767ca 6099Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
69d4ca36 6100
b57062ca 6101 * c-lang.c (finish_file): Bracket declaration of static_ctors,
69d4ca36
RL
6102 static_dtors.
6103
6104 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
6105 'old_stack_arg_under_construction'
b57062ca 6106 (emit_library_call): Bracket declaration of 'upper_bound',
69d4ca36
RL
6107 'lower_bound', 'i', 'reg_parm_stack_space'
6108 (emit_library_call_value): Likewise.
b57062ca 6109 (store_one_arg):
69d4ca36
RL
6110
6111 * collect2.c: include <unistd.h> when appropriate.
6112 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
6113
6114 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
b57062ca 6115
69d4ca36
RL
6116 * explow.c (plus_constant_for_output_wide): Remove unused variable
6117 'code'.
b57062ca 6118 (memory_address): Remove unused variable 'orig_x'.
69d4ca36
RL
6119
6120 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
6121 (write_const_num_delay_slots): Remove unused variable 'i'.
6122
6123 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
6124 (gen_insn): Remove unused variable 'obstack_ptr'.
6125
6126 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
6127 'j', 'tmp', 'i'.
6128 (__bb_exit_trace_func): Remove unused variable 'e'.
6129
6130 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
6131 'funexp'.
6132 (expand_unop): Remove unused variable 'funexp'.
b57062ca 6133 (expand_complex_abs): Remove unused variable 'funexp'.
69d4ca36
RL
6134 (init_optabs): Bracket declaration of 'j'.
6135 (init_complex_libfuncs): Deleted. Dead static function.
b57062ca 6136
69d4ca36
RL
6137 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
6138
6139 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
6140 (reg_to_stack): 'initialized', 'before_function_beg'
6141 explictly type as ints instead of defaulting.
6142 (emit_swap_insn): Remove unused variable 'i2'.
6143 (compare_for_stack_reg): Remove unused variable 'src_note'.
6144
6145 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
6146
6147 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
6148
6149 * stmt.c (add_case_node): Add parens for assignment used as truth.
6150 (all_cases_count): Remove unused variable 'count_high'.
6151 (mark_seen_cases): Remove unused variable 'i'.
6152 (check_for_full_enumeration_handling): Remove unused variable 't'.
6153 Bracket declaration of 'all_values', 'l'.
b57062ca 6154
69d4ca36
RL
6155 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
6156
b57062ca
UD
6157 * varasm.c (assemble_string): Remove unused variable 'i'.
6158 (immed_double_const): Remove unused variable 'in_current_obstack'.
69d4ca36
RL
6159 (immed_real_const_1): Likewise.
6160 (output_constant_pool): Remove unreferenced label 'done'.
6161 (output_constant): Remove unused variable 'x'.
b57062ca 6162
69d4ca36
RL
6163 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
6164 a string.
6165
6166 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
6167 as truth.
6168
e3258cef
R
6169Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6170
6171 * combine.c (can_combine_p): Handle USEs in PARALLELs.
6172
1398405b
L
6173Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
6174
6175 * config/linux.h (LIB_SPEC): Add -lc for -shared if
6176 USE_GNULIBC_1 is not defined.
6177 * config/sparc/linux.h; Ditto.
6178
6179 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
6180
6181 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
6182 USE_GNULIBC_1 is not defined.
6183
03453a9f
FS
6184Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6185
6186 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
6187 for -mcall-linux
6188
aca69483 6189Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 6190
aca69483
KG
6191 * system.h: New file to get common systems includes and various
6192 definitions and declarations based on autoconf macros.
6193
5e0e0f03
JL
6194Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
6195
6196 * cccp.c (new_include_prefix): Correctly handle -I./.
6197
89e9f3a8
MM
6198Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
6199
6200 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
6201
8bd6ecc2 6202Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
89e9f3a8 6203
b57062ca 6204 * expr.c (expand_assignment): Correct typo exposed by -Wall.
8bd6ecc2
RL
6205 offset should have been a truth value, not an assignment.
6206
614bb5d4
JL
6207Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
6208
6209 * cse.c (delete_dead_from_cse): If a libcall produces a constant
6210 result and that result can be substituted into SET_SRC of the
6211 insn with the REG_RETVAL note, then perform the substitution
6212 and delete the libcall.
6213
00bb4b62
GK
6214Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
6215
b57062ca 6216 * mips.md (trucndihi2,truncdiqi2): Change these to support
00bb4b62
GK
6217 mips16.
6218
3871c609
GK
6219Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
6220
6221 * mips/mips.c (movdi_operand): Direct referances to symbols
6222 that arn't mips16 consts in mips16 mode arn't valid operands.
6223
6224 * mips/mips.c (mips_move_2words): Add gprel handling.
6225
2e72fa6a
GK
6226Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
6227
b57062ca 6228 * mips.md (extendsidi2): Allow extension to/from a non-mips16
2e72fa6a
GK
6229 register.
6230
a4910340
ML
6231Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
6232
6233 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
6234 <strings.h>.
6235
cc1e5b9a
KG
6236Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6237
6238 * Makefile.in (WARN_CFLAGS): New variable.
6239 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
6240
53949fac
MM
62411998-02-11 Mark Mitchell <mmitchell@usa.net>
6242
6243 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
6244 falling through default case in switch.
6245 (i386_aligned_p): Likewise.
6246
9504c31c
LI
6247Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
6248
6249 * mips/mips.h (mips_abi_string): Correct typo in comment.
6250
7e4e0956
GK
6251Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
6252
6253 * mips/mips.md (movdi): These PLUS's need to be Pmode.
6254
8fb3ae15
KG
6255Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6256
6257 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
6258 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
6259 indirectly via expr.h.
6260
a2d53b28
RH
6261Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
6262
6263 * stor-layout.c (layout_type): Do upper - lower in the native type,
6264 so as to properly handle negative indices.
6265
381127e8
RL
6266Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
6267
6268 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
6269 (expand_eh_region_start_tree): Remove unused variable 'note'.
6270 (exception_optimize): Remove unused variable 'regions'.
6271 (expand_builtin_eh_stub): Remove unused variable 'temp'.
6272 (copy_eh_entry): Deleted. Dead function.
6273
b57062ca 6274 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
381127e8
RL
6275 'last' with same #if HAVE_load_multiple as use of it.
6276 (move_block_from_reg): Likewise.
6277 (emit_move_insn_1): Remove unused variable 'insns'.
b57062ca
UD
6278 (store_constructor): Bracket declaration of startb, endb with
6279 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
381127e8 6280 'target', and 'xtarget'.
b57062ca 6281 (expand_builtin_setjmp): Remove unused variables 'op0',
381127e8 6282 'next_arg_reg', 'old_inhibit_defer_pop'.
b57062ca 6283 (expand_builtin): Remove unused variable 'offset'.
381127e8
RL
6284 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
6285 (emit_queue): Add parens for assignment used as conditional.
6286 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
6287
00c79232
ML
6288Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
6289
b57062ca 6290 * i386.c: Added include for recog.h.
00c79232
ML
6291 (override_options): Removed unused variable p. Initialized regno to
6292 avoid warning.
6293 (order_regs_for_local_alloc): Initialized regno to avoid warning.
6294 (legitimize_address): Likewise for 'other'.
6295 (i386_aligned_reg_p): Added default case with abort ().
6296 (print_operand): Likewise.
6297 (reg_mentioned_in_mem): Likewise.
6298 (ix86_expand_binary_operator): Removed unused variables i & insn.
6299 (ix86_expand_unary_operator): Removed unused variable insn.
6300 (output_fp_cc0_set): Removed unused variable unordered_label.
6301
f64cecad
JC
6302Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
6303
6304 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
6305 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
6306 and format string match.
6307
0200b5ed
JL
6308Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
6309
6310 * flow.c (life_analysis): Do not conside the stack pointer live at
6311 the end of a function if the fucntio ncalls alloca.
6312 (mark_used_regs): Similarly.
6313
74ccf2c2
JC
63141998-02-10 John F Carr <jfc@mit.edu>
6315
6316 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
6317 1, fzero on alternative 8.
6318
60e2d0ca
RK
6319Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6320
6321 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
6322
2fd0af53
R
6323Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6324
6325 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
6326 SUBREGs of CONST_INTs.
6327
a96c3544
JC
6328Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
6329
6330 * mips.c (print_operand, function_prologue): Make printf format
6331 match argument type.
6332
2514cbc9
KG
6333Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6334
6335 * alpha.c (alpha_return_addr): Remove unused variable `first'.
6336 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
6337 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
6338
72b0c616
RK
6339Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6340
6341 * loop.c (strength_reduce): When placing increment for auto-inc
6342 case, do comparison in loop order.
b57062ca 6343
2e0dd623
JC
6344Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
6345
6346 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
6347 not a HOST_WIDE_INT.
6348
6349 * calls.c (expand_call): Change test of expand_inline_function
6350 return value to stop compiler warning.
6351
6352 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
6353
7bf825d2
JW
6354Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
6355 Jeff Law (law@cygnus.com)
6356
6357 * regmove.c: Fix various minor formatting problems.
6358 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
6359 is true. Make end of basic block tests consistent through regmove.c.
6360 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
6361 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
6362
7d4679ea
KG
6363Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6364
6365 * gansidecl.h: Check for a conflicting macro definition before
6366 attempting to prototype bcopy, bcmp or bzero.
6367
b515ab3d
JL
6368Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
6369
060fbabf
JL
6370 * expr.c (clear_pending_stack_adjust): Handle case where a function
6371 calls alloca, but the user has specified -fomit-fframe-pointer.
6372
b515ab3d
JL
6373 * function.c (assign_parms): Fix typo in last change.
6374
ccd043a9
RL
6375Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
6376
ededb2fc
RL
6377 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
6378 <fcntl.h>.
6379 (free_path_suffix): Remove unreferenced static function.
6380 (process_command): Remove unused variable temp.
6381 (default_arg): Remove unused variable i.
6382 (do_spec_1): Add parens for assignment used as truth value.
6383 (main): Likewise.
6384 (validate_all_switches): Likewise.
6385 (main): Remove unused variables i, first_time>
6386
ccd043a9
RL
6387 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
6388
6389 * calls.c (expand_call): Remove unused variables funtree,
6390 n_regs, and tmpmode.
6391
6392 * dbxout.c, except.c: Include <string.h>/<strings.h>.
6393
6394 * explow.c: (plus_constant_for_output_wide) Removed unused
6395 variable all_constant.
6396
6397 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
6398 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
6399 genrecog.c, global.c, integrate.c , stupid.c : Include
6400 <stdlib.h>.
6401
6402 * genextract.c: (walk_rtx) Remove unused variable link.
6403
6404 * genrecog.c: (concat) Remove unreferenced static function.
6405
6406 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
6407
b57062ca
UD
6408 * stmt.c: Include <stdlib.h>.
6409 (expand_asm_operands): Remove unused variable val1.
ccd043a9
RL
6410 (expand_return): Remove unused variable block.
6411 (pushcase): Remove unused variables l and n.
6412 (pushcaserange): Likewise.
6413
6414 * unroll.c (unroll_loop): Remove unused variable temp.
6415
6553db01
GM
6416Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
6417
6418 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
6419
8479e1db
KG
6420Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6421
6422 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
6423 functions for whether they support the %p format specifier.
6424 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
6425 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
6426 * configure, config.in: Rebuild.
6427
bf9c83fe
JW
6428Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
6429
6430 * function.c (assign_parms): New variable named_arg, with value
6431 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
6432
09e4daf5
GK
6433Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
6434
b57062ca 6435 * mips/t-r3900: New - same as t-ecoff but eliminate
09e4daf5
GK
6436 multilibs: mips1 and mips3.
6437 * configure.in (tx39*): Use new mips/t-r3900.
6438 * configure: Rebuild.
6439 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
6440
b57d9225
JM
64411998-02-06 Jason Merrill <jason@yorick.cygnus.com>
6442
6443 * dwarf2out.c: Add old_args_size.
6444 (dwarf2out_args_size): Use it.
6445 (dwarf2out_begin_prologue): Initialize it.
6446 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
6447 pushed args until we see a call.
6448 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
6449 before outputting them.
6450
64511998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
6452
6453 * cplus-dem.c (demangle_template_template_parm): New function.
6454 (demangle_template): Handle template template parameters.
6455
259620a8
MM
64561998-02-02 Mark Mitchell <mmitchell@usa.net>
6457
6458 * calls.c (expand_call): Don't confuse member functions named
6459 realloc, setjmp, and so forth with the standard library
6460 functions of the same names.
6461
78418280
JL
6462Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
6463
6464 * stmt.c (expand_asm_operands): Correctly identify asm statements
94e5565f 6465 no output operands.
78418280 6466
6d819282 6467Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 6468
6d819282
MK
6469 * c-common.c (decl_attributes): Flag unrecognized attribute
6470 functions as warnings instead of as errors.
6471
aec98e42
ML
64721998-02-05 Marc Lehmann <pcg@goof.com>
6473
6474 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
6475 when -Os is specified.
6476 * toplev.c (main): Don't disable flag_inline_functions anymore when
6477 -Os is in effect.
6478
1230327b
R
6479Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6480
6481 * regmove.c: Update.
6482 * flags.h (flag_regmove): Declare.
6483 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
6484 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
6485 Moved into regmove; changed caller.
6486 * toplev.c (rest_of_compilation): Call regmove_optimize also for
6487 expensive_optimizations.
6488
1aca1e76
JL
6489Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
6490
6491 * version.c: Bump for snapshot.
6492
2993ce4c
R
6493Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6494 Undo this change (the problem was actually in reload):
6495 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6496
6497 * sh.md (movqi_i+1): New peephole.
6498
0340ed6c
JL
6499Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
6500
e535528b
JL
6501 * jump.c (jump_optimize): Lose calls to modified_in_p they are
6502 not needed anymore due to changes elsewhere in jump.c.
6503
0340ed6c
JL
6504 * jump.c (jump_optimize): Fix first arg to modified_in_p in
6505 previous change.
6506
6fd1c67b
RH
6507Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
6508
6509 * expr.c (expand_builtin_setjmp): Accept two new arguments for
6510 the labels to branch to on first and subsequent executions. Don't
6511 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
6512 and provide it with the jmp_buf. Use only one of
6513 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
6514 and provide the former with the target label.
6515 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
6516 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
6517 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
6518 insn to replace all of the normal nonlocal_goto code. Don't play
6519 with __dummy. Correct arguments to nonlocal_goto.
6520 * expr.h (expand_builtin_setjmp): Update prototype.
6521 * except.c (start_dynamic_handler): When using builtin_setjmp,
6522 generate more accurate flow information.
6523
6524 * alpha.md (nonlocal_goto_receiver_osf): Delete.
6525 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
6526 (builtin_longjmp, builtin_setjmp_receiver): New.
6527 * sparc.md (update_return): Disambiguate unspec number.
6528 (nonlocal_goto): Rearrange arguments to match caller in except.c.
6529 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
6530 jmp_buf operand.
6531 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
6532 (builtin_setjmp_setup*, builtin_longjmp): New.
6533
95936d18
JC
6534Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
6535
6536 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
6537
c120c689
JW
6538Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
6539
6540 * vmsconfig.com: Remove bytecode references.
6541
1a56b81f
AS
65421998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6543
91193900
AS
6544 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
6545 -fno-sjlj-exceptions works for a target that defines
6546 DWARF2_UNWIND_INFO as zero.
6547
1a56b81f
AS
6548 * regmove.c (fixup_match_1): Undo last change which removed some
6549 "useless" code, and add a comment explaining this.
6550
e4b3de45
GK
6551Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
6552
6553 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
6554 to TARGET_LONG64.
6555
2aabb736
KK
6556Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
6557
6558 * makefile.vms: Remove bytecode references.
6559 Create genrtl files.
6560
7457661d
MH
6561Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
6562
6563 * jump.c (jump_optimize): Allow conditional loading of floating point
6564 constants and constants from memory. Reinstalled modified_in_p tests.
6565
460f50dc
R
6566Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6567
6568 * loop.c (get_condition): Handle sign-extended constants.
6569
7a6df7f9
HPN
6570Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
6571
db771a3c
HPN
6572 * expr.c (emit_push_insn): Add code to use movstrti if present.
6573
7a6df7f9
HPN
6574 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
6575 and movstrqi as in emit_block_move ().
6576
ceb6edf2
TM
6577Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
6578
6579 * config/m68k/x-next: Remove /NextDeveloper/Headers from
6580 the directories to fixinclude - /usr/include is a link
6581 to it and hence its contents are fixed by default.
6582
9cddeb31
FS
6583Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6584
6585 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
6586
d2f05a0a
KK
6587Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
6588
6589 * cccp.c (main): Predefine __VMS_VER on VMS.
6590
f8dac6eb
R
6591Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6592
6593 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
6594 * fold-const.c (size_int): Replace with
6595 (size_int_wide).
6596 (make_bit_field_ref): Use bitsize_int for bit position.
6597 * stor-layout.c (sizetype): Delete.
6598 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
6599 (layout_record, layout_union, layout_type):
6600 Use bitsize_int for bit size.
6601 (set_sizetype): New function.
6602 (make_signed_type, make_unsigned_type): Use it.
6603 * c-decl.c (init_decl_processing): Likewise.
6604 * tree.h (size_int): Don't delcare, #define.
6605 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
6606 (set_sizetype): Declare.
6607 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
6608 Define.
6609 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
6610 Convert result to sizetype.
6611 (really_start_incremental_init, push_init_level):
6612 Set type of constructor_bit_index to sbitsizetype.
6613 (push_init_level): Use unsigned arithmetic to determine padding.
6614 (output_init_element): Likewise.
6615
b577a8ff
JL
6616Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
6617
6618 * combine.c (simplify_shift_const): Fix typo in last change.
6619
6e0ef100
JC
6620Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
6621
6622 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
6623 is (truncate (lshiftrt)).
6624
4208b40f
RH
6625Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
6626
6627 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
6628 Make sure result winds up in TGT.
6629 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
6630 src to be other than DImode.
6631 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
6632 (alpha_expand_unaligned_store_words): Likewise.
6633 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
6634 that source and destination are separately optimized for alignment.
6635 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
6636
82301b88
JL
6637Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
6638
6639 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
6640 with handling of -32768.
6641
a81fb89e
KG
6642Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6643
6644 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
6645 shell variable argument instead of only hard coded functions.
6646 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
6647
6648 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
6649 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
6650 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
6651 declarations for bcopy, bcmp and bzero.
6652
6653 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
6654
6655 * gansidecl.h: If we have bcopy but don't declare it, then do so.
6656 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
6657 bzero, index and rindex if they aren't already present.
6658
eed90b2c
JL
6659Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
6660
b57062ca 6661 * toplev.c (close_dump_file): Wrap function prototype for
eed90b2c
JL
6662 argument "func" in PROTO.
6663 (dump_rtl): Likewise.
6664
bfd6bc60
JC
6665Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
6666
6667 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
6668 MASK_V8PLUS.
6669 (output_function_epilogue): Omit epilogue if nothing drops through.
6670 (output_move_double): Supress int ldd usage on ultrasparc and v9.
6671 (registers_ok_for_ldd_peep): Likewise.
6672 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
6673 (ultrasparc_adjust_cost): New function.
6674 (sparc_issue_rate): New function.
6675 * sparc.h (MASK_VIS, TARGET_VIS): New
6676 (MASK_V8PLUS, TARGET_V8PLUS): New.
6677 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
6678 (TARGET_SWITCHES): Add vis and v8plus.
6679 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
6680 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
6681 (RTX_COSTS): Use TARGET_HARD_MUL
6682 (ADJUST_COST): Call ultrasparc_adjust_cost.
6683 (ISSUE_RATE): New.
6684 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
6685 of load & fp appropritely.
6686 (supersparc function units): Adjust for Haifa.
6687 (ultrasparc function units): Likewise.
6688 (get_pc_via_rdpc): All v9, not just arch64.
6689 (movdi_v8plus, movdi_v8plus+1): New.
6690 (adddi3_sp32+1): New.
6691 (subdi3_sp32+1): New.
6692 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
6693 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
6694 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
6695 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
6696 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
6697 (ldd peepholes): Suppress for v9.
6698 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
6699 (return_subsi): Revmove.
6700
4b526a9a
JC
6701Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
6702
6703 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
6704 save/restore MEM rtl.
6705
64a438d6
JL
6706Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
6707
6708 * configure.in: Check for declaration of abort.
9c893359 6709 * acconfig.h: Corresponding changes.
64a438d6
JL
6710 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
6711 be declared.
6712
f266c82f
JL
6713Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
6714
6715 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
6716 uses it.
6717
31fa4410
JL
6718Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
6719
6720 * version.c: Bump for snapshot.
6721
0ee31ab1
JL
6722Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
6723
6724 * configure.in: Check for atoq and atoll.
6725 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
6726 proper routine for converting ascii into long long values.
6727
eeeb91c5
KK
6728Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
6729
9d21ee77
KK
6730 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
6731
6732 * vmsconfig.com: Remove bytecode references.
6733
6734 * alpha/vms.h (PREFIX): Define.
6735
6736 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
6737
eeeb91c5
KK
6738 * am-alpha.h: Don't include alloca for OPEN_VMS.
6739
6740 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
6741
6742 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
6743 (GCC_INCLUDE_DIR): Define
6744
6745 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
6746 * makefile.vms: New file.
6747
6748 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
6749
6750 * alpha.c (output_prolog): Output '.name' directive
6751 for minimal traceback information.
6752
6753 * alpha.c (output_prolog): Don't prepend entry point symbols
6754 with '$' on OPEN_VMS.
6755
76d31c63
JL
6756Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
6757 Jeffrey A Law (law@cygnus.com)
6758
6759 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
6760 HOST_WIDE_INT.
6761
6762 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
6763 as needed.
6764 * genemit.c (gen_exp): Likewise.
6765 * genpeep.c (match_rtx): Likewise.
6766 * genrecog.c (write_tree_1): Likewise.
6767
6768 * c-lex.c (yyprint): Use proper format string based upon
6769 disposition of HOST_BITS_PER_WIDE_INT.
6770 (yylex): Put casts in right place for args to build_int_2.
6771
6772Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
6773
6774 * combine.c: Fix typos in Jan27 changes.
6775
1b7555bd
OR
6776Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
6777
6778 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
6779 (LINK_SPEC): Likewise.
6780 (STARTFILE_SPEC): Likewise.
6781
21ca87b8
MS
67821998-01-28 Mike Stump <mrs@wrs.com>
6783
6784 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
6785 reload completes.
6786 * genattrtab.c (reload_completed): Define.
6787
6788 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
6789 comments.
6790
d2c92f5a
R
6791Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6792
6793 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
6794 SUBREG_REG if the word count is unchanged, also in the input reload
6795 case. Disable non-applicable sanity checks.
6796
90ad3ab7
JL
6797Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
6798
6799 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
6800
7fad712c
ILT
6801Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
6802
6803 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
6804
2290e0ec
PB
6805Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
6806
1aea01ea
PB
6807 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
6808 is a TREE_VEC before trying to use it for baseclasses.
6809 (Chill uses the same field for a different purpose.)
6810
2290e0ec
PB
6811 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
6812
16980900
LT
6813Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
6814
4c46bad0 6815 * config.sub: More accurate determination of HP processor types.
16980900 6816
5e9defae
KG
6817Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6818
6819 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
6820 prototype for `handle_sysv_pragma', and make it static. Add
6821 parentheses around assignment used as truth value.
6822
6823 * combine.c (combine_instructions): Protect variable `prev' with
6824 macro HAVE_cc0.
6825 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
6826 (extract_left_shift): Add parentheses around operand of &.
6827 (merge_outer_ops): Avoid an empty body in an else-statement.
6828 (gen_rtx_combine): Remove unused variable `i'.
b57062ca 6829
5e9defae
KG
6830 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
6831 function monstartup `void'. Likewise for internal_mcount. Add
6832 `static void' prototype for moncontrol. Reconcile sprintf format
b57062ca 6833 vs. args.
5e9defae
KG
6834
6835 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
6836 Make return type of function_arg_slotno explicitly `int'.
6837 (reg_unused_after): Add parentheses around assignment used as
6838 truth value.
6839 (save_regs): Add explicit braces to avoid ambiguous `else'.
6840 (function_arg_slotno): Add parentheses around && within ||.
6841 (function_arg_pass_by_reference): Likewise.
6842 (sparc_flat_output_function_prologue): Reconcile fprintf format
6843 vs. args.
6844
6845 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
6846 assignment used as truth value.
6847
6848 * cplus-dem.c: Include <stdlib.h>.
6849 (demangle_signature): Avoid an empty body in an else-statement.
6850 (do_type): Remove unused variable `lvl'.
b57062ca 6851
5e9defae
KG
6852 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
6853 Include <string.h>/<strings.h>.
6854 (cpp_lex): Remove unused variable `namelen'.
6855 (cpp_lex): Explicitly declare `num_chars' as an int.
6856
6857 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
6858 <unistd.h> instead. Explicitly declare is_system_include
6859 returning int.
b57062ca 6860 (make_assertion): Remove unused variable `kt'.
5e9defae
KG
6861 (cpp_expand_to_buffer): Hide variable `obuf'.
6862 (output_line_command): Remove unused variables, `line_end',
6863 `line_cmd_buf' and `len'.
6864 (macarg): Remove unused variable `arg_start'.
6865 (special_symbol): Remove unused variable `i'. Add parentheses
b57062ca 6866 around assignment used as truth value.
5e9defae 6867 (do_include): Remove unused variables `pcfname' and `retried',
b57062ca 6868 hide `pcf' and `pcfbuflimit'.
5e9defae
KG
6869 (do_line): Remove unused variable `i'.
6870 (finclude): Hide variable `missing_newline'.
6871 (cpp_handle_options): Remove unused variable `j'.
6872 (read_token_list): Remove unused variable `eofp'.
6873 (cpp_error_with_line): Remove unused variable `i'.
6874 (cpp_warning_with_line): Likewise.
6875 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
6876 (cpp_error_from_errno): Remove unused variable `i'.
6877
6878 * cse.c (invalidate): Add parentheses around assignment used as
6879 truth value.
6880 (find_best_addr): Move declaration of variable `our_cost' inside
6881 the conditional macro where its used.
6882 (fold_rtx): Avoid an empty body in an if-statement.
6883 (cse_insn): Wrap variables `this_insn_cc0_mode' and
6884 `this_insn_cc0' in macro HAVE_cc0.
b57062ca 6885
5e9defae
KG
6886 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
6887 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
6888 (output_uleb128): Likewise.
6889 (output_sleb128): Likewise.
6890 (output_cfi): Likewise.
6891 (output_call_frame_info): Remove unused variables `j', `fde_size'
6892 and `fde_pad'.
6893 (comp_unit_has_inlines): Hide declaration as per rest of file.
6894 (size_of_line_prolog): Correct typo in prototype.
6895 (add_arange): Likewise.
6896 (output_aranges): Likewise.
6897 (add_name_and_src_coords_attributes): Likewise.
6898 (gen_array_type_die): Likewise.
6899 (gen_inlined_subroutine_die): Likewise.
6900 (equate_decl_number_to_die): Remove unused variable `i'.
6901 (print_die): Reconcile format vs. args in fprintf's.
6902 (print_dwarf_line_table): Likewise.
6903 (output_die): Likewise.
6904 (output_line_info): Likewise.
6905 (add_subscript_info): Avoid an empty body in an else-statement.
6906 (gen_subprogram_die): Remove unused variable `fp_loc'.
6907
6908 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
6909 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
6910 macro. Protect `src_coords_attribute' prototype with
6911 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
6912 prototype as in the rest of the file. Likewise for
6913 `output_pointer_type_die' and `output_reference_type_die'. Remove
6914 prototype for `type_of_for_scope'.
6915 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
6916 (type_attribute): Add explicit braces to avoid ambiguous `else'.
b57062ca 6917
5e9defae
KG
6918 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
6919 (shorten_branches): Protect declaration of tmp_length with
6920 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
6921 (profile_function): Protect declaration of `sval' and `cxt'
6922 variables with appropriate macros.
6923 (final_scan_insn): Likewise for `note' variable. Add explicit
6924 braces to avoid empty body in an if-statement.
6925 (output_asm_insn): Move variable `i' inside macro conditional
6926 where it is used. Add parentheses around assignment used as truth
6927 value.
6928 (asm_fprintf) Likewise, likewise.
b57062ca 6929
5e9defae
KG
6930 * fix-header.c (main): Remove unused variable `done'. Protect
6931 declaration of `i' with FIXPROTO_IGNORE_LIST.
6932
6933 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
6934
6935 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
6936 `ind'.
6937
6938 * profile.c: Include <string.h>/<strings.h>.
6939 (instrument_arcs): Remove unused variables `note', `inverted',
6940 `zero' and `neg_one'.
6941 (branch_prob): Avoid empty body in an if-statement.
6942
6943 * regclass.c: Include <stdlib.h>.
6944 (reg_alternate_class): Explicitly declare parameter `regno'.
6945
6946 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
6947 parentheses around assignment used as truth value.
6948 (find_matches): Remove unused variables `output_operand' and
6949 `matching_operand'.
6950 (fixup_match_1): Remove statement with no effect: "if (0) ;".
6951
6952 * scan.c (sstring_append): Explicitly declare `count' as int.
6953 (scan_string): Explicitly declare parameter `init' as int.
6954
6955 * sched.c: Include <stdlib.h>.
6956 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
6957 (rank_for_schedule): Add parentheses around assignment used as
6958 truth value.
6959 (schedule_block): Likewise.
6960 (regno_use_in): Likewise.
6961 (schedule_insns): Remove unused variable `i'.
6962
6963 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
6964 (v_message_with_decl): Remove unused variable `n'.
6965 (botch): Explicitly declare parameter `s' as char *.
6966 (main): Add parentheses around assignment used as truth value.
6967
6968 * tree.c (make_node): Protect the variable `kind' with the
6969 GATHER_STATISTICS macro.
6970 (real_value_from_int_cst): Move variable `e' inside conditional
6971 macro area where it is used.
6972 (tree_last): Add parentheses around assignment used as truth value.
6973 (build1): Protect the variable `kind' with the GATHER_STATISTICS
6974 macro.
6975 (print_obstack_statistics): Reconcile format vs. args in fprintf.
6976 Protect variables `i', `total_nodes', and `total_bytes' with the
6977 GATHER_STATISTICS macro.
6978
4b6bb562
MS
6979Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
6980
6981 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
6982 some comments regarding use of dead_or_set_p.
6983
e95f0195
TV
6984Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
6985
6986 * fixincludes: Tweak fix for struct exception in math.h
6987
c3499f00
GK
6988Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
6989
6990 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
b57062ca 6991 Change mode of registers used to add/sub from
c3499f00
GK
6992 hard_frame_pointer_rtx from word_mode to Pmode.
6993
01898d58
NC
6994Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
6995
6db34dd4
NC
6996 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
6997 asm_output_aligned_bss() instead of asm_output_bss().
6998
01898d58
NC
6999 * toplev.c (rest_of_compilation): Replace references to
7000 stack_reg_dump_file and dbr_sched_dump_file with references to
b57062ca 7001 rtl_dump_file.
01898d58 7002
7b6ffd11
KI
7003Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
7004
7005 * tlink.c (scan_linker_output): Call fclose() for opened files.
7006
60593797
RH
7007Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
7008
7009 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
7010 compiling with -fpic -- we want to be able to override symbols
7011 properly.
7012 (alpha_expand_block_move): Fix thinko in last change.
7013
7014 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
7015 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
7016 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
b57062ca 7017
5e4aab97
RH
7018Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
7019
7020 * alpha.md (abssf, absdf): Revert last change.
7021
69145bcc
JC
7022Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
7023
7024 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
7025 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
7026
4926b75a
JL
7027Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
7028
7029 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
7030 a CONST_INT into SFmode.
7031
c6aded7c
AG
7032Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
7033
7034 * flags.h: New flag (optimize_size).
7035 * toplev.c (main): Parse -Os option and set optimize_space
7036 accordingly.
b57062ca 7037 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
c6aded7c
AG
7038 __OPTIMIZE_SIZE__ when compiling with -Os.
7039 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
7040 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
7041 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
7042 to macro.
7043 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
7044
3698f44e
MH
7045Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
7046
7047 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
7048 stuff only if MCT_TEXT is #define'd.
7049
ac8a456a
MO
7050Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
7051
7052 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
7053 configurations.
7054
032713aa
NC
7055Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
7056
7057 * toplev.c: Add -dM command line option to dump RTL after the
7058 machine dependent reorganisation pass, if there is one.
7059 Reorganise RTL dump code, so that only one file handle is
b57062ca 7060 needed.
032713aa 7061
ec2be682
BK
7062Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
7063
7064 * except.c (check_exception_handler_labels): Disable warning when
7065 flag_syntax_only.
7066
e232b7b3
JW
7067Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
7068
7069 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
7070
2a851b5c
R
7071Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7072
7073 * c-decl.c (grokdeclarator): Get parameter tags from
7074 last_function_parm_tags.
7075 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
7076 traversing the parameter types.
7077 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
7078
808fbfac
JL
7079Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
7080
7081 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
7082 the default case.
7083 (get_shift_alg): Fix typo.
7084
15389075
RH
7085Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
7086
7087 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
7088
83c8ddef
RH
7089Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
7090
7091 * toplev.c (get_run_time): Make sure each case gets its variables.
7092
db81d74a
RH
7093Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
7094
7095 * configure.in (build_xm_file): Add auto-config.h if host=build.
7096 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
7097 (build_xm_file_list): Likewise.
7098 * configure: Rebuild.
b57062ca 7099
f745c7a2
AB
7100Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
7101
7102 * recog.c (validate_replace_rtx_1): Only perform substitutions
7103 of arguments to commutative and comparison operators once.
7104
963f4057
KG
7105Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7106
91a51951
KG
7107 * sparc.c (output_cbranch): Add default case in
7108 enumeration switch.
b57062ca 7109
91a51951
KG
7110 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
7111 (emit_delay_sequence): Eliminate unused parameter, all callers
7112 changed.
7113 (fill_simple_delay_slots): Likewise.
7114 (fill_slots_from_thread): Likewise.
7115 (fill_eager_delay_slots): Likewise.
7116 (mark_referenced_resources): Add default case in enumeration switch.
7117 (mark_set_resources): Likewise.
7118 (rare_destination): Likewise.
7119 (mostly_true_jump): Likewise.
7120 (find_dead_or_set_registers): Likewise.
7121 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
7122 (update_reg_unused_notes): Remove unused variable `p'.
7123 (mark_target_live_regs): Remove unused variables `next' and
7124 `jump_count'.
7125 (fill_simple_delay_slots): Remove unused variable `j'.
7126 (fill_slots_from_thread): Add parentheses around assignment used
7127 as truth value.
7128 (dbr_schedule): Likewise.
7129
963f4057
KG
7130 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
7131 (objc.stage2, objc.stage3, objc.stage4): Likewise.
7132
e82ad93d
MT
7133Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
7134
7135 * cse.c (simplify_ternary_operation): Don't try to simplify
7136 IF_THEN_ELSE expressions (created by combine) that don't use
7137 relational operators.
7138
b4b04bf9
JL
7139Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
7140
ed1ecb19
JL
7141 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
7142 simplifications.
7143
b4b04bf9
JL
7144 * crtstuff.c (init_dummy): Keep the epilogue in the init
7145 section for non-ELF systems.
7146
deeef0ac
R
7147Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7148
7149 * sh.md (movqi_i+1): New peephole.
7150
03566575
JW
7151Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
7152
7153 * Makefile.in: Remove remaining bytecode stuff.
7154 * emit-rtl.c, expr.c: Likewise.
7155
eb96c120
NC
7156Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
7157
7158 * toplev.c (lang_options): Add unknown-pragma options.
7159
f03204e9
PB
7160Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
7161
7162 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
7163 special (and incomplete) handling for Chill arrays.
7164
4e762a38
JC
7165Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
7166
7167 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
7168 to get clock rate.
7169
c3499f00 7170Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
319f217e
GK
7171
7172 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
7173
19f673eb
SS
71741998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
7175
7176 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
7177 .frame directive instead of FRAME_POINTER_REGNUM.
7178
74cf1c6d
RK
7179Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
7180
7181 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
7182 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
7183 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
7184 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
7185 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
7186 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
7187 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
7188 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
7189 mcpu32 or m5200.
7190 * longlong.h: Replace __mc68332__ with __mcpu32__.
7191
e1402e7d
JL
7192Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
7193
7194 * version.c: Bump for snapshot.
7195
6d49a073
JW
7196Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
7197
7198 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
7199 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
7200 * reload1.c (eliminate_regs): Likewise.
7201
c485e6a0
JL
7202Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
7203
7204 * regmove.c (find_matches): Initialize matches->earlyclobber too.
7205
84303d9a
RH
7206Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
7207
7208 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
7209 (negsf2, negdf2): Use proper subtract in IEEE mode.
7210
b93a436e
JL
7211Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
7212
27766f0e
JL
7213 * Makefile.in: Remove more bytecode stuff.
7214 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
7215 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
7216 * f/install.texi, objc/Make-lang.in: Likewise.
7217
b93a436e
JL
7218 * Makefile.in: Remove all bytecode support.
7219 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
7220 * emit-rtl.c: Remove all bytecode support.
7221 * expr.c, expr.h function.c, integrate.c: Likewise.
7222 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
7223 * tree.h, varasm.c: Likewise.
424e713c
JL
7224 * config/m68k/m68k.h: Likewise.
7225 * bi-*, bc-*, bytecode*: Delete bytecode related files.
c9804136 7226 * modemap.def: Likewise.
b93a436e 7227
7e07e3ba
GK
7228Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
7229
7230 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
7231 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
7232
685885b7
RH
7233Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
7234
7235 * i386.md (push): Prohibit symbolic constants if flag_pic.
7236 (movsi+1): Likewise for move to non-register.
7237
5830e3a0
JW
7238Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
7239
11ea364a
JW
7240 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
7241 (print_operand): Handle 0xffffffff on 32 bit host.
7242
a851212a
JW
7243 * configure.in (thread_file): Rename uses before main loop to
7244 target_thread_file. Initialize to empty in main loop. Set thread_file
7245 to target_thread_file after main loop if not set.
7246 * configure: Rebuild.
7247
5830e3a0
JW
7248 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
7249 (add_values_to_cover): Revert last change (which had no ChangeLog
7250 entry).
7251 (simplify_with_current_value_aux): Handle CONST_INT.
7252
829e1aaf
AS
7253Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7254
7255 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
7256
76844337
RH
7257Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
7258
7259 * configure.in: Add cpp stringify test.
7260 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
7261 * gengenrtl.c: Use it.
7262 * configure, config.in: Rebuild.
7263
a3f80023
AS
7264Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7265
7266 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
7267
c5d0345e
RH
7268Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
7269
7270 * configure.in: Find declaration for sbrk.
7271 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
7272 * config.in, configure: Rebuild.
7273 * mips-tfile.c: Properly protect declaration of sbrk and free.
7274 * toplev.c: Properly protect declaration of sbrk.
7275
bb02e7ea
RH
7276Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
7277
7278 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
7279
30c2fa75
JL
7280Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
7281
7282 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
7283
a0372c94
MS
7284Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
7285
7286 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
7287
c9ec4f99
DM
7288Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
7289
0e9ff885
DM
7290 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
7291 constant offset computations from objects with known alignment in
7292 the presence of STACK_BIAS.
7293
7bcac048
DM
7294 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
7295 necessary.
7296 (const_hash): Hash val is unsigned long.
7297 (SYMHASH): Likewise.
7298
7299 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
7300
7301 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
7302 char pointer, not HOST_WIDE_INT.
7303 (print_node): Likewise. Also hash is unsigned long not
7304 HOST_WIDE_INT.
7305
7306 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
7307
c9ec4f99
DM
7308 * explow.c (optimize_save_area_alloca): New function for targets
7309 where SETJMP_VIA_SAVE_AREA is true.
7310 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
7311 compute the amount of stack space needed should we find later that
7312 setjmp is never called by this function, stuff rtl for this inside
7313 a REG_NOTE of the final SET of stack_pointer_rtx.
7314 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
7315 current_function_calls_alloca, call optimize_save_area_alloca.
7316
ca097615
JW
7317Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
7318
7319 * i386.md: Remove redundant integer push patterns.
7320 Don't bother checking for TARGET_PUSH_MEMORY when
7321 pushing constants or registers.
7322
a3105a89
MK
7323Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
7324 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
b57062ca 7325
a3105a89
MK
7326 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
7327 (pwait): New function for mingw32.
7328
7329 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
7330 pipe support is broken for now.
7331
51549d76
LI
73321998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
7333
ffc3503d
JL
7334 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
7335 between frame_pointer_rtx, hard_frame_pointer_rtx, and
7336 arg_pointer_rtx is respected in initialization.
7337 (init_emit_once): Use gen_rtx_raw_REG() to create
7338 return_address_pointer_rtx.
7339
51549d76
LI
7340 * reorg.c: #include "expr.h" for rtx prototypes.
7341 * Makefile.in (reorg.o): Depend on expr.h
7342
b24a815b
PN
7343Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
7344
7345 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
7346 local_prefix to sub-make invocations.
7347
1e7b997a
DM
7348Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
7349
7350 * objc-parse.c: Recognize protocol qualifiers in class definitions.
7351
340fb41f
JL
7352Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
7353
ffc3503d
JL
7354 * rtl.h: Fix typos.
7355
aef28d1d 7356 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6885fc87 7357 * configure.in: Check for atol.
aef28d1d
JL
7358 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
7359
4399e7a3
JL
7360 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
7361
72ec635f
JL
7362 * loop.c (find_and_verify_loops): When attempting to move insns from
7363 inside the loop outside the loop, create a BARRIER if no suitable
7364 one was found.
7365
1be6e437
JL
7366 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
7367 favor of an equivalent change from gcc-2.8.
7368
340fb41f
JL
7369 * i386/x-sco5 (CC): Remove trailing whitespace.
7370
982255c8 7371Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 7372
982255c8
KG
7373 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
7374 (accessor_from_format): Likewise.
7375 (xmalloc): New function for use when linking with alloca.o.
7376
db8abea3
BH
7377Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
7378
7379 * frame.c (find_fde): Correct FDE's upper bound.
7380
5d483f63
RH
7381Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
7382
7383 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
7384
9a960e6b
JL
7385Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
7386
7387 * calls.c (expand_call): Move #ifdef code out of macro argument
7388 lists.
7389 (emit_library_call, emit_library_call_value): Likewise.
7390
a4b18346
JL
7391Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
7392
7393 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
7394
a252996a
JL
7395Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
7396
7397 * version.c: Bump for snapshot.
7398
38a448ca
RH
7399Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
7400
7401 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
7402 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
7403 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
7404 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
7405 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
7406 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
7407 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
7408 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
7409 * unroll.c, varasm.c: Likewise.
7410 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
7411
7412Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
60db002d
GK
7413
7414 * mips.h: Fix some type-o's from a previous change.
7415
a8decb2c
JL
7416Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
7417
b57062ca 7418 * loop.c (check_dbra_loop): Make sure initial value is a
a8decb2c
JL
7419 CONST_INT before trying to normalize it.
7420
0e2b736c
RL
7421Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
7422
7423 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
7424
a3aa3d8c
HB
7425Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
7426
7427 * cppexp.c: Include gansidecl.h
7428
8b496c8d
ILT
7429Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
7430
7431 * svr4.h (LINK_SPEC): Never specify -h.
7432 * ptx4.h (LINK_SPEC): Likewise.
7433 * rs6000/sysv4.h (LINK_SPEC): Likewise.
7434 * sparc/sol2.h (LINK_SPEC): Likewise.
7435
c995fea1
RH
7436Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
7437
8d47dfc5
RH
7438 * c-typeck.c (comptypes): Exit early on NULL input.
7439
c995fea1
RH
7440 * haifa-sched.c (schedule_insns): Correctly remove inter-block
7441 dependencies after reload.
7442
88ea0ad1
FS
7443Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7444
7445 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
7446
f5e86959
JL
7447Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
7448
7449 * alpha/vms.h (DIR_SEPARATOR): define
7450
7451Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6c32c807
BH
7452
7453 * Makefile.in (stamp-proto): Remove.
7454 (protoize.o, unprotoize.o): Straightforward compile.
7455 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
7456
93006f8c
MK
7457Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
7458
7459 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
7460 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
7461
e4c4f8df
JL
7462Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
7463
7464 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
7465 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
7466 * sparc/netbsd.h, vax/netbsd.h: Likewise.
7467
4aa0c2a5
SS
7468Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
7469
7470 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
7471
c43143f6
JW
7472Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
7473
7474 * configure.in (target_cpu_default, target_cpu_default2): Use double
7475 quotes around them when testing their value.
7476 * configure: Rebuilt.
b57062ca 7477
4b8140a6
JC
7478Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
7479
7480 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
7481 to allocate rtx.
7482 (gendef): Call obstack_alloc_rtx.
7483
82de9b28 7484Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
fe07d4c1
RL
7485
7486 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
7487 for now.
7488
23092526 7489Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 7490
23092526
MK
7491 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
7492 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
7493 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
7494
b57062ca 7495Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
32318600
JW
7496
7497 * mips.md (return_internal): Change mode from SImode to VOIDmode.
7498
ef720b21
KJ
7499Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
7500
7501 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
7502 "-static".
7503
cde21847
SC
7504Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
7505
7506 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
7507 suffix from operand 3.
7508
184bb750
R
7509Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7510 Jeffrey A Law (law@cygnus.com)
7511
7512 * regmove.c: New implementation of regmove pass.
7513 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
7514 decls, make them have external linkage. Return a value from
7515 optimize_reg_copy_1.
7516 * reload.h (count_occurrences): Add decl.
7517 * reload1.c (count_occurrences): Delete decl, make it have external
7518 linkage.
7519 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
7520
3f9e9508 7521Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
b57062ca 7522
3f9e9508
JL
7523 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
7524 if it is not defined.
b57062ca 7525
3b80f6ca
RH
7526Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
7527
7528 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
7529 * emit-rtl.c (gen_rtx): Move special code to ...
7530 (gen_rtx_CONST_INT): New function.
7531 (gen_rtx_REG): New function.
7532 (*): Update all calls to gen_rtx.
7533 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
7534 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
7535 (GEN_INT): Call gen_rtx_CONST_INT.
7536 * gengenrtl.c: New file.
7537
1c72c7f6
JC
7538Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
7539
7540 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
7541 (base_alias_check): If no base found for address call canon_rtx and
7542 try again.
7543
8fa4e1b4
JL
7544Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
7545
7546 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
7547 arguments for mips16.
7548 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
7549 Don't lose if tsize is zero after handling large stack for mips16.
7550 * mips.md (return): For trivial return, return address is in $31.
7551
eb774d8d
NS
7552Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
7553
7554 * mips/mips16.S: Various changes to make it work with -msingle-float
7555 and -EL.
7556
2bcb2ab3
GK
7557Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
7558 Ian Lance Taylor <ian@cygnus.com>
7559 Jeff Law <law@cygnus.com>
7560
7561 * mips.c, mips.h, mips.md: First cut at merging in mips16
7562 support. Major modifications throughout all three files.
7563
db0d1ed9
SS
7564Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
7565
7566 * configure.in: Make gthr-default.h a forwarding header instead of
7567 a symlink.
7568
79873958
KG
7569Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7570
86e011ad
KG
7571 * gcov-io.h: Include sys/types.h to ensure we get size_t.
7572
79873958
KG
7573 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
7574
35a42f5f
JW
7575Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
7576 Jeffrey A Law (law@cygnus.com)
7577
7578 * crtstuff.c (__frame_dummy): New function for irix6.
7579 (__do_global_ctors): Call __frame_dummy for irix6.
7580 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
7581
ef86d2ee
WL
7582Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
7583
7584 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
7585
6c174fc0
RH
7586Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
7587
7588 * c-decl.c (init_decl_processing): Provide proper fallback symbol
7589 for __builtin_memset.
7590 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
7591 not INTEGER_CST. Assert arg 3 is a constant.
7592
7593 * alpha.c (mode_width_operand): Accept 64-bit modes.
7594 (mode_mask_operand): Likewise.
7595 (print_operand): Likewise for 'M' and 'U' codes.
7596 (alpha_expand_unaligned_load): New function.
7597 (alpha_expand_unaligned_store): Likewise.
7598 (alpha_expand_unaligned_load_words): Likewise.
7599 (alpha_expand_unaligned_store_words): Likewise.
7600 (alpha_expand_block_move): Likewise.
7601 (alpha_expand_block_clear): Likewise.
7602 * alpha.h (MOVE_RATIO): New define.
7603 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
7604 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
7605
7606 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
7607 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
7608
8fbf199e
RH
7609Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
7610
7611 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
7612 * configure: Update.
7613
2d490e3e
JL
7614Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
7615
aa2ae679
JL
7616 * emit-rtl.c (operand_subword): Correctly handle extracting a word
7617 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
7618
2d490e3e
JL
7619 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
7620 for first argument.
7621
6e26218f
ILT
7622Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
7623
7624 * configure.in: Set and subsitute host_exeext. Use it when creating
7625 the assembler and linker symlinks.
7626 * configure: Rebuild.
7627 * Makefile.in (exeext): Set to @host_exeext@.
7628 (build_exeext): New variable, set to @build_exeext@.
7629 (FLAGS_TO_PASS): Pass down build_exeext.
7630 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
7631 programs.
7632
1b31097e
JL
7633Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
7634
7635 * mn10200.md (addsi3, subsi3): Fix thinkos.
7636
194faace
RH
7637Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
7638
7639 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
7640 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
7641 unix always, since we want to be able to thunk to functions in a
7642 shared library from an application.
7643
975602f8
ILT
7644Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
7645
7646 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
7647 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
7648
0eb1ad44
JL
7649Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
7650
7651 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
7652 offset's mode is not ptr_mode, convert it.
7653
eff0f7ac
MM
7654Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
7655
7656 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
7657 compiling if it was already defined.
7658
2c3a56ad
JL
7659Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
7660
7661 * flow.c (find_basic_blocks): Don't create a new basic block
7662 for calls in a LIBCALL block.
7663
fc97718f
DE
7664Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
7665
7666 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
7667
5b5a2a1e
JL
7668Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
7669
7670 * cse.c (rtx_cost): Remove conflicting default case.
7671
128f7968
RH
7672Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
7673
7674 * configure.in: Move default enabling of Haifa out of for loop.
7675 * configure: Rebuild.
7676
e81b4fbe
JL
7677Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
7678
7679 * version.c: Bump for snapshot.
7680
f24af81b
TT
76811997-12-25 Teemu Torma <tot@trema.com>
7682
7683 * Makefile.in (GTHREAD_FLAGS): New var.
7684 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
7685 (distclean): Remove gthr-default.h.
7686
7687 * configure.in: Accept dce as a thread package.
7688 Check for thread.h and pthread.h.
7689 Link gthr-default.h to appropriate thread file and set
7690 gthread_flags.
7691 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
7692 include multilib definitions from pa/t-dce-thr.
7693 (sparc-*-solaris2*): Enable threads by default, if thread.h or
7694 pthread.h is found, preferring posix threads over solaris ones.
7695
7696 * config/pa/t-dce-thr: New file.
7697 * config/pa/t-pa: Removed multilibs.
7698 * config/sparc/t-sol2: Ditto.
b57062ca 7699
f24af81b
TT
7700 * gthr.h: New file.
7701 * gthr-single.h: New file.
7702 * gthr-posix.h: New file.
7703 * gthr-solaris.h: New file.
7704 * gthr-dce.h: New file.
7705 * libgcc-thr.h: Removed.
7706 * objc/thr-dce.c: New file copied from thr-decosf1.c.
7707
7708 * frame.c: Include gthr.h instead of libgcc-thr.h.
7709 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
7710 (eh_context_initialize): If __gthread_once fails, use static eh
7711 context.
7712 (eh_context_free): Call __gthread_key_dtor.
7713
d9a4ee00
JL
7714Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
7715
7716 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
7717
04bd620d
JW
7718Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
7719
556c714b 7720 * cse.c (max_insn_uid): New variable.
556c714b
JW
7721 (cse_around_loop): Use max_insn_uid.
7722 (cse_main): Set max_insn_uid.
7723
04bd620d
JW
7724 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
7725 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
7726 -mlong64, and -mgp{32,64} options.
7727 * mips.c (mips_abi): Change type to int.
7728 * mips.h (enum mips_abi_type): Delete.
7729 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
7730 (mips_abi): Change type to int.
7731
439d5a35
JC
7732Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
7733
7734 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
7735 optimization is now always enabled.
7736
7737 * calls.c (expand_call): Recognize C++ operator new as malloc-like
7738 function.
7739
7740 * alias.c (memrefs_conflict_p): Eliminate tests now done by
7741 base_alias_check.
7742 (*_dependence): Call canon_rtx before base_alias_check.
7743 (init_alias_once): New function to precompute set of registers which
7744 can hold Pmode function arguments.
7745
7746 * rtl.h: Declare init_alias_once.
7747
7748 * toplev.c (compile_file): Call init_alias_once.
7749
280e521f
JL
7750Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
7751
7752 * tree.c (restore_tree_status): Do not dereference a null pointer.
7753
95b8c0c8
PE
7754Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
7755
7756 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
7757 RLIMIT_STACK. This maintains consistency with the recent, similar
7758 patch to cccp.c and toplev.c.
7759
71d9b493
RH
7760Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
7761
7762 * genattrtab.c (expand_units): For large nr opclasses, expand
7763 function_units_used with ORX to prevent blowups. Tag with FFS.
7764 (num_unit_opclasses): New variable.
7765 (gen_unit): Update it.
7766 (enum operator): Add ORX_OP.
7767 (operate_exp): Treat ORX as or, except don't expand across an if.
7768 Reuse number rtx's after operating on them.
7769 (check_attr_value): Accept IOR, AND, & FFS.
7770 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
7771 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
7772 (write_expr_attr_cache, write_toplevel_expr): New functions.
7773 (write_attr_get): Handle FFS-tagged expressions.
7774 (make_canonical): Don't expand const attributes.
7775 (convert_const_symbol_ref): Dike out.
7776 (evaluate_eq_attr): Handle SYMBOL_REF.
7777 (main): Don't emit get_attr_foo for const attributes.
7778
7779 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
7780 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
7781 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
b57062ca
UD
7782 * alpha.md: Redo all of the scheduling, adding EV6 support, and
7783 combining function units where possible.
71d9b493
RH
7784 (attr "type"): Split loads, stores, cmov into int/fp. Combine
7785 multiplies and divides. Add EV6 sqrt, ftoi, itof.
7786 (attr "opsize"): New attribute.
7787 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
7788 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
7789 to control register allocation.
7790 (movsi2-1, movdi2-1): Likewise.
7791
b0435cf4 7792Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
b57062ca 7793
b0435cf4
RH
7794 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
7795 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
7796 Move OSF/1 specific defines out.
7797 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
7798 Move Linux specific defines out.
7799 (LINK_SPEC): Genericize.
7800 (ASM_FILE_START): Emit .arch if using more than the base insn set.
7801 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
7802 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
7803 (HANDLE_SYSV_PRAGMA): Define.
7804 * alpha/osf.h: New file.
7805 * alpha/linux.h: Split. Retain file-format independant defines.
7806 Import Linux bits from elf.h.
7807 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
7808 (FUNCTION_PROFILER): _mcount takes its address in $28.
7809 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
7810 * alpha/linux-ecoff.h: New file.
7811 * alpha/linux-elf.h: New file.
7812 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
7813 * alpha/win-nt.h (TARGET_DEFAULT): Define.
7814 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
7815 Add new headers as appropriate.
b57062ca 7816
b0435cf4
RH
7817 * configure.in (alpha*): Enable Haifa by default.
7818 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
7819 * configure: Rebuild.
b57062ca 7820
5768f211
RH
7821Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
7822
7823 * Makefile.in (clean): Remove the stages with their objects here ...
7824 (distclean): ... instead of here.
7825
9e04c65a 7826Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 7827
9e04c65a
KG
7828 * cse.c (rtx_cost): Add default case in enumeration switch.
7829 * fix-header.c (recognized_macro): Likewise.
7830 (recognized_extern): Likewise.
7831 (write_rbrac): Likewise.
7832 * objc/objc-act.c (encode_aggregate): Likewise.
7833 (gen_declarator): Likewise.
7834 (gen_declspecs): Likewise.
7835
1d88b804
JL
7836Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
7837
7838 * haifa-sched.c (create_reg_dead_note): Detect and handle another
7839 case where we kill more regs after sched than were killed before
7840 sched.
7841 * sched.c (create_reg_dead_note): Similarly.
7842
bbeba0ba
JL
7843Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
7844
7845 * c-pragma.c: Include flags.h.
7846
05853640
MK
7847Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
7848
7849 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
7850 about system headers.
7851 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
7852 and also to resolve symbols in prefix.c.
7853
7854 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
7855 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
7856 when the definitions in auto-config.h is not visible.
7857 (HAVE_BZERO): Likewise.
7858 (HAVE_BCMP): Likewise.
7859 (HAVE_RINDEX): Likewise.
7860 (HAVE_INDEX): Likewise.
7861
44201dba
JL
7862Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
7863
7864 * pa.c (emit_move_sequence): Handle a function label source
7865 operand.
7866
d300e551
NC
7867Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
7868
7869 * c-pragma.c (handle_pragma_token): Generate warning messages
7870 about unknown pragmas if warn_unknown_pragmas is set.
7871
7872 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
7873 line option to set variable: warn_unknown_pragmas.
7874
d3245704
MH
7875Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
7876
7877 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
7878 definition.
7879 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
7880
5198352e
JL
7881Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
7882
7883 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
7884 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
7885 generate more fine grained floating point emulation libraries.
7886 * config/fp-bit.c: Add protecting #ifdef to all functions so
7887 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
7888 then compile all suitable functions.
7889 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
7890 underscores to avoid namespace pollution.
7891 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
7892 (FPBIT): Define.
7893 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
7894 (FPBIT): Define.
7895 (DPBIT): Define.
7896
9f1ff8e8 7897Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1d300e19
KG
7898 Jeff Law <law@cygnus.com>
7899
7900 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
7901 of the declaration.
7902 * c-decl.c (finish_decl): Use parentheses around && within ||.
7903 * rtl.c: Include stdlib.h.
7904 (read_skip_spaces): Add parentheses around assignments used as
7905 truth values.
7906 (read_rtx): Initialize list_rtx.
7907 * cppexp.c (parse_number): Use || when operands are truth values.
7908 * alias.c (find_base_value): Add default case.
7909 (memrefs_conflict): Likewise.
7910 * combine.c (sets_function_arg_p): Likewise.
7911 * genemit.c (gen_exp): Likewise.
7912 * local-alloc.c (contains_replace_regs): Likewise.
7913 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
7914 * fold-const.c (fold_convert): Use "&&" for truth values.
7915 (fold): Add default case.
7916 * sdbout.c (sdbout_field_types): Fix typo in declaration.
7917 (sdbout_one_type): Add default case.
7918 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
7919 (some_operand): Add default case.
7920 (input_operand): Likewise.
7921 (signed_comparison_operator): Likewise.
7922 (divmod_operator): Likewise.
7923 (alpha_set_memflags_1): Likewise.
7924 * reload1.c (reload_cse_simplify_operands): Ensure function
7925 always returns a value.
7926 * scan-decls.c (scan_decls): Likewise.
7927 * c-lex.c (skip_white_space): Fix typo in declaraion.
7928 * c-typeck.c (comp_target_types): Add parentheses around assignment
7929 used as truth value.
7930 (print_spelling): Likewise.
7931 (constructor_implicit, constructor_result): Remove unused variables.
7932 * collect2.c (scan_library): Protect prototype with
7933 #ifdef SCAN_LIBRARIES.
7934 * emit-rtl.c (find_line_note): Fix typo in declaration.
b57062ca 7935 * final.c (asm_insn_count): Protect prototype with
1d300e19
KG
7936 #ifdef HAVE_ATTR_length.
7937 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
7938 (try_pre_increment_1, try_pre_increment): Likewise.
7939 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
7940 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
7941 * gcov-io.h (__store_long, __write_long, __read_long): Fix
7942 unsigned/signed comparisons.
7943 * gcov.c (read_files): Remove unused "first_type" variable.
7944 (scan _for_source_files): Initialize s_ptr.
7945 (function_summary): Eliminate "%lf" formatting, use %ld for
7946 longs.
7947 (output_data): Initialize branch_probs and last_line_num.
7948 Eliminate "%lf" formatting, use "%ld" for longs.
7949
18543a22
ILT
7950Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
7951
afba61d1
ILT
7952 * mips16.S: New file.
7953
7954 * libgcc2.c (varargs): Handle mips16.
7955
18543a22
ILT
7956 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
7957 expression.
7958 * stmt.c (expand_end_case): Likewise.
7959 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
7960 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
33f7f353 7961 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
18543a22 7962
dbf3231e
AS
7963Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7964
7965 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
7966 the build directory.
7967 (libobjc.a): Update dependency list.
7968 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
7969 directory.
7970 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
7971 (objc.mostlyclean): Remove runtime-info.h.
7972
e1ee5cdc
RH
7973Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
7974
7975 * tree.c (build_range_type): Allow creation of ranges with no maximum.
7976 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
7977 * dwarf2out.c (add_subscript_info): Likewise.
7978 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
7979 * sdbout.c (plain_type_1): Likewise.
7980 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
7981 Likewise.
7982 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
7983 Likewise.
7984
dfe91418 7985Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 7986
dfe91418
JL
7987 * mips.c (fatal): Remove declaration.
7988
79891997-12-18 Mark Mitchell <mmitchell@usa.net>
7990
7991 * integrate.c (get_label_from_map): New function.
7992 (expand_inline_function): Use it. Initialize the label_map to
7993 NULL_RTX instead of gen_label_rtx.
7994 (copy_rtx_and_substitute): Use get_label_from_map.
7995 * integrate.h (get_label_from_map): New function.
7996 (set_label_from_map): New macro.
7997 * unroll.c (unroll_loop): Use them.
7998 (copy_loop_body): Ditto.
7999
337e2b69
ILT
8000Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
8001
8002 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
8003 (INIT_TARGET_OPTABS): Define.
8004 * mips/ecoff.h: Include gofast.h before mips.h.
8005 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
8006 * mips/elf64.h: Likewise.
8007 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
8008
02531345
JM
8009Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
8010
8011 * except.c: Remove register_exception_table{,_p}.
8012
913b5d54
GK
8013Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
8014
efb84aa5
GK
8015 * unroll.c (calculate_giv_inc): Handle constant increment found in
8016 a MEM with an appropriate REG_EQUAL note.
8017
bb1b857a
GK
8018 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
8019
913b5d54
GK
8020 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
8021 frame pointer in the prologue.
8022
80aab652
RL
8023Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
8024
8025 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
8026 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
8027
f5c4bc60 8028Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
b57062ca 8029
f5c4bc60
BM
8030 * config/m68k/m68k.c (output_function_prologue): Typecast
8031 dwarf2out_cfi_label to (char *).
8032 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
b57062ca 8033
8dcb5295
RH
8034Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
8035
8036 * sparc.md (jump): Don't use the annul bit around an empty loop.
8037 Patch from Kevin.Kelly@East.Sun.COM.
8038
a99503b1
SC
8039Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
8040
b57062ca 8041 * jump.c: (jump_optimize): Don't use the return register as a
a99503b1
SC
8042 source1 of a conditional move.
8043
e13c943c
RH
8044Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
8045
8046 * sparc.c (DF_MODES): Or the mask not the bit number.
8047 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
8048
be3d27d6
CI
8049Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
8050
8051 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
8052
f184a264
MH
8053Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
8054
ade7386a
MH
8055 * fixincludes (size_t): Add support for Motorola's stdlib.h
8056 which fails to provide a definition for size_t.
8057 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
8058 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
8059 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
8060
f184a264
MH
8061 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
8062 prevent unresolved externals in libio.
8063 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
8064
afc96791
L
8065Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
8066
8067 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
8068 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
8069 (LIB_SPEC): Updated for glibc 2.
8070
e9818f3c
JL
8071Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
8072
8073 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
8074 * ginclude/varargs.h: Likewise.
8075
a3fd4e75 8076Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
520cd331
JL
8077
8078 * version.c: Bump for snapshot.
8079
a3fd4e75
JL
8080Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
8081
8082 * frame.h (__register_frame, __register_frame_table,
8083 __deregister_frame): New.
8084 * frame.c (__register_frame, __register_frame_table,
8085 __deregister_frame): New.
8086 * frame.c (__deregister_frame_info): Return void *.
8087 * frame.h (__deregister_frame_info): Ditto.
8088 * collect2.c (__deregister_frame_info): Ditto.
8089
166cdf4a
RH
8090Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
8091
8092 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
8093
bcbbac26
RH
8094Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
8095
8096 * alpha.c (alpha_cpu_name): New variable.
8097 (alpha_mlat_string): Likewise.
8098 (alpha_memory_latency): Likewise.
8099 (override_options): Handle -mmemory-latency.
8100 (alpha_adjust_cost): Adjust load cost for latency.
8101 * alpha.h (TARGET_OPTIONS): Add meory-latency.
8102 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
8103 TARGET_CIX into account.
8104 (MEMORY_MOVE_COST): Define in terms of memory_latency.
8105 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
8106
8107 * alpha.h (ASM_COMMENT_START): New macro.
8108
8109Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1914f5da
RH
8110
8111 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
8112 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
8113
8114 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
8115 SUBREG_REG if the word count is unchanged.
8116 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
8117 subregs of identical word size for push_reload.
8118
a701efba
MM
8119Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
8120
8121 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
8122 if all we're doing is dealing with -Wreturn-type.
8123
5e21ac7a
RH
8124Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
8125
8126 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
8127 Use and 255 instead of zapnot 1, since it schedules better.
8128
296f8acc
JL
8129Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
8130
8131 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
8132 it as volatile.
8133
6d8ccdbb
JL
8134Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
8135
8136 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
8137 dependency we delete. Properly update prev for multiple consecutive
8138 deletions.
8139 (priority): Skip deleted dependence.
8140
14e83f2e
PB
8141Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
8142
8143 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
8144
100d81d4
JM
8145Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
8146
9b8d9d6b
JM
8147 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
8148 determining when a new basic block starts.
8149
74c3447c
JM
8150 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
8151
8152 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
8153 * pa.md (iorsi3): Add missing args to *_operand calls.
8154
100d81d4
JM
8155 * except.c (call_get_eh_context): Don't mess with sequences.
8156 (emit_eh_context): Include the call in the sequence here.
8157
5a5ab947
PE
81581997-12-11 Paul Eggert <eggert@twinsun.com>
8159
8160 * collect2.c (write_c_file_glob): Allocate initial frame object
8161 in static storage and pass its address.
8162
01eb7f9a
JM
8163Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
8164
8165 * except.c (call_get_eh_context): Don't take a parm.
8166 Put the call at the top of the function.
8167 (emit_eh_context): Adjust.
8168 (get_eh_context): Replace with former use_eh_context.
8169 (get_eh_context_once, get_saved_pc_ref): Remove.
8170 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
8171 * except.h: Adjust.
8172 * integrate.c (expand_inline_function): Adjust.
8173 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
8174
d19814a3
ML
8175Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
8176
8177 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
8178 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
8179
7567d496
MH
8180Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
8181
ade7386a 8182 * fixincludes (strlen,strspn,strcspn return value): Handle different
7567d496 8183 layout on sysV88.
b57062ca 8184 (hypot): Provide a fake for hypot which is broken on
7567d496
MH
8185 m88k-motorola-sysv3.
8186
0a6969ad
JC
8187Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
8188
8189 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
8190 tree_code_name from pointers to arrays.
8191 * tree.c: Remove standard_tree_code_* variables, no longer used.
8192 * print-tree.c: Remove declaration of tree_code_name.
8193
8194 * cp/lex.c (init_lex): Update for tree_code_* changes.
8195 * objc/objc-act.c (init_objc): Likewise.
8196
8197 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
8198 changes.
8199
c55dcc7d
FF
8200Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
8201
8202 * config.sub: Add support for BeOS target.
8203 * configure.in: Likewise.
8204 * ginclude/stdarg.h: Likewise.
8205 * ginclude/stddef.h: Likewise.
8206 * ginclude/varargs.h: Likewise.
8207 * rs6000/beos.h: New file for BeOS.
8208 * rs6000/t-beos: Likewise.
8209 * rs6000/x-beos: Likewise.
8210 * rs6000/xm-beos.h: Likewise.
8211 * toplev.c (get_run_time): Just return 0 on BeOS.
8212
9cf3ae46
JL
8213Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
8214 Toon Moene (toon@moene.indiv.nluug.nl)
8215
8216 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
8217 old and broken Sun3 assemblers. Newer versions handle large
8218 offsets correctly as does the GNU assembler.
8219
7cc273ad
L
8220Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8221
8222 * objc/objc-act.c (lang_report_error_function): Disable.
8223 * objc/objc-parse.y: Include "output.h".
8224 (yyerror): Remove redundant decl.
8225 (yyprint): Fix prototype.
8226 (apply_args_register_offset): Remove redundant decl.
8227 (get_file_function_name): Likewise.
8228
74d7ab55
JM
8229Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
8230
8231 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
8232 a new basic block.
8233 (find_basic_blocks_1): Likewise.
8234
0776059e
JM
8235Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
8236
8237 * except.c (use_eh_context): Don't copy_rtx a REG.
8238 (emit_throw): Lose old unwinder support.
8239 (expand_internal_throw): Likewise.
8240 * libgcc2.c (struct eh_context): Likewise.
8241 (new_eh_context): Likewise.
8242 (__get_eh_info): Lose redundant cast.
8243 (__get_dynamic_handler_chain): Likewise.
8244 (__get_saved_pc): Lose.
8245 Lose all old unwinder support code.
8246
154bba13
TT
8247Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
8248
8249 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
b57062ca 8250
154bba13
TT
8251 * integrate.c (expand_inline_function): If the inline fn uses eh
8252 context, make sure that the current fn has one.
8253 * toplev.c (rest_of_compilation): Call emit_eh_context.
8254 * except.c (use_eh_context): New fn.
8255 (get_eh_context_once): New fn.
8256 (call_get_eh_context): New fn.
8257 (emit_eh_context): New fn.
8258 (get_eh_context): Call either get_eh_context_once or
8259 call_get_eh_context, depending on what we have.
8260 (get_dynamic_handler_chain): Call get_eh_context_once.
8261 * except.h: Prototypes for fns above.
8262 * optabs.c (get_eh_context_libfunc): Removed.
8263 (init_optabs): Don't initialize it.
8264 * expr.h (get_eh_context_libfunc): Removed.
8265 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
8266 * config/pa/pa.h (CPP_SPEC): Support for -threads.
8267 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
8268 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
8269 New multilib for -threads.
8270 * config/sparc/t-sol2: Added multilibs for -threads and
8271 made -pthreads alias to it.
8272 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
8273 Added -threads and -pthreads options.
8274 * libgcc-thr.h: New file.
8275 * libgcc2.c: (__get_cpp_eh_context): Removed.
8276 (struct cpp_eh_context): Removed.
8277 (struct eh_context): Replaced cpp_eh_context with generic language
b57062ca 8278 specific pointer.
154bba13
TT
8279 (__get_eh_info): New function.
8280 (__throw): Check eh_context::info.
8281 (__sjthrow): Ditto.
8282 * libgcc2.c: Include libgcc-thr.h.
8283 (new_eh_context, __get_eh_context,
8284 eh_pthread_initialize, eh_context_initialize, eh_context_static,
8285 eh_context_specific, eh_context_free): New functions.
8286 (get_eh_context, eh_context_key): New variables.
8287 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
8288 get_eh_context to get the context.
8289 (longjmp): Move the declaration inside
8290 #ifdef DONT_USE_BUILTIN_SETJMP.
8291 * frame.c: Include libgcc-thr.h.
8292 (object_mutex): Mutex to protect the object list.
8293 (find_fde, __register_frame, __register_frame_table,
8294 __deregister_frame): Hold the lock while accessing objects.
8295 * except.h (get_eh_context): Declare.
8296 * except.c (current_function_ehc): Define.
8297 (current_function_dhc, current_function_dcc): Removed.
8298 (get_eh_context): New function.
8299 (get_dynamic_handler_chain): Use get_eh_context.
8300 (get_saved_pc_ref): Ditto.
8301 (get_dynamic_cleanup_chain): Removed references to
8302 current_function_dcc.
8303 (save_eh_status, restore_eh_status): Save and restore
8304 current_function_ehc instead.
8305 * optabs.c (get_eh_context_libfunc): New variable.
8306 (init_optabs): Initialize it.
8307 * expr.h: Declare get_eh_context_libfunc.
8308 * function.h (struct function): Replaced dhc and dcc with ehc.
8309 * except.c (get_saved_pc_ref): New functions.
8310 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
8311 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
8312 of eh_saved_pc.
8313 (end_eh_unwinder): Likewise.
8314 (init_eh): Remove initialization of eh_saved_pc.
8315 * optabs.c (get_saved_pc_libfunc): New variable.
8316 (init_optabs): Initialize it.
8317 * expr.h: Declare get_saved_pc_libfunc.
8318 * except.h (eh_saved_pc_rtx): Deleted.
8319 (get_saved_pc_ref): Declared.
8320
8321 From Scott Snyder <snyder@d0sgif.fnal.gov>:
8322 * libgcc2.c (__get_saved_pc): New.
8323 (__eh_type, __eh_pc): Deleted.
8324 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
8325 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
8326 this fcn.
8327
68d75312
JC
8328Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
8329
b16d8734
JC
8330 * sparc/sol2.h: Use 64 bit multiply and divide functions in
8331 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
8332 as 0.
8333
68d75312
JC
8334 * rtl.h (global_rtl): New variable, replacing separate variables for
8335 commonly used rtl.
8336 (const_int_rtx): Now array of rtx_def, not rtx.
8337 * emit-rtl.c: Update for new rtl data structures.
8338 * genattrtab.c: Define global_rtl.
8339
44517326 8340Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
f40421ce 8341
44517326
DE
8342 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
8343 default.
f40421ce 8344
8587487b
AG
8345Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
8346
8347 * crtstuff.c (__do_global_ctors): Fix typo.
8348
08ce3276
MH
8349Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
8350
8351 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
8352 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
8353
c229cba9
DE
8354Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
8355
8356 * rs6000.h (FUNCTION_ARG_PADDING): Define.
8357 * rs6000.c (function_arg_padding): New function.
8358
b2c59d0b
MH
8359Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
8360
8361 * m68k.c: Include tree.h only once.
8362
c1132c27
RK
8363Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8364
8365 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
8366
ac957f13
JL
8367Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
8368
8369 * Partially cleaned up prototyping code from HJ.
a1d061a1 8370 * tree.h: Add many prototypes.
ac957f13
JL
8371 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
8372 All references changed.
8373 * rtl.h: Protect from multiple inclusions. Add many prototypes.
b57062ca 8374
f40421ce 8375Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
ac957f13
JL
8376
8377 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
8378 string functions like strlen.
8379
0a232106
MH
8380Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
8381
8382 * configure.in: Check for functions getrlimit and setrlimit.
8383 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
8384 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
8385
25b76cc1
JS
8386Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
8387
8388 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
8389
26250081
RH
8390Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
8391
8392 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
8393 Fix merge problems.
8394
8395 * alpha.c (override_options): Don't know about scheduling for EV6.
8396 * alpha.md (ev5 function units): Don't overload as ev6.
8397
8398 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
8399 * alpha.md (define_attr type): Add mvi.
8400 (ev5_e0): Define sceduling parameters for it.
8401 (TARGET_MAX insns): Type is mvi not shift.
8402
7120f213
RH
8403Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
8404
8405 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
8406
afa80947
R
8407Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8408
8409 * cstamp-h, auto-config.h: Delete.
8410
51ca169b
JL
8411Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
8412
8413 * version.c: Bump for snapshot.
8414
16169366
JL
8415Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
8416
8417 * cccp.c: Fix typo brought over in merge.
8418
efeb5d4f 8419 * Merge in changes from gcc-2.8.
0fe09481 8420
da932f04
JL
8421Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
8422
8423 * m68k.c: Include tree.h for dwarf2out_cfi_label.
8424
8425 * gcc.c (process_command): Do not take address of function fatal when
8426 calling lang_specific_driver.
8427
8428Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
8429
b57062ca 8430 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
da932f04
JL
8431 doesn't work with it yet, so set it to 0.
8432 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
8433
8434Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
8435
8436 * cse.c (cse_insn): Check for invalid entries when taking references.
8437
81797aba
JL
8438Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8439
8440 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
8441 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
8442 * toplev.c (rest_of_compilation): Pass it. Remove code to
8443 save / clear / restore flag_unroll_{,all_}loops.
8444
8445Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
8446
8447 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
8448
8449Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
8450
8451 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
8452
5dfa7520
JM
8453Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
8454
d07daca1
JM
8455 * except.c (get_dynamic_handler_chain): Only make the call once per
8456 function.
8457
5dfa7520
JM
8458 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
8459
4d7b7169
R
8460Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8461
8462 * sh.c (final_prescan_insn): Use local label prefix
8463 when emitting .uses pseudo-ops.
8464
e701eb4d
JM
8465Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
8466
8467 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
8468 * except.c: Lose outer_context_label_stack.
8469 (expand_eh_region_end): Rethrow from outer_context here.
8470 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
8471 (expand_internal_throw): Take no args.
8472 (expand_internal_throw_indirect): Lose.
8473 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
8474 (expand_start_all_catch): Start a rethrow region.
8475 (expand_end_all_catch): End it.
8476 (expand_rethrow): New fn.
8477 * except.h: Reflect above changes.
8478 * flow.c: Revert change of Nov 27.
8479
6a242b6a
JL
8480Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
8481
8482 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
8483
9762d48d
JM
8484Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
8485
8486 * except.c (expand_fixup_region_end): New fn.
8487 (expand_fixup_region_start): Likewise.
8488 (expand_eh_region_start_tree): Store cleanup into finalization here.
8489 * stmt.c (expand_cleanups): Use them to protect fixups.
8490
868e82ab
GK
8491Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
8492
8493 * mips/mips.md (muldi3_r4000): Broaden the output template
8494 and attribute assignments to handle three operand dmult;
8495 rename to muldi3_internal2.
8496 (muldi3): Call the new muldi3_internal2 for R4000, and
8497 any GENERATE_MULT3 chip.
8498
716cc7f7
JM
8499Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
8500
8501 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
8502
9fb82071
JW
8503Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
8504
8505 * unroll.c (find_splittable_givs): Remove last change. Handle givs
8506 with a dest_reg that was created by loop.
8507
f2d76545
JL
8508Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
8509
8510 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
8511
8512 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
8513
b4dfb707
JL
8514Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
8515
8516 * configure.in: Fix NCR entries.
8517
80c2681c
JL
8518Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
8519
586a5f99
JL
8520 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
8521 nested exceptions correctly.
8522
80c2681c
JL
8523 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
8524 that was created by loop.
8525
f45ebe47
JL
8526Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
8527
8528 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
8529
8530 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
8531
034e84c4
MM
8532Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
8533
8fbd2dc7
MM
8534 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
8535 (print_operand): Use SMALL_DATA_REG for the register involved in
8536 small data relocations.
8537 (print_operand_address): Ditto.
8538
8539 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
8540 -dynamic linker is not used.
8541
a226df46
MM
8542 * rs6000.md (call insns): For local calls, use @local suffix under
8543 System V. Don't use @plt under Solaris.
8544
034e84c4
MM
8545 * rs6000.c (output_function_profiler): Put label address in r0, and
8546 store LR in 4(sp) for System V/eabi.
8547
8548 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
8549 byte boundary, and maintain stack backchain.
8550
f2d76545
JL
8551Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
8552
8553 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
8554 fix_truncsfdi2): Change *.
8555
33e5c8c3
JM
8556Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
8557
8558 * toplev.c (main): Complain about -gdwarfn.
8559
f45ebe47
JL
8560Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
8561
b57062ca 8562 * dwarfout.c (output_type): If finalizing, write out nested types
f45ebe47
JL
8563 of types we've already written.
8564
92dcf4c8
MM
8565Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
8566
8567 (patches originally from Geoffrey Keating)
8568 * rs6000.c (function_arg): Excess floating point arguments don't
8569 go into GPR registers after exhausting FP registers under the
8570 System V.4 ABI.
8571 (function_arg_partial_nregs): Ditto.
8572
8573 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
8574 suffix to calls.
8575
f4744807
JM
8576Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
8577
8578 * integrate.c (output_inline_function): Just unset DECL_INLINE.
8579
8580Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
8581
8582 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
8583 proper alignment.
8584
8585 * libgcc2.c (__throw): Initialize HANDLER.
8586
0609f021
JW
8587Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
8588
8589 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
8590 fix_truncsfdi2): Change *X to ?*X.
8591
c905c108
RH
8592Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
8593
8594 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
8595
5041a61c
JL
8596Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
8597
8598 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
8599
bb727b5a
JM
8600Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
8601
8602 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
8603
8604Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
8605
8606 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
8607 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
8608 * expr.h: Likewise.
8609
f45ebe47
JL
8610Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
8611
8612 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
8613 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
8614 gas and not using the new HP assembler.
8615
ef85603e
JL
8616Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
8617
8618 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
8619 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
8620
6cc1f5cb
AC
8621Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
8622
8623 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
8624 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
8625 definition.
8626
72eb1038
BH
8627Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8628
8629 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
8630
1418bb67
JM
8631Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
8632
8633 * except.h: Add outer_context_label_stack.
8634 * except.c: Likewise.
8635 (expand_start_all_catch): Push the outer_context for the try block
8636 onto outer_context_label_stack.
8637 (expand_end_all_catch): Use it and pop it.
8638
9dab7833
RL
8639Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
8640
8641 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
8642
858e4e8c
RH
8643Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
8644
8645 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
8646
a21d14e9
KK
8647Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
8648
8649 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
8650 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
8651
ced78d8b
JM
8652Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
8653
8654 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
b57062ca 8655 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
ced78d8b
JM
8656 __builtin_delete, and __builtin_vec_delete.
8657
8658 * except.c (output_exception_table): Don't bother with
8659 __EXCEPTION_END__.
8660
a09ff88b
JL
8661Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
8662
1b8b89f1
JL
8663 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
8664 is an in/out operand.
8665 (zero extended variants of stwm/stwm patterns): Similarly.
8666
a09ff88b
JL
8667 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
8668
7bb9fb0e
JM
8669Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
8670
8671 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
8672 Use assemble_name.
8673 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
8674 (output_call_frame_info): Emit a \n after using it.
8675
9101297d
DL
8676Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
8677
8678 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
8679
2ed2af28
PDM
8680Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
8681
8682 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
8683 (ASM_OUTPUT_DWARF_VALUE4): New macro.
8684 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
8685 defined.
8686 (output_call_frame_info): Do not output forward label differences
8687 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
8688 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
8689
4dff12bf
R
8690Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8691
8692 * sh.md (attribute "type"): Add nil.
8693 (movsi_ie): y/y alternative is type nil.
8694 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
8695 alternatives.
8696 (movsf_ie+1): Delete.
8697
218c2cdb
JW
8698Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
8699
8700 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
8701 large_int, emit two insns instead of one splitable insn.
8702 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
8703 from cfa_temp_value, use cfa_offset. Add assert checking that
8704 cfa_reg is SP.
8705
d5b79362
TT
8706Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
8707
8708 * cccp.c (deps_output): Properly quote file names for make.
8709
de1ea87a
JL
8710Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
8711
8712 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
8713
cb0112a7
RL
8714Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
8715
8716 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
8717
85c3ba60
JL
8718Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
8719
8720 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
8721 return.
8722 (cse_end_of_basic_block): Similarly.
ef720b21 8723
9155d500
KJ
8724Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
8725
8726 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
8727 (SELECT_RTX_SECTION): Define.
8728 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
8729
4931312c
MH
8730Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
8731
8732 * Makefile.in (compare, compare-lean): Define $stage for each
8733 shell command.
8734 (gnucompare, gnucompare-lean): Likewise.
8735
8dfe3c62
RH
8736Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
8737
8738 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
8739
8740 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
8741 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
8742
874a8709
FF
8743Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
8744
8745 * dwarfout.c (byte_size_attribute): Add local var upper_bound
8746 and add case to handle STRING_TYPE.
8747 * dwarfout.c (output_string_type_die): Fix code to generate
8748 correct string length attribute for fixed length strings.
8749 Still needs support for varying length strings.
8750
ea466196
JL
8751Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
8752
8753 * toplev.c (get_run_time): Do something sensible for cygwin32.
8754
202f590e
RH
8755Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
8756
f35bcbc5
RH
8757 * expr.c (expand_builtin_setjmp): Set
8758 current_function_has_nonlocal_label.
8759 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
8760 call-saved registers across calls.
8761
8762 * alpha.md (exception_receiver): Remove.
8763 (nonlocal_goto_receiver_osf): New
8764 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
8765 (nonlocal_goto_receiver): New, select _osf or _vms.
8766
531ea24e
RH
8767 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
8768 keep them from being propogated to the object file.
8769 (alpha_write_linkage): Likewise.
8770 * alpha.md (call_vms): Likewise.
8771 (call_value_vms): Likewise.
8772 (unnamed osf call insns): Likewise.
8773
8774 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
8775 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
8776
202f590e
RH
8777 * alpha.c (call_operand): Any reg is valid for WinNT.
8778 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
8779 (anon nt calls): Add 'R' alternative.
8780 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
8781 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
8782
238ad62b
JL
8783Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
8784
f78b5ca1
JL
8785 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
8786
238ad62b
JL
8787 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
8788 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
8789 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
8790
da275344
MM
8791Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
8792
8793 * reload1.c (new_spill_reg): Improve fixed or forbidden register
8794 spill error message.
8795
1f1e1545
KG
8796Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8797
8798 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
8799 use varargs.h. Wrap header with <>, not "".
8800
daa4b717
JL
8801Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
8802
8803 * integrate.c (save_for_inline_copying): Add return value from
8804 savealloc.
8805
9bb5394e
BK
8806Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
8807
8808 * fixincludes: Be a little more restrictive on what we will
8809 substitute to replace definitions of MAXINT for HPUX.
8810
9571f69b
MM
8811Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
8812
8813 * dbxout.c (dbxout_symbol_location): Don't assume that variables
8814 whose address is the stack or argument pointers are indirect
8815 pointers.
8816
b57062ca
UD
88171997-11-13 Paul Eggert <eggert@twinsun.com>
8818
e7cbb6b6
PE
8819 * cccp.c, cpplib.c (compare_defs):
8820 Don't complain about arg name respellings unless pedantic.
b57062ca
UD
8821 * cpplib.c (compare_defs): Accept pfile as new arg.
8822 All callers changed.
e7cbb6b6 8823
9f29ca78
R
8824Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8825
8826 * fold-const.c (fold_truthop): Fix bug in last change.
8827
41c9120b
PE
88281997-11-13 Paul Eggert <eggert@twinsun.com>
8829
8830 Fix some confusion with IEEE minus zero.
8831
8832 * real.h (REAL_VALUES_IDENTICAL): New macro.
8833
8834 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
8835 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
8836 identical to 0.0.
8837 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
8838 same tree structure as 0.0.
8839
8840 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
8841 macro instead of doing it by hand.
8842
323d8e7b
JL
8843Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
8844
8845 * v850/lib1funcs.asm: Minor whitespace changes.
8846 * v850.c: Fix minor formatting problems in many places.
8847 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
8848
13529ea4
JW
8849Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
8850
8851 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
8852 xplus1 when xplus0 is not a register.
8853
759c135e
JL
8854Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
8855
8930b063
JL
8856 * flow.c (find_basic_blocks): During marking phase, if we encounter
8857 an insn with a REG_LABEL note, make the target block live and
8858 create an edge from the insn to the target block. Do not make
8859 edges from all blocks to the target block.
8860
0be28489
JL
8861 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
8862
759c135e
JL
8863 * confiugre.in: Tweak NCR entries.
8864 * configure: Rebuilt.
8865
47ad8c61
MM
8866Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
8867
8868 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
8869 pick apart floating point values, instead of using CONST_DOUBLE_LOW
8870 and CONST_DOUBLE_HIGH.
8871
8872 * rs6000.md (define_splits for DF constants): Use the appropriate
8873 REAL_VALUE_* interface to pick apart DF floating point constants in
8874 a machine independent fashion.
8875
5a6b3365
R
8876Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8877
8878 * fold-const.c (fold_truthop): When changing a one-bit comparison
8879 against zero into a comparison against mask, do a proper sign
8880 extension.
8881
2ec1535d
JL
8882Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
8883
3a88cbd1
JL
8884 * except.c: Do not include "assert.h".
8885 (save_eh_status): Turn asserts into conditional aborts.
8886 (restore_eh_status, scan_region): Likewise.
8887 * dwarfout.c: Do not include "assert.h".
8888 (bit_offset_attribute): Turn asserts into conditional aborts.
8889 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
8890 (output_inlined_structure_type_die): Likewise.
8891 (output_inlined_union_type_die): Likewise
8892 (output_tagged_type_instantiation): Likewise.
8893 (dwarfout_file_scope_decl): Likewise.
8894 * dwarf2out.c: Do not include "assert.h"
8895 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
8896 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
8897 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
8898 (add_bit_size_attribute, scope_die_for): Likewise.
8899 (output_pending_types_for_scope): Likewise.
8900 (get_inlined_enumeration_type_die): Likewise.
8901 (get_inlined_structure_type_die): Likewise.
8902 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
8903 (gen_tagged_type_instantiation_die): Likewise.
8904
2ec1535d
JL
8905 * flow.c (find_basic_blocks): Refine further to get a more correct
8906 cfg, especially in the presense of exception handling, computed
8907 gotos, and other non-trivial cases. Call abort if an inaccuracy
8908 is detected in the cfg.
8909
a6124a42
R
8910Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8911
8912 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
8913
8914 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
8915 (skip_white_space): Use whitespace_cr.
8916 (check_newline): Handle whitespace more consistently.
8917
8f3189a4
JW
8918Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
8919
8920 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
8921 * i386/xm-cygwin32.h (POSIX): Define.
8922
6d1350cd
GK
8923Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
8924
8925 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
8926 is available elsewhere.
8927
d1f4474e
DE
8928Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
8929
8930 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
8931 what the instruction can handle.
8932
c7ae64f2
JM
8933Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
8934
8935 * stmt.c (expand_decl_cleanup_no_eh): New fn.
8936
8937 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
8938
ea64ef27
JL
8939Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
8940
8941 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
8942 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
8943
47ad8c61
MM
8944Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
8945
8946 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
8947 swap instruction order.
8948
0ff27f58
JL
8949Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
8950
8951 * fixinc.svr4 (__STDC__): Add another case.
8952
7091039c
R
8953Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8954
8955 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
8956 addresses in the epilogue delay slot.
8957
553914ad
MH
8958Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
8959
8960 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
8961 in generated `specs' file.
8962
64fde701
JW
8963Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
8964
8965 * flags.h (flag_rerun_loop_opt): Declare.
8966 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
8967 * toplev.c (flag_rerum_loop_opt): Delete static.
8968
1245df60
R
8969Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8970
1245df60
R
8971 Bring over from FSF:
8972
8973 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8974
8975 * va-sh.h (__va_arg_sh1): Define.
8976 (va_arg): Use it.
8977 SH3E doesn't use any integer registers for subsequent arguments
8978 once a non-float value was passed in the stack.
8979 * sh.c (machine_dependent_reorg): If optimizing, put explicit
8980 alignment in front label for ADDR_DIFF_VEC.
8981 * sh.h (PASS_IN_REG_P): Fix SH3E case.
8982 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
8983
8984 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8985
8986 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
8987 svr4.h.
8988
8989 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8990
8991 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
8992 put an use_sfunc_addr before each sfunc.
8993 * sh.md (use_sfunc_addr, dummy_jump): New insns.
8994 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
8995
8996 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8997
8998 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
8999
97991933
JM
9000Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
9001
9002 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
9003 linked once FDEs.
9004
eaf407a5
JL
9005Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
9006
9007 * alias.c (find_base_value): Only return the known base value for
9008 pseudo registers.
9009
4f9ca067
JW
9010Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
9011
9012 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
9013 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
9014 to pattern.
9015 (prologue_get_pc_and_set_got): New pattern.
9016
f4e31cf5
RH
9017Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
9018
9019 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
9020 for SUBREG, just fall through.
9021
9022 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
9023
9024 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
9025
f754c4a1
JL
9026Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
9027
3ed18aeb
JL
9028 * fixincludes: Fix "hypot" prototype in NeXT math.h.
9029
3fe40e05
JL
9030 * Makefile.in (USE_ALLOCA): Always include alloca.o.
9031 (USE_HOST_ALLOCA): Likewise.
9032
f754c4a1
JL
9033 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
9034 and LABEL_REFS fields.
9035 * rtl.h (LABEL_REFS): Update.
9036
ab00eb0a
JW
9037Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
9038
ff3467a9
JW
9039 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
9040 sets i2dest. When calling distribute_notes for i3dest_killed, pass
9041 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
9042 sets i1dest.
9043
4911814e
JW
9044 * mips.md (insv, extzv, extv): Add change_address call.
9045 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
9046
474eff88
JW
9047 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
9048
3feffdfe
JW
9049 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
9050
ab00eb0a
JW
9051 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
9052 save_restore_insns if no FP and GP will be restored.
7636d567 9053
31c8581d
JW
9054 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
9055 Convert CCmode to word_mode before calling GET_MODE_SIZE.
9056
7636d567
JW
9057 * acconfig.h (HAVE_INTTYPES_H): Undef.
9058 * configure.in (inttypes.h): Check for conflicts between sys/types.h
9059 and inttypes.h, and verify that intmax_t is defined.
9060 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
9061 * config/mips/x-iris3: Likewise.
9062
73774bc7
JL
9063Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
9064
9065 * alias.c (find_base_value): When copying arguments, return the
9066 tenative value for a hard register.
9067
645ebf37
DE
9068Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
9069
9070 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
9071 (yylex): Record wide strings using target endianness, not host.
9072
f7620587
JL
9073Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
9074
9075 * mn10200.h (ASM_OUTPUT_BSS): Delete.
9076 (ASM_OUTPUT_ALIGNED_BSS): New macro
9077 * mn10300.h (ASM_OUTPUT_BSS): Delete.
9078 (ASM_OUTPUT_ALIGNED_BSS): New macro.
9079 * v850.h (ASM_OUTPUT_BSS): Delete.
9080 (ASM_OUTPUT_ALIGNED_BSS): New macro.
9081
1686f1a2 9082Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
b57062ca 9083
1686f1a2
R
9084 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
9085
f6857708
JL
9086Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
9087
9088 * configure.in (sco5): Use cpio to install header files.
9089
e566af04
MH
9090Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
9091
9092 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
9093 14 char length.
9094 * configure: Rebuild.
9095
cbd44549
RL
9096Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
9097
9098 * i386/sco5.h: enable -gstabs once again.
9099
56636818
JL
9100Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
9101
9102 * arm.c (output_move_double): Allocate 3 entries in otherops array.
9103
9ad8a5f0
MS
9104Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
9105
9106 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
9107 notes for sjlj exceptions too.
9108 (expand_eh_region_end): Similarly for EH_REGION_END notes.
9109 (exception_optimize): Optimize EH regions for sjlj exceptions too.
9110 * final.c (final_scan_insn): Don't output labels for EH REGION
9111 notes if doing sjlj exceptions.
9112
f8671389
JL
9113Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
9114
8072f69c
JL
9115 * alias.c (init_alias_analysis): Handle -fno-alias-check when
9116 optimizing correctly.
9117
6cad9e32
JL
9118 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
9119 or set current_function_calls_setjmp anymore.
9120
f8671389
JL
9121 * flow.c (find_basic_blocks): If we delete the label for an
9122 exception handler, remove it from the EH label list and remove
9123 the EH_BEGIN/EH_END notes for that EH region.
9124
a886ae74
JM
9125Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
9126
9127 * flow.c (find_basic_blocks): Generate correct flow control
9128 information when exception handling notes are present.
9129
c2c85462
JL
9130Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
9131
9132 * dwarf2out.c (output_call_frame_info): Fix length argument
9133 to ASM_OUTPUT_ASCII.
9134 (output_die, output_pubnames, output_line_info): Likewise.
9135
8c316ae2
JL
9136Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
9137
27ca375a
JL
9138 * version.c: Bump for snapshot.
9139
8d4e65a6
JL
9140 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
9141 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
9142 flag_debug_asm is on.
9143 (output_die, output_pubnames, output_line_info): Likewise.
9144
ec907dd8
JL
9145 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
9146 and static_chain_rtx into the potential base values array if
9147 they are registers.
9148
9149 * alias.c (new_reg_base_value): New array of potential base values.
9150 (unique_id): Now file scoped static.
9151 (find_base_value, case REG): Return the value in reg_base_value
9152 array for the REG if it exists. Else, return the value from
9153 new_reg_base_value if copying args and REG is a hard register.
9154 (find_base_value, case PLUS): If either operand of the PLUS is
9155 a REG, try to get its base value. Handle base + index and
9156 index + base.
9157 (record_set): Use new_reg_base_value instead of reg_base_value.
9158 (init_alias_analysis): Allocate space for new_reg_base_value too.
9159 Rework code to iterate over the insns propagating base value
9160 information until nothing changes.
9161
8c316ae2
JL
9162 * global.c (global_alloc): Free the conflict matrix after
9163 reload has finished.
9164
6874c264
JM
9165Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
9166
9167 * libgcc2.c (L_eh): Define __eh_pc.
9168 Replace __eh_type with generic pointer __eh_info.
9169
59fe8c2c
R
9170Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
9171
9172 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
9173 use copy_to_reg if address is not a general_operand.
9174
d1271ded
R
9175Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9176
9177 * profile.c (output_func_start_profiler): Clear flag_inline_functions
9178 for the duration of the call to rest_of_compilation.
9179
ac52b80b
DE
9180Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
9181
9182 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
9183 Set extra_parts.
9184 (sparc*-*-*): Recognize --with-cpu=v9.
9185 * sparc/elf.h: New file.
9186 * sparc/t-elf: New file.
9187
f8912297
JL
9188Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
9189
9190 * mn10300.c (const_8bit_operand): New function.
9191 (mask_ok_for_mem_btst): New funtion.
9192 * mn10300.md (btst patterns with mem operands): Use new functions
9193 to avoid creating btst instructions with invalid operands.
9194
05ef204d
MM
9195Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
9196
9197 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
9198 are running on PowerPC Linux.
9199
feecabdf
GK
9200Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
9201
9202 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
9203 if not previously defined.
9204
de957303
DE
9205Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
9206
9207 * function.c (assign_parms): Correct mode of stack_parm if
9208 entry_parm underwent a mode conversion.
9209
ba3b3878
BK
92101997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
9211
9212 * global.c (global_alloc): Use xmalloc instead of alloca for
9213 CONFLICTS, since max_allocno * allocno_row_words alone can be more
9214 than 2.5Mb sometimes.
9215
d540ae2c
RH
9216Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
9217
9218 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
9219 DEST for the spill, adjust mode of SRC to compensate.
9220
42f4929d
RH
9221Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
9222
9223 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
9224 since any_memory_operand() allows pseudos during reload.
9225 (reload_inhi, reload_outqi, reload_outhi): Likewise.
9226
08417478
JW
9227Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
9228
9229 * m68k.md (btst patterns): Add 5200 support.
9230
750e8348
TM
9231Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
9232
9233 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
9234 optimizations, look inside dividend to determine if the expression
9235 can be simplified by using EXACT_DIV_EXPR.
9236
ede19932
JM
9237Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
9238
9239 From Brendan:
9240 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
9241
66d91cb9
RH
9242Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
9243
9244 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
9245
4f3f5e9f
RH
9246Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
9247
9248 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
9249 on a CLOBBER.
9250
f3352b9e
RH
9251Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
9252
9253 * alpha.md (movqi, movhi): Make sure new insns created during reload
9254 won't need reloading themselves.
9255 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
9256
0cecc190
JL
9257Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
9258
9259 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
9260
a09ba5a2
RH
9261Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
9262
9263 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
9264 Patch from Klaus Kaempf <kkaempf@progis.de>.
9265
7581a30f
JW
9266Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
9267
9268 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
9269 to an element in a constant string.
9270
d84e64d4
JM
9271Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
9272
9273 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
9274 bit PC-relative offset. The exception range table pointer is now in
9275 the CIE.
9276 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
9277 (count_fdes, add_fdes, get_cie): Adjust.
9278 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
9279
9280 From H.J. Lu:
9281 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
9282
96286722
RH
9283Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
9284
9285 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
9286 like stack_pointer_rtx.
9287
e85988b5
MH
9288Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
9289
361e618f
MH
9290 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
9291 targets using "$@" to provide support for similar but not identical
9292 targets without having to duplicate code.
9293 (bootstrap4): New goal.
9294
e85988b5
MH
9295 * Makefile.in (compare, compare-lean, compare3): Combined to one
9296 ruleset determining actions to be performed via $@.
9297 (compare4, compare4-lean): New targets.
9298 (gnucompare, gnucompare3): Combined to one ruleset determining
9299 actions to be performed via $@. Also, note which files failed
9300 the comparison test in .bad_compare.
9301 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
9302
91585c63
TM
9303Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
9304
9305 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
9306 if the dividend is a multiple of the divisor.
9307
da0af5a5
JL
9308Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
9309
7337c67f
JL
9310 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
9311
adb9effb 9312 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6d849a2a 9313 and POS_DEC.
6d849a2a
JL
9314
9315 * alias.c (true_dependence): Fix typo.
9316
6d6d0fa0
JL
9317 * toplev.c (flag_rerun_loop_opt): New variable.
9318 (f_options): Handle -frerun-loop-opt.
9319 (rest_of_compilation): If -frerun-loop-opt, then run the loop
9320 optimizer twice.
9321 (main): Enable -frerun-loop-opt by default for -O2 or greater.
9322
da0af5a5
JL
9323 * loop.c (simplify_giv_expr): Adding two invariants results
9324 in an invariant.
9325
ca0f2220
RH
9326Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
9327
b57062ca 9328 * expr.c (get_inner_reference): Remove the array bias after
ca0f2220
RH
9329 converting the index to Pmode.
9330
a6f7ba17
JL
9331Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
9332
9333 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
9334 (TARGET_MULT_BUG): Define.
9335 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
9336 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
9337
17ad8a3b
JL
9338Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
9339
9340 * mn10200.c (indirect_memory_operand): Delete unused function.
9341 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
9342 * mn10200.md (bset, bclr insns): Handle output in a reg too.
9343
e16b49d3
RH
9344Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
9345
9346 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
9347 the callee's ldgp, we must do it ourselves, and we use the jsr tag
9348 for more than scheduling.
9349
27f65411
DE
9350Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
9351
9352 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
9353
e9ad4573
JL
9354Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
9355
9356 * mn10300.c (symbolic_operand, legitimize_address): New functions.
9357 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
9358 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
9359
66724f0a
JL
9360Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
9361
9362 * version.c: Bump for snapshot.
9363
c401498b
R
9364Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9365
9366 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
9367 for FILENAME.
9368
b22b9b3e
JL
9369Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
9370
56bf1fd9
JL
9371 * toplev.c (flag_exceptions): Default value is 2.
9372 (compile_file): If flag_exceptions still has the value 2, then
9373 set it to 0.
9374
a04232e5
JL
9375 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
9376 (rs6000_save_machine_status): Save pic_offset_table_rtx.
9377 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
9378
0bd83abd
JL
9379 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
9380 are shared.
9381
b22b9b3e
JL
9382 * rs6000.md (*movsi_got_internal_mem): New pattern.
9383 (*movsi_got_internal_mem splitter): New define_split.
9384
c1e385db
JW
9385Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
9386
9387 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
9388
1a986152
GK
9389Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
9390
9391 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
9392 only need to save LR.
9393
5d29a95f
JL
9394Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
9395
c6ee9150
JL
9396 * mn10300.md (movqi, movhi): Avoid using address registers as
9397 destinations unless absolutely necessary.
9398
d5255ba2
JL
9399 * mn10200.c (expand_prologue): Fix typo.
9400
9d2128b8
JL
9401 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
9402 addresses.
9403 * mn10200.md (neghi2): Provide an alternative which works if
9404 the input and output register are the same.
9405
576e5acc
JL
9406 * mn10300.c (print_operand): Handle 'S'.
9407 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
9408 shift amount in last alternative
9409
5d29a95f
JL
9410 * mn10300.c (expand_epilogue): Rework to handle register restores
9411 in "ret" and "retf" instructions correctly.
9412
3bf1b082
JW
9413Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
9414
9415 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
9416 extzv for memory operands.
9417
9418 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
9419 redundant conditional moves to single operand.
9420
ddbd8d36
NC
9421Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
9422
9423 * v850.h: Move define of __v850__ from CPP_PREDEFINES
9424 to CPP_SPEC.
b57062ca 9425
ddbd8d36
NC
9426 * xm-v850.h: Use __v850 rather than __v850__ to
9427 identify v850 port.
9428
a944a4eb
JW
9429Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
9430
9431 * mips/mips.c (compute_frame_size): Not a leaf function if
9432 profile_flag set.
9433
2d5b6dea
GK
9434Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
9435
9436 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
9437
f0a9fa6c
DE
9438Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
9439
9440 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
9441 (DEFAULT_ARCH32_P): New macro.
9442 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
9443 (enum cmodel): Declare.
9444 (sparc_cmodel_string,sparc_cmodel): Declare.
9445 (SPARC_DEFAULT_CMODEL): Provide default.
9446 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
9447 (TARGET_FULLANY): Deleted.
9448 (TARGET_CM_MEDMID): New macro.
9449 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
9450 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
9451 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
9452 (CPP_SPEC): Rewrite.
9453 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
9454 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
9455 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
9456 (ASM_SPEC): Add %(asm_arch).
9457 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
9458 Rename asm_default to asm_cpu_default.
9459 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
9460 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
9461 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
9462 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
9463 (MASK_INT64,MASK_LONG64): Delete.
9464 (MASK_ARCH64): Renamed to MASK_64BIT.
9465 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
9466 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
9467 (TARGET_SWITCHES): Always provide 64 bit options.
9468 (ARCH64_SWITCHES): Delete.
9469 (TARGET_OPTIONS): New option -mcmodel=.
9470 (INT_TYPE_SIZE): Always 32.
9471 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
9472 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
9473 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
9474 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
9475 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
9476 CPP_SPEC.
9477 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
9478 * sparc/linux.h: Likewise.
9479 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
9480 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
9481 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
9482 (SPARC_DEFAULT_CMODEL): Define.
9483 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
9484 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
9485 (LONG_DOUBLE_TYPE_SIZE): Define.
9486 (ASM_SPEC): Add %(asm_arch).
9487 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
9488 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
9489 (TARGET_CPU_DEFAULT): Add ultrasparc case.
9490 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
9491 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
9492 (SPARC_DEFAULT_CMODEL): Define.
9493 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
9494 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
9495 MASK_LONG64, MASK_MEDANY.
9496 (SPARC_DEFAULT_CMODEL): Define.
9497 (CPP_PREDEFINES): Delete.
9498 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
9499 (ASM_SPEC): Add %(asm_arch).
9500 (LONG_DOUBLE_TYPE_SIZE): Define.
9501 (DWARF2_DEBUGGING_INFO): Define.
9502 * sparc/splet.h (CPP_SPEC): Delete.
9503 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
9504 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
9505 (BLOCK_PROFILER): Likewise.
9506 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
9507 (sparc_override_options): Handle code model selection.
9508 (sparc_init_expanders): Renamed from sparc64_init_expanders.
9509 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
9510 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
9511 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
9512 (sethi_di_fullany): Delete.
9513
a3b0df2d
KK
9514Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
9515 Jeff Law <law@cygnus.com>
9516 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9517
3a133c72
KK
9518 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
9519 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
9520 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
9521 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
9522 * alpha/alpha.md (arg_home): Likewise.
9523
a3b0df2d
KK
9524 * alpha/alpha.c (vmskrunch): Delete
9525 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
9526 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
9527 truncate to 64 characters.
9528
9529 * make-l2.com: Support openVMS/Alpha.
9530
9531 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
9532
7d4f2e6c
R
9533Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9534
9535 * longlong.h (count_leading_zeros): Add missing casts to USItype.
9536
decd44ac
JL
9537Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
9538
9539 * i386/bsd386.h (ASM_COMMENT_START): Define.
9540
d1485032
JM
9541Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
9542
9543 * tree.c (restore_tree_status): Also free up temporary storage
9544 when we finish a toplevel function.
9545 (dump_tree_statistics): Print stats for backend obstacks.
9546
6bd35f86
DE
9547Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
9548
9549 * expr.c (use_group_regs): Don't call use_reg for MEMs.
9550
d1485032
JM
9551Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
9552
9553 * libgcc2.c (__throw): Don't copy the return address.
9554 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
9555
9556 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
9557 * toplev.c (main): Initialize exceptions_via_longjmp.
9558
9559 * tree.c: Add extra_inline_obstacks.
9560 (save_tree_status): Use it.
9561 (restore_tree_status): If this is a toplevel inline obstack and we
9562 didn't want to save anything on it, recycle it.
9563 (print_inline_obstack_statistics): New fn.
b57062ca 9564 * function.c (pop_function_context_from): Pass context to
d1485032
JM
9565 restore_tree_status.
9566 * obstack.h (obstack_empty_p): New macro.
9567
6981eacf
JL
9568Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
9569
9570 * i386/freebsd.h (ASM_COMMENT_START): Fix.
9571
1933ec7e
JW
9572Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
9573
9574 * v850.c (ep_memory_offset): New function.
9575 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
9576
9577 * v850.h (CONST_OK_FOR_*): Add and correct comments.
9578 (CONSTANT_ADDRESS_P): Add comment.
9579 (EXTRA_CONSTRAINT): Define 'U'.
9580 * v850.md: Add comments on bit field instructions.
9581 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
b57062ca 9582 (lshrsi3): Use N not J constraint.
1933ec7e
JW
9583
9584 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
9585
9586 * v850.c (reg_or_0_operand): Call register_operand.
9587 (reg_or_int5_operand): Likewise.
9588 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
9589 (TARGET_SWITCHES): Add "big-switch".
9590 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
9591 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
9592 (CASE_DROPS_THROUGH): Comment out.
9593 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
9594 * v850.md (cmpsi): Delete compare mode.
9595 (casesi): New pattern.
9596
9597 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
9598 * v850.md (ashlsi3): Use SImode not QImode for shift count.
9599 (lshrsi3): Likewise.
9600
9601 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
9602 unreachable switch statement after 'b' support. Remove "b" from
9603 strings for 'b' support.
9604 * v850.md (branch_normal, branch_invert): Change %b to b%b.
9605
13c2de98
JL
9606Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
9607
9608 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
9609 empty line if @inhibit_libc@ is empty.
9610
b2167bee
RL
9611Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
9612
9613 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
9614 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
9615 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
9616 (DWARF2_UNWIND_INFO): Let this track object file format.
9617 (EXTRA_SECTIONS): Add in_eh.
9618 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
9619 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
9620
bf2a2c6b
DM
9621Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
9622
9623 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
da2a90f7
DM
9624 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
9625 TARGET_MEDANY.
f4f8e370
DE
9626 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
9627 (output_double_int): Output DI mode values correctly when
9628 HOST_BITS_PER_WIDE_INT is 64.
9d162eb2
DE
9629 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
9630 fmovd so it works if a quad float ends up in one of the upper 32
9631 float regs.
7e37212e
DM
9632 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
9633 necessary for PIC support on sparc64.
bf2a2c6b 9634
9ff84e67
DE
9635Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
9636
9637 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
9638 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
9639 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
9640 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
9641 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
9642 (SPARC_FP_ARG_FIRST): New macro.
9643 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
9644 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
9645 (NPARM_REGS): There are 32 fp argument registers now.
9646 (FUNCTION_ARG_REGNO_P): Likewise.
9647 (FIRST_PARM_OFFSET): Update to new v9 abi.
9648 (REG_PARM_STACK_SPACE): Define for arch64.
9649 (enum sparc_arg_class): Delete.
9650 (sparc_arg_count,sparc_n_named_args): Delete.
9651 (struct sparc_args): Redefine and use for arch32 as well as arch64.
9652 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
9653 (FUNCTION_ARG_ADVANCE): Rewrite.
9654 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
9655 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
9656 (FUNCTION_ARG_CALLEE_COPIES): Delete.
9657 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
9658 (STRICT_ARGUMENT_NAMING): Define.
9659 (doublemove_string): Declare.
9660 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
9661 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
9662 (doublemove_string): New function.
9663 (output_move_quad): Clean up some of the arch64 support.
9664 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
9665 Don't add 8 bytes of reserved space if arch64.
9666 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
9667 (init_cumulative_args): New function.
9668 (function_arg_slotno): New static function.
9669 (function_arg,function_arg_partial_nregs): New functions.
9670 (function_arg_{pass_by_reference,advance}): New functions.
9671 (function_arg_padding): New function.
c1215820 9672 * ginclude/va-sparc.h: Rewrite v9 support.
9ff84e67 9673
b8fb2d72
CI
9674Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9675
f22376c7
CI
9676 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
9677 for hard regs to determine base and index registers.
9678
b8fb2d72
CI
9679 * reload.c (debug_reload_to_stream): New function. Specify stream
9680 into which to write debug info.
9681 (debug_reload): Modify to call debug_reload_to_stream with stderr.
9682
b79ee7eb
RH
9683Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
9684
9685 * combine.c (can_combine_p): Don't combine with an asm whose
9686 output is a hard register.
9687
5c19a356
MS
9688Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
9689
9690 * c-decl.c (start_struct): Ensure that structs with forward
9691 declarations are in fact packed when -fpack-struct is given.
9692
9693 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
9694 we are packing a structure. This allows a structure with only
9695 bytes to be aligned on a byte boundary and have no padding on a
9696 m68k.
9697
02bef6da
RK
9698Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9699
9700 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
9701
9ecc37f0
RH
9702Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
9703
9704 * alpha.c (alpha_return_addr_rtx): New variable.
9705 (alpha_save_machine_status): New; save it.
9706 (alpha_restore_machine_status): New; restore it.
9707 (alpha_init_expanders): New; clear it.
9708 (alpha_return_addr): New; set it.
9709 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
9710 is overly conservative, so search the insns explicitly.
9711 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
9712 (alpha_sa_size [VMS && !VMS]): Likewise.
9713 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
9714 (INIT_EXPANDERS): New definition.
b57062ca 9715
9ecc37f0
RH
9716 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
9717 (output_prolog [!VMS]): Use them.
9718
9719 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
b57062ca 9720 (alpha_does_function_need_gp): ... a new function. Refine the
9ecc37f0
RH
9721 CALL_INSN test to just TYPE_JSR.
9722 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
9723
bda2ffef
JL
9724Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
9725
9726 * version.c: Bump for snapshot.
9727
96b63cd7
RK
9728Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9729
9730 * pa.c (move_operand): Respect -mdisable-indexing.
9731 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
9732
f192bf8b
DE
9733Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
9734
9735 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
9736 PPC601.
9737 (umulsidi3,umulsi3_highpart): Ditto.
9738 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
9739
2ea844d3
RH
9740Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
9741
9742 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
9743 (alpha_handle_trap_shadows): ... a new function. Handle the entire
9744 function in one go. Emit RTL for trapb, instead of printf directly.
9745 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
9746 (trap_pending): Kill global variable.
9747 (output_epilog): Don't call final_prescan_insn.
9748 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
9749 * alpha.h (FINAL_PRESCAN_INSN): Remove.
9750 (MACHINE_DEPENENT_REORG): Define.
9751 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
9752 (trapb): New insn.
9753
74835ed8
RH
9754Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
9755
9756 Tune Haifa scheduler for Alpha:
9757 * alpha.h (ISSUE_RATE): Define.
9758 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
9759 EV4 adjustments to EV5.
9760 * alpha.md: Remove all scaling from function unit delays. Rework
9761 EV5 function units to match the CPU.
9762 (umuldi3_highpart): EV5 added the IMULH insn class.
9763
cdc0de30
JL
9764Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
9765
9766 * pa.c (following_call): Fail if the CALL_INSN is an indirect
9767 call.
9768
041c97f2
MM
9769Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
9770
9771 * cplus-dem.c (demangle_signature): Don't look for return types on
9772 constructors. Handle member template constructors.
9773
f0632762
JM
9774Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
9775
9776 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
22ef8a13 9777 * tree.h: Declare them.
f0632762 9778
dec88383
DE
9779Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
9780
9781 * configure.in: Handle --with-newlib.
9782 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
9783
9784 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
9785
0e1f3f5e
JL
9786Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
9787
9788 * config/ptx4.h: Fix typo.
9789
12504ae0
JL
9790Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
9791
9792 * version.c: Bump for snapshot.
9793
5643c767
MH
9794Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
9795
9796 * aclocal.m4: Substitute INSTALL.
9797 * configure: Re-built.
9798
aa0c1401
JL
9799Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
9800
f644bd14
JL
9801 * integrate.c (save_for_inline_copying): Avoid undefined pointer
9802 operations.
9803 (expand_inline_function): Likewise.
9804
aa0c1401
JL
9805 * dwarf2out.c (output_call_frame_info): Reinstate last change
9806 using flag_debug_asm check instead of flag_verbose_asm.
9807
6c2df6c9
JW
9808Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
9809
9810 * dwarf2out.c (output_call_frame_info): Remove last change.
9811
13ab2b83
AS
98121997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9813
9814 * frame.c (__frame_state_for): Execute the FDE insns until the
9815 current pc value is strictly bigger than the target pc value.
9816
066c2fea
JM
9817Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
9818
b57062ca 9819 * regclass.c (init_reg_modes): If we can't find a mode for the
066c2fea
JM
9820 register, use the previous one.
9821
2f308fec
RH
9822Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
9823
9824 * haifa-sched.c (print_block_visualization): Call fprintf directly,
9825 don't sprintf through an alloca'ed buffer.
9826
43984e29
TK
9827Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
9828
9829 * reload.c (decompose): Always initialize val.base.
9830
e9e30253
MH
9831Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
9832
9833 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
9834 instead of aborting.
9835 * dwarf2out.c (output_call_frame_info): Call app_enable and
9836 app_disable to let GNU as accept the generated comments.
9837
496651db
MM
9838Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
9839
9840 * tree.h (get_file_function_name): Add declaration.
9841 * dwarf2out.c (output_call_frame_info): No need to cast
9842 get_file_function_name call anymore.
9843 * profile.c (toplevel): Remove get_file_function_name
9844 declaration.
9845 * c-lang.c (finish_file): Ditto.
9846
e6347456
CS
9847Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
9848
9849 * Makefile.in (program_transform_name): Let autoconf substitute
9850 the correct value.
9851
1447b516
JL
9852Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
9853
9854 * haifa-sched.c (schedule_block): If the first real insn in a
9855 block has any special notes attached to it, remove them.
9856
1a42ead7
RH
9857Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
9858
9859 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
9860
4b6140f1
MH
9861Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
9862
9863 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
9864
dc84d7bc
JL
9865Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
9866
9867 * Makefile.in (check-g77): New test target.
9868 (CHECK-TARGETS): Add check-g77.
9869
c0da11c4
JM
9870Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
9871
9872 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
9873
d8d64559
MM
9874Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
9875
9876 * flow.c (print_rtl_with_bb): Cast alloca return value for
9877 in_bb_p.
9878
e414ab29
RH
9879Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
9880
b57062ca 9881 * i386.h (RETURN_ADDR_RTX): New definition that works for
e414ab29
RH
9882 __builtin_return_address(0) and -fomit-frame-pointer.
9883
15039abe
JW
9884Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
9885
9886 Bring over from FSF.
9887 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
9888
b57062ca 9889 * mips.c (function_arg): Handle passing a struct
15039abe
JW
9890 containing a double in a DFmode register without the PARALLEL.
9891
281de624
ILT
9892Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
9893
d8d64559 9894 * pexecute.c: Use spawn if __CYGWIN32__.
281de624 9895
d8d64559 9896 * pexecute.c: Include "config.h" first, as per autoconf manual
281de624
ILT
9897 (from Paul Eggert <eggert@twinsun.com>).
9898
3cbdd5fc
PDM
9899Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
9900
9901 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
9902 optimisation for f/expr.o and f/stb.o.
9903
135d84b8
JL
9904Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
9905
9906 * cse.c (this_insn_cc0_mode): Initialize.
9907
55d89719
TK
9908Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
9909
d3878e49
TK
9910 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
9911
9912 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
55d89719 9913
e9d0757e
RH
9914Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
9915
9916 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
9917 that pair will dual-issue on the 21164 and plus+beq won't.
9918 (bne): Likewise for cmpeq+beq.
9919
3f34faec
JW
9920Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
9921
9922 * except.c (find_exception_handler_labels): Correct argument to free.
9923
3226dac5 9924Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
988cea7d
BK
9925
9926 * except.c (find_exception_handler_labels): Free LABELS when we're
9927 done.
9928
3a6eabfa
JL
9929Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
9930
9931 * version.c: Bump for snapshot.
9932
974c50f9
JM
9933Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
9934
9935 * flow.c (find_basic_blocks): Mark calls as potentially jumping
9936 to the EH labels.
9937
9b16d2c4
JL
9938Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
9939
9940 * configure.in: Substitute for "install" too.
9941 * configure: Rebuilt.
9942
b1e3ddfd
AJ
9943Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
9944
9945 * Makefile.in (bootstrap-lean, compare-lean): New targets.
9946
6662a38d
RH
9947Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
9948
c02f035f
RH
9949 * alias.c (base_alias_check): Two symbols can conflict if they
9950 are accessed via AND.
9951 (memrefs_conflict_p): Likewise.
9952
7a14fdc5
RH
9953 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
9954 after flushing argument registers to the stack.
9955
6662a38d
RH
9956 * Makefile.in (mostlyclean): Remove .regmove files.
9957
f3447109
JM
9958Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9959
9960 * libgcc2.c (__throw): Fix thinko.
9961
37f6b6bf
MM
9962Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
9963
9964 * cplus-dem.c (demangle_template): Add new parameter. Handle new
9965 template-function mangling.
9966 (consume_count_with_underscores): New function.
9967 (demangle_signature): Handle new name-mangling scheme.
9968
adfc539e
PDM
9969Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
9970
9971 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
9972 start and end.
9973
92cbe4d2
JL
9974Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
9975
9976 * frame.c: Remove last change.
9977 * dwarf2.h: Remove last change.
9978 * tree.h: Add declarations of DWARF2 unwind info support
9979 functions.
9980
2f3ca9e7
JM
9981Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
9982
9983 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
9984 * tree.h (built_in_function): Likewise.
9985 * expr.c (expand_builtin): Likewise.
9986 * except.h: Likewise.
9987 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
9988 * libgcc2.c (copy_reg): New fn.
9989 (__throw): Use it.
9990
407cb092
PE
9991Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
9992
9993 * c-typeck.c (build_binary_op): Warn about comparing signed vs
9994 unsigned if -W is specified and -Wno-sign-compare is not.
9995 * c-decl.c (warn_sign_compare): Initialize to -1.
9996 (c_decode_option): -Wall no longer implies -Wsign-compare.
9997
3ba10494
AS
9998Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9999
a7cc7f29
AS
10000 * frame.c: Include gansidecl.h for PROTO.
10001 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
10002 defined. Don't declare dwarf2out_cfi_label here.
10003 * dwarf2.h: Add declarations of DWARF2 unwind info support
10004 functions.
10005 * m68k.c: Include dwarf2.h.
10006 (output_function_prologue): Add dwarf2 support.
10007 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
10008 (INCOMING_FRAME_SP_OFFSET): Likewise.
10009
3ba10494
AS
10010 * integrate.c (expand_inline_function): Make sure there is at
10011 least one insn that can be used as an insertion point.
10012
c5cec899
JM
10013Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
10014
10015 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
10016
e166cb18
JL
10017Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
10018
10019 * version.c: Bump for snapshot.
10020
01a94cba
DE
10021Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
10022
10023 Bring over from FSF.
10024
10025 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
10026
10027 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
10028 (get_pc_via_rdpc): Renamed from get_pc_sp64.
10029 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
10030
10031 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
10032
10033 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
10034 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
10035 -malign-functions=.
10036 (sparc_align_{loops,jumps,funcs}_string): Declare.
10037 (sparc_align_{loops,jumps,funcs}): Declare.
10038 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
10039 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
10040 (STACK_BIAS): Define.
10041 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
10042 test.
10043 (SPARC_SETHI_P): New macro.
10044 (CONST_OK_FOR_LETTER_P): Use it.
10045 (ASM_OUTPUT_ALIGN_CODE): Define.
10046 (ASM_OUTPUT_LOOP_ALIGN): Define.
10047 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
10048 (sparc_align_{loops,jumps,funcs}): New globals.
10049 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
10050 -malign-functions=.
10051 (move_operand): Use SPARC_SETHI_P.
10052 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
10053 perform test.
10054 (arith11_double_operand): Likewise.
10055 (arith10_double_operand): Likewise.
10056 (finalize_pic): Finish sparc64 support.
10057 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
10058 64 bit constants if able.
10059 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
10060 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
10061 ! TARGET_FPU.
10062 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
10063 (get_pc_sp32): Use for sparc64 as well.
10064 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
10065 (sethi_di_sp64_const): Likewise.
10066 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
10067 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
10068 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
10069
10070 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
10071
10072 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
10073 * sparc/linux.h (COMMENT_BEGIN): Likewise.
10074 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
10075
10076 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
10077
10078 Add sparc64 linux support.
10079 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
10080 to xm_file list on 32-bit sparc-linux.
10081 * sparc/xm-sp64.h: New file.
10082 * sparc/linux64.h: New file.
10083 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
10084 Don't include xm-sparc.h.
10085 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
10086 * glimits.h (LONG_MAX): Handle sparc64.
10087
10088 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
10089
10090 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
10091 * sparc.h (ASM_COMMENT_START): Define.
10092 * sparc.c (output_function_prologue): Use it.
10093 (sparc_flat_output_function_{epi,pro}logue): Likewise.
10094
10095 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
10096
10097 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
10098 use sparc.h's copies.
10099 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
10100 ascii form as well.
10101
10102 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10103
10104 * sparc.c (dwarf2out_cfi_label): Add declaration.
10105 (save_regs, output_function_prologue): Remove cast for it.
10106 (sparc_flat_{save_restore,output_function_prologue): Likewise.
10107 ({save,restore}_regs): No longer inline.
10108
ce2157a1
JL
10109Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10110
10111 * fold-const.c (make_range): Correctly handle cases of converting
10112 from unsigned to signed type.
10113
10114Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
10115
10116 * fold-const.c (merge_ranges): Make sure that if one range is subset
10117 of another, it will always be the second range. Correct (+,-) case to
10118 account for this.
10119
c5cec899
JM
10120Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
10121
10122 * final.c (final_end_function): Also do dwarf2 thing if
10123 DWARF2_DEBUGGING_INFO.
10124 (final_start_function): Likewise.
10125
c107334d
DM
10126Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
10127
e13a25d5
DM
10128 * expmed.c (expand_divmod): If compute_mode is not the same as
10129 mode, handle the case where convert_modes() causes op1 to no
10130 longer be a CONST_INT.
10131
c107334d
DM
10132 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
10133 note holding get_jump_flags() calculation to all JUMP_INSNs.
10134 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
10135 * rtl.c (reg_note_name): Add new note types.
10136
8d7532d9
JL
10137Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
10138
0774afd7 10139 * rtlanal.c (computed_jump_p): Fix typo in last change.
8d7532d9 10140
7019d00e
L
10141Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10142
10143 * loop.c (indirect_jump_in_function_p): Return 0
10144 by default.
10145
b9dfb357
JL
10146Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
10147
10148 * rs6000/xm-rs6000.h: Fix thinko in last change.
10149 * rs6000/xm-sysv4.h: Likewise.
10150
4b7e467b
JW
10151Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
10152
10153 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
10154
8c8e6faa
JL
10155Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
10156
10157 * reg-stack.c (find_blocks): Fix thinko in last change.
10158
078e983e
AS
101591997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10160
10161 * m68k.c (output_function_prologue): Add dwarf2 support.
10162
10163 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
10164 INCOMING_FRAME_SP_OFFSET): New definitions.
b57062ca 10165
d7027667
DM
10166Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
10167
9524f769
DM
10168 * combine.c (try_combine): Use NULL_RTX instead of '0' where
10169 appropriate in calls to gen_rtx().
10170 * cse.c (cse_main): Likewise.
10171 * emit-rtl.c (gen_label_rtx): Likewise.
10172 * expr.c (init_expr_once): Likewise.
10173 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
10174 sched_analyze, init_rgn_data_dependences,
10175 compute_block_backward_dependences): Likewise.
10176 * sched.c (schedule_insns): Likewise.
10177 * varasm.c (immed_double_const): Likewise.
10178
d7027667
DM
10179 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
10180 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
10181
fbf8b71c
KJ
10182Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
10183
10184 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
10185 (MULTILIB_DEFAULTS): Define.
10186 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
10187 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
10188 (LIBGCC_SPEC): Likewise.
10189 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
10190 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
10191 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
10192 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
10193 (EXTRA_PARTS, TAROUTOPTS): Delete.
10194 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
10195 (MULTILIB_OPTIONS): Define.
10196 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
10197 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
10198
c14a951f
JL
10199Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
10200
10201 * version.c: Bump for snapshot.
10202
7014927a
JL
10203Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
10204
37aa45a2
JL
10205 * loop.c (loop_number): Delete function. Change all references
10206 to use uid_loop_num array.
10207 * loop.h (loop_number): Delete declaration.
10208 * unroll.c (unroll_loop): Change "loop_number" references to
10209 use uid_loop_num instead.
10210
b47404d1
JL
10211 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
10212 conditional.
10213 (loop_unroll_iter): Remove unused variable and all references.
10214 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
10215 (insert_bct): Fix minor formatting problems.
10216 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
10217 (loop_unroll_iter): Removed unused decl.
10218 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
10219 Always record the unrolling factor.
10220
cb3bb2a7
JL
10221 * cse.c (simplify_relational_operation): Set h0u just like h0s.
10222 Similarly for h1u and h1s.
10223
d5ff3a2e 10224 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2a1777af
JL
10225 (find_basic_blocks): Use computed_jump_p to determine if a
10226 particular JUMP_INSN is a computed jump.
10227 * reg-stack.c (find_blocks): Use computed_jump_p to determine
10228 if a particular JUMP_INSN is a computed jump.
10229 * rtlanal.c (jmp_uses_reg_or_mem): New function.
10230 (computed_jump_p): Likewise.
10231 * rtl.h (computed_jump_p): Declare.
10232 * genattrtab.c (pc_rtx): Define and initialize.
10233 * loop.c (loop_optimize): Always determine if the current
10234 function has a computed jump.
10235 (indirect_jump_in_function_p): Use computed_jump_p to determine
10236 if a particular JUMP_INSN is a computed jump.
10237
7014927a
JL
10238 * loop.c (fix_bct_param): Delete unused function.
10239 (check_bct_param): Likewise.
10240
6d53d7c2
JM
10241Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
10242
10243 * frame.c (__deregister_frame): Check properly for initialized object.
10244
5a5e9503 10245Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
71e4fbe6
L
10246
10247 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
10248
272299b9
R
10249Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10250
cc5e1642
R
10251 * jump.c (thread_jumps): check can_reverse_comparison_p before
10252 threading a reversed-condition jump.
10253
272299b9
R
10254 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
10255 * haifa-sched.c (update_flow_info): Likewise.
10256
18511014
JL
10257Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
10258
e6493727
JL
10259 * Makefile.in (BOOT_CFLAGS): Use -O2.
10260
1e467e19
JL
10261 * configure.in (strtoul, bsearch): Have autoconf check for these
10262 functions.
10263 * configure, config.in: Rebuilt.
10264
18511014
JL
10265 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
10266 * mips/mips.h (alloca): Likewise.
10267 * rs6000/xm-rs6000.h (alloca): Likewise.
10268 * rs6000/xm-sysv4.h: Likewise.
10269
6020d360
JM
10270Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
10271
10272 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
10273 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
10274 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
10275
10276 * except.c (end_eh_unwinder): Subtract 1 from return address.
10277 * libgcc2.c (__throw): Likewise.
10278 (find_exception_handler): Don't change PC here. Compare end with >.
10279
b24bcfb3 10280Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
b57062ca 10281
b24bcfb3
NC
10282 * v850.c (compute_register_save_size): Correct register
10283 number.
10284 * v850.md (save_interrupt, return_interrupt): Correct
10285 register number.
10286 * v850/lib1funcs.asm (save_interrupt): Correct register number.
10287 (return_interrupt): Use stack pointer, not element pointer.
10288
93cf819d
BK
102891997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
10290
10291 * configure.in, configure: Make sure to create the stage* and include
10292 symbolic links in each subdirectory.
10293
f0501149
JL
10294Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
10295
10296 * pa.md (reload_peepholes): Don't allow addresses with side
10297 effects for the memory operand.
10298
4f870c04
JM
10299Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
10300
10301 * libgcc2.c (find_exception_handler): Subtract one from our PC when
10302 looking for a handler, to avoid hitting the beginning of the next
10303 region.
10304
10305 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
10306
4eb66248
JL
10307Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
10308
10309 * mips/abi64.h (LONG_MAX_SPEC): Define.
10310 * mips.h (LONG_MAX_SPEC): Define.
10311 (CPP_SPEC): Include long_max_spec.
10312 (EXTRA_SPECS): Include long_max_spec.
10313
44158507
JL
10314Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
10315
10316 * v850.c (construct_save_jarl): Fix thinko in last change.
10317
bf520cd9
JL
10318Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
10319
10320 * version.c: Bump for snapshot.
10321
255fe733
JM
10322Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
10323
c0727e2a
JM
10324 * libgcc2.c (find_exception_handler): Not found is -1.
10325
255fe733
JM
10326 * integrate.c (expand_inline_function): Move expand_start_bindings
10327 after expanding the arguments.
10328
21002281
JW
10329Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
10330
10331 * expr.c (expand_expr): Remove previous incorrect change.
10332 If target and slot has no DECL_RTL, then call mark_addressable
10333 again for the slot after we give it RTL.
10334
e693cc28 10335Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
f633220c 10336
e693cc28
UD
10337 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
10338 again for the slot after we give it RTL.
f633220c 10339
145870b5
NC
10340Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
10341
84e75068 10342 * v850.c (register_is_ok_for_epilogue,
145870b5
NC
10343 pattern_is_ok_for_epilogue, construct_restore_jr,
10344 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
10345
84e75068 10346 * v850.h (pattern_is_ok_for_prologue,
145870b5
NC
10347 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
10348 predicates.
10349
84e75068 10350 * v850.md: Replace prologue and epilogue patterns with a
145870b5
NC
10351 match_parallel pattern.
10352
76143254
JL
10353Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
10354
10355 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
10356 * configure.in: Use EGCS_PROG_INSTALL.
10357
4401bf24
JL
10358Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
10359
10360 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
10361 extern inline function.
10362
10363Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
10364
10365 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
10366 (concat_loc_descriptor): New function.
10367 (loc_descriptor): Call it.
10368 (add_AT_location_description): Also elide the descriptor if both
10369 halves of a CONCAT are pseudos.
10370 (add_location_or_const_value_attribute): Recognize CONCAT too.
10371
0d24ff5d
RH
10372Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
10373
4bb43724
RH
10374 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
10375
0d24ff5d
RH
10376 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
10377 out-or-range reg_offset.
10378 (output_epilog): Likewise.
10379
05ef8897
JL
10380Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
10381
10382 * cse.c (simplify_relational_operation): If MODE specifies a
10383 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
10384 is derived from the sign bit of the low word.
10385
ca55abae
JM
10386Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
10387
10388 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
10389
10390 * dwarf2.h: Add DW_CFA_GNU_args_size.
10391 * frame.c (execute_cfa_insn): Likewise.
10392 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
10393 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
10394 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
10395 insn, hand it off to dwarf2out_stack_adjust.
10396 (dwarf2out_begin_prologue): Initialize args_size.
10397 * frame.h (struct frame_state): Add args_size.
10398 * libgcc2.c (__throw): Use args_size.
10399 * final.c (final_scan_insn): If we push args, hand off all insns
10400 to dwarf2out_frame_debug.
10401 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
10402
10403 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
10404 Handle epilogue restore of SP from FP.
b57062ca 10405 * emit-rtl.c (gen_sequence): Still generate a sequence if the
ca55abae
JM
10406 lone insn has RTX_FRAME_RELATED_P set.
10407
10408 * frame.c (extract_cie_info): Handle "e" augmentation.
10409 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
10410 absence of UNALIGNED_*_ASM_OP.
10411 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
10412 (output_call_frame_info): Use "e" instead of "z" for augmentation.
10413 Don't emit augmentation fields length.
10414 (dwarf2out_do_frame): Move outside of #ifdefs.
10415 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
10416 opcodes.
10417
10418 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
10419 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
10420 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
10421 * sparc/sun4gas.h: New file.
10422 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
10423
b57062ca 10424 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
ca55abae
JM
10425 __register_frame_table and __deregister_frame.
10426
1d77fa53
BK
104271997-09-15 Brendan Kehoe <brendan@cygnus.com>
10428
10429 * except.c (find_exception_handler_labels): Use xmalloc instead of
10430 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
10431 in some cases.
10432
8be52aaa
JL
10433Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
10434
10435 * Makefile.in: Various changes to build info files
10436 in the object tree rather than the source tree.
10437
a3ee3246
JL
10438Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
10439
10440 * fixinc.math: New file to fix math.h on some systems.
10441 * configure.in (freebsd, netbsd): Use fixinc.math on these
10442 systems.
10443 * configure: Rebuilt.
10444
124da275
JL
10445Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
10446
10447 * regmove.c (regmove_optimize): If we end up moving the
10448 original insn due to lifetime overlaps, make sure to move
10449 REG_NOTES too.
10450
fca9d4b0
MH
10451Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
10452
10453 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
10454
326ee7a3
JL
10455Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
10456
10457 * haifa-sched.c (add_branch_dependences): Make each insn in
10458 a SCHED_GROUP_P block explicitly depend on the previous insn.
10459
ca55abae
JM
10460Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
10461
10462 * except.h: Prototype dwarf2 hooks.
10463 * expr.c: Adjust.
10464
5188d2b2
JW
10465Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
10466
10467 * configure.in (native_prefix): Delete.
10468 (mips-dec-netbsd): Don't set prefix.
10469 (*linux*): Don't set prefix.
10470
2e384318
FF
10471Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
10472
70988851
FF
10473 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
10474 defined. If not defined, include <sys/varargs.h> if
10475 HAVE_SYS_VARARGS_H is defined.
10476 * configure.in: Test for varargs.h and sys/varargs.h.
10477 * configure: Regenerate with autoconf.
10478 * config.in: Regenerate with autoheader.
10479
2e384318
FF
10480 * cpplib.c (quote_string): Cast first arg of sprintf call
10481 from "unsigned char *" to "char *".
10482 (output_line_command): Ditto.
10483 (macroexpand): Ditto.
10484 (do_line): Cast atoi arg from "unsigned char *" to "char *".
10485
3fb2f401
JL
10486Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
10487
f2e4e16f
JL
10488 * version.c: Bump for snapshot.
10489
3fb2f401
JL
10490 * Makefile.in (compare): Exit with nonzero status if there
10491 are comparison failures. Note which files failed the
10492 comparison test in .bad_compare.
10493
d26cb668
L
10494Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10495
10496 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
10497
ac64120e
JW
10498Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
10499
10500 * Makefile.in (LN, LN_S): New macros, use where appropriate.
10501 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
10502 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
10503 * configure: Regenerated.
10504
10505Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
10506
10507 * loop.c (strength_reduce): Fix typo.
10508
db87ec0b
JW
10509Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
10510
10511 * m88k/m88k.c (struct option): Rename to struct options.
10512 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
10513 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
10514 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
10515 __DOLPHIN__ or sysV88.
10516
04395f96
JW
10517Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
10518
10519 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
10520 create new subreg.
10521
becdcf6d
JL
10522Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
10523
10524 * config.sub: Accept 'amigados' for backward compatability.
10525
04395f96 10526Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3979dfb8
JW
10527
10528 * Makefile.in (testsuite/site.exp): New target.
10529 (check-gcc, check-g++): Depend on testsuite/site.exp.
10530 Don't stop for failure.
10531
ca55abae
JM
10532Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
10533
10534 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
10535 if DWARF2_UNWIND_INFO.
10536
10537Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
10538
10539 Add support for exception handling using DWARF 2 frame unwind info.
10540 Currently works on SPARC and MIPS, and almost on x86.
b57062ca 10541
ca55abae
JM
10542 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
10543 next_stack_level, in_reg_window): Helper fns.
10544 (__throw): Implement for DWARF2_UNWIND_INFO.
10545
10546 * expr.c (expand_builtin): Handle builtins used by __throw.
10547 * tree.h (enum built_in_function): Add builtins used by __throw.
10548 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
10549 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
10550 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
10551 (expand_builtin_extract_return_addr): Likewise.
10552 (expand_builtin_frob_return_addr): Likewise.
10553 (expand_builtin_set_return_addr_reg): Likewise.
10554 (expand_builtin_eh_stub): Likewise.
10555 (expand_builtin_set_eh_regs): Likewise.
10556 (eh_regs): Choose two call-clobbered registers for passing back values.
10557
10558 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
10559 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
10560 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
10561 (stmp-multilib): Likewise.
10562 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
10563
10564 * except.c: #include "defaults.h".
10565 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
10566 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
10567 (register_exception_table_p): New fn.
10568 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
10569 (end_eh_unwinder): Likewise.
10570
b57062ca 10571 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
ca55abae
JM
10572 call __register_frame and __deregister_frame as needed.
10573 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
10574 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
10575 EH_FRAME_SECTION_ASM_OP.
10576 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
10577 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
10578 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
10579
10580 * dwarf2out.c (output_call_frame_info): If no support for
10581 EXCEPTION_SECTION, mark the start of the frame info with a
10582 collectable tag.
10583 * collect2.c (frame_tables): New list.
10584 (is_ctor_dtor): Recognise frame entries.
10585 (scan_prog_file): Likewise.
10586 (main): Pass -fno-exceptions to sub-compile. Also do collection
10587 if there are any frame entries.
10588 (write_c_file_stat): Call __register_frame_table and
10589 __deregister_frame as needed.
10590 (write_c_file_glob): Likewise.
10591
b57062ca 10592 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
ca55abae
JM
10593 Also require unaligned reloc support.
10594 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
10595 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
10596 * sparc/sysv4.h: Not here.
10597
10598 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
10599 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
10600 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
10601
10602 * libgcc2.c (L_eh): Reorganize, moving code shared by different
10603 EH implementations to the top.
10604 (find_exception_handler): Split out. Start from 0. Compare against
10605 end with >=.
10606 (__find_first_exception_table_match): Use it.
10607 * except.c (output_exception_table): Don't do anything if there's
10608 no table. Don't output a first entry of zeroes.
10609 (eh_outer_context): Adjust properly.
10610 (add_eh_table_entry): Use xrealloc.
10611 * toplev.c (compile_file): Just call output_exception_table.
10612
10613Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
10614
10615 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
10616
10617Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
10618
10619 * except.c (eh_outer_context): Do masking using expand_and.
10620
b4d940a2
JL
10621Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
10622
10623 Add port done awhile ago for the ARC cpu.
10624 * arc/arc.h: New file.
10625 * arc/arc.c: New file.
10626 * arc/arc.md: New file.
10627 * arc/initfini.c: New file.
10628 * arc/lib1funcs.asm: New file.
10629 * arc/t-arc: New file.
10630 * arc/xm-arc.h: New file.
10631 * ginclude/va-arc.h: New file.
10632 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
10633 * ginclude/varargs.h: Likewise.
10634 * Makefile.in (USER_H): Add va-arc.h.
10635 * configure.in (arc-*-elf*): Recognize.
10636 * longlong.h: Add ARC support.
10637
10638Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
10639
10640 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
10641 when clearing non-BLKmode data.
10642
10211581
JL
10643Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
10644
9dfc6eba
MH
10645 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
10646 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
10647
55259219
MH
10648 * xm-m88k.h (USG): Only define if it hasn't already been defined.
10649
10650 * Makefile.in (risky-stage1): Delete gratutious whitespace.
10651
ee291069
MH
10652 * Makefile.in (clean): Delete libgcc1-test.
10653
10211581
JL
10654 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
10655
10656Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
48f0be1b
SC
10657
10658 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
10659 template.
10660
ca55abae
JM
10661Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10662
10663 * dwarf2out.c (output_call_frame_info): Call named_section.
10664
8f3d79e0
JL
10665Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
10666
10667 * haifa-sched.c (print_value): Fix last change.
10668
ca55abae
JM
10669Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
10670
10671 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
10672 write_symbols.
10673
10674Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
10675
10676 * mips.c (function_prologue): Set up the CFA when ABI_32.
10677
10678 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
10679 for dwarf2 unwind info.
10680 (output_function_prologue, sparc_flat_output_function_prologue): Same.
10681
10682 * final.c (final_end_function): Check dwarf2out_do_frame instead
10683 of DWARF2_DEBUG for dwarf2 unwind info.
10684 (final_scan_insn): Likewise.
10685 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
10686 (final): Not here.
10687
10688 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
10689 count > 0.
10690
10691 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
10692
74aca74b
NC
10693Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
10694
10695 * v850.h (ASM_SPEC): Pass on target processor.
10696 (CPP_PREDEFINES): Only define if not already specified.
10697 (TARGET_VERSION): Only define if not already specified.
10698 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
10699 processor.
10700 (EXTRA_SWITCHES): Extra entries in the switches array.
10701 (TARGET_DEFAULT): Set default target processor.
10702
c0b04148
JW
10703Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
10704
10705 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
10706 cases, add %# and %/, and add : to make them into extended asms.
10707
52b7724b
WL
10708Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
10709
10710 * alias.c (init_alias_analysis): Clean up incompatible pointer
10711 type warning in bzero.
10712 * regmove.c (regmove_optimize): Ditto.
10713 * haifa-sched.c (find_rgns): Ditto.
10714
10715 * haifa-sched.c (print_value): Clean up ptr->int cast
10716 warnings.
10717
0c82f6bf
FF
10718Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
10719
10720 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
10721 * install.texi (Configurations): Ditto.
10722 * config.sub: Ditto.
10723
1fed1f51
WL
10724Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
10725
10726 * Makefile.in (sdbout.o): Depend on insn-config.h.
10727
239e68f6
JW
10728Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
10729
10730 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
10731 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
10732
267c09ab
JM
10733Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
10734
10735 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
10736 prologue insn, only the first elt is significant.
10737 (output_call_frame_info): For exception handling, always use 4-byte
10738 fields as specified by the dwarf2 spec.
10739 Don't skip trivial FDEs.
10740
db7cafb0
JL
10741Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
10742
10743 * version.c: Bump for snapshot.
10744
10745Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
10746
10747 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
10748 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
10749 when op1_is_pow2.
10750
10751Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
10752
bf520cd9
JL
10753 * final.c (shorten_branches): During first pass, assume worst
10754 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
db7cafb0
JL
10755
10756 * Makefile.in (distclean): Remove various things left around
10757 by running the testsuite.
10758
7ed46111
MH
10759Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
10760
10761 * configure.in (out_file): Emit definition to config.status in order
10762 to have a defined value for configure.lang.
10763 * configure: Re-built.
10764
e41cea70
JJH
10765Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
10766
bf520cd9 10767 * configure.in: Make symlink to as-new rather than as.new. Similarly
e41cea70
JJH
10768 for ld-new.
10769 * configure: Rebuilt.
10770
1aeb1f6f
JW
10771Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
10772
10773 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
10774
770a0113
CK
10775Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
10776
10777 * sparc/sparc.md: Add ultrasparc scheduling support.
10778 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
10779
f5ffa999
PDM
10780Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10781
10782 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
10783 as initial value for real_label_map.
10784 (copy_for_inline): Likewise.
10785
acceac1a
R
10786Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10787
10788 * sched.c (update_flow_info) When looking if to set found_split_dest
10789 or found_orig_dest, look at all parts of a PARALLEL.
10790 * haifa-sched.c (update_flow_info): Likewise.
10791
f84271d9
JL
10792Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
10793
10794 * v850: New directory for v850 port.
10795 * v850/lib1funcs.asm: New file.
10796 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
10797 * ginclude/va-v850.h: New file.
10798 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
10799 * configure.in (mn10200-*-*): New target.
10800 * configure: Rebuilt.
10801 * config.sub: Handle v850-elf.
b57062ca 10802 * Makefile.in (USER_H): Add va-mn10200.h.
f84271d9
JL
10803 * invoke.texi: Document v850 stuff.
10804
89cc6098
JW
10805Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
10806
04940ba5
JW
10807 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
10808 has integer TYPE_{MAX,MIN}_VALUE before using them.
10809
89cc6098
JW
10810 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
10811 __HPUX_ASM__ versions.
10812
c74f7db8
JL
10813Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
10814
bf520cd9 10815 * install.sh: Delete duplicate install script.
c74f7db8 10816
914ec131
SC
10817Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
10818
10819 * reg-stack.c (subst_stack_regs): Pop the stack register for a
10820 computed goto which sets the same stack register.
10821
10822 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
10823 destination are both on the regstack.
10824 (subst_stack_regs_pat): Put the destination at the top of the regstack.
10825
c1090daa
JW
10826Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
10827
d5d1738a
JW
10828 * mips.md (nonlocal_goto_receiver): Define.
10829
f4da7881
JW
10830 * profile.c (output_arc_profiler): Check next_insert_after for non
10831 NULL before deferencing it.
10832
c1090daa
JW
10833 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
10834
da594c94
JL
10835Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
10836
10837 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
10838
3e28fe44
MM
10839Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
10840
10841 * toplev.c (rest_of_compilation): For passes starting with
10842 flow_analysis, use print_rtl_with_bb instead of print_rtl.
10843
10844 * print-rtl.c (print_rtl_single): Print a single rtl value to a
10845 file.
10846
10847 * flow.c (print_rtl_with_bb): Print which insns start and end
10848 basic blocks. For the start of a basic block, also print the live
10849 information.
10850
7053ca72
JW
10851Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
10852
417b0fa2
JW
10853 * toplev.c (main): Change #elif to #else/#ifdef
10854
7053ca72
JW
10855 * tlink.c: Include ctype.h.
10856 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
10857
f05a8b25
MM
10858Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
10859
10860 * bitmap.c: Conditionally include stdlib.h.
bf520cd9 10861 (free): Provide a declaration if NEED_DECLARATION_FREE.
f05a8b25 10862
02d7a569
JS
10863Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
10864
10865 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
10866
6030b6af
JW
10867Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
10868
10869 * profile.c (output_arc_profiler): Verify next_insert_after is an
10870 INSN before and after skipping a stack pop.
10871
04da53bd
R
10872Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10873
10874 * final.c (shorten_branches): Don't count the lengths of deleted
10875 instructions.
10876
780532a4
JL
10877Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
10878
10879 * version.c: Bump for snapshot.
10880
22fa5b8a
MM
10881Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
10882
10883 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
10884 two bitmaps ANDed together.
10885 (bitmap_print): Declare.
10886
10887 * bitmap.c (function_obstack): Don't declare any more.
10888 (bitmap_obstack): Obstack for allocating links from.
10889 (bitmap_obstack_init): New static to say whether to initialize
10890 bitmap_obstack.
10891 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
10892 (bitmap_release_memory): Free all memory allocated from
10893 bitmap_obstack.
10894
10895 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
10896 EXECUTE_IF_AND_IN_BITMAP.
10897
57163df0
JW
10898Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
10899
fa8b6024
JW
10900 * alias.c (true_dependence): Address with AND can alias scalars.
10901 (anti_dependence, output_dependence): Likewise.
b57062ca 10902
57163df0
JW
10903 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
10904
8aa4e786
JS
10905Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
10906
10907 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
10908 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
10909 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
10910 definitions. Use -qrtems instead of -mrtems.
10911
feb21122
RL
10912Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
10913
10914 * xm-sco5.h (sys_siglist): Define.
10915 (SYS_SIGLIST_DECLARED): Likewise.
10916
704af6a1
JL
10917Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
10918
10919 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
10920
127cd405
TG
10921Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
10922
10923 * except.c (eh_outer_context): Expand masking operation using
10924 expand_binop.
10925
8cf02b47
JW
10926Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
10927
10928 * alpha.md (floatdisf2-1): New pattern.
10929
49dad301
JL
10930Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
10931
068f1cb8
JL
10932 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
10933 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
f04e7122 10934 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
068f1cb8
JL
10935 * gcc.texi: Note that if you define sys_siglist that you should
10936 also define SYS_SIGLIST_DECLARED.
10937
49dad301
JL
10938 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
10939 are relative to the next instruction, not the current instruction.
10940
a1729519
JW
10941Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
10942
10943 * local-alloc.c (contains_replace_regs): New function.
10944 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
10945 verify that there is no existing REG_EQUIV note, and add a call to
10946 contains_place_regs.
10947
290c8b1f
L
10948Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10949
10950 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
10951 (STARTFILE_SPEC): Always use crtbegin.o%s
10952 (ENDFILE_SPEC): Always use crtend.o%s.
10953
a6a503ed
JW
10954Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
10955
10956 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
10957 is passed in.
10958 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
10959 SFmode for 64 bit hosts.
b57062ca 10960
a94729bc
PH
10961Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
10962
10963 * fixincludes: Permits spaces between # and define. Discard C++
10964 comments in sys/pci.h on HP/UX 10.20.
10965
c9e03727
JL
10966Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
10967
10968 * version.c: Bump for snapshot.
10969
2eddfed1
JL
10970 * pa.c (restore_unscaled_index_insn_codes): New function.
10971 (record_unscaled_index_insn_codes): Likewise.
10972 (output_function_prologue): Call restore_unscaled_index_insn_codes.
10973 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
10974 (pa_reorg): Call record_unscaled_index_insn_codes.
10975
c9e03727
JL
10976 * haifa-sched.c (move_insn): Handle notes correctly for insns
10977 with SCHED_GROUP_P set.
b57062ca 10978
a5d6a95b
L
10979Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10980
10981 * alpha/xm-linux.h (USE_BFD): Undef before define.
10982
bc4ddc77
JW
10983Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
10984
10985 * cse.c (cse_insn): Don't record BLKmode values.
10986
f3e0ca6c
SW
10987Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
10988
10989 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
10990
e3512ac2
JL
10991Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
10992
a63d08e6
JL
10993 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
10994 * collect2.c (sys_errlist): Likewise.
10995 * cpplib.c (sys_errlist): Likewise.
10996 * gcc.c (sys_errlist): Likewise.
10997 * protoize (sys_errlist): Likewise.
10998 * configure.in: Check for strerror.
10999 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
11000 * xm-gnu.h (HAVE_STRERROR): Likewise.
11001 * xm-linux.h (HAVE_STRERROR): Likewise.
11002 * xm-netbsd.h (HAVE_STRERROR): Likewise.
11003 * xm-bsd386.h (HAVE_STRERROR): Likewise.
11004 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
11005 * xm-dos.h (HAVE_STRERROR): Likewise.
11006 * xm-mingw32.h (HAVE_STRERROR): Likewise.
11007 * xm-pa.h (HAVE_STRERROR): Likewise.
11008 * xm-papro.h (HAVE_STRERROR): Likewise.
11009 * xm-sysv4.h (HAVE_STRERROR): Likewise.
11010 * configure, config.in: Rebuilt.
11011
db814993
JL
11012 * Makefile.in: Add several missing "else true" clauses.
11013
e3512ac2
JL
11014 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
11015 * mips-tfile.c: Likewise.
11016 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
11017 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
11018 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
11019 * configure.in: Check for sys_siglist declaration.
11020 * configure, config.in: Rebuilt.
11021
5d84b57e
JS
11022Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
11023
b57062ca 11024 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
5d84b57e
JS
11025 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
11026 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
11027 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
11028 * rs6000/sysv4.h (extra_subtarget_switches): Added new
11029 macro EXTRA_SUBTARGET_SWITCHES.
11030 * configure.in (sh*-*-rtems*): New target.
11031 * sh/rtems.h: New file.
11032 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
11033 * configure: Rebuilt.
11034
2599dcc7
JW
11035Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
11036
11037 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
11038
3b7e5ef4
DE
11039Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
11040
11041 * rs6000.md: Make DF fused-add operations pay attention to
11042 -mno-fused-add.
11043
5cd5f4a7
JW
11044Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
11045
11046 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
11047
63e7fe9b
JL
11048Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
11049
11050 * pa.md (reload_peepholes): Make sure operand is a REG before
11051 examining REGNO. Allow general registers too.
11052
eb7b11fd
JW
11053Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
11054
11055 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
11056
c760091a
PT
11057Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
11058
5cd5f4a7 11059 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
c760091a
PT
11060 to reallocate abbrev_die_table.
11061
57583338
JW
11062Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
11063
11064 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
11065
eae4b970
AS
110661997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11067
4f91a0f8
AS
11068 * Makefile.in (config.status): Depend on version.c
11069
eae4b970
AS
11070 * expr.h (insn_gen_function): Reenable prototype.
11071
11072 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
11073 first parameter.
11074
00fc09e1
JW
11075Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
11076
11077 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
11078
2601ebca
JL
11079Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
11080
11081 * version.c: Bump for latest snapshot.
11082
11083 * bc-optab.c: Conditionally include stdlib.h.
11084 (free): Provide a declaration if NEED_DECLARATION_FREE.
11085 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
11086 * rtl.h (free): Remove declaration.
11087 * tree.h (free): Remvoe declaration.
11088
11089 * configure: Rebuilt.
11090
e5eb27e5
JL
11091Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
11092
11093 * flags.h (flag_move_all_movables): Declare.
11094 (flag_reduce_all_givs): Likewise.
11095 * loop.c (move_movables): Handle flag_move_all_movables.
11096 (strength_reduce): Handle flag_reduce_all_givs.
11097 * toplev.c (flag_move_all_movables): Define.
11098 (flag_reduce_all_givs): Likewise.
11099 (f_options): Add -fmove-all-movables and -freduce-all-givs.
11100 * invoke.texi: Document new options, including alias stuff that
11101 wasn't included last time.
11102
d995a6dc
BM
11103Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
11104
11105 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
11106 * t-mn10200: Ditto.
11107 * t-vxsparc: Ditto.
11108 * t-vxworks68: Ditto.
11109 * t-vxworks960: Ditto.
11110 * t-vx29k: Ditto.
11111
ba64ca33
RH
11112Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
11113
11114 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
11115 if not already defined, and USE_C_ALLOCA not defined.
11116
ca20876d
JW
11117Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
11118
7818d6fc
JW
11119 * config.guess: Replace with script that uses ../config.guess.
11120
ca20876d
JW
11121 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
11122 if USE_GNULIBC_1 is not defined.
11123
704a6306
RH
11124Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
11125
11126 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
11127 * config.guess: Recognize alpha-linux-gnulibc1.
11128 * configure.in (alpha-*-linux-gnulibc1): New target.
11129 (alpha-*-linux-gnu*): Don't build crtbegin/end.
11130
67f68fd2
JW
11131Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
11132
11133 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
11134 last change.
11135
88016fb7
DE
11136Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
11137
11138 * loop.c (combine_movables): Earlier insns don't match later ones.
11139
bba17b29
L
11140Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11141
11142 * config/linux.h (CC1_SPEC): Define it only if not defined.
11143
11144 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
11145 <linux.h>
11146
11147 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
11148 USE_GNULIBC_1 is not defined.
11149
33d2808b 11150 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
bba17b29
L
11151
11152 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
11153 as 1 if USE_GNULIBC_1 is not defined.
11154
ed4044e0
JL
11155Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
11156
f345de42
JL
11157 * reorg.c (dbr_schedule): Allow current_function_return_rtx
11158 to be something other than a REG.
11159 * function.c (expand_function_end): Fix current_function_return_rtx
11160 if it was a pseudo.
11161
ed4044e0
JL
11162 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
11163 * x-netbsd: Likewise
11164 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
11165 (INSTALL_HEADERS): Delete.
11166 * x-dguxbcs: Likewise.
11167 * x-hp3bsd44: Likewise
11168 * x-pa: Likewise.
11169
47d36400
BS
11170Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
11171
11172 * i386.md (pop): pop increments the stack pointer.
11173 (prologue_set_stack_ptr): New pattern.
11174 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
11175 instead of subsi3.
11176
fc79eafe
JW
11177Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
11178
11179 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
11180 address where an offsettable address is required.
11181
c5da853f
MH
11182Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
11183
11184 * loop.c (check_final_value): Don't miss a biv increment in a
11185 parallel.
11186
d4ef15f2
JW
11187Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
11188
11189 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
11190 TYPE_DECL_IS_STUB instead of DECL_NAME.
11191
10549cbd
JW
11192Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11193
11194 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
11195
11196Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
11197
11198 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
11199
484df988
JL
11200Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
11201
11202 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
11203 (find_post_sched_live): Likewise.
11204
11205 * haifa-sched.c (schedule_block): Remove old code to get arguments
11206 from hard regs into pseudos early.
11207
39dfb55a
JL
11208Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
11209
11210 * version.c: Bump for new snapshot.
11211
11212 * local-alloc.c (update_equiv_regs): All the target to reject
11213 promotion of some REG_EQUAL to REG_EQUIV notes.
11214 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
11215
11216 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
11217 secondary reloads.
11218
11219 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
11220 store of the argument registers.
11221
11222Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
11223
11224 * fold-const.c (multiple_of_p): New function.
11225 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
11226
d78778eb
JL
11227Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
11228
11229 * expr.h (insn_gen_function): Temporarily remove prototype.
11230
feb9ea1a
JW
11231Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
11232
11233 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
11234 filenames. Use sed to extract base filename for install.
11235
b6ffe602
JC
11236Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
11237
11238 * unroll.c (find_splittable_givs): Only share if two givs have the
11239 same add and multiply values.
11240
2ebfd230
JW
11241Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
11242
11243 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
11244 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
11245
251ffdee
JL
11246Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
11247
11248 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
11249 around branch tables.
11250 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
11251 and .end_brtab directives if TARGET_GAS.
11252
19372aa1
JW
11253Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
11254
27314274
JW
11255 * alias.c (true_dependence): Pass x_addr not x to varies.
11256
19372aa1
JW
11257 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
11258 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
11259 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
11260 declarations.
11261 * config.in, configure: Regenerate.
11262
2a2c8203
JC
11263Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
11264
11265 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
11266 LO_SUM.
11267 (record_set): Handle LO_SUM like PLUS.
11268 (init_alias_analysis): When following chains of base addresses,
11269 do not stop on reaching a hard register.
11270
d80357b7
JL
11271Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
11272
11273 * version.c: Bump for new snapshot.
11274
b4f32d7b
JW
11275Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
11276
11277 * alpha.h (ARCH_ASM_FILE_START): Define.
11278 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
11279 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
11280
ca363bb6
JL
11281Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
11282
11283 * Makefile.in (install-common): Put gcov comment at start of line.
11284
7557aa98
JL
11285Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
11286
11287 * alias.c (init_alias_analysis): When simplifying the reg_base_value
11288 array, simplify entries for hard registers too.
11289
c34e3ae4
DL
11290Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
11291
11292 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
11293 list.
11294
e3eef942
JW
11295Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
11296
11297 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
11298 block_stack before dereferencing it.
11299
11300Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
246853b9
MM
11301
11302 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
11303
04f41951
JM
11304Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
11305
11306 * cplus-dem.c: Add 'extern' to prepends_underscore.
11307
e933cbe0
JL
11308Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
11309
62d65906
JL
11310 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
11311 (get_issue_rate): Delete.
11312 * pa.h (ISSUE_RATE): Define.
11313
2da05a5b
JL
11314 * configure.in: Turn on haifa by default for the PA.
11315 * configure: Rebuilt.
11316 * pa.c (override_options): Accept -mschedule=7200 option.
11317 (pa_adjust_cost): No longer need to scale costs for newer
11318 processors.
11319 * pa.h (enum processor_type): Add PROCESSOR_7200.
11320 * pa.md: Revamp scheduling parameters to work better with
11321 haifa. Add scheduling parameters for the 7200.
11322
4f64eaca
JL
11323 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
11324 insns too.
11325 (schedule_block): When adjusting basic_block_{head,end}, account
11326 for movement of SCHED_GROUP_P insns too.
11327
11328 * haifa-sched.c (debug_dependencies): Fix thinko.
11329
e933cbe0
JL
11330 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
11331 (site.exp, check, check-g++, check-gcc): New targets.
11332
4f64eaca 11333 * haifa-sched.c: Make lots of variables static.
61822835 11334
e9576d2c
L
11335Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11336
11337 * expr.h, real.h: Finish prototyping.
11338
61822835
JL
11339Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
11340
11341 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
11342 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
11343 * reload1.c: Undo bugfix from Aug 11.
11344
f24b370a
MM
11345Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
11346
11347 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
11348 quotes around the name.
11349 * configure: Regenerate.
11350
1c4c5851
JW
11351Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
11352
11353 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
11354
71abb567
MH
11355Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
11356
11357 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
11358 to sub-makes to avoid building more passes than the user might have
11359 requested on the command line.
11360
6042434a
DL
11361Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
11362
11363 * configure.in: Expurgate `broken_install' (install is
11364 autoconfed).
11365
11366 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
11367 relevant).
11368
38ea060f
JL
11369Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
11370
11371 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
11372 functions and declarations.
11373 (analyze_loop_iterations): Use condjump_p.
11374 (insert_bct): Likewise. Use exact_log2.
b57062ca 11375
f187056f
JL
11376Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
11377
11378 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
11379 (schedule_region): Likewise.
11380 (schedule_insns): Likewise.
11381
11382 * PROJECTS: Update with Haifa stuff.
11383
9af06254
JL
11384Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
11385
11386 * version.c: Change the version string to look like:
11c21791 11387 egcs-2.90.00 970814 (gcc2-970802 experimental).
9af06254 11388
0945e937
JL
11389 * loop.c (is_conditional_branch): Make definition match declaration.
11390
9af06254
JL
11391 * gcc.c: Take out experimental snapshot warning message.
11392
ebc25a17
MM
11393Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
11394
11395 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
11396 print out the names of the notes. Print out the name of the insn
11397 that is not a note, and not an {,CALL_,JUMP_}INSN.
11398
610ce97e
JM
11399Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
11400
11401 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
11402 again for the slot after we give it RTL.
11403
992d1248
DE
11404Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
11405
11406 * configure.in (haifa configury): Fix typo.
11407 * configure: Regenerate.
11408
7bb6fbd1
JL
11409Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
11410
11411 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
11412
11413 * gcc.info*: Rebuilt.
11414
11415 * COPYING.g77, README.g77: New files.
11416 * real.c (ereal_unto_float, ereal_unto_double): New functions.
11417 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
11418 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
11419
8c660648
JL
11420Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
11421
11422 * Integrate Haifa instruction scheduler.
11423 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
11424 to sched with $(SCHED_CFLAGS.
11425 * configure.in: Handle --enable-haifa.
11426 * configure: Rebuilt.
11427 * flags.h: Add new flags for haifa instruction scheduler.
11428 * genattrtab.c (expand_units): For haifa, don't subtract one
11429 when computing blockage.
11430 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
11431 (flag_schedule_speculative): Ditto.
11432 (flag_schedule_speculative_load): Ditto.
11433 (flag_schedule_speculative_load_dangerous): Ditto.
11434 (flag_schedule_reverse_before_reload): Ditto.
11435 (flag_schedule_reverse_after_reload): Ditto.
11436 (flag_branch_on_count_reg): Ditto.
11437 (f_options): Add Haifa switches.
11438 (main): Turn off some Haifa options if appropriate macro is
11439 defined. Process Haifa switches.
11440 * unroll.c (iteration_info): No longer static, since Haifa
11441 scheduler uses it.
11442 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
11443 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
11444 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
11445 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
11446 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
11447 storage for the Haifa scheduler.
11448 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
11449 LABEL_NEXTREF.
11450 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
11451 are defined, call analyze_loop_iterations and insert_bct to use
11452 countdown loops.
11453 (record_giv): Refine test for jumps out of loops if HAIFA is
11454 defined.
11455 (analyze_loop_iterations): New function to identify if we can use
11456 a countdown loop.
11457 (insert_bct): Insert countdown loop.
11458 (instrument_loop_bct): Low level code to insert countdown loop.
11459 (loop_number): Calculate UID of loop.
11460 (indirect_jump_in_function_p): Return true if an indirect jump is
11461 in the function.
11462 (is_power_of_2): Return true if value is a power of 2.
11463 (is_conditional_branch): Return true if insn is a conditional
11464 jump.
11465 (fix_bct_param): Process -fbct-{min,max}-N switches.
11466 (check_bct_param): Return true if loop should be instrumented.
11467 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
11468 (loop_optimize): Initialize.
11469 (get_condition_for_loop): Ditto.
11470 * loop.c (strength_reduce): Inside of code that uses #ifdef
11471 HAVE_decrement_and_branch_on_count code, test it to make sure the
11472 condition is true.
11473 (instrument_loop_bct): Ditto.
11474 * haifa-sched.c: New file.
b57062ca 11475
8c660648
JL
11476
11477 * Integrate regmove pass.
11478 * Makefile.in (OBJS): Add regmove.o
11479 (regmove.o): Add dependencies.
11480 * flow.c (find_use_as_address): No longer static.
11481 * rtl.h (find_use_as_address): Declare.
11482 * toplev.c (regmove_dump, flag_regmove): Define.
11483 (f_options): Add -fregmove.
11484 (regmove_dump_file, regmove_time): Define.
11485 (fatal_insn): Close the regmove dump file.
11486 (compile_file): Initialize regmove_time; open/close the regmove dump
11487 file as needed. Print regmove time as needed.
11488 (rest_of_compilation): Run regmove pass if requested, dump
11489 RTL after regmove if requested.
11490 (main): If -O2 or more, turn on regmove. Handle dump switches.
11491 * regmove.c: New file.
b57062ca 11492
aa32d841
JL
11493Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
11494
11495 * Integrate tlink patch from jason@cygnus.com
11496 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
11497 (process_command): Increment n_switches for them. Don't discard
11498 their args. Validate them.
11499 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
11500 From Rohan Lenard.
11501 (process_command): Set include_prefixes from COMPILER_PATH.
11502 (main): Set COLLECT_GCC_OPTIONS sooner.
11503 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
11504 * tlink.c, hash.c, hash.h: New files.
11505 * Makefile.in (USE_COLLECT2): Always use collect2.
11506 (collect2): Depend on and link in hash.o and tlink.o.
11507 (tlink.o, hash.o): Add dependencies.
11508
5fa39bfe
JL
11509Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
11510
9ae8ffe7
JL
11511 * Integrate alias analysis changes from jfc@mit.edu
11512 * Makefile.in (OBJS): Add alias.o
11513 (alias.o): Add dependencies.
11514 * alias.c: New file.
11515 * sched.c: Remove alias analysis code. It lives in alias.c now.
9ae8ffe7 11516 (sched_analyze_2): Add new arguments to true_dependence.
9ae8ffe7
JL
11517 (schedule_insns): Always call init_alias_analysis.
11518 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
11519 mark return value from such functions as a pointer and keep track of
11520 them for alias analysis. If a return value from a function is a
11521 pointer, mark it as such.
11522 * combine.c (distribute_notes): Handle REG_NOALIAS.
11523 * cse.c (struct write_data): Delete. No longer needed.
11524 (invalidate): Don't call set_nonvarying_address_components anymore.
11525 Use true_dependence to decide if an entry should be removed from
11526 the hash table.
11527 (invalidate_memory): Remove WRITES argument, simplify appropriately.
11528 Fix all callers.
11529 (note_mem_written): Similarly for WRITE_PTR argument.
11530 (invalidate_from_clobbers): Similarly for W argument.
11531 (invalidate_for_call): Remove memory elements from the hash table.
11532 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
11533 (cse_rtx_varies_p): New function. Derived from old
11534 cse_rtx_addr_varies_p.
11535 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
11536 Don't call note_mem_written anymore. Stack pushes invalidate the stack
11537 pointer if PUSH_ROUNDING is defined. No longer need to call
11538 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
11539 (skipped_writes_memory): Remove variable.
11540 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
11541 (invalidate_skipped_block): Simplify for new alias analysis code.
11542 (cse_set_around_loop): Likewise.
11543 (cse_main): Call init_alias_analysis.
11544 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
11545 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
11546 (f_options): Add new alias checking arguments.
11547 (main): Set flag_alias_check when optimizing.
11548 * local_alloc (validate_equiv_mem_from_store): Add new arguments
11549 to true_dependence.
11550 (memref_referenced_p): Likewise.
11551 * loop.c (NUM_STORES): Increase to 30.
11552 (prescan_loop): Only non-constant calls set unknown_address_altered.
11553 (invariant_p): Add new arguments to true_dependence.
11554 (record_giv): Initialize unrolled and shared fields.
11555 (emit_iv_add_mult): Call record_base_value as needed.
11556 * loop.h (struct induction): Add unrolled and shared fields.
11557 * unroll.c (unroll_loop): Call record_base_value as needed.
11558 (copy_loop_body): Likewise.
11559 (final_biv_value): Likewise.
11560 (final_giv_value): Likewise.
11561 (find_splittable_regs): Likewise. Only create one new pseudo
11562 if we have multiple address GIVs that were combined with the same
11563 dst_reg GIV. Note when a new register is created due to unrolling.
11564 * rtl.c (reg_note_name): Add REG_NOALIAS.
11565 * rtl.h (enum reg_note): Similarly.
11566 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
11567 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
11568 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
11569 (true_dependence, read_dependence, anti_dependence): Likewise.
11570 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
11571 (mark_user_reg, mark_reg_pointer): Likewise.
11572
11573
11574 * Integrate reload bugfix from Wilon which enables the PA port
5fa39bfe 11575 to bootstrap again.
38e01259 11576 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
5fa39bfe
JL
11577 OPERAND_ADDRESS when computing how many registers an insn needs.
11578 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
11579 conflict.
11580 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
11581 OPADDR_ADDR reload.
11582 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
11583 in reload_reg_use_in_op_addr do not reach the end.
11584 do not reach the end.
11585 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
11586 RELOAD_FOR_OPERAND_ADDRESS.
11587
11588Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
11589
2dcfcb56 11590 * egcs project officially starts.
52267fcb
JM
11591
11592Local Variables:
11593add-log-time-format: current-time-string
11594End:
This page took 1.501631 seconds and 5 git commands to generate.