]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Makefile.in (BASE_FLAGS_TO_PASS): Add gcc_version_trigger.
[gcc.git] / gcc / ChangeLog
CommitLineData
6d6393e3
MH
11998-06-26 Manfred Hollstein <manfred@s-direktnet.de>
2
3 * Makefile.in (gcc_version, gcc_version_trigger): New macros.
4 (version): Initialize from $(gcc_version).
5
6 * configure.in (version): Rename to gcc_version.
7 (gcc_version_trigger): New variable; call AC_SUBST for it and
8 emit it into the generated config.status.
9 * configure: Regenerate.
10
30d68b86
MM
11Thu Jun 25 12:47:41 1998 Mark Mitchell <mark@markmitchell.com>
12
13 * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
14 nodes that are not expressions.
15
41472af8
MM
16Thu Jun 25 15:08:16 1998 Mark Mitchell <mark@markmitchell.com>
17
18 * invoke.texi (-fstrict-aliasing): Document.
19 * rtl.texi (MEM_ALIAS_SET): Document.
20
21 * flags.h (flag_strict_aliasing): Declare.
22 * toplev.c (flag_strict_aliasing): Define.
23 (f_options): Add -strict-aliasing.
24 (main): Set flag_strict_aliasing if -O2 or higher.
25
26 * tree.h (tree_type): Add alias_set field.
27 (TYPE_ALIAS_SET): New macro.
28 (TYPE_ALIAS_SET_KNOWN_P): Likewise.
29 (get_alias_set): Declare.
30 * tree.c (lang_get_alias_set): Define.
31 (make_node): Initialize TYPE_ALIAS_SET.
32 (get_alias_set): New function.
33 * print-tree.c (print_node): Dump the alias set for a type.
34
35 * c-tree.h (c_get_alias_set): Declare.
36 * c-common.c (c_get_alias_set): New function.
37 * c-decl.c (init_decl_processing): Set lang_get_alias_set.
38
39 * expr.c (protect_from_queue): Propogage alias sets.
40 (expand_assignment): Calculate alias set for new MEMs.
41 (expand_expr): Likewise.
42 * function.c (put_var_into_stack): Likewise.
43 (put_reg_into_stack): Likewise.
44 (gen_mem_addressof): Likewise.
45 (assign_parms): Likewise.
46 * stmt.c (expand_decl): Likewise.
47 * varasm.c (make_decl_rtl): Eliminate redundant clearing of
48 DECL_RTL. Calculate alias set for new MEMs.
49
50 * rtl.def (REG): Add dummy operand.
51 (MEM): Add extra operand to store the MEM_ALIAS_SET.
52 * rtl.h (MEM_ALIAS_SET): New macro.
53 (gen_rtx_MEM): Declare.
54 * emit-rtl.c (gen_rtx_MEM): New function.
55 * gengenrtl.c (sepcial_rtx): Make MEMs special.
56
57 * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
58 (DIFFERENT_ALIAS_SETS_P): Likewise.
59 (canon_rtx): Propogate the alias set to the new MEM.
60 (true_dependence): Check the alias sets.
61 (anti_dependence): Likewise.
62 (output_dependence): Likewise.
63 * explow.c (stabilize): Progoate alias sets.
64 * integrate.c (copy_rtx_and_substitute): Likewise.
65 * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
66 in an unpredictable state. Propogate alias sets.
67 * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
68 we have no alias information.
69
9c606f69
AM
70Thu Jun 25 16:59:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
71
72 * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
73 (find_all_handler_type_matches): Add function prototype.
74 * eh-common.h (CATCH_ALL_TYPE): Definition added.
75 * except.c (find_all_handler_type_matches): Add function to find all
76 runtime type info in the exception table.
77 (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
78
296b8152
KG
79Thu Jun 25 15:47:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
80
81 * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
82
83 * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
84 `yhigh' and `bit' into the scope in which they are used.
85 (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
86 `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
87
88 * rs6000.c: Move include of output.h below tree.h. Include toplev.h.
89 (any_operand): Mark unused parameters `op' and `mode' with
90 ATTRIBUTE_UNUSED.
91 (count_register_operand): Likewise for parameter `mode'.
92 (fpmem_operand): Likewise.
93 (short_cint_operand): Likewise.
94 (u_short_cint_operand): Likewise.
95 (non_short_cint_operand): Likewise.
96 (got_operand): Likewise.
97 (got_no_const_operand): Likewise.
98 (non_add_cint_operand): Likewise.
99 (non_logical_cint_operand): Likewise.
100 (mask_operand): Likewise.
101 (current_file_function_operand): Likewise.
102 (small_data_operand): Likewise for parameters `op' and `mode' but
103 only when !TARGET_ELF.
104 (init_cumulative_args): Mark parameters `libname' with
105 ATTRIBUTE_UNUSED.
106 (function_arg_pass_by_reference): Likewise for parameters `cum',
107 `mode' and `named'.
108 (expand_builtin_saveregs): Likewise for parameter `args'.
109 (load_multiple_operation): Likewise for parameter `mode'.
110 (store_multiple_operation): Likewise.
111 (branch_comparison_operator): Likewise.
112 (secondary_reload_class): Likewise.
113 (print_operand): Add parentheses around & operation.
114 (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
115 (output_epilog): Likewise. Cast argument to fprintf to int.
116 (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
117 (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
118 `attributes', `identifier' and `args'.
119 (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
120 (rs6000_comp_type_attributes): Likewise for parameters `type1' and
121 `type2'.
122 (rs6000_set_default_type_attributes): Likewise for parameter `type'.
123
124 * rs6000.h (RTX_COSTS): Add parentheses around & operation.
125 (toc_section, private_data_section, trap_comparison_operator): Add
126 prototypes.
127
128 * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
129 prototypes.
130
131 * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
132
133 * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
134 xcoffout_begin_block, xcoffout_end_epilogue,
135 xcoffout_end_function, xcoffout_end_block,
136 xcoff_output_standard_types, xcoffout_declare_function,
137 xcoffout_source_line): Add prototypes.
138
ff73fb53
NC
139Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
140
141 * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
142 noticed by grahams@rcp.co.uk.
143
ca242225
DB
144Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com>
145
146 * gcc.c (default_compilers): Use new | syntax to eliminate
147 string concatenation.
148
acd92049
RH
149Thu Jun 25 01:00:48 1998 Richard Henderson <rth@cygnus.com>
150
151 * alpha.c (alpha_function_name): Delete.
152 (alpha_ra_ever_killed): Notice current_function_is_thunk.
153 (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
154 (alpha_start_function): Reorg from output_prologue.
155 (alpha_end_function): Reorg from output_epilogue.
156 * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
157 (ASM_DECLARE_FUNCTION_SIZE): New.
158 (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
159 (PROFILE_BEFORE_PROLOGUE): Set.
160 (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
161 * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
162
dd014274
JL
163Thu Jun 25 01:18:47 1998 John Wehle (john@feith.com)
164
165 * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
166
1671998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
89752202
HB
168
169 * expr.c (expand_assignment): Rework address calculation for structure
170 field members to expose more invariant computations to the loop
171 optimizer.
172 (expand_expr): Likewise.
173
c358412f
JL
174Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com)
175
176 * local-alloc.c (block_alloc): Do not try to avoid false dependencies
177 when SMALL_REGISTER_CLASSES is nonzero.
178
a59fb797
KK
179Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de>
180
181 * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
182
55a6ba9f
JC
183Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu>
184
185 * expr.c (get_memory_rtx): New function.
186 (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
187 string functions.
188
189 * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
190
9e6a5703
JC
191 * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
192 * expr.c: Likewise.
193 * explow.c: Likewise.
194 * combine.c: Likewise.
195 * reload1.c: Likewise.
196 * gcse.c: Likewise.
197
135edcfd
DB
198Wed Jun 24 15:13:01 1998 Dave Brolley <brolley@cygnus.com>
199
200 * README.gnat: Add patch for new lang_decode_options interface.
201
9a9deafc
AM
202Wed Jun 24 09:14:04 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
203
204 * except.c (start_catch_handler): Do nothing if EH is not on.
205
854b2357
MH
2061998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
207
208 * configure.in (gxx_include_dir): Initialize default value depending on
6d6393e3
MH
209 new flag --enable-version-specific-runtime-libs; remove superfluous
210 default initialization afterwards.
854b2357
MH
211 * configure: Regenerate.
212
d3b107b4
DM
213Wed Jun 24 01:32:12 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
214
215 * toplev.c (rest_of_compilation): Revert May 15 change.
216
c22eaf8a
KR
217Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com>
218
219 * reload.c (find_reloads): Fix check for failure to match any
220 alternative, to account for Mar 26 change in initial "best" cost.
221
d2f8cffa
DB
222Tue Jun 23 16:44:21 1998 Dave Brolley <brolley@cygnus.com>
223
224 * cpplib.c (do_line): Typo broke #line directive.
225 (cpp_message_from_errno): New function.
226 (cpp_error_from_errno): Call cpp_message_from_errno.
227 * cpplib.h (cpp_message_from_errno): New function.
228
48b24bcd
AM
229Tue Jun 23 13:38:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
230
231 * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
232 functions to return exception descriptor information.
233 (find_exception_handler): Pass match_info field to runtime matcher,
234 not a descriptor table entry.
235
daf21dfd
DL
236Tue Jun 23 09:30:58 1998 Dave Love <d.love@dl.ac.uk>
237
238 * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
239 accompany previous Makefile.in (install-info) change.
240
48b24bcd 241Tue Jun 23 10:06:07 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
5816cb14
AM
242
243 * eh-common.h (struct __eh_info): Remove coerced value field.
244 * libgcc2.c (find_exception_handler): Don't set coerced_value field.
245 * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
246 POINTER_SIZE instead of Pmode.
247 (expand_start_all_catch): Call start_catch_handler() if we are not
248 using new style exceptions.
249
83de03df
CM
250Tue Jun 23 06:45:00 1998 Catherine Moore <clm@cygnus.com>
251
252 * varasm.c (assemble_variable): Remove reference to warn_bss_align.
253
5b8e7fa3
DM
254Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
255
256 * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
257 extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
258 subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
259 splits and peepholes): Change remaining generic gen_rtx calls to
260 specific genrtl ones.
254110c2
DM
261 * config/sparc/sparc.c: Likewise.
262
9bf09437
RH
263Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com>
264
265 * gcc.c (handle_braces): Recognize | between options as an or.
266
e31ca113
JW
267Mon Jun 22 23:13:47 1998 John Wehle (john@feith.com)
268
2b005260
JW
269 * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
270 * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
271
e31ca113
JW
272 * i386.md (exception_receiver): Define.
273
aeb2f500
JW
274Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com>
275
225695a4
JW
276 * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
277 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
278 (install-common): Use them.
279
aeb2f500
JW
280 * gcse.c (add_label_notes): New function.
281 (pre_insert_insn): Call it.
282 * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
283 pass the label to set_label_in_map.
284
efef624b
DL
285Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk>
286
287 * Makefile.in (install-info): Fix typpo in previous change.
288
4bcfa7a8
CM
289Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com>
290
291 * varasm.c (assemble_variable): Emit alignment warning.
292
296433e1
KG
293Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
294
295 * Makefile.in (varasm.o): Depend on sdbout.h.
296 (sdbout.o): Depend on toplev.h.
297
298 * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
299 use %ld specifier.
300
301 * final.c (shorten_branches): Cast first arg of `bzero' to char *.
302
303 * genextract.c (main): When creating insn-extract.c, mark variable
304 `i' with ATTRIBUTE_UNUSED.
305
306 * genpeep.c (main): When creating insn-peep.c, mark variables
307 `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
308
309 * objc/init.c (__objc_tree_print): Wrap function definition in
310 macro `DEBUG'.
311
312 * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
313 and use %ld specifier.
314 (adorn_decl): Likewise, twice.
315
e016950d
KG
316 * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
317
318 * sdbout.c: Include output.h and toplev.h.
319 (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
320 `a'. Cast `a' to HOST_WIDE_INT to force it to always be so.
321 (PUT_SDB_SIZE): Likewise.
322
323 * sdbout.h (sdbout_mark_begin_function): Add prototype.
324
325 * stmt.c (check_for_full_enumeration_handling): Cast argument of
326 `warning' to long and use %ld specifier.
327
328 * toplev.c (main): Likewise for `fprintf'.
329
330 * toplev.h (output_file_directive): Add prototype.
331
332 * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
333 call to `fprintf'.
334 (precondition_loop_p): Likewise.
335
336 * varasm.c Include sdbout.h.
337 (assemble_static_space): Move sometimes-unused variable `rounded'
338 into the scope in which it is used.
b3fb0b5e
KG
339
340 * mips.c (gpr_mode): Don't say `static' twice.
341
342 * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
343
344 * objc/objc-act.c (init_selector): Hide prototype and definition.
345
346 * optabs.c (gen_cond_trap): Remove unused variable `icode'.
347
348 * regmove.c (copy_src_to_dest): Likewise for `i'.
e016950d 349
cd1661d6
KG
350 * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
351 (add_ext_symbol): Likewise.
352 (add_file): Likewise.
353 (parse_def): Likewise.
354 (write_varray): Use HOST_PTR_PRINTF to print a pointer. Fix
355 remaining format specifiers and arguments.
356 (write_object): Likewise, several times.
357 (read_seek): Likewise.
358 (out_of_bounds): Likewise.
359 (allocate_cluster): Likewise.
360 (xmalloc): Likewise.
361 (xcalloc): Likewise.
362 (xrealloc): Likewise.
363 (xfree): Likewise.
364
365 * mips-tdump.c (print_symbol): Likewise.
366
824d9076
DL
367Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk>
368
369 * Makefile.in (install-info): Use install-info program if
370 available, per GNU standard.
371
9a8b0889
JL
372Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com)
373
ecff22ab
JL
374 * invoke.texi: Document -mrelax for the mn10300 and mn10200.
375
04821e98
JL
376 * basic-block.h (init_regset_vector): Delete declaration.
377 * flow.c (init_regset_vector): Make it static and add a prototype.
378
4d7fc9e7
JL
379 * bitmap.h (debug_bitmap): Declare.
380
9a8b0889
JL
381 * haifa-sched.c (debug_ready_list): Make static.
382
383 * toplev.h (fancy_abort): Declare.
384
27fa83c1
L
385Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org)
386
4d7fc9e7
JL
387 * basic-block.h (init_regset_vector): New declaration.
388
2086b675
L
389 * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
390
f6781658
L
391 * global.c: Include machmode.h amd move hard-reg-set.h before
392 rtl.h.
393
cc4fe0e2
L
394 * haifa-sched.c (insn_issue_delay, birthing_insn_p,
395 adjust_priority, print_insn_chaino): New declaration.
396 (schedule_insns): Remove declaration.
397 (init_target_units, get_visual_tbl_length,
398 init_block_visualization): Add prototype.
399
8a1ef8c9
L
400 * integrate.c (pushdecl, poplevel): Remove declaration.
401
9a8b0889
JL
402 * rtl.h (expand_expr): Remove declaration.
403
27fa83c1
L
404 * loop.c (oballoc): Remove declaration.
405 (replace_call_address): Add prototype.
406
e4ad60fe
JL
407Sun Jun 21 01:08:17 PDT 1998 Jeff Law (law@cygnus.com)
408
409 * version.c: Bump for snapshot.
410
c0067dc8
JW
411Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
412
413 * i386.c (output_fp_conditional_move): Don't bother handling
414 (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
415 prevent this from happening.
416
417 * i386.md (nonlocal_goto_receiver): Delete.
418
a24da858
L
419Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
420
1442f4eb
L
421 * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
422 -DCRTSTUFFS_O.
423 (INSTALL): cd $(srcdir) before make.
424
a24da858
L
425 * flow.c (allocate_for_life_analysis, init_regset_vector):
426 Remove declaration.
427
428 * function.h (get_first_block_beg): New declaration.
429
430 * gbl-ctors.h (__do_global_dtors): Add prototype.
431
432 * gcov-io.h (__fetch_long): New declaration.
433 (__store_long): Likewise.
434 (__read_long): Likewise.
435 (__write_long): Likewise.
436
437 * gcov.c (print_usage): New declaration.
438
439 * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
440
4ef873c2
JL
441Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com)
442
c16ddde3
JL
443 * calls.c (expand_call): Initialize "src" and "dest".
444 * stmt.c (expand_return): Likewise.
445 * expmed.c (extract_split_bit_field): Similarly for "result"
446 * gcse.c (compute_hash_table): Mark first arg as unused.
447 * jump.c (jump_optimize): Initialize reversep.
448 * tree.c (make_node): Initialize length.
449
f67aab2c
JL
450 * c-common.c (check_format_info): Initialize length_char and
451 fci to keep -Wall quiet.
452
767f5b14
JL
453 * except.c (jumpif_rtx): Put declaration and definition
454 inside a suitable #ifdef.
455 (jumpifnot_rtx): Delete dead function.
456
5a77b5f3
JL
457 * i386.h (output_int_conditional_move): Declare.
458 (output_fp_conditional_move): Likewise.
2305ac0d 459 (ix86_can_use_return_insn_p): Likewise.
5a77b5f3 460
4ef873c2
JL
461 * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
462
2e107e9e
GS
463Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk>
464
465 * alias.c: Include toplev.h
466 * caller-save.c: Include toplev.h
467 * combine.c: Include toplev.h
468 * flow.c Include toplev.h
469 * global.c: Include toplev.h
470 * jump.c: Include toplev.h
471 * local-alloc.c: Include toplev.h
472 * loop.c: Include toplev.h
473 * regmove.c: Include toplev.h
474 * stupid.c: Include toplev.h
475 * unroll.c: Include toplev.h
476 * Makefile.in: Add toplev.h dependencies.
477
29a4c5ed
JM
478Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com>
479
480 * regmove.c (copy_src_to_dest): Add decl for loop_depth.
32bd96ff
JM
481
482 * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
483 * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
484 Add parens to various macros.
485
9dfcc8db
BH
486Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
487
488 * c-typeck.c (pop_init_level): Warn about implicit zero initialization
489 of struct members.
490
ee830309
JM
491Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
492
493 * varasm.c (assemble_start_function): Add weak_global_object_name.
494 * tree.c (get_file_function_name): Use it.
495
2c975716
JL
496Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com)
497
561592c5
JL
498 * except.c (jumpif_rtx): Make static and add prototype.
499 (jumpifnot_rtx): Likewise.
500
90bf9bc4
JL
501 * README.gnat: Add a build patch from Fred Fish.
502
2c975716
JL
503 * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
504
3ca4021d
JL
505 * Makefile.in (c-iterate.o): Depend on expr.h.
506
3559eb28
L
507Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org)
508
19864289
L
509 * except.h (emit_unwinder, end_eh_unwinder): Removed.
510
90bf9bc4
JL
511 * dwarfout.c (getpwd): Add prototype.
512 (is_pseudo_reg, type_main_variant, is_tagged_type,
513 is_redundant_typedef): New declaration.
514 (output_decl): Add prototype for FUNC.
515 (type_main_variant): Make it static.
516 (is_tagged_type): Likewise.
517 (is_redundant_typedef): Likewise.
518
0d091530
L
519 * expr.c (do_jump_by_parts_greater_rtx): Removed.
520 (truthvalue_conversion): Likewise.
521
3ca4021d
JL
522 * c-iterate.c: Include "expr.h".
523 (expand_expr): Use proper values when calling the function.
524
0ddc9a94
L
525 * explow.c (emit_stack_save): Add prototype for FCN.
526 (emit_stack_restore): Likewise.
527
e179bf0f
L
528 * dwarf2out.c (getpwd): Add prototype.
529
79a2acc8
L
530 * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
531
f5a8bfff 532 * c-typeck.c (c_expand_asm_operands): Use proper values when calling
79a2acc8 533 expand_expr.
f5a8bfff 534
3ab6dd7c
L
535 * c-lex.c (yyprint): Add prototype.
536 (check_newline, build_objc_string): Remove declaration.
537
0bb0a00b
L
538 * c-tree.h (comptypes_record_hook): Removed.
539 (finish_incomplete_decl): New prototype.
540
960b4ee6
L
541 * alias.c (find_base_value): Add prototype.
542 (true_dependence): Add prototype for function argument.
543
3559eb28
L
544 * c-aux-info.c (xmalloc): Remove declaration.
545
bb5177ac
RL
546Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com>
547
548 * i386.c: Include system.h. Remove redundant includes.
549 (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
550 (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
551 'identifier', 'args'.
552 (i386_valid_type_attribute_p): Likewise for 'attributes'.
553 (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
554 (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
555 and 'named'.
556 (symbolic_operand): Likewise for 'mode'.
557 (call_insn_operand): Likewise.
558 (expander_call_insn_operand): Likewise.
559 (ix86_logical_operator): Likewise.
560 (ix86_binary_operator_ok): Likewise.
561 (emit_pic_move): Likewise.
562 (VOIDmode_compare_op): Likewise.
563 (is_mul): Likewise.
564 (str_immediate_operand): Likewise.
565 (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
566 (asm_output_function_prefix): Likewise for 'name'.
567 (function_prologue): Likewise for 'file', and 'size'.
568 (function_epilogue): Likewise.
569
7e7ca3a1
JW
5701998-06-19 Jim Wilson <wilson@cygnus.com>
571
572 * loop.h (struct induction): Clarify comment for unrolled field.
573 * unroll.c (find_splittable_givs): Move set of unrolled field
574 after address validity check.
575
c0418205
MM
576Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com>
577
578 * config/fp-bit.c (INLINE): Only define if not already defined.
579
fe2fa3c4
MH
5801998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
581
582 * Makefile.in (installdirs): Loop over directories in $(libsubdir)
583 creating probably missing ones, instead of single if statements.
584
f0b8d9aa
AS
585Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
586
587 * c-common.c (truthvalue_conversion): Protect side effects in the
588 expression when splitting a complex value.
589 * fold-const.c (fold): Likewise.
590
94fb3933
KK
591Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de)
592
593 * cccp.c (hack_vms_include_specification): rewrite to handle
594 '#include <dir/file.h>' correctly.
595
de3eb7b7
L
596Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org)
597
598 * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
599
b4d030e5
JW
600Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
601
9c8c5afb
JW
602 * i386.c (notice_update_cc): Integer conditional moves don't
603 affect cc0.
604
b4d030e5
JW
605 * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
606 to support LT, LE, GE, and GT signed integer comparisons.
607 (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
608 movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
609 is LT, LE, GE, or GT.
610 (movdicc): Remove code resulting from an earlier patch which
611 didn't apply correctly.
612
bb173ade
RK
613Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
614
615 * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
616 consider a MEM in FP mode as equal.
617
11346e89
JL
618Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com)
619
620 * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
621 duplicate declarations of a function.
622
76a8de12
L
623Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org)
624
625 * config/float-i386.h: New.
626
627 * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
628
7c74b010
JW
629Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com>
630
631 * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
632 indexed arrays. Call free at the end of the function for them.
633 * haifa-sched.c (schedule_insns): Likewise.
634
243e7835
JW
635Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com>
636
637 * dwarf2out.c (size_of_string): Do count backslashes.
638
bf3ad139
NC
639Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
640
641 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
642 addressing when one register is the frame pointer or stack
643 pointer. Disallow REG+CONST addressing in HI mode.
644
f9df0a1d
R
645Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
646
647 * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
648 RELOAD_FOR_INSN.
649
cab634f2
KG
650Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
651
652 * Makefile.in (c-lang.o): Depend on output.h.
653
654 * c-lang.c: Include output.h.
655
656 * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
657
658 * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
659
660 * genrecog.c (write_subroutine): When writing insn-recog.c, mark
661 variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
662 with ATTRIBUTE_UNUSED.
663
664 * regmove.c (copy_src_to_dest): Make function static to match its
665 prototype.
666
667 * reload1.c Include hard-reg-set.h before rtl.h to get macro
668 HARD_CONST. Include machmode.h before hard-reg-set.h.
669
670 * rtl.h: Prototype `retry_global_alloc' and wrap with macro
671 HARD_CONST to protect usage of typedef HARD_REG_SET.
672
673 * tree.c: Prototype `_obstack_allocated_p'.
674
675 * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
676 BSS_SECTION_ASM_OP.
677
0b17dd98
KG
678Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
679
680 * pa.c: Include system.h and toplev.h. Remove redundant code.
681 (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
682 (symbolic_operand): Likewise.
683 (symbolic_memory_operand): Likewise.
684 (pic_label_operand): Likewise.
685 (fp_reg_operand): Likewise.
686 (pre_cint_operand): Likewise.
687 (post_cint_operand): Likewise.
688 (ireg_or_int5_operand): Likewise.
689 (int5_operand): Likewise.
690 (uint5_operand): Likewise.
691 (int11_operand): Likewise.
692 (uint32_operand): Likewise.
693 (ior_operand): Likewise.
694 (lhs_lshift_cint_operand): Likewise.
695 (pc_or_label_operand): Likewise.
696 (legitimize_pic_address): Likewise.
697 (hppa_legitimize_address): Likewise for parameter `old'.
698 (output_block_move): Likewise for parameter `size_is_constant'.
699 (output_function_prologue): Likewise for parameter `size'.
700 (output_function_epilogue): Likewise.
701 (return_addr_rtx): Likewise for parameter `count'.
702 (output_mul_insn): Likewise for parameter `unsignedp'.
703 (hppa_builtin_saveregs): Likewise for parameter `arglist'.
704 (output_bb): Likewise for parameter `operands'.
705 (output_bvb): Likewise.
706 (function_label_operand): Likewise for parameter `mode'.
707 (plus_xor_ior_operator): Likewise.
708 (shadd_operand): Likewise.
709 (non_hard_reg_operand): Likewise.
710 (eq_neq_comparison_operator): Likewise.
711 (movb_comparison_operator): Likewise.
712 (pa_combine_instructions): Likewise for parameter `insns'.
713
714 * pa.h: Add prototypes for functions `output_deferred_plabels',
715 `override_options', `output_ascii', `output_function_prologue',
716 `output_function_epilogue', `print_operand',
717 `symbolic_expression_p', `reloc_needed', `compute_frame_size',
718 `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
719 `pa_adjust_cost', `pa_adjust_insn_length' and
720 `secondary_reload_class'.
721
ca8c3b37
JM
722Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com>
723
724 * configure.in: Don't turn on collect2 unconditionally.
725
1d22a2c1
MM
726Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com>
727
728 * cse.c (cse_basic_block): Don't include NOTE insns in the count
729 that is used to decide whether or not it is time to erase the
730 equivalence table.
731
b74390de
FS
732Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
733
734 * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
735
e0cd0770
JC
736Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu>
737
738 * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
739 (sched_analyze_2): Allow scheduling TRAP_IF.
740
741 * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
742
743 * rtl.h (TRAP_CODE): New macro.
744
745 * rtl.def (TRAP_IF): Change second operand type to rtx.
746
747 * optabs.c (gen_cond_trap): New function.
748 (init_traps): New function.
749 (init_optabs): Call init_traps.
750 * expr.h: Declare gen_cond_trap.
751
752 * jump.c (jump_optimize): Optimize jumps to and around traps.
753
754 * sparc.md: Define trap instructions.
755
756 * rs6000.md: Define trap instructions.
757 * rs6000.c (print_operand): New code 'V' for trap condition.
758 (trap_comparison_operator): New function.
759
760 * m88k.md: Update use of TRAP_IF.
761
762 * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
763 * c-decl.c (init_decl_processing): New builtin __builtin_trap.
764 * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
765
766 * expr.c (expand_builtin): Error if __builtin_longjmp second argument
767 is not 1.
768
4fdf79cb
CM
769Wed Jun 17 15:20:00 PDT 1998 Catherine Moore <clm@cygnus.com>
770
771 * reload1.c (spill_hard_reg): Check mode of register when
772 spilling from scratch_list.
773
d7e78529
AM
774Wed Jun 17 16:25:38 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
775
776 * except.c (add_new_handler): fix bug in finding last region handler.
777 * libgcc2.c (find_exception_handler): Pass exception table pointer
778 to runtime type matcher, not the match info field.
779
3301dc51
AM
780Wed Jun 17 15:57:48 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
781
782 * eh-common.h (struct eh_context): Add comment for hidden use of
783 field dynamic_handler_chain.
784 * except.c (get_dynamic_handler_chain): Comment on, and use the
785 correct offset of the dynamic_handler_chain field.
786
33f264af
JW
7871998-06-17 12:46:56 1998 Jim Wilson <wilson@cygnus.com>
788
789 * mips/iris6.h (LINK_SPEC): Add -woff 131.
790
d460fb3c
JM
7911998-06-17 Jason Merrill <jason@yorick.cygnus.com>
792
793 * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
794
795 * configure.in: Don't disable collect2 when we have GNU ld.
796
4c738570
JL
797Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com)
798
7d12cee1
JL
799 * fold-const.c (make_range): Do not widen the type of the expression.
800
dbecbbe4
JL
801 * expr.c (check_max_integer_computation_mode): New function.
802 (expand_expr): Avoid integer computations in modes wider than
803 MAX_INTEGER_COMPUTATION_MODE.
804 * fold-const.c (fold): Likewise.
805 * tree.h (check_max_integer_computation_mode): Declare.
806 * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
807
4b95eb49
JL
808 * configure.in (nm): Make a link to "nm" in the build tree too.
809
4c738570
JL
810 * mn10300.md (andsi3): Fix typo.
811
33ab8de0
RH
812Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com>
813
814 * reload1.c (reload_cse_regs): Call bzero instead of looping.
815
bf20f341
JW
816Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com>
817
818 * dwarf2out.c (stripattributes): Prepend '*' to the section name.
819
9c0e94a5
RH
820Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com>
821
822 * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
823 (output_prologue, output_epilogue): Merge VMS and OSF versions;
824 Remove anything related to the actual code generation.
825 (output_end_prologue): New function.
826 (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
827 (alpha_does_function_need_gp): Return false for VMS.
828 (alpha_function_needs_gp): Make static.
829 (add_long_const): Delete.
830 (summarize_insn): Don't assume a SUBREG is of a REG.
831 Prototype all static functions. Rename VMS-specific global
832 variables vms_*.
833 * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
834 (FUNCTION_BOUNDARY): Align to cache line.
835 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
836 (FUNCTION_END_PROLOGUE): New macro.
837 * alpha.md (attribute length): New. Mark all insns.
838 (return_internal, prologue_stack_probe_loop) New patterns.
839 (prologue, init_fp, epilogue): New patterns.
840 Disable peepholes.
841 * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
842
ad1da1de
DB
843Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
844
845 * toplev.c (lang_options): Add -trigraphs option for cpplib.
846
75528b80
R
847Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
848
849 * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
850 is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
851 is earlier than RELOAD_FOR_INPUT_ADDRESS.
852
42b82dd3
JW
853Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
854
855 * libgcc1-test.c (memcpy): Define.
856
6f6074ea
MM
857Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com>
858
859 * genattrtab.c (struct attr_desc): Change int flags to bit
860 fields. Add bit fields for this being function_units_used
861 or *_blockage_range attributes.
862 (write_unit_name): New function to print a function unit name
863 given unit #.
864 (expand_units): Indicate whether this is function_units_used or
865 *_blockage_range attributes.
866 (write_toplevel_expr): Print function_units_used and
867 *_blockage_range attributes in a more friendly fashion.
868 (make_internal_attr): Indicate whether this attribute is either
869 function_units_used or *_blockage_range.
870
ddc8bed2
MM
871Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com>
872 Jim Wilson <wilson@cygnus.com>
3bd89472 873
ddc8bed2
MM
874 * regmove.c (copy_src_to_dest): Do not copy src to dest if either
875 the source or destination is special.
3bd89472 876
ddc8bed2 877Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com>
a7db2896 878
ddc8bed2 879 * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
a7db2896 880
d61d494a
JL
881Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com)
882
883 * version.c: Bump for snapshot.
884
a08432bd
KW
885Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
886
887 * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
888 redefining it.
889
a4ea8d97
DE
890Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
891
892 * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
416db271 893 (ENDFILE_SPEC): Add -lgloss.
a4ea8d97 894
38831dfe
KG
895Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
896
897 * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
898 (large_int): Likewise.
899 (pc_or_label_operand): Likewise.
900 (call_insn_operand): Likewise.
901 (consttable_operand): Likewise.
902 (m16_uimm3_b): Likewise.
903 (m16_simm4_1): Likewise.
904 (m16_nsimm4_1): Likewise.
905 (m16_simm5_1): Likewise.
906 (m16_nsimm5_1): Likewise.
907 (m16_uimm5_4): Likewise.
908 (m16_nuimm5_4): Likewise.
909 (m16_simm8_1): Likewise.
910 (m16_nsimm8_1): Likewise.
911 (m16_uimm8_1): Likewise.
912 (m16_nuimm8_1): Likewise.
913 (m16_uimm8_m1_1): Likewise.
914 (m16_uimm8_4): Likewise.
915 (m16_nuimm8_4): Likewise.
916 (m16_simm8_8): Likewise.
917 (m16_nsimm8_8): Likewise.
918 (m16_usym8_4): Likewise.
919 (m16_usym5_4): Likewise.
920 (mips_move_1word): Change type of variable `i' from int to size_t.
921 (mips_move_2words): Likewise.
922 (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
923 (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
924 (function_arg): Likewise.
925 (function_arg_partial_nregs): Mark parameter `named' with
926 ATTRIBUTE_UNUSED.
927 (override_options): Use ISDIGIT instead of isdigit.
928 (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
929 (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
930 (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
931 function `fatal' to long before printing. Use
932 HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several
933 times in this function.
934 (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
935 (function_epilogue): Likewise for parameters `file' and `size'.
936 Print an int with "%d" not "%ld".
937 (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
938 (mips_function_value): Likewise for parameter `func'.
939 (function_arg_pass_by_reference): Likewise for parameters `cum'
940 and `named'.
941 (extend_operator): Likewise for parameter `mode'
942 (highpart_shift_operator): Likewise.
943
944 * mips.md (mul_acc_si): Remove unused variable `macc'.
945
77a45a2e
RH
946Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
947
948 * fold-const.c (fold): Revert last change. It breaks constant
949 expressions somehow.
950
8d62b411
AS
951Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
952
953 * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
954 prevent operands from being evaluated twice.
955
cac45626
SO
956Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
957
958 * toplev.c (lang_options): Add -remap as a preprocessor option.
959
9bc6d2c2
JW
960Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
961
962 * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
963 which set CC_REVERSED since reload should ensure that
964 the operands are already the correct type.
965
fb95c8c9
JW
966Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
967
968 * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
969 calling gen_rtx_SET.
970
95009288
DE
971Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
972
973 * config/rs6000/x-aix43 (AR): Delete.
974 (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
975
bf6f78d1
DS
976Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
977
978 * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
979
45cc4c09
JW
980Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
981
982 * mips.c (override_options): Replace word_mode with explicit
983 TARGET_64BIT check.
984
ecb75b7a
MM
985Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
986
987 * regmove.c (regmove_optimize): If we can't replace the
988 destination in an insn that sets the source, generate an explicit
989 move of the source to the destination.
990 (copy_src_to_dest): New function.
991 (toplevel): Include basic-block.h
992
993 * Makefile.in (regmove.o): Add basic-block.h dependencies.
994
8e34149d
DB
995Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
996
997 * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
998
8358a974
MM
999Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
1000
1001 * rtl.h (rtx_def): Improve documentation.
1002 (MEM_IN_STRUCT_P): Likewise.
1003
e80716de
GS
1004Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
1005
1006 * c-decl.c (start_decl): Correct test for -Wmain.
1007
b3fbc9ad
GS
1008 * c-decl.c (grokdeclarator): Remove unused variable "last".
1009
3e2b9a3d
JW
1010Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
1011
1012 * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
1013 (expand_builtin_longjmp): Abort if value isn't const1_rtx.
1014 Delete code storing value in static_chain_rtx.
1015 (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
1016 to second expand_expr call.
1017
748b909e
MM
1018Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
1019
1020 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
1021
e061d1ce
DB
1022Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
1023
1024 * cppmain.c (fatal): New function.
1025 * configure.in (cpp_main): New configuration variable.
1026 * configure: Regenerated.
e80716de
GS
1027 * Makefile.in (CCCP): Use a configuration variable to select basex
1028 for cccp.
e061d1ce
DB
1029 (cppmain$(exeext)): Add @extra_cpp_objs@.
1030
a0d85b75
DB
1031Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
1032
1033 * objc/objc-act.c: Add cpplib declarations.
1034 (lang_decode_option): Initialize cpplib if necessary.
1035 (lang_decode_option): New argc/argv interface.
1036 * tree.h (lang_decode_option): New argc/argv interface.
1037 * toplev.c (lang_options): Add cpp options.
1038 (main): New interface for lang_decode_option.
1039 * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
1040 unless -E, -M or -MM is specified.
1041 * cpplib.h (cpp_handle_option): New function.
1042 * cpplib.c (cpp_handle_option): New function.
1043 (cpp_handle_options): Now calls cpp_handle_option.
1044 * c-tree.h (c_decode_option): New argc/argv interface.
1045 * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
1046 * c-lang.c (lang_decode_option): New argc/argv interface.
1047 * c-decl.c: Add cpplib declarations.
1048 (c_decode_option): New argc/argv interface.
1049 (c_decode_option): Call cpp_handle_option.
1050 (c_decode_option): Now returns number of strings processed.
1051
95193030
RE
1052Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
1053
1054 * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
1055 changes. Abort if the undo fails.
1056
e74e8c84
VM
10571998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
1058
1059 * config/rs6000/rs6000.c (output_prolog): Change locations and
1060 directions of saving and restoring arguments of main on the stack.
1061
0254c561
JC
1062Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
1063
1064 * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
1065 for each alternative. Do not replace a CONST_INT with a REG unless
1066 the reg is cheaper.
1067
0365438d
JL
1068Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
1069
07fb7f79
JL
1070 * decl.c (init_decl_processing): Fix typo.
1071
bfed8dac
JL
1072 * mips.c (gpr_mode): New variable.
1073 (override_options): Initialize gpr_mode.
1074 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
1075 determine size and offset of general purpose registers save slots.
1076 (save_restore_insns, mips_expand_prologue): Similarly.
1077
0365438d
JL
1078 * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
1079 between constant representations when we have (SUBREG (REG)) with
1080 REG equivalent to a constant.
1081
e6bcfef9
JS
1082Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
1083
1084 * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
1085
ac1fdb22
RH
1086Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
1087
1088 * fold-const.c (fold): Even with otherwise constant trees, look for
1089 opportunities to combine integer constants.
1090
1c5d60f5
JW
1091Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com)
1092
9d932d43
JW
1093 * i386.c (notice_update_cc): Clear cc_status.value2 in the
1094 case of UNSPEC 5 (bsf).
1095
1c5d60f5
JW
1096 * i386.md (movsfcc, movdfcc, movxfcc): The floating point
1097 conditional move instructions don't support signed integer
1098 comparisons.
1099
f1be41ad
NC
1100Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
1101
1102 * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
1103 overlfows.
1104
1105 * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
1106 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
1107 <glctr@abc.it>.
1108
0d3453df
AM
1109Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1110
1111 * except.c (expand_start_catch): Rename to start_catch_handler.
1112 (expand_end_catch): Delete function.
1113 (expand_end_all_catch): Remove catch status that expand_end_catch
1114 use to do.
1115 * except.h (expand_start_catch): Rename prototype.
1116 (expand_end_catch): Delete prototype.
1117
3398f47f
MM
1118Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
1119
1120 * invoke.texi: Add documentation for -mips4 and -mabi=*.
1121
6805ef53
KK
1122Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
1123
1124 * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
1125 (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
1126 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
1127
9ae4ec46
JC
1128Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
1129
1130 * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
1131 as the threshold to permit splitting memory operations.
1132
624a8b3a
JL
1133Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
1134
1c5d60f5
JW
1135 * mips.c (gpr_mode): New variable.
1136 (override_options): Initialize gpr_mode.
1137 (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
1138 determine size and offset of general purpose registers save slots.
1139 (save_restore_insns, mips_expand_prologue): Similarly.
1140
624a8b3a
JL
1141 * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now.
1142 (LIBGCC2_CFLAGS): Remove -fexceptions.
1143 (LIB2FUNCS): Remove "_eh".
1144 (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
1145 it with -fexceptions.
1146
1147 * Makefile.in (local-alloc.o): Depend on insn-attr.h.
1148 * local-alloc.c (block_alloc): Avoid creating false
1149 dependencies for targets which use instruction scheduling.
1150
674576f1
RH
1151Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
1152
1153 * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
1154 (ASM_FINISH_DECLARE_OBJECT): Define;
1155 * mips/elf64.h: Likewise.
1156
5dd57225 1157Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
602ad236 1158
5dd57225 1159 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
b8211569 1160
5dd57225 1161Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com)
ac4bac77
JL
1162
1163 * version.c: Bump for snapshot.
1164
a2f270cc
DE
1165Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
1166
1167 * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
1168 (mulsidi3_ppc64): Delete.
1169
50b2596f
KG
1170Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1171
1172 * Makefile.in (varasm.o): Depend on dbxout.h.
1173 (cse.o): Depend on toplev.h and output.h.
1174 (gcse.o): Depend on output.h.
1175
1176 * mips.c: Include system.h and toplev.h and remove redundant code.
1177 Include output.h after tree.h so all its prototypes get activated.
1178 * mips.md (table_jump): Remove unused variable `dest'.
1179
1180 * sparc.h: Add prototype for `v8plus_regcmp_op'.
1181
1182 * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
1183 with __attribute__ ((__unused__)).
1184 (__frame_dummy): Provide prototype before use, wrap it with
1185 EH_FRAME_SECTION_ASM_OP.
1186
1187 * cse.c: Move inclusion of <setjmp.h> above local headers.
1188 Include toplev.h and output.h.
1189
1190 * dbxout.h: Add prototype for `dbxout_begin_function'.
1191
1192 * final.c (final_scan_insn): Wrap variable `max_skip' in macro
1193 ASM_OUTPUT_MAX_SKIP_ALIGN.
1194
1195 * gcse.c: Include system.h and output.h.
1196 (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
1197 Make extern instead of static.
1198 (compute_can_copy): Only declare variables `reg' and `insn' when
1199 AVOID_CCMODE_COPIES is not defined.
1200 (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
1201 (hash_scan_clobber): Likewise for `x' and `insn'.
1202 (hash_scan_call): Likewise.
1203 (record_last_set_info): Likewise for `setter'.
1204 (mark_call): Likewise for `pat'.
1205 (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
1206
1207 * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
1208 length parameter so that it multiplies the number of elements by
1209 the sizeof(element).
1210
1211 * output.h: Add prototype for `weak_finish'.
1212
1213 * recog.h: Likewise for `validate_replace_src'.
1214
1215 * rtl.h: Likewise for `optimize_save_area_alloca',
1216 `fix_sched_param', `purge_addressof', `gcse_main',
1217 `regmove_optimize', `dbr_schedule', `branch_prob' and
1218 `end_branch_prob'.
1219
1220 * toplev.h: Likewise for `set_float_handler' and
1221 `output_quoted_string'.
1222
1223 * varasm.c: Include dbxout.h.
1224
33d7a521
JW
1225Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
1226
1227 * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
1228 GP_REG_P. Use gr_regs instead of GR_REGS.
1229
cb923660
KR
1230Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
1231 Jeff Law <law@cygnus.com>
1232
1233 * Revamped multiply support for MIPS chips.
1234 * mips.c (extend_operator): New function.
1235 (highpart_shift_operator): Likewise.
1236 * mips.h: Declare new functions.
1237 (PREDICATE_CODES): Add support for new predicates.
1238 * mips.md (mulsi3 expander): Simplify.
1239 (mulsi_mult3): Add another constraint alternative. Support
1240 3 operand multiply instructions as found on various mips
1241 parts.
1242 (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
1243 (mul_acc_si): New pattern and associated splitters.
1244 (mulsidi3 expander): Rework to use mulsidi3_64bit and
1245 mulsidi3_internal.
1246 (umulsidi3): New expander.
1247 (mulsidi3_internal): Accept either sign or zero extended
1248 operands and generate code as appropriate appropriately.
1249 (mulsidi3_64bit): Similarly.
1250 (smulsi3_highpart): Turn into an expander and generate code
1251 to match new patterns.
1252 (umulsi3_highpart): Likewise.
1253 (xmulsi3_highpart_internal): New pattern.
1254 (maddi patterns): Delete. Replace with:
1255 (mul_acc_di, mul-acc_64bit_di): New patterns.
1256
a1622f83
AM
1257Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1258
1259 * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
1260 flag_new_exceptions runtime flag.
1261 (struct old_exception_table): New struct which represents what
1262 the exception table looks like without the new model.
1263 (NEW_EH_RUNTIME): New value used as a tag in the exception table to
1264 flag that this is a new style table.
1265 * except.h: Remove compile time flag NEW_EH_MODEL.
1266 (expand_builtin_eh_stub_old): New prototype.
1267 * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
1268 * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
1269 * c-decl.c (init_decl_processing): Add new builtin function
1270 __builtin_eh_stub_old.
1271 * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
1272 * flags.h (flag_new_exceptions): New runtime flag.
1273 * toplev.c (flag_new_exceptions): Initialize default to 0,
1274 -fnew-exceptions sets to 1.
1275 * except.c (output_exception_table_entry): Output New style exception
1276 identifier into table, and replace compile time flag NEW_EH_MODEL
1277 with runtime flag flag_new_exceptions.
1278 (output_exception_table): Replace compile time flag NEW_EH_MODEL.
1279 (expand_builtin_eh_stub_old): Duplicates original functionality of
1280 expand_builtin_eh_stub.
1281 (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
1282 * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
1283 (old_find_exception_handler): New func, same as find_exception_handler
1284 except it works on the old style exception table.
1285 (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
1286 of identifier in the exception table, and call appropriate routines.
1287
aeb302bb
JM
1288Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
1289
1290 * function.c: Define current_function_cannot_inline.
1291 (push_function_context_to): Save it.
1292 (pop_function_context_from): Restore it.
1293 * function.h (struct function): Provide it a home.
1294 * output.h: Declare it.
1295 * integrate.c (function_cannot_inline_p): Check it.
1296
8b015896 1297Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com>
9a14a3ab 1298
8b015896
RH
1299 * expr.c (force_operand): Detect PIC address loads before
1300 splitting arithmetic.
2b4065a4 1301
8b015896 1302Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com)
209c9866
JL
1303
1304 * version.c: Bump for snapshot.
1305
79990a39
GS
1306Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
1307
1308 * tree.c (tree_class_check): Add braces to eliminate ambigious
1309 else warning.
1310 (tree_check): Likewise.
1311
49fa02d9
L
1312Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
1313
1314 * reg-stack.c (subst_stack_regs_pat): Make sure the top of
1315 stack is the destination for conditional move insn.
1316
52267fcb
JM
1317Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
1318
1319 * tree.h (TREE_VEC_END): Cast unused value to void.
1320
1321 * i386.c (print_operand): Use %lx for long operand.
1322
2b01d264
RH
1323Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
1324
1325 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
1326
cb9e12a7
JC
1327Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
1328
1329 * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
1330 conversion functions.
1331
b53beeb2
RH
1332Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
1333
1334 * toplev.c (flag_exceptions): Default to 0.
1335 (compile_file): Remove flag_exceptions == 2 hack.
1336 (main): Call lang_init_options.
1337 * tree.h: Declare it.
1338 * c-lang.c: Implement it.
1339 * objc/objc-act.c: Likewise.
1340
dfdfa60f
DE
1341Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
1342
1343 * rs6000.md (restore_stack_block): Generate MEM and specify mode.
1344 * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
1345 * rs6000.c (rs6000_output_load_toc_table): Use fputs.
1346 (output_function_profiler): Use asm_fprintf and fputs.
1347
83e0821b
KG
1348Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1349
1350 * gencheck.c: Remove redundant stdio.h include. Add a definition
1351 of xmalloc for when we are forced to link with alloca.o.
1352
1353 * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
1354 instead of `1U'.
1355
1356 * fold-const.c (constant_boolean_node): Make definition static to
1357 match the prototype.
1358
6ff0d2a0
PB
1359Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com>
1360
1361 * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
1362 (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
1363 (do_spec, input_filename, input_filename_length): Make public.
1364 (main): Adjust outfiles allocation by lang_specific_extra_outfiles.
1365 Call lang_specific_pre_link befor elinking.
1366
2db45993
JL
1367Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com)
1368
1369 * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
1370 the insn which has the most insns dependent on it.
1371
74186471
JC
1372Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu>
1373
1374 * alias.c (find_base_value): Avoid reading past end of reg_base_value.
1375
989f090c
RH
1376Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
1377
1378 * alpha.md (insxh-1): New insxl pattern for combine.
1379
b657fc39
L
1380Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
1381
1382 * i386/i386.c (output_fp_conditional_move): New function
1383 to output floating point conditional move.
1384 (output_int_conditional_move): New function to output integer
1385 conditional move.
1386
1387 * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
1388 output_int_conditional_move () to output int conditional move.
1389 (movsfcc+5, movdfcc+5, movxfcc+5): Call
1390 output_fp_conditional_move () to output floating point
1391 conditional move.
1392
1393 * i386/i386.c (put_condition_code): In INT mode, check
1394 cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
1395
202fe2d6
DB
1396Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com>
1397
1398 * dbxout.c (dbxout_type): Output arrays of bits as if
1399 they were bitstrings for Chill
1400
a260abc9
DE
1401Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu>
1402
1403 * tree.c (get_inner_array_type): New function.
1404 * tree.h (get_inner_array_type): Prototype.
1405 * expr.h (STACK_SAVEAREA_MODE): New macro.
1406 * expr.c (expand_builtin_setjmp): Initialize sa_mode using
1407 STACK_SAVEAREA_MODE.
1408 (expand_builtin_longjmp): Likewise.
1409 * explow.c (emit_stack_save): Likewise.
1410 (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
1411
1412 * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
1413 (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
1414 * rs6000/aix43.h: New file.
1415 * rs6000/t-aix43: New file.
1416 * rs6000/x-aix41: New file.
1417 * rs6000/x-aix43: New file.
1418 * configure.in (rs6000-ibm-aix*): Use them.
1419 * rs6000/powerpc.h: Delete.
1420 * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
1421 * rs6000/netware.h: and here.
1422 * rs6000/win-nt.h: and here.
1423
1424 * rs6000/rs6000.c (processor_target_table, 620): Do not affect
1425 MASK_POWERPC64.
1426 (rs6000_override_options): Ignore flag_pic for AIX.
1427 (rs6000_immed_double_const): Delete.
1428 (u_short_cint_operand): Don't assume 32-bit CONST_INT.
1429 (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
1430 (num_insns_constant): mask64_operand() is 2 insns.
1431 (logical_operand): Don't assume 32-bit CONST_INT.
1432 (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
1433 (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
1434 (mask_constant): HOST_WIDE_INT parameter.
1435 (non_and_cint_operand): Delete.
1436 (mask64_operand): New function.
1437 (and64_operand): New function.
1438 (function_arg_advance): DImode arguments do not need special
1439 alignment when 64-bit.
1440 (function_arg): Likewise.
1441 (setup_incoming_varargs): Reverse reg_size assignment.
1442 (print_operand): HOST_WIDE_INT second parameter.
1443 (print_operand, 'B'): New case.
1444 (print_operand, 'M'): Fix typo in lossage string.
1445 (print_operandm 'S'): New case.
1446 (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size
1447 to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset.
1448 (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use
1449 TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs.
1450 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
1451 (rs6000_allocate_stack_space): Use {cal|la}.
1452 (output_epilog): Use {cal|la}
1453 (output_function_profiler): Add call glue to mcount call.
1454 Load GOT highpart, don't add it. Add lowpart with {cal|la}.
1455
1456 * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
1457 (STACK_BOUNDARY): Depend on TARGET_32BIT.
1458 (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
1459 (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
1460 (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with
1461 64-bit mask operand.
1462 (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
1463 (STACK_SAVEAREA_MODE): New macro.
1464 (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
1465 (LEGITIMIZE_RELOAD_ADDRESS): New macro.
1466 (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
1467 (ASM_FILE_START): Emit 64-bit ABI directive.
1468 (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
1469 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
1470 (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
1471 Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE.
1472
1473 * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
1474 Restore define_splits.
1475 (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
1476 (floatsidf2_internal, floatunssidf2_internal2): Likewise.
1477 Do not specify base register operand mode.
1478 (floatsidf2_loadaddr): Do not specify base register operand mode.
1479 (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
1480 register; do not specify mode. Remove !TARGET_POWERPC64 final
1481 constraint.
1482 (floatsidf2_load): Do not specify base register operand mode. Remove
1483 !TARGET_POWERPC64 final constraint.
1484 (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
1485 base register operand mode.
1486 (adddi3): Split large constants early.
1487 (absdi3): Shift by 63, not 31.
1488 (*mulsidi3_ppc64): New pattern.
1489 (rotldi3): Add masking combiner patterns.
1490 (anddi3): Add rldic{r,l} masking. Remove split of large constants
1491 because PPC insns zero-extend.
1492 (iordi3, xordi3): Split large constants early.
1493 (movsi matcher): Remove S and T constraints.
1494 (movsf const_double): create SImode constant from TARGET_DOUBLE.
1495 (movdf_hardfloat32): Add default abort() case.
1496 (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
1497 (movdi): Remove 64-bit constant generator. Try to convert
1498 CONST_DOUBLE to CONST_INT. Handle TOC memory constants.
1499 (movdi_32): Add default abort() case.
1500 (movdi_64): Add numerous ways to split 64-bit constants.
1501 Make catch-all define_split more optimal and never FAIL.
1502 (movti_ppc64): Add default abort() case.
1503 (allocate_stack): Remove operand modes. Use Pmode.
1504 (restore_stack_block): Remove operand modes. Generate Pmode
1505 temporary.
1506 (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
1507 temporary. Save area is double Pmode.
1508 (call_indirect_aix64, call_value_indirect_aix64): New patterns.
1509 (call, call_value): Do not specify address operand mode. Choose
1510 appropriate AIX ABI.
1511 (*call_local64, *ret_call_local64): New patterns.
1512 (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
1513 (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
1514 (compare): Materialize DImode truthvalues.
1515
ff439b5f
CB
1516Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
1517
1518 * expr.c (safe_from_p): Avoid combinatorial explosion
1519 over duplicate SAVE_EXPRs by ensuring we never recurse
1520 on one that has already been visited.
1521
7d2a46a8
GS
1522Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
1523
1524 * loop.c (check_dbra_loop): Initialise final_value before
1525 normalizing the loop.
1526
f5470689
R
1527Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1528
1529 * reload1.c (reload_reg_free_for_value_p): New arguments out and
1530 reloadnum. Changed all callers.
1531
9b91d8f4
UD
15321998-06-03 Ulrich Drepper <drepper@cygnus.com>
1533
1534 * system.h: Add _() and N_() macros in preparation for gettext.
1535
7fdc2757
AS
1536Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1537
bc516719
AS
1538 * c-common.c (check_format_info): Put back check for C9x `hh'
1539 length modifier. Warn about %n format writing into const. Remove
1540 obsolete comment.
9b91d8f4 1541 (format_char_info): Fix comments.
bc516719 1542
7fdc2757
AS
1543 * configure.in: Set float_format to m68k for all m68k targets that
1544 do not override LONG_DOUBLE_TYPE_SIZE.
1545 * config/float-m68k.h: New file.
1546
dc2a47ed
RH
1547Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
1548
1549 * jump.c (jump_optimize): Remove debug messages accidentally left in
1550 with the previous change.
1551
f0348c25
RH
1552Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
1553
1554 * expr.c (store_expr): Revert stray patch associated with
1555 1998-05-23 commit.
1556
4f4f436f
RH
1557Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
1558
1559 * jump.c (rtx_unsafe_p): New function.
1560 (jump_optimize): Use it on if/then/else transformations and
1561 conditional move transformations.
1562
df0e526f
AS
1563Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1564
1565 * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
1566 or VAR-- == CONST construct a proper mask if VAR is a bitfield.
1567 Cope with CONST being out of range for the bitfield.
1568
2638126a
BS
1569Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
1570
1571 * expr.c (emit_move_insn_1): When moving complex values in several
1572 steps, emit a CLOBBER to show the destination dies.
1573
6c8538cc
JL
1574Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
1575
ccdb9251
JL
1576 * Makefile.in (site.exp): Use the object testsuite directory as
1577 the temporary directory.
1578
6c8538cc
JL
1579 * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
1580 address of an ADDRESSOF rtx.
1581
0bc02db4
MS
15821998-06-02 Mike Stump <mrs@wrs.com>
1583
1584 * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
1585 * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
1586 * i960.md (ret, flush_register_windows): Define.
1587 (nonlocal_goto): Likewise. Nested function nonlocal gotos don't
1588 work yet.
1589 * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
1590
d46f7484
RH
1591Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
1592
1593 * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
1594 around an OSF/1 library bug wrt sign-extension of inputs.
1595
e3c81d20
RH
1596Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
1597
1598 * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
1599
44ec7e59 1600Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
9b91d8f4 1601
44ec7e59
CM
1602 * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
1603
1604 * varasm.c (assemble_variable): Augment alignment warning.
1605
9224220f
MM
1606Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
1607
1608 * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
1609 in the presence of IEEE negative 0's.
1610
726e2d54
JW
1611Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
1612
1613 * reload.c (find_reloads): Record the existing mode if
1614 operand_mode == VOIDmode before replacing a register with
1615 a constant.
1616 * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
1617 i386_compare_op1 to const0_rtx for the benefit of the
1618 conditional move patterns.
1619 (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
1620 based on suggestions from Jim Wilson.
1621
97f959a5
JL
1622Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com)
1623
1624 * version.c: Bump for snapshot.
1625
b5662334
BK
1626Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
1627
1628 * Makefile.in (fixinc.sh): Update rules again.
1629
674032e2
JL
1630Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
1631
1632 * extend.texi: Bring back reference to trampoline paper.
1633
1634Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
1635
1636 * Makefile.in (USER_H): Add stdbool.h.
1637 * ginclude/stdbool.h: New file.
1638
d3903c22
JL
1639Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
1640
c71407f9
JL
1641 * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
1642 of a non-note insn.
1643
d3903c22
JL
1644 * gcse.c (pre_delete): Fix code to determine the mode of
1645 the reaching pseudo register.
1646
8376d400
BS
1647Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
1648
1649 * Makefile.in (GEN): Add gencheck
1650 (STAGESTUFF): Add tree-check.h and gencheck.
1651
71d085b0
BK
1652Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
1653
1654 * Makefile.in (cstamp-h.in): Remove before trying to recreate.
1655 (fixinc.sh): Set some additional environment variables before
1656 calling mkfixinc.sh.
1657
f4d1453e
JL
1658Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
1659
1660 * reload.c (find_reloads): Do not force a reloads of match_operators.
9b91d8f4 1661
9f8e6243
AM
1662Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1663
1664 * except.h (remove_handler): Add new prototype.
1665 * except.c (remove_handler): New function to remove handlers
1666 from an exception region.
1667 * flow.c (find_basic_blocks_1): Remove handlers from regions when
1668 handler label is deleted; remove exception regions with no handlers.
1669
d05a5492
MM
1670Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
1671
1672 * except.h (rtx): Define rtx type correctly if needed.
1673 * function.h (rtx): Ditto.
1674 (tree): Define tree type correctly if needed.
1675
1676 * c-pragma.c (toplevel): Include rtl.h.
1677
1678 * stor-layout.c (toplevel): Move include of rtl.h before
1679 except.h.
1680
1681 * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
1682 (tree.o): Add except.h dependency.
9b91d8f4 1683
ed385fd9
JL
1684Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
1685
5bc80b30
JL
1686 * reload1.c: Revert accidental checkin.
1687
ed385fd9
JL
1688 * configure.lang: Fix thinko when adding a definition for
1689 target_alias to the Makefile.
1690
00c26dc2
CM
1691Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
1692
9b91d8f4 1693 * config/sparc/lb1spc.asm (.rem and .urem): Replace
00c26dc2
CM
1694 routines.
1695
d499463f
RE
1696Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
1697
1698 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
1699 variable warnings. Don't generate scratch registers if only
1700 counting insns.
1701 (find_barrier): Eliminate unused variable SRC.
1702
62fe00be
MH
17031998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
1704
1705 * toplev.h (rtx_def): Provide global declaration to avoid
1706 `limited scope' warnings.
1707
1a4bf22f
MK
1708Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
1709
1710 * Makefile.in (gencheck.o): Use HOST_CC.
1711 * i386/t-mingw32: New file.
1712 * configure.in (i386-*-mingw32*): Use.
1713
4d818c85
RE
1714Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
1715
1716 * arm.c (bad_signed_byte_operand): New predicate function.
1717 * arm.h (PREDICATE_CODES): Add it to the list.
1718 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
1719 can't handle.
1720 (define_split): Two new splits for above insns.
1721
ad076f4e
RE
1722 * arm.c: Include toplev.h.
1723 (arm_override_options): Add parentheses around use of tune_flags.
1724 (arm_split_constant): Remove unused variable.
1725 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
1726 (output_func_prologue, arm_expand_prologue): Likewise.
1727 (arm_canonicalize_comparison): Make I unsigned; rework constants
1728 accordignly. Add missing paratheses around << operation.
1729 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
1730 clause.
1731 ({load,store}_multiple_sequence): Initialize BASE_REG.
1732 (select_dominance_cc_mode): Add DEFAULT clauses.
1733 (broken_move): Return zero if the destination is not a register.
1734 (arm_reorg): Move unused REGNO declaration into the dead code.
1735 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
1736
a1ec8ea1
JL
1737Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
1738
1739 * version.c: Bump for snapshot.
1740
c7f58590
JL
1741Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
1742
1743 * version.c: Bump for snapshot.
1744
33b019ad
DB
1745Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
1746
1747 * cpperror.c (v_cpp_message): Remove static prototype.
1748 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
1749 * cpplib.h (v_cpp_message): Add protoptype.
1750 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
1751
61819ba5
JL
1752Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
1753
1754 * version.c: Bump for snapshot.
1755
f5c57ba7
JL
1756Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
1757
1758 * version.c: Bump for snapshot.
1759
7a87758d
AS
17601998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1761
1762 * m68k.h: Declare more functions used in macros.
1763 (REG_CLASS_CONTENTS): Completely embrace initializer.
1764 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
1765 about returning no value.
1766 * cse.c (find_best_addr): Declare p and found_better only if
1767 needed.
1768 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
1769 * dwarfout.c (string_length_attribute): #if 0 away.
1770 * function.c (expand_function_end): Define varible blktramp only
1771 if needed.
1772 * jump.c (find_insert_position): Define only if !HAVE_cc0.
1773 * loop.c (combine_givs_p): Define variable tem only if needed.
1774 * real.c: Comment out unused functions eabs, eround,
1775 e{24,53,64,113}toasc and eiinfin.
1776
1777
10ad38ca
AO
1778Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
1779
1780 * Makefile.in (boostrap2-lean, bootstrap3-lean,
1781 bootstrap4-lean): New targets.
1782
57fec042
JL
1783Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
1784
1785 * warn_summary, test_summary: Moved into the contrib directory.
1786
97263b8c
MH
17871998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
1788
e7f62ad3
MH
1789 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
1790 of the Makefile.
1791 (FLOAT_H_TEST): Likewise.
1792 (ENQUIRE): Likewise.
1793 (float.h-nat): Likewise.
1794 (float.h-cross): Likewise.
1795 (enquire): Likewise.
1796 (enquire.o): Likewise.
1797 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
1798 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
1799 no-op.
1800 (FLOAT_H): Remove old float.h-nat version; move current definition
1801 to CROSS_FLOAT_H location.
1802 (all.cross): Remove comments about enquire stuff.
1803
8d45987f
MH
1804 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
1805 (rest.encap): Likewise.
e7f62ad3 1806 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
8d45987f 1807
97263b8c
MH
1808 * toplev.h (tree_node): Provide global declaration to avoid
1809 `limited scope' warnings.
1810
a8c24967
RL
1811Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
1812
1813 * test_summary: Display section breaks for each entry
1814 in a multilibbed target's output.
1815
bd070e1a
RH
18161998-05-23 Richard Henderson <rth@cygnus.com>
1817
1818 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
1819 offset's mode is not ptr_mode, convert it.
1820
697073d9
JM
18211998-05-22 Jason Merrill <jason@yorick.cygnus.com>
1822
1823 * fold-const.c (ssize_binop): New fn.
1824 * tree.h: Declare it.
1825
07704a9a
RE
1826Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
1827
9b91d8f4 1828 * genextract.c (print_path): Handle zero-length path as a special
07704a9a
RE
1829 case.
1830
911c3b7d
HPN
1831Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
1832
1833 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
1834
75197b37
BS
1835Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
1836
1837 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
1838 (shorten_branches, final_scan_insn): Test value of
1839 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
1840 is defined.
1841 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
1842 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
28ec9418 1843 * arm/tcoff.h: Likewise.
75197b37
BS
1844 * i386/386bsd.h: Likewise.
1845 * i386/freebsd-elf.h: Likewise.
1846 * i386/freebsd.h: Likewise.
1847 * i386/netbsd.h: Likewise.
1848 * i386/ptx4-i.h: Likewise.
1849 * i386/sysv4.h: Likewise.
1850 * pa/pa.h: Likewise.
1851 * rs6000/linux.h: Likewise.
1852 * rs6000/rs6000.h: Likewise.
1853 * sh/sh.h: Likewise.
1854 * sparc/sp64-elf.h: Likewise.
1855 * v850/v850.h: Likewise.
1856 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
1857 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
1858
1a29f703
R
1859Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1860
1861 * regmove.c (gen_add3_insn): New function.
1862 (fixup_match_2): Use it instead of calling gen_addsi3.
1863
aee21ba9
JL
1864Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
1865
37433f49
JL
1866 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
1867
aee21ba9
JL
1868 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
1869 address.
1870
12b195d9
ML
1871Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
1872
1873 * Makefile.in (TREE_H): Add tree-check.h.
1874 (tree-check.h, gencheck): New targets.
1875 * gencheck.c: New file.
1876 * tree.c (tree_check, tree_class_check): New functions.
1877 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
1878 (TYPE_CHECK, DECL_CHECK): Define.
1879 Modify all access macros to use generated checking macros.
1880
9e423e6d
JW
1881Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
1882
1883 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
1884 * configure.in: Check for it.
1885 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
1886 * final.c (uid_align, uid_shuid, label_align): Make static.
1887 (label_align): Change type to struct label_alignment pointer.
1888 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
1889 (LABEL_TO_MAX_SKIP): Define.
1890 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
1891 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
1892 (shorten_branches): Record the maximum bytes to skip when
1893 aligning a label.
1894 (final_scan_insn): Use the maximum bytes to skip when aligning a label
1895 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1896 * i386.h (LOOP_ALIGN_MAX_SKIP,
1897 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
1898 * i386.c (override_options): i386_align_jumps and i386_align_loops
1899 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1900 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
1901
1cc75298
MM
19021998-05-21 Mark Mitchell <mmitchell@usa.net>
1903
1904 * cplus-dem.c (do_type): Handle volatile qualification.
9b91d8f4 1905
178ca02d
PB
1906Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
1907
1908 * function.c (init_function_start): Don't call emit_line_note if
1909 lineno is 0. (Can happen when compiling Java .class files.)
1910
cecbf6e2
R
1911Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1912
1913 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
1914 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
1915
b52ce03d
R
1916Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1917
1918 * combine.c (nonzero_bits): For paradoxical subregs, take
1919 LOAD_EXTENDED_OP into account.
1920
c8724862
DB
1921Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
1922
1923 * configure.in (extra_c_objs): add prefix.o.
1924 (extra_cxx_objs): extra objects for C++ with cpplib.
1925 * configure: Regenerate.
1926
1927 * c-tree.h: (get_directive_line): Different prototype for cpplib.
1928 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
1929
1930 * c-lex.h: (get_directive_line): Not needed here for cpplib.
1931
1932 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
1933 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
1934
1935 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
1936 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
1937
fd97443c
KG
1938Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1939
1940 * gengenrtl.c (type_from_format, accessor_from_format): Change
1941 type of parameter `c' from `char' to `int'.
1942
0e4347ce
JL
1943Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
1944
2a3edac9
JL
1945 * warn_summary, test_summary: New scripts from
1946 Kaveh Ghazi and Alexandre Oliva respectively.
1947
0e4347ce
JL
1948 * gcse.c (current_function_calls_longjmp): Declare.
1949
4e5a8d7b
JM
19501998-05-20 Jason Merrill <jason@yorick.cygnus.com>
1951
1952 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
1953
7506f491
DE
1954Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
1955 Jeff Law (law@cygnus.com)
1956
1957 * Global CSE and constant/copy propagation.
1958 * Makefile.in (OBJS): Add gcse.o
1959 (STAGESTUFF): Add *.gcse.
1960 (gcse.o): Add dependencies.
1961 (mostlyclean): Remove *.gcse and */*.gcse.
1962 * gcse.c: New file.
1963 * loop.c (loop_optimize): Move call to init_alias_analysis.
1964 * recog.c (validate_replace_src): New function.
1965 * toplev.c (gcse_dump): New global variable.
1966 (flag_gcse, gcse_time): Likewise.
1967 (compile_file): Initialize gcse_time and clean out the gcse dump
1968 file if necessary.
1969 (rest_of_compilation): Call gcse_main as requested. Dump RTL
1970 after gcse if requested.
1971 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
1972 dumps for -da.
1973 * gcc.texi: Add gcse related internal documentation.
1974 * invoke.texi: Note new command line options for gcse.
1975 * tm.texi: Document AVOID_CCMODE_COPIES.
1976 * mips.h (AVOID_CCMODE_COPIES): Define.
1977
40859b41
JL
1978Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
1979
1980 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
1981 exists.
aef1617c 1982 (stmp-fixproto): Simlarly for running fixproto.
40859b41
JL
1983 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
1984
f85c8be7
JW
1985Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
1986
1987 * config/mips/mips.c (double_memory_operand): Accept any MEM during
1988 reload when TARGET_64BIT.
1989
c7391272
JW
1990Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
1991
1992 Finish incomplete change started by Kenner.
1993 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
1994 (powerpcle-*-cygwin32): Delete xm_defines.
1995 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
1996 HAVE_STAB_H instead of NO_STAB_H.
1997 * config/xm-linux.h (NO_STAB_H): Delete.
1998 (HAVE_STAB_H): Undefine.
1999 * config/i386/xm-go32.h (NO_STAB_H): Delete.
2000
af02da67
JW
20011998-05-19 Jim Wilson <wilson@cygnus.com>
2002
2003 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
2004 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
2005
79edd21c
TV
2006Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
2007
2008 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
2009
6e684430
R
2010Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2011
2012 * reload1.c (reload_reg_free_for_value_p): New function.
2013 (allocate_reload_reg, choose_reload_regs): Use it.
2014
7ecb5d27
AM
2015Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
2016
2017 * except.c (expand_start_catch): Correct logic for when to
2018 generate a new handler label, and when to use the old one.
2019
487a6e06
KG
2020Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2021
2022 * Makefile.in (print-rtl.o): Depend on bitmap.h.
2023 (dbxout.o): Depend on toplev.h.
2024 ($(SCHED_PREFIX)sched.o): Likewise.
2025 ($(out_object_file)): Likewise for system.h and toplev.h.
2026 (cppmain.o): Depend on gansidecl.h.
2027 (cpplib.o): Likewise.
2028 (cpperror.o): Likewise.
2029 (cppexp.o): Likewise.
2030 (cpphash.o): Likewise.
2031 (cppalloc.o): Likewise.
2032 (fix-header.o): Depend on cpplib.h and cpphash.h.
2033 (scan-decls.o): Depend on gansidecl.h.
2034
2035 * basic-block.h (free_regset_vector): Add prototype.
2036
2037 * cccp.c (check_precompiled): Mark parameter `fname' with
2038 ATTRIBUTE_UNUSED.
2039 (do_assert): Likewise for `op' and `keyword'.
2040 (do_unassert): Likewise.
2041 (do_line): Likewise for `keyword'.
2042 (do_error): Likewise for `op' and `keyword'.
2043 (do_warning): Likewise.
2044 (do_ident): Likewise for `keyword'.
2045 (do_pragma): Likewise for `limit', `op' and `keyword'.
2046 (do_sccs): Likewise.
2047 (do_if): Likewise for `keyword'.
2048 (do_elif): Likewise.
2049 (do_else): Likewise.
2050 (do_endif): Likewise.
2051
2052 * collect2.c (getenv): Remove redundant prototype.
2053 (collect_exit, collect_execute, dump_file): Likewise.
2054 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
2055 (dump_prefix_list): Hide prototype and definition.
2056
2057 * sparc.c: Include toplev.h.
2058 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
2059 (symbolic_memory_operand): Likewise.
2060 (sp64_medium_pic_operand): Likewise.
2061 (data_segment_operand): Likewise.
2062 (text_segment_operand): Likewise.
2063 (splittable_symbolic_memory_operand): Likewise.
2064 (splittable_immediate_memory_operand): Likewise.
2065 (eq_or_neq): Likewise.
2066 (normal_comp_operator): Likewise.
2067 (noov_compare_op): Likewise.
2068 (v9_regcmp_op): Likewise.
2069 (v8plus_regcmp_op): Likewise.
2070 (extend_op): Likewise.
2071 (cc_arithop): Likewise.
2072 (cc_arithopn): Likewise.
2073 (small_int): Likewise.
2074 (uns_small_int): Likewise.
2075 (clobbered_register): Likewise.
2076 (legitimize_pic_address): Likewise.
2077 (delay_operand): Likewise.
2078 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
2079
2080 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
2081 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
2082
2083 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
2084
2085 * cppalloc.c: Include gansidecl.h.
2086
2087 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
2088 (cpp_file_line_for_message): Mark parameter `pfile' with
2089 ATTRIBUTE_UNUSED.
2090 (v_cpp_message): New function.
2091 (cpp_message): Use it. Also convert to variable arguments.
2092 (cpp_fatal): Likewise.
2093 (cpp_pfatal_with_name): Constify parameter `name'.
2094
2095 * cppexp.c: Move gansidecl.h before cpplib.h.
2096 * cpphash.c: Likewise.
2097 * cpphash.h (hashf, delete_macro): Add prototypes.
2098
2099 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
2100 cpplib.h. Don't include errno.h.
2101 (update_path): Add arguments to prototype.
2102 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
2103 cpp_print_containing_files): Remove redundant prototypes.
2104 (cpp_hash_cleanup, add_import, append_include_chain,
2105 make_assertion, path_include, initialize_builtins,
2106 initialize_char_syntax, finclude, validate_else, comp_def_part,
2107 lookup_import, redundant_include_p, is_system_include,
2108 read_name_map, read_filename_string, open_include_file,
2109 check_macro_name, compare_defs, compare_token_lists,
2110 eval_if_expression, change_newlines): Add prototype arguments.
2111 (hashf): Remove redundant prototype.
2112 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
2113 conditional_skip, skip_if_group): Add prototype arguments.
2114 (fdopen): Remove redundant prototype.
2115 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
2116 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
2117 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
2118 (struct directive): Add prototype arguments to function pointer
2119 member `func'.
2120 (handle_directive): Add missing arguments to call to `do_line'.
2121 (do_include): Mark parameters `unused1' and `unused2' with
2122 ATTRIBUTE_UNUSED.
2123 (do_line): Likewise for `keyword' and new parameters `unused1' and
2124 `unused2'.
2125 (do_error): Likewise for `keyword'.
2126 (do_warning): Likewise. Also add missing argument `pfile' in call
2127 to cpp_pedwarn.
2128 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
9b91d8f4 2129 ATTRIBUTE_UNUSED.
487a6e06
KG
2130 (do_ident): Likewise for `keyword', `buf' and `limit'.
2131 (do_pragma): Likewise. Also add missing arguments in call to do_once.
2132 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
9b91d8f4 2133 ATTRIBUTE_UNUSED.
487a6e06
KG
2134 (do_if): Likewise for `keyword'.
2135 (do_elif): Likewise.
2136 (eval_if_expression): Likewise for `buf' and `length'.
2137 (do_xifdef): Likewise for `unused1' and `unused2'.
2138 (do_else): Likewise for `keyword', `buf' and `limit'.
2139 (do_endif): Likewise.
2140 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
2141 (cpp_handle_options): Remove superfluous NULL argument in call to
2142 cpp_fatal.
2143 (cpp_handle_options): Likewise.
2144 (do_assert): Mark parameter `keyword', `buf' and `limit' with
2145 ATTRIBUTE_UNUSED.
2146 (do_unassert): Likewise.
2147 (cpp_print_file_and_line): Add missing argument `pfile' in call to
2148 cpp_file_line_for_message.
2149 (v_cpp_error): New function.
2150 (cpp_error): Use it. Also accept variable arguments.
2151 (v_cpp_warning): New function.
2152 (cpp_warning): Use it. Also accept variable arguments.
2153 (cpp_pedwarn): Accept variable arguments.
2154 (v_cpp_error_with_line): New function
2155 (cpp_error_with_line): Use it. Accept variable arguments.
2156 (v_cpp_warning_with_line): New function.
2157 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
2158 definition.
2159 (cpp_pedwarn_with_line): Accept variable arguments.
2160 (cpp_pedwarn_with_file_and_line): Likewise.
2161 (cpp_error_from_errno): Constify parameter `name'. Add missing
2162 argument `pfile' in call to cpp_file_line_for_message.
2163 (cpp_perror_with_name): Constify parameter `name'.
2164
2165 * cpplib.h: Define PARAMS() in terms of PROTO().
2166 (fatal): Remove redundant prototype.
2167 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
2168 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
9b91d8f4 2169 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
487a6e06
KG
2170 cpp_fatal, cpp_message, cpp_pfatal_with_name,
2171 cpp_file_line_for_message, cpp_print_containing_files): Add
2172 arguments to prototypes.
2173 (scan_decls, cpp_finish): Add prototypes.
2174
2175 * cppmain.c: Include gansidecl.h.
2176 (main): Remove unused variable `i'.
9b91d8f4 2177
487a6e06
KG
2178 * dbxout.c: Include toplev.h.
2179
2180 * demangle.h (do_tlink, collect_execute, collect_exit,
2181 collect_wait, dump_file, file_exists): Add prototype.
2182
2183 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
2184 prototype and definition.
2185 (gen_unspecified_parameters_die): Don't assign results of call to
2186 function new_die() to unused variable `parm_die'.
2187 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
2188 (dwarf2out_define): Likewise for `lineno' and `buffer'.
2189
2190 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
2191 prototype and definition.
2192 (output_die): Add prototype arguments to function pointer arg.
2193 (output_unspecified_parameters_die): Mark parameter `arg' with
2194 ATTRIBUTE_UNUSED.
2195
2196 * except.c (output_exception_table_entry): Remove unused variable
2197 `eh_entry'.
2198
2199 * except.h (expand_fixup_region_start, expand_fixup_region_end):
2200 Add prototypes.
2201
2202 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
2203
2204 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
2205
2206 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
2207 before cpplib.h, include cpphash.h, remove redundant prototype of
2208 cpp_fatal, don't define `const', add a prototype for `fatal'.
2209 (cpp_file_line_for_message): Add missing arguments `pfile'.
2210 (v_cpp_message): New function.
2211 (cpp_message): Use it.
2212 (v_fatal): New function.
2213 (fatal, cpp_fatal): Use it.
2214 (cpp_pfatal_with_name): Constify parameter `name'.
2215
2216 * flow.c (free_regset_vector): Remove redundant prototype.
2217
2218 * function.c (round_down): Wrap prototype and definition with
2219 macro ARGS_GROW_DOWNWARD.
2220 (record_insns): Wrap prototype and definition with
2221 defined (HAVE_prologue) || defined (HAVE_epilogue).
2222
2223 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
2224
2225 * gen-protos.c: Include gansidecl.h.
2226 (hashf): Don't make it static, constify parameter `name'.
2227
2228 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
2229 specifier %s in calls to function `fatal'.
2230
2231 * haifa-sched.c: Include toplev.h.
2232 (find_rgns): Remove unused variable `j'.
2233
2234 * integrate.c (note_modified_parmregs): Mark parameter `x' with
2235 ATTRIBUTE_UNUSED.
2236 (mark_stores): Likewise.
2237
2238 * jump.c (mark_modified_reg): Likewise.
2239
2240 * output.h (insn_current_reference_address): Add prototype.
2241 (eh_frame_section): Likewise.
2242
2243 * print-rtl.c: Include bitmap.h.
2244
2245 * reload1.c (reload): Wrap variables `note' and `next' in macro
2246 PRESERVE_DEATH_INFO_REGNO_P.
2247 (forget_old_reloads_1): Mark parameter `ignored' with
2248 ATTRIBUTE_UNUSED.
2249 (choose_reload_regs): Remove unused variable `in'.
2250 (reload_cse_invalidate_mem): Mark parameter `ignore' with
2251 ATTRIBUTE_UNUSED.
2252 (reload_cse_check_clobber): Likewise.
2253
2254 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
2255 (mark_elimination): Fix typo in prototype.
2256
2257 * scan-decls.c: Include gansidecl.h.
2258
2259 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
9b91d8f4 2260
c7fdfd49
JL
2261Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
2262
2263 * function.c (identify_blocks): Fix thinko when setting the
2264 block number for NOTE_INSN_BLOCK_END.
2265
53f2d033
NC
2266Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
2267
f122eb7a 2268 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
9b91d8f4 2269 ___udivsi3.
f122eb7a
NC
2270
2271 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
9b91d8f4 2272 underscores for the prefixes to the names of the maths functions.
f122eb7a 2273
53f2d033
NC
2274 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
2275 comment explaining why.
2276
ead17059
RH
2277Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
2278
2279 * tree.h (TYPE_SIZE_UNIT): New.
2280 (struct tree_type): Add size_unit member.
2281 * stor-layout.c (layout_type): Initialize it.
2282 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
2283 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
2284
069b95ce
RE
2285Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
2286
2287 * stor-layout.c (layout_record): Fix off-by-one error when checking
2288 length of the TYPE_BINFO vector.
2289
972a4adb
NC
2290Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
2291
2292 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
2293 function parameter passed in memory.
2294
76ead72b
RL
2295Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
2296
2297 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
2298 Prototypes for externally used functions in respective C files.
2299 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
2300 final.c: Include above files.
2301 * Makefile.in (toplev.o): Add dependency for above four headers.
2302 (final.o): Likewise.
2303 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
2304 respective header files.
2305
b0ccd8de
JL
2306Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
2307
7e717196
JL
2308 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
2309 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
2310 the build tree if they exist.
2311 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
2312 appropriately.
2313 (objdir): Let configure substitute value.
2314 (FLOAT_H): Let configure select a pre-built version from the
2315 config subdir.
2316 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
2317 * configure.in: Substitute for objdir.
2318
88111b26
JL
2319 * Makefile.in (build_canonical, host_canonical): Let configure
2320 substitute values for these variables.
2321 * configure.in: Substitute for build_canonical, host_canonical
2322 and target_subdir in generated Makefile.
2323
d8af60bf
JL
2324 * output.h (find_basic_blocks): Declare.
2325 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
2326
b0ccd8de
JL
2327 * Makefile.in (BISON): Use bison from the build tree if it exists.
2328 (FLEX): Similarly.
2329
88117d44
NC
2330Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
2331
2332 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
2333 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
2334 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
2335 command line arguments to see if an executable is not being
2336 created, and if so - do not append the suffix.
2337
2338 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
2339 driver macro.
2340
e5e8a8bf
JW
2341Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
2342
2343 * i386.h (ALIGN_DFmode): Delete.
2344 (CONSTANT_ALIGNMENT): Define.
2345 * varasm.c (force_const_mem): Use it.
2346
b771b6b4
RH
2347Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
2348
2349 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
2350 using it with swap_condition, not before.
2351
0211b6ab
JW
2352Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
2353
2354 * alias.c (mode_alias_check): Delete.
2355 (true_dependence, anti_dependence, output_dependence): Revert April 21
2356 change.
2357
c5991f68
KW
2358Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
2359
3fe4d12a 2360 * toplev.c (output_lang_identify): Enable prototype and definition.
c5991f68 2361
18f315a4
JL
2362Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
2363
2364 * version.c: Bump for snapshot.
2365
2a831d01
RH
2366Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
2367
2368 * alpha/osf.h (HAVE_STAMP_H): Define.
2369 * alpha.c: Use it.
2370 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
2371 * configure.in (alpha*-*-netbsd*): New.
2372 Based on patches from Paul H. Anderson <pha@pdq.com>.
2373
2374 * configure.in (alpha*-*-linux-*): Kill xm_defines.
2375 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
2376 * alpha/xm-linux.h: Remove file.
2377
620422fd
DE
2378Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
2379
2380 * dbxout.c (dbxout_parms): If mode of type of parameter living
2381 in memory doesn't match mode of DECL_RTL, make big endian correction.
2382
d2f2cb19
JW
2383Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
2384
2385 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
2386
bbc0e641
JM
2387Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
2388
2389 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
2390 * stor-layout.c (layout_record): Set it.
2391
2392Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
2393
2394 * toplev.c (rest_of_compilation): Don't defer nested functions.
2395
92834d7d
BM
2396Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
2397
2398 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
2399 to an 8-byte boundary if info_ptr->fpmem_p.
2400
829002bb
BM
2401Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
2402
2403 * loop.c (basic_induction_var): Added test preventing
2404 CCmode parameter passed to convert_modes().
2405
b24f65cd
APB
2406Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
2407
2408 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
2409 input_filename and lineno around expand_expr call. Set them to values
2410 in WFL before expand_expr call.
2411
b09293cc
BK
2412Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
2413
2414 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
2415
f628873f
MM
2416Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
2417
2418 * fold-const.c (constant_boolean_node): New function.
2419 (fold): Use it.
2420
61fb6bac
R
2421Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2422
2423 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
2424 Abort if trying to split kind 3 or 4 outside of combine.
2425
8f9661dd
JL
2426Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
2427
2428 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
2429
b22284e1
MK
2430Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
2431
2432 * objc/Make-lang.in (OBJC_O): Add missing exeext.
2433 (libobjc.a, runtime-info.h): Likewise.
2434
8a022443
JW
2435Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
2436
2437 * i386.h (DATA_ALIGNMENT): Define.
2438
aa6498c2
R
2439Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2440
2441 * reload1.c (delete_output_reload): Ignore single USE that
2442 was emitted for the pseudo use of this INSN.
2443 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
2444 remains, we can always delete OUTPUT_RELOAD_INSN.
2445
41372177
JW
2446Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
2447
2448 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
2449
ddc5654a
JL
2450Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
2451
2452 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
2453
9a0d1e1b
AM
2454Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2455
2456 * eh-common.h: New file for basic EH data structures.
2457 * except.h: Various prototypes and structures for NEW_EH_MODEL
2458 * function.h (struct function): Add a struct eh_stack for the catch
2459 clause stack.
9b91d8f4 2460 * except.c (gen_exception_label): New function to generate an
9a0d1e1b
AM
2461 exception label.
2462 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
2463 (push_entry): New function to push an existing entry onto a stack.
9b91d8f4 2464 (receive_exception_label): New function to emit the code required
9a0d1e1b
AM
2465 at the start of all catch blocks.
2466 (struct func_eh_entry): New structure for maintaining handlers
2467 associated with EH regions.
2468 (new_eh_region_entry): New function to register an EH region.
2469 (add_new_handler): New function to register a handler with a region.
2470 (get_new_handler): Creates anew handler entry for registering.
2471 (find_func_region): New function to convert a NOTE eh region number
2472 to an Eh region index.
2473 (get_first_handler): New function to get the first handler in a region.
2474 (clear_function_eh_region): New function to release memory.
2475 (duplicate_handlers): New function to duplicate a list of handlers.
2476 (expand_eh_region_end): Create a new region entry node as well.
2477 (expand_leftover_cleanups): Call receive_exception_label() and
2478 register the cleanup as a handler to the current region.
2479 (expand_start_catch): New function to start a catch clause.
2480 (expand_end_catch): New function to end a catch clause.
2481 (expand_start_all_catch): restructure to not do the equivilent of
2482 what expand_start_catch() does now. Push the exception region being
2483 handled onto the catch stack.
2484 (output_exception_table_entry): Issue an entry for each handler
2485 associated with a region.
2486 (set_exception_lang_code): New function for setting the language code.
2487 (set_exception_version_code): New function to set the version number.
2488 (output_exception_table): Output version and language codes.
2489 (find_exception_handler_labels): Find handler labels using new scheme.
2490 (is_exception_handler_label): New function, returns 1 if label is
2491 present as a handler in some exception region.
2492 (check_exception_handler_labels): Use the new scheme.
2493 (init_eh_for_function): Initialize the catch stack.
2494 (save_eh_status): Save the catch stack.
2495 (restore_eh_status): Restore the catch stack.
2496 (scan_region): Don't remove unreferenced handler label. Flow does it.
2497 (get_reg_for_handler): New function to get the eh_context pointer
2498 passed by __throw.
2499 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
2500 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
2501 entry when processing END region rather that START region.
2502 * flow.c (find_basic_blocks_1): Find all potential handler regions
2503 now that we don't automatically know what the labels might be.
2504 Let scan_region() remove unreferenced EH BEGIN/END labels.
2505 * integrate.c (get_label_from_map): Put inlined labels onto the
2506 permanent obstack since we dont know which ones might be exception
2507 labels.
2508 (save_for_inline_copying): Make new copies of all the handlers.
2509 (expand_inline_function): Make new copies of all the handlers.
2510 * libgcc2.c: Remove local struct decls, and include eh-common.h.
9b91d8f4 2511 (find_exception_handler): With NEW_EH_MODEL the first matching
9a0d1e1b
AM
2512 region we find is the right one. Add eh_info as a new parameter.
2513 (__throw): Pass eh_info to find_exception_handler. Set handler
2514 and pass use different regs under NEW_EH_MODEL.
2515
2129b081
JW
2516Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
2517
2518 * i960.h (hard_regno_mode_ok): Changed to function from array of
2519 unsigned.
2520 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
2521 * i960.c (hard_regno_mode_ok): Changed to function from array of
2522 unsigned.
2523
029b38ff
R
2524Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2525
2526 * reload.c (remove_replacements): New function.
2527 * reload.h (remove_replacements): Declare.
2528 * reload1.c (choose_reload_regs): Disable some reloads that
2529 belong to inherited reloads.
2530
efdb3590
R
2531Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2532
9dd07f87
R
2533 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
2534
efdb3590
R
2535 * reload1.c (merge_assigned_reloads): When merging, reset
2536 reload_spill_index for the eliminated reload.
2537
5d27de7d
JL
2538Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
2539
2540 * haifa-sched.c (schedule_insns): Fix merge goof.
2541
92d4501f
JW
25421998-05-13 Jim Wilson <wilson@cygnus.com>
2543
2544 * varasm.c (make_decl_rtl): Revert April 1 change.
2545 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
2546 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
2547 Get function name from the SYMBOL_REF in the DECL_RTL, not from
2548 DECL_ASSEMBLER_NAME.
2549 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
2550 DECL_ASSEMBLER_NAME.
2551
d6cc54f6
JW
2552Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
2553
2554 * i386.c (notice_update_cc, output_float_compare): Disable
2555 TARGET_CMOVE support.
2556
6d3352d9 2557Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
0dfa1860
MM
2558 Jeff Law <law@cygnus.com>
2559
ae78d276
MM
2560 * rtlanal.c (find_reg_note): Ignore notes that are not on on
2561 insns of class 'i'.
2562 (find_regno_note): Likewise.
2563
82ce5b75
MM
2564 * Makefile.in (stor-layout.o): Depend on except.h
2565 (varasm.o, function.o): Likewise.
2566 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
2567
0dfa1860
MM
2568 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
2569 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
2570 ($(HOST_PREFIX_1)rtl.o): Likewise.
2571 ($(HOST_PREFIX_1)bitmap.o): New host object.
2572 * emit-rtl.c (toplevel): Include bitmap.h.
2573 (gen_rtx): Handle 't' and 'b' nodes.
2574 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
2575 Print block number for block begin/end notes. Print 't' type
2576 nodes as a pointer. Know that the 3rd argument of live range
2577 start/stop notes is really a range_info rtx. If type is 'b', print
2578 out argument as a bitmap.
2579 * rtl.c: Include bitmap.c.
2580 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
2581 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
2582 * rtl.def (RANGE_LIVE): New node to hold live information while we
2583 recalculate the basic blocks.
2584 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
9b91d8f4 2585 (RANGE_VAR): New node, to hold information saved in symbol node for New
0dfa1860
MM
2586 communicating live range information to the debug output functions.
2587 * rtl.h (rtunion_def): Add rttree and rtbit fields.
2588 (XBITMAP, XTREE): New accessor macros.
2589 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
2590 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
2591 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
2592 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
2593 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
2594 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
2595 (RANGE_INFO_*): Likewise.
2596 * sched.c (sched_analyze): Keep live range start/stop notes.
2597 (unlink_other_notes): Likewise.
2598 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
2599 (unlink_other_notes): Likewise.
2600 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
2601 (BLOCK_LIVE_RANGE_FLAG): Likewise.
2602 (DECL_LIVE_RANGE_RTL): Likewise.
2603 (struct tree_block): Add live_range_flag, live_range_var_flag,
2604 live_range_start and live_range_end.
2605 (struct tree_decl): Add live_range_rtl field.
2606 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
2607 (accessor_from_format): Likewise.
6d3352d9
MM
2608
2609 * haifa-sched.c (schedule_block): Make verbose output line up.
47312d84 2610 Also add a blank line in printing the individual ready lists.
6d3352d9 2611
63e76c87
KG
2612Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2613
2614 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
2615 (c-lex.o): Depend on output.h.
2616 (c-common.o): Likewise.
2617 (stmt.o): Likewise.
2618 (calls.o): Likewise.
2619 (integrate.o): Depend on toplev.h.
2620 (regclass.o): Depend on output.h.
2621 (final.o): Depend on reload.h.
2622
2623 * c-common.c: Include output.h.
2624 (check_format_info): Remove unused variable `integral_format'.
2625
2626 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
2627 `indent' with ATTRIBUTE_UNUSED.
2628 (print_lang_type): Likewise.
2629 (maybe_build_cleanup): Likewise for parameter `decl'.
2630 (copy_lang_decl): Likewise for parameter `node'.
2631
2632 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
2633 (lang_print_xnode): Mark parameters `file', `node' and `indent'
2634 with ATTRIBUTE_UNUSED.
2635 (lookup_interface): Likewise for parameter `arg'.
2636 (is_class_name): Likewise.
2637 (maybe_objc_check_decl): Likewise for parameter `decl'.
2638 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
2639 `reflexive'.
2640 (maybe_objc_method_name): Likewise for parameter `decl'.
2641 (build_objc_string): Likewise for parameters `len' and `str'.
2642
2643 * c-lex.c: Include output.h.
2644
2645 * c-lex.h (position_after_white_space): Correct typo in prototype.
2646
2647 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
2648 c_expand_end_cond, init_iterators): Add prototypes.
2649
2650 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
2651 with ATTRIBUTE_UNUSED.
2652
2653 * calls.c: Include output.h.
2654
2655 * cccp.c (pipe_closed): Mark parameter `signo' with
2656 ATTRIBUTE_UNUSED.
2657
2658 * combine.c: Move inclusion of expr.h to after insn-config.h.
2659
2660 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
2661 as empty, rather define as ((void)0).
2662
2663 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
2664 Add parentheses around assignment used as truth value.
2665
2666 * cplus-dem.c (squangle_mop_up): Change return type to void.
2667 (internal_cplus_demangle): Remove unused parameter `options'.
2668 All callers changed.
2669 (cplus_demangle_opname): Remove function wide variable `int i' and
2670 replace with `size_t i' at each location where it is used.
2671 (cplus_demangle_opname): change type of `i' from int to size_t.
2672
2673 * cppexp.c (right_shift): Mark parameter `pfile' with
2674 ATTRIBUTE_UNUSED.
2675
2676 * cpphash.c (cpp_lookup): Likewise.
2677 (cpp_hash_cleanup): Likewise.
2678
2679 * cpplib.c (parse_name): Add a prototype and make it static.
2680 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
2681 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
2682 (macro_cleanup): Likewise for parameter `pfile'.
2683 (file_cleanup): Likewise.
2684
2685 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
2686 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
2687
2688 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
2689 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
2690
2691 * cse.c (cse_check_loop_start): Mark parameter `set' with
2692 ATTRIBUTE_UNUSED.
2693
2694 * dbxout.c (flag_minimal_debug, have_used_extensions,
2695 source_label_number): Move inside macro wrapper check against
2696 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
2697
2698 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
2699
2700 * except.h (doing_eh): Provide prototype.
2701
2702 * expr.c: Move inclusion of expr.h to after insn-config.h.
2703
2704 * final.c: Include reload.h.
2705 (shorten_branches): Cast the first argument of bzero to char *.
2706
2707 * fix-header.c (cpp_print_containing_files): Mark parameter
2708 `pfile' with ATTRIBUTE_UNUSED.
2709 (cpp_fatal): Likewise.
2710
2711 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
2712 to char *.
2713
2714 * genattrtab.c (make_length_attrs): Change the type of variable
2715 `i' from int to size_t.
2716 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
2717 (one_fn): Likewise.
9b91d8f4 2718
63e76c87
KG
2719 * genextract.c (main): When generating insn-extract.c, mark
2720 variable `junk' with ATTRIBUTE_UNUSED.
2721
2722 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
2723 argument of bzero to char*.
2724
2725 * integrate.c: Include toplev.h.
2726
2727 * libgcc2.c: Wrap `struct exception_table' and
2728 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
2729
2730 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
9b91d8f4 2731
63e76c87
KG
2732 * objc/objc-act.c: Include toplev.h.
2733 (lang_print_xnode): Mark parameters `file', `node' and `indent'
2734 with ATTRIBUTE_UNUSED.
2735 (finish_protocol): Likewise for parameter `protocol'.
2736
2737 * output.h (declare_weak): Add prototype.
2738 (decode_reg_name): Don't wrap with TREE_CODE macro.
2739 (assemble_alias): Add prototype.
2740
2741 * regclass.c: Include output.h.
2742
2743 * reload.h (reloads_conflict): Add prototype.
2744
2745 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
2746 output_func_start_profiler): Add prototypes.
2747
2748 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
2749 ATTRIBUTE_UNUSED.
2750
2751 * scan-decls.c: Include scan.h.
2752
2753 * scan.h (recognized_function, recognized_extern): Add prototypes.
2754
2755 * stmt.c: Include output.h.
2756
2757 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
2758 (output_lang_identify): Hide prototype and definition.
2759 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
2760 (pipe_closed): Likewise.
2761
2762 * toplev.h (count_error, strip_off_ending, error_for_asm,
2763 warning_for_asm): Add prototypes.
2764
a494747c 2765Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
a494747c 2766
32e705c4
MM
2767 * toplev.c (rest_of_compilation): "Charge" final for any time
2768 doing various cleanup operations after finishing compilation
2769 of a function.
2770
9b91d8f4 2771 * flow.c (dump_flow_info): Also print number of sets and
6fc4610b
MM
2772 whether or not the pseudo is a user variable.
2773
a494747c
MM
2774 * flow.c (reg_n_max): New global variable.
2775 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
2776 Delete regno_max variable.
2777 * regs.h (REG_N_CHECK): Define.
2778 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
2779 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
2780 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
2781
21622caf
JL
2782Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
2783
2784 * acconfig.h (ENABLE_CHECKING): Undefine.
2785 * configure.in (--enable-checking): New option.
2786
d668e863
R
2787Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2788
2789 * reload1.c (merge_assigned_reloads): Can merge
2790 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
2791 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
2792
b706d7f2
JW
2793Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
2794
2795 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
2796
4117a96b
R
2797Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2798
2799 * reload1.c (gen_reload): Create REG_EQUIV notes.
2800
4d3eb414
R
2801Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2802
2803 * reload1.c (reload): Fix check for USEs to use code of pattern.
2804 (choose_reload_regs): Remove dead variable use_insn.
2805
b10c8966
JL
2806Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
2807
9b91d8f4 2808 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
b10c8966 2809
cbb13457
MM
2810Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
2811
2812 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
2813 already defined.
2814 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
2815 (insn_{unit,issue_delay}): Ditto.
2816 (blockage_range): Ditto.
2817 (actual_hazard{,_this_instance}): Ditto.
2818 (schedule_unit): Ditto.
2819 (potential_hazard): Ditto.
2820 (insn_cost): Ditto.
2821 (swap_sort): Ditto.
2822 (queue_insn): Ditto.
2823 (birthing_insn_p): Ditto.
2824 (adjust_priority): Ditto.
2825 (get_block_head_tail): Ditto.
2826 (init_rgn_data_dependences): Ditto.
2827
1478d88a
KK
2828Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
2829
2830 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
2831
a688e0b7
GK
2832Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
2833
2834 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
2835
ec350bdd
GK
2836Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
2837
2838 * config/mips/mips.md (dslot): Move after definition of "cpu"
2839 attribute. Handle r3900 case.
2840
d4ba0ead
KG
2841Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2842
2843 * system.h: Define the STRINGIFY macro here.
2844 * protoize.c: Not here.
2845 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
2846
8a198bd2
JW
2847Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
2848
9b91d8f4 2849 * varasm.c (assemble_variable): Compute the alignment of the data
8a198bd2
JW
2850 earlier so that both initialized and uninitialized variables are
2851 effected by DATA_ALIGNMENT.
2852 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
2853
eace3df1
JL
2854Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
2855
2856 * mips.c: Prototype static functions.
2857
a9e95099
JW
2858Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
2859
b1a7d591
JW
2860 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
2861 Add explanatory comments.
2862
a9e95099
JW
2863 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
2864
0f177d7c
RH
2865Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
2866
2867 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
2868
28233641
JW
2869Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
2870
2871 * varasm.c (make_decl_rtl): Disable April 1 change.
2872
e55a5ea6
RH
2873Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
2874
2875 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
2876
e83015a9
RH
2877Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
2878
2879 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
2880 * alpha.c (print_operand): Handle it.
9b91d8f4 2881 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
e83015a9
RH
2882 related define_splits. Also add peepholes for SImode reload
2883 plus sign_extend lossage.
2884
320e7c40
KG
2885Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2886
2887 * genattr.c: Include stdarg.h/varargs.h. Change function
2888 `fatal' to use variable arguments instead of faking it with
2889 integer parameters. Provide a prototype which also
2890 checks the format specifiers using ATTRIBUTE_PRINTF_1.
2891
2892 * genattrtab.c: Likewise.
2893 * gencodes.c: Likewise.
2894 * genconfig.c: Likewise.
2895 * genemit.c: Likewise.
2896 * genextract.c: Likewise.
2897 * genflags.c: Likewise.
2898 * genopinit.c: Likewise.
2899 * genpeep.c: Likewise.
2900 * genrecog.c: Likewise.
2901 * genoutput.c: Likewise. Similarly for function `error'.
2902
e9b4fabf
JL
2903Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2904
2905 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
2906 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
2907 * configure.in: Use GCC_C_VOLATILE.
2908 * system.h (volatile): Define as empty if no volatile support is
2909 available.
2910
2911Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
2912
2913 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
2914 generated fucntion.
2915
f283421d
RH
2916Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
2917
2918 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
2919 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
2920 the body of beq; additionally set the mode of the branch to CCmode for
9b91d8f4 2921 FP compares and not fast_math.
f283421d
RH
2922 (alpha_emit_conditional_move): Always use a compare insn for FP
2923 when not fast_math, as well as setting CCmode on the cmov.
2924 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
2925
2926 * machmode.h (COMPLEX_MODE_P): New macro.
2927
53c0919d
RH
2928Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
2929
2930 * haifa-sched.c (print_exp): Fix typo.
2931
23d297ab
JL
2932Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
2933
2934 * version.c: Bump for snapshot.
2935
cf879efa
MM
2936Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
2937
2938 * final.c (final_scan_insn): Call fatal_insn instead of abort if
2939 we could not split an insn when required to.
2940
5b8ae21f
MM
2941 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
2942 level insns.
2943 (peepholes): Disable peepholes that call dead_or_set_p.
2944 (movsi): Rewrite to handle addresses better after last change.
2945 Add define_split to split load of addresses in large/medium modes.
2946 (prologue): Call m32r_expand_prologue.
2947 (movsi_{push,pop}): Generators for push/pop.
2948 (movsi): Support PRE_{INC,DEC}, POST_INC.
2949 (mov{di,df}): Rewrite. Always split the insns.
2950 (movsf): Add define_split to get register load in correct mode.
2951 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
2952 (attributes): Rewrite attributes so that type indicates both the
2953 type and the length of the insn directly.
2954 (all insns): Change to use new type attributes.
2955 (debug): New attribute to convey whether -mdebug was used.
2956 (opt_space): New attribute to convey whether -Os was used.
2957 (function units): Loads are 3 cycles, not 2. Better classify all
2958 insns into short/long.
2959 (load/store/extend insns): Add separate case for load/store
2960 indirect operations without an offset.
2961 (divsi3): Division is a long operation, not short.
2962
2963 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
2964 modes > 1 word.
2965 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
2966 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
2967 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
2968 operands with PRE_{INC,DEC}, POST_INC.
2969 (FUNCTION_PROFILER): Call abort instead of doing nothing.
2970 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
2971 SImode variables.
2972 (gen_split_move_double): Declare.
2973 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
2974
2975 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
2976 emit_move_insn, build up SET's directly.
2977 (toplevel): Include system.h, not stdio.h.
2978 (move_double_src_operand): Allow any DF or DI mode constant.
2979 (gen_split_move_double): Split moves of DI or DF values into the
2980 appropriate moves, loads, or stores. Don't handle use of auto
2981 inc/dec if using dead index. Do handle overlapping moves, etc.
2982 (m32r_frame_info): Remove prologue_size field.
2983 (m32r_compute_frame_size): Don't calculate prologue size.
2984 (m32r_output_function_prologue): Change to pretty much a NOP.
2985 (m32r_expand_prologue): Expand prologue as a series of INSNs.
2986 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
2987 (m32r_print_operand_address): Ditto.
9b91d8f4 2988
d7c2e385
L
2989Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
2990
2991 * reload1.c (emit_reload_insns): When performing expensive
2992 optimizations, do not output the last reload insn if OLD is
2993 not the dest of NSN and is in the src and is clobbered by INSN.
2994
560bd19e
KG
2995Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2996
2997 * Makefile.in (genrtl.o): Depend on system.h.
2998 * gengenrtl.c (gencode): When creating genrtl.c, have it
2999 include system.h.
3000
0d33d22e
AS
3001Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3002
3003 * config/m68k/t-linux: Remove extra stuff already included in
3004 config/t-linux.
3005
dea4ae0d
MH
3006Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
3007
3008 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
3009 curses.h if it contains `typedef char bool;', as suggested by
3010 Manfred Hollstein <manfred@s-direktnet.de>.
3011
3012 * configure.in: Rename fixinc.math to fixinc.wrap.
3013
02e56202
JW
3014Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
3015
bbeb7b65
JW
3016 * gcc.c (read_specs): Handle missing blank line at end of specs file.
3017
02e56202
JW
3018 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
3019 movdfcc_1): Disable.
3020
e445171e
JW
3021Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
3022
3023 * configure.in (enable_threads): Rename to enable_threads_flag before
3024 main loop. Set enable_threads to enable_threads_flag inside main
3025 loop.
3026
a1b5a7e1
MM
3027Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
3028
3029 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
3030 multiple times.
3031
76b4b31e
KG
3032Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3033
3034 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
9b91d8f4 3035
76b4b31e
KG
3036 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
3037 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
3038 (AC_CHECK_FUNCS): Remove unused check for vprintf.
9b91d8f4 3039
76b4b31e
KG
3040 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
3041 (cccp.o): Depend on gansidecl.h.
3042 (cexp.o): Likewise.
3043
3044 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
3045 per the rest of gcc source.
3046 * cexp.y: Likewise. Include gansidecl.h and remove all code made
3047 redundant.
3048
3049 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
3050 used when vfprintf is missing.
3051 * cexp.y: Likewise.
3052 * gcc.c: Likewise.
3053 * genattrtab.c: Likewise.
3054 * mips-tfile.c: Likewise.
3055 * toplev.c: Likewise.
3056
3057 * vfprintf.c: New file.
3058 * doprint.c: New file.
3059
bebc4663
JL
3060Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
3061
3062 * config/linux.h (ASM_COMMENT_START): Remove from here,
3063 * config/linux-aout.h (ASM_COMMENT_START): and here,
3064 * config/i386/linux.h (ASM_COMMENT_START): to here,
3065 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
3066 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
3067 here as '#' too.
3068
436bf9fb
AS
3069Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3070
3071 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
9b91d8f4 3072 constant.
436bf9fb 3073
f103890b
RL
3074Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
3075
3076 * Makefile.in (dwarfout.o) Add toplev.h dependency.
3077 * dwarfout.c, i386.c: Include toplev.h
3078 * toplev.h: (pfatal_with_name) Add prototype.
3079
024b5658
JM
3080Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
3081
3082 * Makefile.in: Fix .SUFFIXES.
3083
410c3875
AM
3084Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
3085
3086 * config/linux.h (ASM_COMMENT_START): Define as "#".
3087 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
3088
7e073314
JW
3089Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
3090
71ebb3b8
JW
3091 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
3092 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
3093
a0c8e1b2
JW
3094 * toplev.c: Include toplev.h.
3095 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
3096 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
3097 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
3098 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
3099 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
3100 toplev.h dependency.
9b91d8f4 3101
1b15c5de
JW
3102 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
3103 HARD_FRAME_POINTER_REGNUM.
3104
7e073314
JW
3105 * expr.c (target_temp_slot_level): Delete duplicate definition.
3106
d06eab0d
JL
3107Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
3108
df03cab5 3109 * stmt.c (mark_seen_cases): Make it have external linkage again.
0586a4ce
JL
3110 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
3111 has been included.
df03cab5 3112
6b879bcc
JL
3113 * haifa-sched.c (print_value, case SUBREG): Fix typo.
3114
6b28fd63
JL
3115 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
3116 * i386.h (REG_CLASS_CONTENTS): Similarly.
3117
cc132865
JL
3118 * toplev.c (-fsched-max): Delete flag.
3119 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
3120 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
3121 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
3122 conditionals.
3123
3124 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
3125 inner loops which are not reducible.
3126
fd4a1ca5
JL
3127 * loop.c (regs_match_p): Fix typo in prototype.
3128
d06eab0d
JL
3129 * regmove.c (try_auto_increment): Wrap declaration inside an
3130 #ifdef AUTO_INC_DEC.
3131
31bfbf1f
MM
3132Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
3133
3134 * final.c (output_operand_lossage): Call fatal with the operand
3135 lossage message instead of calling abort.
3136
e9a780ec
KG
3137Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3138
3139 * c-common.c: Convert to using ctype macros defined in system.h.
3140 * c-lex.c: Likewise.
3141 * cccp.c: Likewise.
3142 * collect2.c: Likewise.
3143 * rs6000.c: Likewise.
3144 * cpplib.c: Likewise.
3145 * fix-header.c: Likewise.
3146 * gcc.c: Likewise.
3147 * gen-protos.c: Likewise.
3148 * pexecute.c: Likewise.
3149 * protoize.c: Likewise.
3150 * rtl.c: Likewise.
3151 * scan.c: Likewise.
3152 * stmt.c: Likewise.
3153 * tlink.c: Likewise.
9b91d8f4 3154 * toplev.c: Likewise.
e9a780ec 3155
d4c3e60e
GK
3156Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
3157
9b91d8f4 3158 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
d4c3e60e
GK
3159 Replace -gdwarf-2 with -g0.
3160
90fbb8c9
KG
3161Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3162
3163 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
3164 * mips-tdump.c: Include system.h, remove redundant headers.
3165 * mips-tfile.c: Likewise. Also, convert all ctype function calls
3166 to calls of the macro versions defined in system.h.
3167
3168 * objc/Make-lang.in (objc-act.o): Depend on system.h.
3169 * objc/objc-act.c: Include system.h, remove redundant headers.
3170
8f81384f
KG
3171Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3172
3173 * configure.in (AC_CHECK_FUNCS): Add isascii.
3174 (GCC_NEED_DECLARATIONS): Add atof.
3175
3176 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
3177 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
3178
e572c0c6
KG
3179Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3180
3181 * system.h: Wrap time.h and sys/file.h in autoconf checks.
3182 Provide default definitions for O_RDONLY and O_WRONLY here.
3183
3184 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
3185
8830da36
MM
31861998-05-06 Mark Mitchell <mmitchell@usa.net>
3187
3188 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
3189
c5ff95e6
RL
3190Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
3191
3192 * toplev.h: New file. Protypes for functions in toplev.c.
3193 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
9b91d8f4
UD
3194 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
3195 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
3196 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
3197 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
3198 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
c5ff95e6
RL
3199 varasm.c: include it.
3200
15ebe47d
JL
3201Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
3202 Jim Wilson (wilson@cygnus.com)
3203
3204 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
3205 blocks. Check for 1 successor which is the EXIT_BLOCK.
3206
3207 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
3208 unreachable loops with more than one block.
3209
dbbfa8c8
MH
3210Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
3211
3212 * fix-header.c (write_rbrac): Add "abort" to functions which need to
3213 be protected.
3214
f5963e61
JL
3215Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
3216
3217 * Check in merge from gcc2. See ChangeLog.12 for details.
3218
3d90c2b5
JW
3219Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
3220
c6a9dea8
JW
3221 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
3222 accept 'a' flag. 'S' does accept 'a' flag.
3223 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
3224 and `a' flag.
3225
3d90c2b5
JW
3226 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
3227
97b57a81
AS
3228Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3229
3230 * config/m68k/m68k.h: Declare functions from m68k.c used in
3231 macros and machine description.
3232 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
3233 long values.
3234 (ASM_OUTPUT_FLOAT): Likewise.
3235 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3236
c5c63738
JM
3237Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
3238
3239 * tree.def: Add NAMESPACE_DECL.
3240 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
3241 * dwarf2out.c (push_decl_scope): Likewise.
3242 (scope_die_for): Likewise.
3243 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
3244 how to get next context level.
3245
2e14a41b
JW
3246Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
3247
3248 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
3249 case.
3250
f78c792c
JL
3251Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
3252
8b05263d
JL
3253 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
3254
f78c792c
JL
3255 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
3256 for any insns skipped at the start of a block because they were
3257 redundant.
3258
4330b0e7
JW
3259Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
3260
3261 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
3262
b57062ca
UD
32631998-05-04 Ulrich Drepper <drepper@cygnus.com>
3264
3265 * c-common.c (format_char_info): Add new field hhlen.
3266 (print_char_table, scan_char_table, time_char_table): Initialize
3267 hhlen field appropriately.
3268 (char_format_info): Recognize hh modifier and lookup correct char
3269 table entry.
3270
06eaa86f
JW
3271Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
3272
3273 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
3274 reference if this is a store.
3275
9ed5dc54
RH
3276Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
3277
3278 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
3279
fb6d9312
RL
3280Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
3281
3282 Make UnixWare 7 bootstrap support work with final shipping product.
b57062ca 3283 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
fb6d9312
RL
3284 Pick up xm-siglist and xm-alloca.
3285 (xm_defines): Add USG so dbxout will build.
3286 * configure: Regenerate.
3287
b53beeb2 3288Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
82d6b402
RH
3289
3290 Support for official Sparc V9 ABI:
3291 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
3292 Care for flag_pcc_struct_return default.
3293 (output_move_quad): Rewrite to move by halves on v9 and in the
3294 proper direction.
3295 (move_quad_direction): New function.
3296 (output_fp_move_quad): Use it to determine the direction of copy.
3297 (function_arg_slotno): Return -1 for FP reg overflow as well.
3298 (function_arg_record_value*): New functions.
3299 (function_arg): Use them. Streamline unprototyped parameter passing.
3300 (function_arg_pass_by_reference): Pass TCmode by reference.
3301 (function_value): New function.
3302 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
3303 long long in 64-bit mode.
3304 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
3305 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
3306 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
3307 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
3308 (BASE_INCOMING_ARG_REG): Likewise.
3309 (FUNCTION_VALUE): Call function_value.
3310 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
3311 * sparc.md (movdi_sp32_v9): Disable for arch64.
3312 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
3313 (call_value_address_sp64): Remove register class constraints.
3314 (call_value_symbolic_sp64): Likewise.
3315 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
3316 v9 case to 32-bit constants.
3317 (goto_handler_and_restore_v9): Provide a version for arch64.
3318 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
3319 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
3320 (CPP_PREDEFINES): New.
3321 * sparc/sp64-elf.h: Likewise.
3322 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
3323 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
3324 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
3325
e40abc32
JL
3326Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
3327
3328 * version.c: Bump for snapshot.
3329
b60a8416
R
3330Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3331
3332 * reload.c (find_reloads): Emit USEs to mark where a pseudo
1e89ac8a 3333 is reloaded with the MEM of its stack slot.
b60a8416
R
3334 * reload1.c (cannot_omit_stores): Delete.
3335 (reload): Don't initialize it.
3336 Don't apply avoid_return_reg logic to USEs.
3337 When done, remove USEs that have a REG_EQUAL note on them.
3338 (emit_reload_insns): Handle case where we have inherited a MEM.
4d3eb414 3339 (choose_reload_regs): Likewise.
b60a8416
R
3340 (delete_output_reload): Don't use cannot_omit_stores.
3341
c1879238
JW
3342Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
3343
3344 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
3345
459b3825
MM
3346Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
3347
3348 * haifa-sched.c (print_{exp,value}): Various changes to make the
3349 debug output easier to read. Also, use only one buffer, and make
3350 sure the buffer we are passed in doesn't overflow.
3351 (safe_concat): Concatenate to a buffer without overflow.
3352
3fe4d12a 3353Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
459b3825
MM
3354
3355 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
3356 with the prototype.
b57062ca 3357
93da030f
R
3358Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3359
3360 * sched.c (new_insn_dead_notes): Check if the register was
3361 used in the original instruction.
3362 * haifa-sched.c (new_insn_dead_notes): Likewise.
3363
0c84c618
JW
3364Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
3365
3366 * dwarf2out.c (scope_die_for): If could not find proper scope,
3367 check for and handle tagged type with incorrect TYPE_CONTEXT.
3368
bf5f0e90
JC
3369Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
3370
3371 * calls.c (expand_call): Fix recognition of C++ operator new.
3372
3373 * alias.c (mode_alias_check): Disable type based alias detection.
3374
a0281dae
GK
3375Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
3376
3377 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
3378 ASM_OUTPUT_WEAK_ALIAS): Define.
3379 * config/mips/elf64.h: Same.
3380 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
3381 ASM_WEAKEN_LABEL): Removed.
3382
55666054
AS
3383Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3384
3385 * calls.c (expand_call): Bump the length limit on the specially
3386 recognized function names to 17.
3387
2cea586a
JW
3388Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
3389
f60d6248
JW
3390 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
3391 when undefining macros at the end.
3392
bf931ec8
JW
3393 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
3394 val or len has TREE_SIDE_EFFECTS set.
3395
2cea586a
JW
3396 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
3397 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
3398 (smuldi3_highpart): Call const v8plus routine.
3399 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
3400 (const_smulsi3_highpart_v8plus): New pattern.
3401 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
3402 (umulsidi3): Call const v8plus routine.
3403 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
3404 routine.
3405 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
3406 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
3407
2b7972b0
MM
3408Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
3409
3410 * m32r.c (*_oper{and|ator}): Change enum arguments and return
3411 values to int, so they can be prototyped even in files that don't
3412 include rtl.h.
3413 ({small,large}_insn_p): Ditto.
3414 (m32r_select_cc_mode): Ditto.
3415 (gen_compare): Ditto.
3416 (function_arg_partial_nregs): Ditto.
3417 (m32r_setup_incoming_varargs): Ditto.
3418 (init_reg_tables): Add prototype.
3419 (m32r_frame_info): Add prolog_size field.
3420 (m32r_compute_frame_size): Calculate the size of the prologue.
3421 (m32r_first_insn_address): Return prologue size.
3422 (m32r_output_function_prologue): Calculate frame size before
3423 printing out information. Print out the prologue size.
3424
3425 * m32r.h: Prototype all functions in m32r.c.
3426 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
3427
3428 * m32r.md (bcc functions): Cast enum's to int.
3429
3430 * m32r.c (conditional_move_operand): Silence a debug message.
3431 ({small,long}_insn): New predicates.
b57062ca 3432
2b7972b0
MM
3433 * m32r.h (TARGET_M32R): New macro.
3434 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
3435 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
3436 was selected.
3437 (ISSUE_RATE): Define as 2.
3438
3439 * m32r.md (insn_size): New attribute.
3440 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
3441 short.
3442 (m32r): New attribute.
3443
3444 * configure.in (enable_haifa): Switch m32r to Haifa by default.
3445 * configure: Regenerate.
3446
3447 (Changes from Nick Clifton <nickc@cygnus.com>)
3448 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
3449 the equivalent of a negated 'I' constraint.
3450 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
3451 optimisation to work.
3452
3453 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
3454 than 'I' since the value is negated.
3455 (peephole): Add peephole optimisation to cope with optimization of
3456 divide and subtracts of the same operands.
3457
3458 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
b57062ca 3459 * m32r.h: Ditto.
2b7972b0
MM
3460 * m32r.md: Ditto.
3461
3462 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
3463 predicates.
3464
bd55c374
MH
3465Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
3466
3467 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
3468
3a6bd8c0
NC
3469Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
3470
3471 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
3472 frame_pointer_rtx not FRAME_POINTER_REGNUM.
3473
0628fde6
JW
3474Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
3475
561cf7b1
JW
3476 * reg-stack.c: Revert last patch (Apr 20).
3477 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
3478
1688d6d2
JW
3479 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
3480
0628fde6
JW
3481 * loop.c (check_dbra_loop): New locals jump, first_compare, and
3482 compare_and_branch. Call get_condition to set first_compare.
3483 Set compare_and_branch to number of compare/branch instructions.
3484 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
3485 Replace '2' with compare_and_branch.
3486
07623417
AM
3487Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
3488
3489 * cplus-dem.c (demangle_qualified): Replace missing else.
3490
97d6fd65
R
3491Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3492
3493 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
3494
3d5a0820
R
3495Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3496
3497 * sh.c (sh_expand_prologue, sh_expand_epilogue):
3498 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
3499 * sh.h (STACK_BOUNDARY): Likewise.
3500
ef41dabb
R
3501Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3502
3503 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3504
14bf4a33
MM
3505Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
3506
22c4957e
MM
3507 * system.h (abort): If abort is not defined, and neither is
3508 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
3509 reporting the line and filename of the error.
3510
3511 * .gdbinit: Add breakpoints on exit and fancy_abort.
3512
563c063f
MM
3513 * final.c (split_double): Avoid a compiler warning if
3514 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
3515
14bf4a33
MM
3516 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
3517 for calling jump_optimize.
3518
3519 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
3520 macros, rather than 0/1's.
3521
5d02ee66
RH
3522Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
3523
3524 * alpha.h (CONST_COSTS): Zero is always free.
3525 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
3526
7bf40741
AS
3527Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3528
3529 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
3530 length in the name of a virtual table.
3531
556ccd9b
RH
3532Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
3533
3534 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
3535
1206d294
JL
3536Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
3537
3538 * version.c: Bump for snapshot.
3539
4f242db3
JL
3540Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
3541
3542 * fold-const.c (fold_convert): Fix typo.
3543
de12be17
JC
3544Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
3545
3546 * alias.c (alias_invariant): New variable.
3547 (record_base_value): New argument INVARIANT.
3548 (memrefs_conflict_p): If a register has an entry in the alias_invariant
3549 array, try substituting that value for the register.
3550
3551 * rtl.h: Declare record_base_value.
3552
3553 * loop.c, unroll.c: Update callers of record_base_value.
3554
3555 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
3556 ZERO_EXTEND do not affect base values.
3557
fe81dd69
JL
3558Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
3559
fb2c5c00
JL
3560 * dbxout.c (dbxout_type): Fix typo.
3561 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
3562
fe81dd69
JL
3563 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
3564
87d1ea79
JC
3565Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
3566
3567 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
3568 if the argument is the address of a structure or array.
3569
3570 * configure.in: Enable Haifa scheduler by default for SPARC.
3571
e89d3e6f
R
3572Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3573
3574 * cse.c (cse_set_around_loop): Don't do optimization when
3575 new pseudos are created.
3576
442f4018
JL
3577Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
3578
3579 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
3580 appropriately.
3581 (dbxout_type_method_1, dbxout_type): Likewise.
3582 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
3583 (dbxout_type): Fix check for when to print a type range in
3584 octal vs decimal.
3585
7174c937
R
3586Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3587
3588 * (gen_shl_and, in case 1): Fix comparison with mask.
3589
0b812758
NC
3590Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
3591
3592 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
3593 pointer as second register in REG+REG pair.
3594
753a73c8
KG
3595Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3596
3597 * c-common.c (check_format_info): Don't check for the 'x' format
3598 character twice, instead check for 'x' and 'X'
3599
4a1991b3
MH
3600Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
3601
3602 * Makefile.in (libgcc2.ready): Add explicit dependancy from
3603 $(STMP_FIXPROTO) to ensure all necessary include files have
3604 been created and to guarantee proper parallel builds.
3605
aec373f1
R
3606Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3607
3608 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
3609 register for stdarg functions.
3610 * sh.h (current_function_varargs): Declare.
3611 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
3612
f5880dbe
JW
36131998-04-23 Jim Wilson <wilson@cygnus.com>
3614
f1f53f0b
JW
3615 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
3616 inhibit_libc is defined.
3617
f5880dbe
JW
3618 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
3619
8ade1519
JW
3620Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
3621
3622 * profile.c (tablejump_entry_p): New function.
3623 (branch_prob): Add code to recognize MIPS tablejump entry branch.
3624 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
3625
a2538ff7
NC
3626Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
3627
3628 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
3629 found, rather than at end of the loop, after the insn has been
b57062ca 3630 changed.
a2538ff7 3631
d0c42859
R
3632Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
3633
3634 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
3635 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
3636
693e265f
MM
3637Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
3638
3639 * loop.c (note_addr_stored): Correct function to take 2 arguments,
3640 instead of 1.
3641
3642 * rtl.def (MATCH_INSN2): Add new matching pattern.
b57062ca 3643 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
693e265f 3644
27eef9ce
JC
3645Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
3646
3647 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
3648 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
b57062ca 3649
27eef9ce
JC
3650 * final.c (split_double): Sign extend both halves of a split CONST_INT.
3651
d972dd33
JL
3652Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
3653
3654 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
3655
5e5199e8
AM
3656Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
3657
3658 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
3659 (cplus_demangle_opname): Call mop_up_squangle.
b57062ca 3660 (cplus_demangle): Initialize squangle info, then call
5e5199e8 3661 internal_cplus_demangle. (Most code moved there as well)
b57062ca 3662 (internal_cplus_demangle): New function, performs most of what use
5e5199e8
AM
3663 to be done in cplus_demangle, but is only called with this file.
3664 (squangle_mop_up): New function to clean up B and K code data.
3665 (mop_up): set pointers to NULL after freeing.
b57062ca 3666 (demangle_signature, demangle_template, demangle_class): Add
5e5199e8
AM
3667 switch elements to handle K and B codes.
3668 (demangle_prefix, gnu_special, demangle_qualified): Add
3669 code to handle K and B codes.
3670 (do_type, demangle_fund_type): Handle B and K codes.
3671 (remember_Ktype): New function to store K info.
3672 (register_Btype, remember_Btype): New functions for B codes.
3673 (forget_B_and_K_types): New function to destroy B and K info.
3674
0dacbd0e
JW
36751998-04-21 Jim Wilson <wilson@cygnus.com>
3676
3677 * stmt.c (check_seenlabel): When search for line number note for
3678 warning, handle case where there is no such note.
3679
4ceb7595
JC
3680Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
3681
3682 * genemit.c (gen_exp): Allow machine description to set mode of
3683 MATCH_OP_DUP.
3684
d09c9385
JC
3685Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
3686
3687 * alias.c (mode_alias_check): New function.
3688 (true_dependence, anti_dependence, output_dependence): Call
3689 mode_alias_check.
3690
1eeed24e
JL
3691Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
3692
d1c17572
JL
3693 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
3694 (MIPS_STACK_ALIGN): Similarly.
3695
a6d7e156
JL
3696 * c-common.c (type_for_mode): Handle TI types.
3697 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
3698 (init_decl_processing): Handle TI types.
3699 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
3700
1eeed24e
JL
3701 * mips.c (block_move_loop): Test Pmode == DImode instead of
3702 TARGET_MIPS64.
3703 (expand_block_move, save_restore_insns): Likewise.
3704 (function_prologue, mips_expand_prologue): Likewise.
3705 (mips_expand_epilogue): Likewise.
3706 * mips.h (POINTER_SIZE): Allow specific targets to override.
3707 (Pmode): Allow specific targets to override.
3708 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
3709 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
3710 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
3711 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
3712 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
3713 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
3714 * mips.md (indirect, tablejump & casesi support): Test for
3715 Pmode == DImode instead of TARGET_MIPS64.
3716 (call patterns): Likewise.
3717
d2f5ef70
KG
3718Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3719
3720 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
3721 for gen_rtx(MEM, ...).
3722
cb85a2f3
RH
3723Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
3724
3725 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
3726 to not be so gross, and to properly function with PIC.
3727
bb27e6c9
JW
3728Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
3729
99b13ed3
JW
3730 * frame.c (heapsort): Rename to frame_heapsort.
3731
bb27e6c9
JW
3732 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
3733
a9a05945
DE
3734Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
3735
3736 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
3737
dc0f0eb8
JW
3738Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
3739
3740 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
3741 operands during and after reload.
3742
95707627
R
3743Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3744
ba70e85a
JR
3745 * final.c (shorten_branches, init_insn_lengths): Move code
3746 to free label_align, uid_shuid, insn_lengths, insn_addresses
3747 and uid_align from the former function into the latter one;
3748 Add code to clear these variables.
3749 * sh.h (label_align): Remove declaration.
95707627 3750
0cd355fe
MM
3751Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
3752
763d7ce8
MM
3753 * gcc.c (lang_specific_driver): Declare prototype properly so
3754 fatal can be passed to it without error.
3755
f55b1ca8
MM
3756 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
3757 * configure: Regenerate.
3758 * config.in: Add #undef's for strchr and strrchr.
3759
3760 * protoize.c (toplevel): If we have rindex, but not strrchr, map
3761 rindex to strrchr.
3762 (file_could_be_converted): Use strrchr, not rindex since rindex is
3763 not defined on Linux systems when _POSIX_SOURCE is defined.
3764 (file_normally_convertible): Ditto.
3765 (process_aux_info_file): Ditto.
3766 (main): Ditto.
3767
0cd355fe
MM
3768 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
3769 a constant to an integer register, don't split the insns that do
3770 the simple AND and OR operations, rather just split each word, and
3771 let the normal movsi define split handle it further.
3772
a0798779
R
3773Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3774
3775 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
3776 (split_branches): Call init_insn_lengths.
3777
ced8dd8c
MM
3778Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
3779
3780 * i386.c: Include expr.h to get the change_address prototype
3781 declared.
b57062ca 3782
f37eb5cb
L
3783Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
3784
3785 * reg-stack.c (subst_asm_stack_regs): Change to return the last
3786 new insn generated by this function.
3787 (subst_stack_regs): Likewise.
3788 (convert_regs): Record the last newly generated insn and use
3789 it for change_stack () instead of INSN.
3790
49fb8382
MH
3791Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
3792
3793 * fix-header.c (enum special_file): Undefine enumerators if they
3794 are already defined by include files.
3795 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
3796 macro with '__' to not pollute user namespace.
3797
c6a754f2
RH
3798Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
3799
3800 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
3801
399cc148
JL
3802Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
3803
3804 * version.c: Bump for snapshot.
3805
84b77fba
JW
3806Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
3807
07415a17
JL
3808 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
3809
84b77fba
JW
3810 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
3811 Add missing -Dpentium* options.
3812 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
3813 instead of CPP_CPU_DEFAULT.
3814 (EXTRA_SPECS): Add entry for cpp_cpu_default.
3815
db72d7a1
DE
3816Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
3817
3818 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
3819 negative in a stackless frame.
3820 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
3821 in stackless frame size. Support 64-bit stackless frame size.
3822 Combine fpmem offset calculations and don't add total_size to
3823 offset if not pushing a stack frame.
3824
a1ecb5ca
JW
3825Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
3826
3827 * regmove.c (fixup_match_1): In three places, in flag_exceptions
3828 check, change p to q.
3829
a2a05b0a
JW
3830Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
3831
3832 * gcc.c (lang_specific_driver): Add new parm type to prototype.
3833 (added_libraries): New file scope static variable.
3834 (process_command): Initialize added_libraries. Pass it to
3835 lang_specific_driver.
3836 (main): Use added_libraries in check for no input files.
b57062ca 3837
284d86e9
JC
3838Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
3839
3840 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
3841 code generation. Use 64 bit instructions in 32 bit mode when
3842 possible. Use V9 return instruction. UltraSPARC optimizations.
3843
3844 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
3845
43be8193
JL
3846Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
3847
ea8693a4
JL
3848 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
3849 just pass zero. That will work regardless of the size of HARD_REG_SET.
3850
43be8193
JL
3851 * libgcc2.c (__floatdisf): Fix a couple typos.
3852
45df6aea
JW
3853Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
3854
3855 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
3856
6cca74ab
GM
3857Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
3858
3859 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
3860
77e6b0eb
JC
3861Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
3862
3863 * emit-rtl.c (operand_subword_force): If a register can not be
3864 accessed by words, copy it to a pseudo register.
3865
27f4cfdb
JW
3866Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
3867
3868 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
3869
f4a73984
MM
3870Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
3871
3872 * tree.h (mark_seen_cases): Delete declaration.
3873
00769100
JL
3874Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
3875
3876 * stmt.c (mark_seen_cases): Make static and add prototype.
3877
2467749d
KG
3878Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3879
3880 * frame.c: Include stdlib.h and unistd.h to possibly get various
3881 function prototypes. The fixproto script guarantees these header
3882 files exist on the target system.
3883 * libgcc2.c: Likewise.
b57062ca 3884
2467749d
KG
3885 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
3886 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
3887 function parameters.
3888 * libgcc2.c (__udiv_w_sdiv): Likewise.
3889
74c5186c
JL
3890Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
3891
ac546323
JL
3892 * varasm.c (asm_output_bss): Add prototype.
3893 (asm_output_aligned_bss): Likewise.
3894
3895 * unroll.c (verify_addresses): Add prototype.
3896
3897 * toplev.c: Add many prototypes. Too many to mention here.
3898
3899 * stmt.c (check_seenlabel): Add prototype.
3900
3901 * rtlanal.c (reg_set_p_1): Add prototype.
3902 (reg_set_last_1): Likewise.
3903
3904 * reorg.c (find_dead_or_set_registers): Add prototype.
b57062ca 3905
ac546323
JL
3906 * regmove (try_auto_increment): Add prototype.
3907
3908 * reg-stack.c (pop_stack): Add prototype.
3909
3910 * recog.c (validate_replace_rtx_1): Add prototype.
3911 (find_cosntant_term_loc): Likewise.
3912
a777ae13
JL
3913 * loop.c (regs_patch_p): Add prototype.
3914 (add_label_notes, count_nonfixed_reads): Likewise.
3915 (find_single_use_in_loop): Likewise.
3916 (express_from): Surround prototype with #ifdef.
3917 (giv_sort): Similarly.
3918
3919 * jump.c (mark_modified_reg): Add prototype.
3920
3921 * haifa-sched.c (is_prisky): Add prototype.
3922 (queue_to_ready): Likewise.
3923
3924 * genextract.c (gen_insn): Add prototype.
3925
3926 * genemit.c (max_operand_1): Add prototype.
3927 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
3928 (gen_expand, gen_explit, output_add_clobbers): Likewise.
3929 (output_init_mov_optab): Likewise.
3930
3931 * genattrtab.c (attr_hash_add_rtx): Add prototype.
3932 (attr_hash_add_string, write_length_unit_log): Likewise.
3933
3934 * genattr.c (init_range): Add prototype.
3935
3936 * combine.c (sets_function_arg_p): Add prototype.
3937
3938 * expr.c (store_constructor_field): Add prototype.
3939 (get_memory_usage_from_modifier): Likewise
3940
3941 * expmed.c (synth_mult): Add prototype.
3942 (choose_multiplier, invert_mod2n): Likewise.
3943
242c13b0
JL
3944 * except.c (push_eh_entry): Add prototype.
3945 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
3946 (call_get_eh_context, start_dynamic_cleanup): Likewise.
3947 (start_dynamic_handler, can_throw): Likewise.
3948 (output_exception_table_entry, scan_region): Likewise.
3949 (eh_regs, set_insn_eh_region): Likewise.
3950
1ad4f46b
JL
3951 * dwarfout.c (decl_class_context): Add prototype.
3952 (output_inheritance_die, type_ok_for_scope): Likewise.
3953
e822c593
JL
3954 * c-lex.c (skip_white_space_on_line): Add prototype.
3955
70fec650
JL
3956 * alias.c (record_set): Add prototype.
3957 (find_base_term, base_alias_check): Likewise.
b57062ca 3958
1ac4f799
JL
3959 * function.c (assign_outer_stack_local): Make static and add prototype.
3960
a2e68776
JL
3961 * haifa-sched.c (build_control_flow): Accept raw data as inputs
3962 instead of computing it locally. Callers changed.
3963 (find_rgns): Several new arguments. Callers changed.
3964 Generally clean up and comment better. Use dominators to
3965 identify reducible loops. Convert some flag arrays to bitmaps.
3966 Convert most of the code to work on pred/succ lists instead of
3967 an edge table. Add comments for future improvements.
3968 (schedule_insns): Allocate temporary tables for flow data, call
3969 routines to compute flow data and pass it along to children as
3970 arguments.
3971 (debug_control_flow): Delete. Use dump_bb_data instead.
3972
97b1ef1c
JL
3973 * basic-block.h (compute_dominators): Declare.
3974
74c5186c
JL
3975 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
3976 functions.
3977 * basic-block.h: Declare them.
3978
7ce55772
JW
3979Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
3980
3981 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
3982 no operands.
3983
e88caebd
APB
3984Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
3985
3986 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
3987 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
3988 node is non NULL. Cache last file name and file name identifier node.
3989
a62e870c
MM
39901998-04-15 Mark Mitchell <mmitchell@usa.net>
3991
3992 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
3993 the length of an array, not TREE_TYPE.
3994
5e89e58b
JL
3995Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
3996
3997 * flow.c (sbitmap_union_of_successors): New function.
3998 * basic-block.h (sbitmap_union_of_successors): Declare it.
3999
df6faf79
JW
4000Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
4001
4002 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
4003 Set gnu_ld to gnu_ld_flag inside main loop.
4004 (gas): Likewise.
4005
5c60e5c0
DB
4006Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
4007
4008 * toplev.c (compile_file): Call init_parse using new interface.
4009 (init_lex): Remove declaration.
4010
4011 * c-lex.c (init_parse): Now returns char* containing filename.
4012
2872409d
JL
4013Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
4014
4015 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
4016
4db83042
MM
4017Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
4018
4019 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
4020 (gen{extract,peep,opinit,output}): Ditto.
4021
4022 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
4023 global definition so print-rtl.o can be linked in.
4024 * gen{peep,recog}.c (insn_attr_name): Ditto.
4025
9aeba741
RP
4026Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
4027
4028 * fixincludes: discard empty C++ comments, as found in sys/time.h
4029 on hpux-11.0.
4030
7878eae7
AS
4031Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4032
4033 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
4034 operand.
4035
fcb7cb6c
JL
4036Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
4037
4038 * emit-rtl.c (operand_subword): Rework slightly to avoid
4039 bogus warning from previous change.
4040
47747e53
RH
4041Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
4042
4043 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
4044 Nov 8 find_replacement change. Move decls of get_unaligned_address
4045 * alpha.h: ... here.
4046
8450a694
JC
4047Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
4048
7940255d
JC
4049 * function.c (assign_parms): Initialize unsignedp before passing
4050 its pointer to promote_mode.
4051
8450a694
JC
4052 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
4053 (write_test_expr): Allow MATCH_INSN.
4054
c70afde1
PE
4055Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
4056
4057 * install.texi: Update section on warnings that can be safely ignored.
4058
cf877a42
JW
4059Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
4060
4061 * mips.md (reload_outdi): Change the scratch mode from DImode to
4062 TImode. New variable scratch, used instead of operand[2] in template.
4063 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
4064
996d9dac
MM
4065Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
4066
4067 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
4068
de2d990f
KW
4069Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
4070
4071 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
4072
d5daf098
JL
4073Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
4074
6862dfac
JL
4075 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
4076 (ASM_FINISH_DECLARE_OBJECT): Likewise.
4077
b7cb92ad
JL
4078 * Idea and part of the patch from HJ.
4079 * Makefile.in: auto-host.h renamed from auto-config.h. All references
4080 changed.
4081 (distclean): Remove auto-build.h too.
4082 * configure.in: Rename host autoconf generated file to auto-host.h.
4083 If host != build, then run autoconf to generate auto-build.h for
4084 the build machine and include it in build_xm_files.
4085 Check for wait.h and sys/wait.h.
4086
d5daf098
JL
4087 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
4088 TRULY_NOOP_TRUNCATION.
4089
7d02bbef
JM
4090Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
4091
4092 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
4093
4754172c
CM
4094Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
4095
4096 * invoke.texi (ld options) Include memset requirements
4097 for options -nodstdlib and -nodefaultlibs.
4098
bb72a084
PE
40991998-04-12 Paul Eggert <eggert@twinsun.com>
4100
4101 This change is from an idea suggested by Arthur David Olson.
4102
4103 * c-common.c (decl_attributes, record_function_format,
4104 check_format_info, init_function_format_info):
4105 Add support for strftime format checking.
4106 (enum format_type): New type.
4107 (record_function_format): Now static, and takes value of type
4108 enum format_type instead of int.
4109 (time_char_table): New constant.
4110 (struct function_format_info): format_type member renamed from is_scan.
4111 (check_format_info): Use `warning' rather than sprintf followed by
4112 `warning', to avoid mishandling `%' in warnings.
4113 Change `pedwarn' to `warning', since these warnings do not necessarily
4114 mean the program does not conform to the C Standard, as the code
4115 need not be executed.
4116
4117 * c-tree.h (record_function_format): Remove decl; no longer extern.
4118
4119 * extend.texi: Add documentation for strftime format checking.
4120
1be12a4a
JL
4121Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
4122
71922625
JL
4123 * mips/ecoffl.h: Do not include mips.h.
4124 * mips/elf.h: Likewise.
4125
1be12a4a
JL
4126 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
4127 * mips/ecoff.h: Include "mips/mips.h".
4128
9fe69077
JL
4129Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
4130
4131 * version.c: Bump for snapshot.
4132
c6a26dc4
JL
4133Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
4134
4135 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
4136 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
4137 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
4138 between loop optimization passes.
4139 * rtl.h: Updated appropriately.
4140
bbb81923
JL
4141Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
4142
4143 Reinstall this patch from Jason.
4144 * function.c (push_function_context_to): Don't call init_emit.
4145
29cb1e1f
NC
4146Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
4147
4148 * rtl.c (read_skip_spaces): Prevent infinite loops upon
4149 encountering unterminated comments.
4150
3f518020
JL
4151Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
4152
4153 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
4154 64x32 cross builds.
4b104d6e
JL
4155
4156 * configure.in: Handle --with-fast-fixincludes.
4157 (fixincludes): If --with-fast-fixincludes, then use a different
4158 fixincludes program by default.
4159 * Makefile.in (fixinc.sh): New rule.
4160
b76c90cf
L
4161Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
4162
4163 * i386.md (movqi+1): Handle invalid QI register.
4164 (movsf_push-1): Likewise.
4165
2e076ddf
NC
4166Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
4167
4168 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
4169 addresses.
4170 symbolic_memort_operand(), call32_operand(), int8_operand(),
4171 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
4172 Not used.
4173 uint16_operand(): Made static.
4174
b1d6ccb8
JL
4175Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
4176
4177 * calls.c (expand_call): Fix typo.
4178
e56e519d
DB
4179Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
4180
4181 * c-lex.c (finput): New global.
4182 (init_parse): Always included. Handle !USE_CPPLIB using
4183 code originally in compile_file.
4184 (finish_parse): Update for CPPLIB.
4185 * toplev.c (init_parse, finish_parse): Declare.
4186 (finput): Delete variable. Now in front-ends.
4187 (compile_file): Remove code which is now handled by init_parse
4188 which is unconditionally called. Similarly for finish_parse.
4189
85d7aed9
GK
4190Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
4191
4192 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
4193 ASM_WEAKEN_LABEL): Add.
4194
574badbc
RH
4195Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
4196
4197 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
4198 * configure.in (alpha-*-linux*): Use them.
4199
bf1e5319 4200Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
b57062ca 4201
bf1e5319
APB
4202 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
4203 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
4204 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
4205 (build_expr_wfl): New prototype declaration.
4206 * tree.c (build_expr_wfl): New function, to build
4207 EXPR_WITH_FILE_LOCATION nodes.
4208 (copy_node): Don't zero TREE_CHAIN if copying a
4209 EXPR_WITH_FILE_LOCATION node.
4210 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
4211 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
4212
ee5254ff
JL
4213Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
4214
62db76ee
JL
4215 * configure.in (v850): Use t-v850.
4216 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
4217
10a998b0
JL
4218 * protoize.c (creat, read, write): Do not declare.
4219
e105f02c
JL
4220 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
4221 refer to the CODE_LABEL before a dispatch table.
4222
56b2d7a7
JL
4223 * invoke.texi: Add ARC options.
4224
c74c0cff
JL
4225 * gcc.c (proces_command): Improve error message for -o with
4226 either -c or -S.
4227
2d58da15
JL
4228 * i386/x-cygwin32 (CLIB): Link in advapi32.
4229
40ef2fc5
JL
4230 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
4231 (ASM_IDENTIFY_LANGUAGE): Likewise.
4232
df89b5e7
JL
4233 * i386.md (movqi recognizer): Don't perfom byte increment into
4234 a NON_QI_REG_P.
4235
f09ff199
JL
4236 * configure.in (x86-dg-dgux): Run fixinc.dgux.
4237
df89b5e7 4238 * i370.h: Fix typo in GEN_INT changes.
f962b99f 4239
c3709629
JL
4240 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
4241 of an empty arglist in prototype.
4242
ee5254ff
JL
4243 * Makefile.in: Remove bytecode crud that crept back in after the
4244 gcc2 merge.
4245
0806342b
BK
42461998-04-08 Brendan Kehoe <brendan@cygnus.com>
4247
4248 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
4249 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
4250
6f734908
RE
4251Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
4252
4253 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4254
56c0e996
BS
4255Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
4256
4257 * c-lex.c (is_class_name): Delete declaration.
4258 (whitespace_cr): Make static and add prototype.
4259 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
4260 yylex, get_directive_line): Turn declarations into prototypes.
4261 (position_after_whitespace, check_newline, yyerror,, is_class_name,
4262 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
4263 prototypes.
4264 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
4265 prototypes.
4266 * gencodes.c (gen_insn): Add prototype.
4267 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
4268 gen_peephole): Add prototypes.
4269 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
4270 prototypes.
4271 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
4272 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
4273 genheader, gencode): Add prototypes.
4274 * genopinit.c (gen_insn): Add prototype.
4275 * genoutput.c (output_prologue, output_epilogue, scan_operands,
4276 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
4277 gen_expand, gen_split, n_occurrences): Add prototypes.
4278 * genpeep.c (gen_peephole): Add prototype.
4279 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
4280 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
4281 labels_in_range_p, count_loop_regs_set, note_addr_stored,
4282 loop_reg_used_before_p, scan_loop, replace_call_address,
4283 skip_consec_insns, libcall_benefit, ignore_some_movables,
4284 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
4285 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
4286 check_final_value, record_giv, update_giv_derive, basic_induction_var,
4287 simplify_giv_expr, general_induction_var, consec_sets_giv,
4288 check_dbra_loop, express_from, combine_givs_p, combine_givs,
4289 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
4290 last_use_this_basic_block, record_initial, update_reg_last_use,
4291 iteration_info, analyze_loop_iterations, insert_bct,
4292 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
4293 into prototypes.
4294
cc46ae8e
JL
4295Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
4296
4297 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
4298
e7d075bf
KR
42991998-04-07 Ken Raeburn <raeburn@cygnus.com>
4300
4301 * config/mips/mips.c (siginfo): Deleted.
4302 (override_options): Don't install SIGINFO signal handler.
4303
668d07be
JW
4304Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
4305
4306 * loop.c (check_dbra_loop): When normalize comparison_val, add check
4307 to verify it is non-negative.
4308
cd36edbd
RH
4309Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
4310
4311 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
4312 (alpha_expand_block_clear): Likewise.
4313
e814ca97
RH
4314Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
4315
4316 * tree.h (sizetype_tab): Fix previous change for K&R.
4317
f1d9e6d2
JL
4318Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
4319
4320 * version.c: Bump for snapshot.
4321
22ec3928
RE
4322Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
4323
4324 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
4325 Add USG and POSIX to xm_defines.
4326
10da1131
BM
4327Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
4328
4329 * gcc.c: Add linker spec.
4330 (link_command_spec): Use %(linker) instead of ld.
4331 (main): If collect2 is requested as the linker, see if it exists;
4332 if not, use ld instead.
4333
4334 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
4335 (ld:) Deleted.
4336 (install-collect2): Install as collect2, not ld.
4337
4338 * configure.in(will_use_collect2): It's named collect2 now.
4339
4340 * collect2: Remove checks to see if we were invoked recursively.
4341 (collect_execute): Use _spawnvp under cygwin32.
4342
a8afd67b
JW
4343Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
4344
4345 * haifa-sched.c (build_control_flow): Set unreachable for block whose
4346 only predecessor is itself.
4347
944fc8ab
KG
4348Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4349
4350 * c-parse.in: Include system.h, and remove stuff now made redundant.
4351 * cccp.c: Likewise.
4352 * cexp.y: Likewise.
4353 * protoize.c: Likewise. Properly check for cpp stringification.
4354
4355 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
b57062ca 4356 Depend on system.h.
944fc8ab
KG
4357
4358 * objc/Make-lang.in (objc-parse.o): Likewise.
4359
3286ab57
KG
4360Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4361
4362 * gansidecl.h: Check if compiler supports __attribute__. Provide
4363 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
4364 __attribute__ when its available. Also provide definitions for
4365 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
4366 terms of ATTRIBUTE_PRINTF.
b57062ca 4367
3286ab57
KG
4368 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
4369 of __attribute__.
4370
d276f2bb
CM
4371Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
4372
4373 * combine.c (can_combine_p): Include successor in volatile test.
4374
64ad9df2
R
4375Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4376
4377 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
4378 offset_unsigned.
4379
dc544d2c
JL
4380Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
4381
4382 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
4383 in prototype and definition.
b57062ca 4384
38c413cd
JL
4385Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
4386
4387 * version.c: Bump for snapshot.
4388
59dd0a31
RH
4389Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
4390
b57062ca 4391 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
59dd0a31
RH
4392 alpha_expand_unaligned_store_words.
4393
f31fce3f
JW
4394Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
4395
4396 * i386.md (movsf_push, movsf_mem): Remove.
4397 (movsf_push): Rename from movsf_push_nomove and move in front of
4398 movsf. Use nonmemory_operand predicate and don't bother checking
4399 TARGET_MOVE.
4400 (movsf_push_memory): New pattern.
4401 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
4402 both operands refer to memory then force operand[1] into a register.
4403 (movsf_normal): Change to unnamed pattern.
4404 Likewise for movdf, movxf, and friends.
4405
27ebc03e
JL
4406Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
4407
4408 * version.c: Bump for snapshot.
4409
6ecd4e53 4410Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
98bd9f0f 4411
6ecd4e53 4412 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
98bd9f0f 4413
b57062ca 4414Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
ac08ebd0 4415
6ecd4e53 4416 * configure.in (mips-wrs-vxworks): New target.
ac08ebd0 4417
6ecd4e53 4418Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
f4a788ac 4419
f3978531
JL
4420 * expmed.c (synth_mult): The value -1, has no zeros, so it can
4421 never have the form ...011.
4422
f4a788ac
JL
4423 * version.c: Bump for snapshot.
4424
5cb6195d
RH
4425Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
4426
4427 * i386.c (asm_output_function_prefix, load_pic_register):
4428 Use ASM_GENERATE_INTERNAL_LABEL properly.
4429 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
4430 (print_operand): Ignore it.
4431 (load_pic_register): Use it for the got load call.
4432 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
4433 (prologue_get_pc_and_set_got): Likewise.
4434 * i386.h: Update print_operand docs.
4435
ce193852
RH
4436Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
4437
4438 * i386.md (ffssi, ffshi): Rewrite as define_expands.
4439 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
4440 * i386.c (notice_update_cc): Recognize unspec 5.
4441
0022a940
DMT
4442Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
4443
4444 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
4445 * alpha.c (print_operand): Handle it.
4446 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
4447 for ALPHA_TP_INSN.
4448 (fix_truncdfdi2): Likewise.
4449
896cced4
RH
4450Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
4451
4452 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
4453 of these into a single struct, with additional [us]sizetype entries.
4454 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
4455 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
4456 an array.
4457
8983c716
RH
4458Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
4459
4460 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
4461
4ed43ff8
RH
4462Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
4463
4464 * haifa-sched.c (split_block_insns): Don't supress insn splitting
4465 on subsequent passes.
4466
4467 * alpha.c (hard_fp_register_operand): New function.
4468 * alpha.h (PREDICATE_CODES): Add it.
4469 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
4470 f<-m case and accompanying define_split.
4471 (trapb): Use a unique unspec_volatile number.
4472
8e7bc3cd
RH
4473Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
4474
4475 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
4476 from gcc2 merge.
4477
e5e809f4
JL
4478Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
4479
4480 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
4481 for details.
4482
4483 * haifa-sched.c: Mirror recent changes from gcc2.
4484
516c2342
JL
4485Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
4486
e9eaed43
JL
4487 * Makefile.in (insn*.o): Depend on system.h.
4488
516c2342
JL
4489 * pa.c (output_global_address): Initialize base.
4490 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
4491
7cc34889
MS
44921998-04-03 Mike Stump <mrs@wrs.com>
4493
4494 * gthr.h: Support systems that don't have weak, but have threads.
4495 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
4496 * gthr-vxworks.h: New file.
4497 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
4498
52c18286
JW
4499Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
4500
4501 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
4502
c1ac292d
VM
45031998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
4504
4505 * ginclude/va-i960.h (va_end): Change void * to void.
4506
4cb1caaf
KG
4507Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4508
4509 * Makefile.in (choose-temp.o): Depend on system.h.
4510
4511 * choose-temp.c: Include system.h when IN_GCC.
4512
a9a2595b
JR
4513Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
4514 Richard Henderson <rth@cygnus.com>
4515
4516 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
4517 (move_replacements): New function.
4518 * reload.h: Prototype it.
b57062ca 4519
a9a2595b 4520 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
b57062ca 4521
79363e2f
RH
4522Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
4523
4524 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
4525 Run fixincludes.
4526
4901a643
RH
4527 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
4528 (gen_highpart): Likewise.
ce4d78eb
RH
4529 * final.c (alter_subreg): Allow the target to hook by-mode subreg
4530 hard register number changes.
b57062ca 4531
715f9c99
JL
4532Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
4533
4e86caed
JL
4534 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
4535 rnbitsize, rnmode and rinner.
4536 (make_range): Initialize type.
4537 (fold): Initialize arg0, arg1 and varop.
4538
4539 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
4540 and regnor.
4541 (expand_function_start): Initialize last_ptr.
4542
4543 * stor-layout.c (layout_record): Initialize desired_align.
4544 (get_best_mode): Initialize unit.
4545
4546 * tree.c (copy_node): Initialize length.
4547
aefdd5ab
JL
4548 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
4549
4550 * caller-save.c (insert_save_restore): Initialize pat, code and
4551 numregs.
4552
4553 * emit-rtl.c (push_to_sequence): Initialize top.
4554 (push_topmost_sequence): Likewise.
4555
4556 * genattrtab.c (simplify_by_exploding): Initialize defval.
4557
4558 * profile.c (branch_prob): Initialize dest.
4559
4560 * rtl.h (note_stores): Remove duplicate prototype.
4561 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
4562
4563 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
4564 strings that are not actually lengths.
4565
729da3f5
JL
4566 * genattrtab.c: Make generated file use system.h, instead of
4567 including stdio.h, etc directly.
4568 * genextract.c, genopinit.c, genoutput.c: Likewise.
4569 * genpeep.c, genrecog.c: Likewise
4570
4571 * genoutput.c (process_template): Mark operands in the generated
4572 function as potentially unused if compiling with GNU CC.
4573
2a8034f8
JL
4574 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
4575
715f9c99
JL
4576 * pa.md (reload peepholes): Remove unused variable "mode".
4577
75d3a15b
NC
4578Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
4579
4580 * config/arm/thumb.h: Add super interworking support.
4581 * config/arm/thumb.c: Add super interworking support.
4582 * config/arm/thumb.md: Add super interworking support.
75d3a15b
NC
4583 * config/arm/lib1funcs.asm: Add interworking support.
4584 * config/arm/lib1thumb.asm: Add super interworking support.
75d3a15b
NC
4585 * config/arm/t-semi: Add interworking support.
4586 * config/arm/t-thumb: Add interworking support.
75d3a15b 4587 * config/arm/README-interworking: New file.
b57062ca 4588
63959c22
JW
4589Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
4590
4591 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
4592 (MD_STARTFILE_PREFIX): Unset.
4593
c651e1e0
MM
45941998-04-01 Mark Mitchell <mmitchell@usa.net>
4595
4596 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
4597 entity in a local scope.
4598
4599 * fold-const.c (fold): Call truthvalue_conversion for values which
4600 are folded to boolean type.
4601
3a598fbe
JL
4602Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
4603
4604 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
4605 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
4606 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
4607 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
4608 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
4609 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
4610 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
4611 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
4612 * md.texi: Likewise.
4613
b5026c50
MH
4614Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
4615
4616 * fixincludes (limits.h): Fix nested comments in Motorola's
4617 limits.h and sys/limits.h.
4618
c8d86b9a
JW
4619Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
4620
1a7cb241
JW
4621 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
4622 as dest of expand_binop call.
4623
221a9f65
JW
4624 * alpha.md (extzv): Correct check for valid operand[2] values.
4625
a7ebd547
JW
4626 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
4627 branch.
4628
c8d86b9a
JW
4629 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
4630
97be8f06
SC
4631Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
4632
4633 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
4634 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
b57062ca 4635
97be8f06
SC
4636 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
4637 cygwin32 can override this to allow both unix and win32 style PATHs.
4638
4639 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
4640 style environment paths.
b57062ca 4641
b04cd507
KG
4642Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4643
4644 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
4645 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
4646 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
4647 system.h.
b57062ca 4648
b04cd507
KG
4649 * cpphash.c: Include config.h.
4650 * cppalloc.c: Include system.h. Add parameters to various
4651 function prototypes.
4652 * cpperror.c: Likewise.
4653 * cppexp.c: Likewise.
4654 * cpphash.c: Likewise.
4655 * cpplib.c: Likewise.
4656 * cppmain.c: Likewise.
4657 * fix-header.c: Likewise.
4658 * gcov.c: Likewise.
4659 * gen-protos.c: Likewise.
4660 * gengenrtl.c: Likewise.
4661 * halfpic.c: Likewise.
4662 * hash.c: Likewise.
4663 * scan-decls.c: Likewise.
4664 * scan.c: Likewise.
4665
1aa5d112
JW
4666Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
4667
4668 * README.gnat: Add lang_print_xnode definition.
4669
e18db50d
AS
4670Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4671
4672 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
4673 fmovecr on the 68060.
4674
c0d45032
JL
4675Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
4676
4677 * genemit.c (DONE): Rework so that it works in the true arm if
4678 an if-else conditional.
4679 (FAIL): Likewise.
4680
31ed227b
JL
4681Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
4682
c3670418
JL
4683 * rs6000.c: Do not include stdioh or ctype.h anymore.
4684
234042f4
JL
4685 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
4686 $(RTL_H).
4687 (stor-layout.o): Likewise.
4688 * c-typeck.c: Include rtl.h and expr.h.
4689 * stor-layout.c: Likewise.
4690
72e19470
JL
4691 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
4692 All callers changed.
4693 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
4694 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
4695 All callers changed.
4696
40c3a857
JL
4697 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
4698
c80150b7
JL
4699 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
4700
31ed227b
JL
4701 * tree.h (lang_print_xnode): Provide prototype.
4702
fe776296
JL
4703Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
4704
4705 * version.c: Bump for snapshot.
4706
f1b03ce1
JL
4707Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
4708
3ac2735b
JL
4709 * objc/sendmsg.c (__objc_block_forward): Add braces for return
4710 value if INVISIBLE_STRUCT_RETURN.
4711
f2b147f7
JL
4712 * pa.c (arith_double_operand): Fix parens.
4713
c4fa3460
JL
4714 * haifa-sched.c (print_pattern): Correct arg to sprintf.
4715
f1b03ce1
JL
4716 * Makefile.in (libgcc1.null): Make return type for __foo void.
4717
2e61a5a5
JL
4718Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
4719
ba0b8436
JL
4720 * pa.h: Add declarations for many functions defined in pa.c.
4721
67ac5957
JL
4722 * genpeep.c (main): Remove unused variable 'i' from the generated
4723 file.
4724
c38d8c5b
JL
4725 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
4726 (gen_split): Likewise.
4727 (main): Rework generated definitions of DONE and FAIL so that they
4728 no longer use gotos. Avoids warnings about unused labels.
4729
d6e6c585
JL
4730 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
4731 unused "junk" variable.
4732
2e61a5a5
JL
4733 * genattrtab.c (write_complex_function): Add a default case in
4734 generated switch statement to keep -W -Wall quiet.
4735
0b26e56d
NC
4736Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
4737
157a620e
NC
4738 * invoke.texi: Document more ARM and Thumb command line options.
4739
0b26e56d
NC
4740 * config/arm/xm-thumb.h: New file.
4741
600a4ce7
CB
4742Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
4743
4744 * stmt.c (expand_expr_stmt): Must generate code for
4745 statements within an expression (gcc's `({ ... )}')
4746 even if -fsyntax-only.
4747
4d1d8045
BS
4748Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
4749 Jeffrey A Law (law@cygnus.com)
4750
4751 * basic-block.h (basic_block_computed_jump_target): Declare.
4752 * flags.h: (current_function_has_computed_jump): Declare.
4753 * flow.c: (basic_block_computed_jump_target): Define.
4754 (flow_analysis): Allocate it. Set current_function_has_computed_jump
4755 to 0.
4756 (find_basic_blocks): Set current_function_has_computed_jump and
4757 elements of basic_block_computed_jump_target to 1 as appropriate.
4758 * function.c: (current_function_has_computed_jump): Define.
4759 * global.c (global_conflicts): Don't allocate pseudos into stack regs
4760 at the start of a block that is reachable by a computed jump.
4761 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
4762 immediately.
4763 (subst_stack_regs): Undo change from Sep 4 1997.
4764 (uses_reg_or_mem): Now unused, deleted.
4765 * stupid.c (stupid_life_analysis): Compute
4766 current_function_has_computed_jump.
4767 (stupid_find_reg): Don't allocate stack regs if the function has a
4768 computed goto.
4769 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
4770 the current function has a computed jump. Use the global value
4771 instead.
4772
56f28b73
JL
4773Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
4774
4775 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
4776 (DWARF2_UNWIND_INFO): Define to zero.
4777
6ed4bb9a
MM
4778Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
4779
4780 * gcc.c (set_std_prefix): Add declaration.
4781 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
4782 suffix, and update the standard prefix prefix.c uses.
4783
4784 * prefix.c (std_prefix): New global to hold default prefix value.
4785 (get_key_value): Change to use std_prefix instead of PREFIX.
4786 (translate_name): Ditto.
4787 (update_path): Ditto.
4788 (get_key_value): Release allocated scratch storage.
4789 (set_std_prefix): New function to reset the standard prefix.
4790
1f3fa20e
R
4791Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4792
7daa142b 4793 * sh.c (find_barrier): Fix calculations for alignment increase.
1f3fa20e 4794
d8a0154e
MH
4795Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
4796
4797 * Makefile.in (stmp-fixinc): If we're actually fixing include
4798 files, copy gcc's assert.h into the fixed include dir.
4799 * fixincludes (assert.h): Avoid any attempts to fix a probably
4800 broken system specific assert.h file.
4801 * fixproto (stdlib.h): Make sure, it'll contain a definition of
4802 size_t.
4803
64d3b4ca
JL
4804Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
4805
4806 * regclass.c (reg_scan_mark_refs): Be more selective about
4807 when we mark a register with REGNO_POINTER_FLAG.
4808
e6e52be0
R
4809Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4810
4811 reload inheritance improvement:
4812 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
4813 Change meaning: index is now hard reg number.
4814 (reg_reloaded_valid, reg_reloaded_dead): New variables.
4815 (reload_spill_index): Content is now a hard reg number.
4816 (reload_as_needed): Change to fit new variable meaning.
4817 (forget_old_reloads_1, allocate_reload_reg): Likewise.
4818 (choose_reload_regs, emit_reload_insns): Likewise.
4819
812f2051
R
4820Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4821
4822 * regclass.c (record_reg_classes): '?' increases cost by two.
4823
4824 * reload.c (find_reloads): Double previous costs. Output
4825 reloads cost one unit extra.
4826
4827 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
4828 boiled down to && ! 0.
4829
4830 * reload.c (find_equiv_reg): Also consider a goal offset from the
4831 frame pointer to be constant.
4832
04d02ece
R
4833Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4834
4835 * sh.h (OPTIMIZATION_OPTIONS): Define.
4836
6f28d3e9
RH
4837Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
4838
4839 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
4840
b09fa787
JL
4841Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
4842
4843 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
4844
a16b4c9c
JW
4845Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
4846
4847 * c-common.c (check_format_info): Initialize type, is_type. New local
4848 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
4849 when pedantic if used with integral format specifier.
4850
c4d38ccb
MM
4851Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
4852
4853 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
4854 direction.
4855 (function_arg_padding): Declare.
4856
4857 * rs6000.c: Include system.h.
4858 (function_arg_padding): Change return type to int, cast enum's to
4859 int.
4860
4861 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
4862 * collect2.c (scan_prog_file): Add explicit braces to avoid
4863 ambiguous `else'.
b57062ca 4864
c4d38ccb
MM
4865 * dbxout.c (dbxout_type_fields): Add braces around empty body in
4866 an if-statement.
4867 (dbxout_type): Likewise.
b57062ca 4868
c4d38ccb
MM
4869 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
4870 `ptt_size' from int to size_t.
4871 (rs6000_file_start): Likewise for `i'.
4872 (rs6000_replace_regno): Add default case in enumeration switch.
4873 (output_epilog): Remove unused variable `i'.
4874 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
4875 and `reg2'.
b57062ca 4876
c4d38ccb
MM
4877 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
4878 initializer.
4879 (get_issue_rate, non_logical_cint_operand): Add prototype.
4880 (rs6000_output_load_toc_table): Ditto.
b57062ca 4881
c4d38ccb
MM
4882 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
4883 `else'.
b57062ca 4884
e98e406f
NC
4885Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
4886
4887 * config/arm/thumb.c: New File. Support for ARM's Thumb
b57062ca 4888 instruction set.
e98e406f
NC
4889 * config/arm/thumb.h: New File. Thumb definitions.
4890 * config/arm/thumb.md: New File. Thumb machine description.
4891 * config/arm/tcoff.h: New File. Thumb COFF support.
4892 * config/arm/t-thumb: New File. Thumb makefile fragment.
4893 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
4894
4895 * configure.in: Add Thumb-coff target.
4896 * configure: Add Thumb-coff target.
4897 * config.sub: Add Thumb-coff target.
4898
8cf619da
JW
4899Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
4900
4901 * loop.c (scan_loop): Initialize move_insn_first to zero.
4902
fe0714d3
JS
4903Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
4904
4905 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
4906 * config/i386/rtems.h: Likewise.
4907 * config/i960/rtems.h: Likewise.
4908 * config/m68k/rtems.h: Likewise.
4909 * config/mips/rtems64.h: Likewise.
4910 * config/pa/rtems.h: Likewise.
4911 * config/rs6000/rtems.h: Likewise.
4912 * config/sh/rtems.h: Likewise.
4913 * config/sparc/rtems.h: Likewise.
4914
428be702
RK
4915Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4916
4917 * pa.c (emit_move_sequence): If in reload, call find_replacement.
4918
ae8c5963
NC
4919Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
4920
2ea9a965
NC
4921 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
4922
ae8c5963
NC
4923 * collect2.c (find_a_file): Add debugging.
4924 (find_a_file): Test for win32 style absolute paths if
4925 DIR_SERPARATOR is defined.
4926 (prefix_from_string): Add debugging.
4927 (main): Test for debug command line switch at start of program
b57062ca 4928 execution.
ae8c5963 4929 (main): Use GET_ENVIRONMENT rather than getenv().
72cf6902
NC
4930 (prefix_from_env): Use GET_ENVIRONMENT.
4931
050367a3
MM
49321998-03-24 Mark Mitchell <mmitchell@usa.net>
4933
4934 * cplus-dem.c (optable): Add sizeof.
4935 (demangle_template_value_parm): New function containing code
4936 previously found in demangle_template.
b57062ca 4937 (demangle_integral_value): New function which handles complicated
050367a3
MM
4938 integral expressions.
4939 (demangle_template): Use them.
4940
0b93b64e
KG
4941Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4942
4943 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
4944 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
4945 genattrtab.o, genoutput.o): Depend on system.h.
b57062ca 4946
0b93b64e
KG
4947 * genattr.c: Include system.h. Add arguments to various function
4948 prototypes. Remove redundant prototype of read_rtx().
4949 * genattrtab.c: Likewise.
4950 * gencodes.c: Likewise.
4951 * genconfig.c: Likewise.
4952 * genemit.c: Likewise.
4953 * genextract.c: Likewise.
4954 * genflags.c: Likewise.
4955 * genopinit.c: Likewise.
4956 * genoutput.c: Likewise.
4957 * genpeep.c: Likewise.
4958 * genrecog.c: Likewise.
4959
bc289659
ML
49601998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
4961
4962 * c-lang.c (lang_print_xnode): New function.
4963 * objc/objc-act.c (lang_print_xnode): Likewise.
4964 * print-tree.c (print_node): Call it
4965
990ac8d7
L
4966Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
4967
4968 * c-parse.in: Recognize protocol qualifiers in class
4969 definitions for objc.
4970 Include "output.h".
4971 (yyerror): Remove redundant decl.
4972 (yyprint): Fix prototype.
4973
65d98182
JL
4974Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
4975
47a0b68f
JL
4976 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
4977
65d98182
JL
4978 * stmt.c (unroll_block_trees): Free block_vector if needed.
4979
3cac0a21
PDM
4980Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
4981
4b8bef1d
PDM
4982 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
4983 (zero_extendsidi2): Avoid useless copy.
4984 (iordi_zext): New pattern.
4985 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
4986 operand 2.
4987 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
4988
3cac0a21
PDM
4989 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
4990 (ashldi3): Allow constant shift count in range ]32,63].
4991 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
4992
4da05956
MM
49931998-03-22 Mark Mitchell <mmitchell@usa.net>
4994
4995 * tree.h (IS_EXPR_CODE_CLASS): New macro.
4996
545f2aab
JL
4997Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
4998
4999 * h8300.h (CONST_COSTS): Remove definition.
5000 (DEFAULT_RTX_COSTS): Define.
5001
eef15f9f
JS
5002Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
5003
5004 * config/sh/rtems.h: Switched from ELF to COFF.
5005
4bca6986
R
5006Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5007
5008 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
5009
8ca77a11
JL
5010Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
5011
5012 * version.c: Bump for snapshot.
5013
e09e14e9
NC
5014Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
5015 Geoff Noer <noer@cygnus.com>
5016
5017 * Makefile.in: Various fixes for building cygwin32 native toolchains.
5018
35d541d4
NC
5019 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
5020 * objc/Make-lang.in: Likewise.
5021
4a0cf2aa
NC
5022 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
5023
535b86ce
G
5024Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
5025
5026 * configure.in: Handle with-PACKAGE=no correctly
5027
670ee920
KG
5028Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5029
5030 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
5031 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
5032 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
5033 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
5034 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
5035 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
5036 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
5037 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
5038 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
5039 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
5040 on system.h.
5041
5042 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
5043 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
5044 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
5045 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
5046 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
5047 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
5048 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
5049 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
5050 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
5051 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
5052 xcoffout.c: Include system.h. Organize include ordering so
5053 that stdarg/varargs comes before other system headers. Remove
5054 spurious casts of functions assured of a prototype in system.h.
5055
7aa74e4c
SC
5056Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
5057
5058 * reg-stack.c (pop_stack): Define. Pops any register on the
5059 regstack and adjusts regstack.
5060 (compare_for_stack_reg): Use pop_stack.
b57062ca 5061
d005a5a4
JL
5062Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
5063
5064 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
5065 config too.
5066
ba3ad5e0
PDM
5067Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
5068
09b4ce12
PDM
5069 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
5070
ba3ad5e0
PDM
5071 * fold-const.c (fold): Replace sign-extension of a zero extended
5072 value by a single zero extension.
5073
6e1f1f93
JM
5074Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
5075
5076 * except.c (init_eh): Do nothing.
5077 (save_eh_status): Call init_eh_for_function, not init_eh.
5078 * function.c (push_function_context_to): Don't call init_emit.
5079
838b0e4e
MM
5080Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
5081
5082 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
5083 and EABI.
5084
ecb06768
KG
5085Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5086
5087 * final.c (shorten_branches): Add parentheses around +/- in
5088 operand of &.
5089
5090 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
5091
dfba7a1b
MH
5092Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
5093
5094 * regclass.c (memory_move_secondary_cost): Wrap uses of
5095 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
5096 with #ifdef tests.
5097
4faca093
MH
5098Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
5099
5100 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
5101
5102 * flow.c (life_analysis): #include <sys/types.h> to make sure
5103 size_t is defined.
5104 * cplus-dem.c (demangle_function_name): Likewise.
5105
af7da199
MH
5106Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
5107
5108 * final.c (insn_noperands): Change type to unsigned int.
5109 (final_scan_insn): Likewise for noperands;
5110 properly check operand number boundaries.
5111
10a25232
RH
5112Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
5113
5114 * alpha.md (extzv): Don't reject register operands. Fix
5115 mode of operand 1.
5116
99d1a24c
RH
5117Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
5118
5119 * dbxout.c (dbxout_function_end): Fix last change. The correct
5120 predicate is ASM_OUTPUT_SECTION_NAME.
5121
5bac82c5
JW
5122Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
5123
5124 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
5125 (ashlsi): Use match_dup 1 instead of match_operand 2.
5126
52de9b6c
RK
5127Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5128
5129 * fold-const.c (operand_equal_for_comparison_p): See if equal
5130 when nop conversions are removed.
5131
7c00d1fe
RK
5132Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5133
5134 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
5135 don't use ORIGINAL_TARGET unless REG.
5136
343665b9
R
5137Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5138
5139 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
5140
1a61c29f
JW
5141Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
5142
5143 * loop.c (struct movable): New field move_insn_first.
5144 (scan_loop): In consec sets code, set it. Clear it otherwise.
5145 (move_movables): In consec sets code, use it. Copy REG_NOTES from
5146 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
5147 out code.
5148
cbe36725
RH
5149Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
5150
5151 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
5152 is large, and the system doesn't provide atoll or atoq.
b57062ca 5153 (atoll): New.
cbe36725
RH
5154
5155 * alpha/xm-vms.h (HAVE_ATOLL): Define.
5156 Reported by Klaus Kaempf <kkaempf@progis.de>.
b57062ca 5157
081f5e7e
KG
5158Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5159
5160 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
5161 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
5162
5163 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
b57062ca 5164 test !ACCUMULATE_OUTGOING_ARGS.
081f5e7e
KG
5165
5166 * collect2.c (write_c_file_glob): Wrap function definition in
5167 macro test !LD_INIT_SWITCH.
5168
5169 * combine.c (try_combine): Wrap variables `cc_use' and
5170 `compare_mode' in macro test EXTRA_CC_MODES.
5171
5172 * cpplib.c (do_ident): Remove unused variable `len'.
5173 (skip_if_group): Remove unused variables `at_beg_of_line' and
5174 `after_ident'.
5175 (cpp_get_token): Remove unused variable `dummy'.
5176
5177 * dbxout.c (scope_labelno): Move static variable definition inside
5178 the one function scope where it is used.
5179 (dbxout_function_end): Wrap prototype and definition in
5180 macro test !NO_DBX_FUNCTION_END.
5181
5182 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
5183 in macro test !MIPS_DEBUGGING_INFO.
5184
5185 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
5186 into the scope where it is used. Wrap empty else-statement body
5187 in braces.
5188
5189 * fix-header.c: Fix typo in comment.
5190 (inf_skip_spaces): Cast results of INF_UNGET to (void).
5191 (check_protection, main): Likewise.
5192
5193 * flow.c (find_basic_blocks_1): Remove dangling comment text.
5194
5195 * function.c (contains): Wrap prototype and definition in macro
5196 test HAVE_prologue || HAVE_epilogue.
5197 (fixup_var_refs_1): Remove unused variable `width'.
5198
5199 * gen-protos.c (main): Remove unused variable `optr'.
5200
5201 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
5202
5203 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
5204 (__sjpopnthrow): Remove unused variable `jmpbuf'.
5205 (__throw): Remove unused variable `val'.
5206
5207 * protoize.c: Check for a previously existing definition before
b57062ca 5208 defining *_OK macros.
081f5e7e
KG
5209
5210 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
5211
76ce4776
R
5212Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5213
5214 * vax.h (ADDR_VEC_ALIGN): Define.
5215
e29ef920
MM
5216Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
5217
5218 * gcc.c (default_arg): Don't wander off the end of allocated
5219 memory.
5220
dbf55e53
MM
5221 (From Geoffrey Keating <geoffk@ozemail.com.au>)
5222 * rs6000.c (small_data_operand): Ensure that any address
b57062ca 5223 referenced relative to the small data area is inside the SDA.
dbf55e53 5224
883482b2 5225Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
b57062ca 5226
883482b2
JW
5227 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
5228
9ad82ff8 5229Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
a0b61d14
AM
5230
5231 * except.h (in_same_eh_region): New prototype.
5232 (free_insn_eh_region, init_insn_eh_region): New prototypes.
5233 * except.c (insn_eh_region, maximum_uid): New static variables.
5234 (set_insn_eh_region): New static function to set region numbers.
5235 (free_insn_eh_region): New function to free EH region table.
5236 (init_insn_eh_region): New function to initialize EH region table.
5237 (in_same_eh_region): New function used to determine if two rtl
5238 instructions are in the same exception region or not.
5239 * final.c (final): Initialize the table indicating which instructions
5240 belong in which exception region.
5241 * genpeep.c (main): Add "except.h" to include file list in generated
b57062ca
UD
5242 file insn-peep.c.
5243 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
5244 peepholes involving calls and unconditional branches.
a0b61d14 5245
66bd0128
JW
5246Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
5247
5248 * README.gnat: New file.
5249
1d8eaa6b
AS
5250Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5251
5252 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
5253 "recog.h" for offsettable_memref_p.
5254 (legitimize_pic_address): Remove unused variable `offset'.
5255 (notice_update_cc): Change return type to void. Add default label
5256 to switch.
5257 (standard_68881_constant_p): Remove unused variable mode.
5258 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
5259 (const_int_cost): Explicitly declare as returning int.
5260 (output_dbcc_and_branch): Change return type to void.
5261
5262 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
5263 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
5264 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
5265
60ba47b4
JL
5266Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
5267
5268 * version.c: Bump for snapshot.
5269
68137318
AS
5270Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5271
5272 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
5273 check for 'M' constraint.
5274
7a50f126
JW
5275Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
5276
5277 * cccp.c (create_definition): If pedantic, call pedwarn for macro
5278 varargs feature.
5279
57dbca5e
BS
5280Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
5281
5282 * i386.c (ix86_logical_operator): New function.
5283 (split_di): Ensure that when a MEM is split, the resulting MEMs have
5284 SImode.
5285 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
5286 to implement them.
5287
8625fab5
KG
5288Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5289 Richard Earnshaw <rearnsha@arm.com>
5290 Nick Clifton <nickc@cygnus.com>
b57062ca 5291
8625fab5 5292 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
b57062ca 5293
8625fab5 5294 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
b57062ca 5295
8625fab5
KG
5296 * cse.c (rtx_cost): Provide a default case in an enumeration
5297 switch, and call DEFAULT_RTX_COSTS if it's defined.
b57062ca 5298
6ce22dac
MH
5299Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
5300
5301 * basic-block.h (compute_preds_succs): Change return type in
5302 prototype to void.
5303 * flow.c (compute_preds_succs): Likewise in function definition.
5304
5305 * regmove.c (find_matches): Cast char used as array index to unsigned char
5306 to supress warning.
5307
9c318306
MH
5308Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
5309
5310 * i386.h (RTX_COSTS): Insert braces around nested if.
5311 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
5312 elements.
5313
5314 * gcc.c (default_compilers): Properly put brackets around array elements in
5315 initializer.
5316
5317 * getopt.c (_getopt_internal): Add explicit braces around nested if;
5318 reformatted.
5319
5320 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
5321 (record_reg_life_pat): Add explicit parens around && and || in expression.
5322 (stack_reg_life_analysis): Add parens around assignment used as expression.
5323 (convert_regs): Likewise.
5324
56c5d8bf
MH
5325Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
5326
5327 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
5328 change callers accordingly.
5329
5330 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
5331 and definition; change all callers accordingly.
5332
5333 * except.c (init_eh): Avoid assignment of unused return value of
5334 build_pointer_type; cast it to void, instead, and remove unused
5335 variable type.
5336
5337 * gcc.c (lang_specific_driver): Define prototype only #ifdef
5338 LANG_SPECIFIC_DRIVER.
5339 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
5340
5341 * genoutput.c (output_epilogue): Initialize next_name to 0.
5342
5343 * real.c (efrexp): #if 0 prototype and function definition.
5344 (eremain): Likewise.
5345 (uditoe): Likewise.
5346 (ditoe): Likewise.
5347 (etoudi): Likewise.
5348 (etodi): Likewise.
5349 (esqrt): Likewise.
5350
5351 * reload.c (push_secondary_reload): Define prototype only
5352 #ifdef HAVE_SECONDARY_RELOADS.
5353
5354 * varasm.c (assemble_static_space): Define rounded only
5355 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
5356
4fce8e83
MH
5357Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
5358
5359 * i386.md (andsi): Add default case in enumeration switch.
5360 (iorsi3): Likewise.
5361 (iorhi3): Likewise.
5362 (xorsi3): Likewise.
5363
85066503
MH
5364Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
5365
5366 * c-decl (finish_struct): Change type of min_align to unsigned.
5367
5368 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
5369 remove unused variable len.
5370
5371 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
5372 comment indicating this is proper behaviour.
5373 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
5374 reg >= 0.
5375 (based_loc_descr): Likewise.
5376
5377 * enquire.c (bitpattern): Change type of variable i to unsigned.
5378
5379 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
5380
5381 * flow.c (life_analysis): Change type of variable i to size_t;
5382 remove unused variable insn.
5383
5384 * gcc.c (translate_options): Change type of variables optlen, arglen and
5385 complen to size_t.
5386 (input_filename_length): Change type to size_t.
5387 (do_spec_1): Change type of variable bufsize to size_t.
5388 (main): Change type of variables i and j to size_t;
5389 remove subblock local definition of variable i.
5390 (lookup_compiler): Change type of second argument to size_t;
5391 change type of variable i to size_t.
5392
5393 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
b57062ca 5394
85066503
MH
5395 * genopinit.c (get_insn): Change type of variable pindex to size_t.
5396
5397 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
5398
5399 * global.c (global_alloc): Change type of variable i to size_t.
5400
5401 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
5402
5403 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
5404 (expand_end_case): Change type of variable count to size_t.
5405
5406 * toplev.c (main): Change type of variable j to size_t.
5407 (set_target_switch): Change type of variable j to size_t.
5408 (print_switch_values): Change type of variable j to size_t;
5409 remove unused variable flags.
5410
5411 * varasm.c (assemble_variable): Change type of variable align to size_t.
5412 (const_hash_rtx): Change type of variable i to size_t.
5413
6d89b990
MM
54141998-03-11 Mark Mitchell <mmitchell@usa.net>
5415
5416 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
5417 TREE_VEC if that's what it really is.
5418
01c7f350
MM
5419Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
5420
5421 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
5422 as per ISO C spec.
5423
754d1a92
TT
5424Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
5425
5426 * gthr.h: Changed the comment about return values.
5427 * gthr-solaris.h (__gthread_once): Do not use errno; return the
b57062ca 5428 error number instead of -1.
754d1a92
TT
5429 (__gthread_key_create): Any non-zero return value is an error.
5430 * libgcc2.c (eh_context_initialize): Check for non-zero return
5431 value from __gthread_once.
5432 Check that the value of get_eh_context was really changed.
5433
77008a44
R
5434Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5435
5436 * sh.h (LOOP_ALIGN): Only align when optimizing.
5437 * sh.c (find_barrier): Clear inc for CODE_LABELs.
5438 When not optimizing, calculate alignment for BARRIERs directly.
5439
a8aa4e0b
R
5440Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5441
5442 * final.c (shorten_branches): Remove conditionalizing on
5443 SHORTEN_WITH_ADJUST_INSN_LENGTH
5444 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
5445
832544bd
JL
5446Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
5447
5448 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
5449 an unconditional jump around deleted blocks.
5450
bdd3e6ab
JW
5451Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
5452
11a932c0
JW
5453 * profile.c (branch_prob): If see computed goto, call fatal instead of
5454 abort.
5455
eeb54a49 5456 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
b57062ca 5457
35011dd5
JW
5458 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
5459 Patch from Bruno Haible.
5460
bdd3e6ab
JW
5461 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
5462 (assign_parms): Set aggregate if hide_last_arg and last_named.
5463
af035616
R
5464Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5465
5466 * final.c (shorten_branches): Initialize insn_addresses.
5467
97e3c422
R
5468Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5469
5470 * sh.h (MUST_PASS_IN_STACK): Define.
5471
5e75ef4a
JL
5472Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
5473
5474 * final.c (shorten_branches): Fix minor logic error in
5475 ADDR_DIFF_VEC shortening support.
5476
99613661
JL
5477Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
5478
5479 * version.c: Bump for snapshot.
5480
8ea2b111
JL
5481Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
5482
168cbdf9
JL
5483 * haifa-sched.c (is_cfg_nonregular): Change return type to
5484 an int. No longer compute "estimated" number of edges. Use
5485 computed_jump_p instead of duplicating the code. Fixup/add
5486 some comments.
5487 (build_control_flow): Returns a value indicating an irregularity
5488 in the cfg was detected. Count the number of edges in the cfg.
5489 allocate various edge tables.
5490 (find_rgns): No longer look for unreachable blocks.
5491 (schedule_insns): Do not allocate memory for edge tables here.
5492 Free memory for edge tables before returning. Do not perform
5493 cross block scheduling if build_control_flow returns nonzero.
5494 * flow.c (compute_preds_succs): More accurately determine when
5495 a block drops in.
5496
52becdc0
JL
5497 * basic-block.h (free_basic_block_vargs): Provide prototype.
5498
8ea2b111
JL
5499 * cccp.c (main): Fix dumb mistakes in last change.
5500
33f7f353
JR
5501Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5502
5503 * rtl.h (addr_diff_vec_flags): New typedef.
5504 (union rtunion_def): New member rt_addr_diff_vec_flags.
5505 (ADDR_DIFF_VEC_FLAGS): New macro.
5506
5507 * sh.c (output_branch): Fix offset overflow problems.
5508
5509 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
5510 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
5511 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
5512 * stmt.c (expand_end_case): Supply new arguments to
5513 gen_rtx_ADDR_DIFF_VEC.
5514 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
5515 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
5516 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
5517 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
5518 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
5519 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
5520 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
5521 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
5522 * i386/freebsd.h, i386/linux.h : Likewise.
5523 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
5524 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
5525 * m68k/mot3300.h, m68k/sgs.h : Likewise.
5526 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
5527 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
5528 (CASE_VECTOR_SHORTEN_MODE): Define.
5529 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
5530 (med_branch_p, braf_branch_p): Don't declare.
5531 (mdep_reorg_phase, barrier_align): Declare.
5532 (ADJUST_INSN_LENGTH): Remove alignment handling.
5533 * sh.c (uid_align, uid_align_max): Deleted.
5534 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
5535 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
5536 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
5537 (output_far_jump): Don't use braf_branch_p.
5538 (output_branchy_insn): Don't use branch_offset.
5539 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
5540 Remove paired barrier stuff.
5541 Don't use cache_align_p.
5542 Take alignment insns into account.
5543 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
5544 the addr_diff_vec.
5545 (barrier_align, branch_dest): New function.
5546 (machine_dependent_reorg, split_branches): Remove infrastructure
5547 for branch shortening that is now provided in the backend.
5548 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
5549 (braf_branch_p, braf_cbranch_p): Likewise.
5550 (attribute length): Use new attributes.
5551 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
5552 (addr_diff_vec_adjust): Delete.
5553 (align_2): Now a define_expand.
5554 (align_log): Now length 0.
5555
170a16c7
MM
5556Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
5557
5558 * m32r.md (right): Correctly check for length == 2, not 1.
5559
688f0603
KG
5560Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5561
5562 * mips/mips.h: Prototype `machine_dependent_reorg'.
5563 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
5564
19cbe68d
JR
5565Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
5566
5567 * final.c (shorten_branches): Restore accidentally removed code.
5568
8add77ce
AS
5569Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5570
5571 * configure.in: Remove duplicate uses of AC_PROG_CC and
5572 AC_PROG_MAKE_SET.
5573
fbb5ed67
RH
5574Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
5575
5576 * configure.in (target_cpu_default2): Correct typo for alphapca56.
5577
5ece9746
JL
5578Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
5579 Doug Evans (devans@cygnus.com)
5580
5581 * haifa-sched.c (build_jmp_edges): Delete dead function.
5582 (build_control_flow): Use cfg routines from flow.c
5583 (schedule_insns): Remove debugging code accidentally checked
5584 in earlier today.
5585
5586 * basic-block.h: Add external integer list structures, typdefs,
5587 accessor macros and function declarations. Simlarly for
5588 basic block pred/succ support and simple bitmap stuff.
5589 * flow.c: Add functions for integer list, basic block pred/succ
5590 support and simple bitmap support.
5591 (compute_dominators): New function to compute dominators and
5592 post dominators.
5593 (find_basic_blocks): Split into two functions.
5594 (life_analysis): Likewise.
5595 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
5596 the life_analysis from toplev.c
5597 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
5598 life_analysis instead of flow_analysis.
5599
ac9b3c97
R
5600Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5601
5602 * jump.c (jump_optimize): Call mark_jump_label also for deleted
5603 insns.
5604 (mark_jump_label): Don't increment ref counts for deleted insns.
5605
6e92f4b6
KG
5606Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5607
5608 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
b57062ca 5609
6e92f4b6
KG
5610 * mips/mips.c: Include stdlib.h and unistd.h.
5611 (mips_asm_file_end): Add braces around empty body in an if-statement.
5612 (function_prologue): Wrap variable `fnname' in
5613 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
5614 (mips_select_rtx_section, mips_select_section): Declare as void.
b57062ca 5615
6e92f4b6
KG
5616 * mips/mips.h: Add prototypes for extern functions in mips.c.
5617 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
5618 (ENCODE_SECTION_INFO): Add braces around empty body in an
5619 if-statement.
b57062ca 5620
6e92f4b6
KG
5621 * mips/mips.md (movdi): Add parentheses around && within ||.
5622 (movsf, movdf): Likewise.
5623 (branch_zero, branch_zero_di): Add default case in
5624 enumeration switch.
b57062ca 5625
6e92f4b6 5626
9ba3994a
RH
5627Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
5628
5629 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
5630 real constants, since they can't be changed.
5631 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
5632 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
5633 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
5634 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
5635 * alpha/vms.h (TARGET_OPEN_VMS): New.
5636 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
5637
5ec105cd
RH
5638Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
5639
5640 * reload.c (find_reloads): Always force (subreg (mem)) to be
5641 reloaded if WORD_REGISTER_OPERATIONS.
5642
ebb7b10b
RH
5643Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
5644
5645 * haifa-sched.c (free_list): Rename from free_pnd_lst.
5646 (free_pending_lists): Rename free_pnd_lst uses.
5647 (remove_dependence): Place expunged element on unused_insn_list.
5648 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
5649 gen_rtx_*_LIST and alloc_rtx to use them.
5650 (compute_block_backward_dependences): Free the reg_last_* lists.
5651
cb37ce62
JL
5652Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
5653
5654 * cccp.c (main): Avoid undefined behavior when setting pend_includes
5655 and pend_files.
5656
ce514f57
FS
5657Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5658
b57062ca 5659 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
ce514f57
FS
5660 USE_GNULIBC_1 is defined
5661 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
5662 includes the t-linux-gnulibc1 fragment
5663
89a5e42b
JW
5664Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
5665
5666 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
5667
1dd8faa8
R
5668Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5669
5670 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
5671
e2faec75
R
5672Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5673
5674 * final.c (shorten_branches): Tag the loop alignment onto the
5675 first label after NOTE_INSN_LOOP_BEG even if there is an
5676 intervening insn.
5677
de7987a6
R
5678Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5679
26024475
R
5680 * final.c (insn_current_reference_address):
5681 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
5682 proper alignment chain.
5683
de7987a6
R
5684 * final.c (max_labelno): New static variable.
5685 (final_scan_insn): Check max_labelno before outputting an
5686 alignment for a label.
de7987a6
R
5687 (shorten_branches): Remove unused variable length_align.
5688
27d8f9ea
KG
5689Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5690
5691 * sparc.c (ultrasparc_adjust_cost): Add default case in
5692 enumeration switch.
b57062ca 5693
27d8f9ea
KG
5694 * sparc.h: Add prototypes for extern functions defined in
5695 sparc.c.
5696
bd334356
NC
5697Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
5698
5699 * toplev.c: Only generate <name>.dbr file when dumping RTL if
b57062ca 5700 DEALY_SLOTS is defined.
bd334356 5701
1838fe6d
MH
5702Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
5703
5704 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
5705 in call to fill_slots_from_thread.
5706
b0021153
RH
5707Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
5708
b57062ca 5709 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
b0021153
RH
5710 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
5711
687d0ab6 5712Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
fc470718
R
5713
5714 * final.c (insn_last_address, insn_current_align, uid_align):
5715 New variables.
5716 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
5717 (insn_current_reference_address): Likewise.
5718 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
5719 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
5720 (label_to_alignment): New function.
5721 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
5722 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
5723 insn_current_reference_address instead of insn_current_address.
5724 (or_attr_value, write_length_unit_log): New functions.
5725 (main): Call write_length_unit_log.
5726 (write_const_num_delay_slots): Output extra '\n'.
5727 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
5728 replace with:
5729 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
5730 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
5731 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
5732 (LOOP_ALIGN).
5733 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
5734 (LABEL_ALIGN_AFTER_BARRIER).
5735 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
5736 * ns32k/tek6000.h: Likewise.
5737 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
5738 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
5739 ASM_OUTPUT_ALIGN_CODE.
5740
54f00917
JL
5741Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
5742
5743 * version.c: Bump for snapshot.
5744
38630f7e
JL
5745Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
5746
5747 * version.c: Bump for snapshot.
5748
ab63953e
JL
5749Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
5750
5751 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
b57062ca 5752 if condition code of jump conflicts with opposite_needed.
ab63953e
JL
5753
5754 * reorg.c (fill_slots_from_thread): Mark resources referenced in
5755 opposite_needed thread. Return delay_list even when cannot get
5756 any more delay insns from end of subroutine.
5757
5758Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
5759
5760 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
5761 All callers changed.
5762
5763Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
72dd050a
BH
5764
5765 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
5766 end_fde_sort): New functions for fast sorting of an FDE array.
5767 (fde_insert): Simplified.
5768 (add_fdes): Change argument list.
5769 (frame_init): Use the new functions.
5770
de153e82
JL
5771Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
5772
925b1f33
JL
5773 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
5774
c7271385
JL
5775 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
5776
de153e82
JL
5777 * fold-const.c (fold_range_test): Always return a value.
5778
81023100
MK
5779Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
5780
5781 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
5782 data in the text section unless READONLY_DATA_SECTION is defined.
5783
818e50a5
JL
5784Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
5785
5786 * c-parse.in (undeclared variable error): Tweak error message to
5787 be clearer.
5788
c93dc3ac
JL
5789Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
5790
5791 * version.c: Bump for snapshot.
5792
90ca38bb
MM
57931998-02-28 Mark Mitchell <mmitchell@usa.net>
5794
5795 * final.c (final_scan_insn): Undo overzealous removal of `set'.
5796
3d85c12e
KG
5797Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5798
5feca984
KG
5799 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
5800 case, add parentheses to specify the proper order of precedence in
5801 the if-statement.
b57062ca 5802
5feca984 5803
51723711
KG
5804 * c-aux-info.c: Include string.h/strings.h.
5805
5806 * pa.c: Include stdlib.h.
5807 (pa_combine_instructions): Prototype the function.
5808 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
5809 (reloc_needed): Add default case for enumeration switch.
5810 (remove_useless_addtr_insns): Remove unused variable `all'.
5811 (hppa_expand_prologue): Add explicit braces to avoid
5812 ambiguous `else'.
5813 (output_function_epilogue): Remove unused variable `i'.
5814 (output_millicode_call): Remove unused variable `link'.
5815 (shadd_constant_p, forward_branch_p): Make the function static.
5816 (following_call): Explicitly declare to return int.
5817 (pa_reorg): Declare as void.
5818 (pa_combine_instructions): Declare as static void. Add
5819 parentheses around && within ||.
b57062ca 5820
51723711
KG
5821 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
5822 following_call, function_label_operand, lhs_lshift_cint_operand
5823 and zdepi_cint_p.
5824
5825 * pa.md: Add parentheses around && within ||.
5826
5827 * cppalloc.c: Include stdlib.h.
5828
5829 * cpperror.c (cpp_print_containing_files): Remove unused variable
5830 `i'. Fix format specifier in fprintf.
5831
5832 * cse.c (cse_around_loop): Add explicit braces to avoid
5833 ambiguous `else'.
5834 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
5835
5836 * expr.c (expand_expr): Add parentheses around && within ||.
5837
5838 * final.c (app_enable): Replace fprintf with fputs where there are
5839 no format specifiers and no trailing argument after the string.
5840 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
5841 (app_disable): Likewise.
5842 (final_end_function): Likewise.
5843 (final_scan_insn): Likewise. Remove unused variable `set'.
5844 (profile_function): Wrap empty if-statement body in {} brackets.
5845
5846 * function.c: Include stdlib.h.
5847 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
5848 (reposition_prologue_and_epilogue_notes): Add parentheses
5849 around assignment used as truth value.
5850
5851 * integrate.c (expand_inline_function): Wrap variable
5852 `cc0_insn' in macro HAVE_cc0.
5853
5854 * jump.c (jump_optimize): Wrap variable `q' in macro
5855 HAVE_cc0. Remove unused variable `prev1'.
5856
5857 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
5858 within ||. Fix format specifier in fprintf.
5859 (__bb_init_prg): Add parentheses around assignment used as
5860 truth value.
5861
5862 * local-alloc.c: Include stdlib.h.
5863 (requires_inout): Add parentheses around assignment used
5864 as truth value.
5865
5866 * loop.c (analyze_loop_iterations): Wrap prototype and definition
5867 in macro HAVE_decrement_and_branch_on_count.
5868 (insert_bct, instrument_loop_bct): Likewise.
5869 (move_movables): Add parentheses around assignment used as
5870 truth value.
5871 (consec_sets_invariant_p): Likewise.
5872 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
5873
5874 * objc/objc-act.c: Include stdlib.h.
5875 (lookup_method_in_protocol_list): Wrap empty else-statement body
5876 in braces.
5877 (lookup_protocol_in_reflist): Likewise.
5878 (objc_add_static_instance): Remove unused variables `decl_expr'
5879 and `decl_spec'.
5880 (get_objc_string_decl): Remove unused variable `decl'.
5881 (generate_static_references): Remove unused variables `idecl' and
5882 `instance'.
5883 (check_protocols): Wrap empty else-statement body in braces.
b57062ca 5884
51723711
KG
5885 * protoize.c: Include stdlib.h.
5886 (substr): Add parentheses around assignment used as truth value.
5887 (abspath): Likewise.
5888 (shortpath): Likewise.
5889
5890 * regmove.c (fixup_match_1): Add parentheses around assignment
5891 used as truth value.
5892
5893 * reload.c (push_secondary_reload): Remove unused variable `i'.
5894 (find_reloads): Add parentheses around assignment used as truth
5895 value.
5896
5897 * reload1.c: Include stdlib.h.
5898
5899 * rtl.h: Correct typo in prototype of offsettable_memref_p.
5900
5901 * stmt.c (add_case_node): Add parentheses around assignment used
5902 as truth value.
5903 (case_tree2list): Likewise.
5904
5905 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
5906 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
5907 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
5908 (merge_attributes): Add explicit braces to avoid ambiguous
5909 `else'.
5910
5911 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
5912 macro HAVE_cc0.
b57062ca 5913
51723711 5914 * varasm.c: Include stdlib.h.
b57062ca 5915
51723711 5916
c5801053
KG
5917 * system.h: Remove sys/stat.h.
5918 * gcc.c: Add sys/stat.h.
5919
3d85c12e
KG
5920 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
5921 * genattrtab.c: Likewise.
5922 * genconfig.c: Likewise.
5923 * genemit.c: Likewise.
5924 * genextract.c: Likewise.
5925 * genflags.c: Likewise.
5926 * genopinit.c: Likewise.
5927 * genoutput.c: Likewise.
5928 * genpeep.c: Likewise.
5929 * genrecog.c: Likewise.
5930 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
5931
0fd12b04
AS
5932Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5933
bd762873
AS
5934 * invoke.texi: Use @itemx for a secondary item in a @table.
5935
0fd12b04
AS
5936 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
5937 zero.
5938
c3cf395b
ILT
5939Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
5940
5941 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
5942
b94b5c16
JL
5943Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
5944
5945 * i386.c (struct machine_function): Add new fields for PIC stuff.
5946 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
5947 and pic_label_name.
5948 (restore_386_machine_status): Corresponding changes.
5949 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
5950
8dfafd99
JL
5951Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
5952
5953 * c-parse.y (undeclared variable error): Tweak error message
5954 to be clearer.
5955
bb8ebb7f
RH
5956Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
5957
5958 * flags.h (g_switch_value, g_switch_set): Declare.
5959 * alpha.c (override_options): Set g_switch_value=8 if not set.
5960 * alpha/elf.h (CC1_SPEC): New.
5961 (ASM_SPEC): New.
5962 (LINK_SPEC): Pass along the -G value we were given.
5963 (LOCAL_ASM_OP): Remove.
5964 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
5965 (MAX_OFILE_ALIGNMENT): New.
5966 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
5967 (EXTRA_SECTIONS): Add sbss and sdata.
5968 (SECTION_FUNCTION_TEMPLATE): New.
5969 (EXTRA_SECTION_FUNCTIONS): Use it.
5970 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
5971 (SELECT_SECTION): Use sdata when small enough.
5972 * alpha/linux.h (ASM_SPEC): Remove.
b57062ca 5973
bb8ebb7f 5974
3e07bdbd
BH
5975Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
5976 * config.sub (sco5): Fix typo.
5977
9d1ebd25
MH
5978Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
5979
5980 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
5981 set to empty.
5982 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
5983 * config/alpha/t-linux: Remove file.
5984 * config/sparc/t-linux: Remove file.
5985 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
5986 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
5987 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
5988 for tmake_file.
5989 (alpha*-*-linux-gnu*): Likewise.
5990 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
5991 (sparc-*-linux-gnu*): Likewise.
84bc3b4f
RL
5992
5993Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
5994 * collect2.c (ldd_file_name): Bracket declaration with same
5995 manifests as use.
5996 (full_real_ld_suffix): Deleted. Variable was calloced and
5997 written into, but never read.
5998
9e89df50
MS
59991998-02-23 Mike Stump <mrs@wrs.com>
6000
6001 * configure.in: Add support for i386-wrs-vxworks configuration.
6002 * i386/vxi386.h: New file.
6003
1160f9ec
BH
6004Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6005
6006 * tree.c (contains_placeholder_p): Ensure function always returns
6007 a value.
6008 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
6009 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
6010
328da75c
JL
6011Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
6012
6013 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
6014
deabc777
PE
60151998-02-22 Paul Eggert <eggert@twinsun.com>
6016
6017 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
6018 Define this new symbol.
6019 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
6020 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
6021 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
6022
0e84e8fb
JW
6023Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
6024
6025 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
6026 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
6027
9c37957a
RH
6028Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
6029
6030 * objc/Object.m (-error): Call objc_verror with our va_list.
6031
e3c49f52
DE
6032Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6033
6034 * collect2.c (scan_prog_file): Completely cover uses of variable
6035 `exports' with macro COLLECT_EXPORT_LIST.
6036
6037Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
d935d60e
JL
6038
6039 * version.c: Bump for snapshot.
6040
3c674857
MM
6041Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
6042
6043 * sched.c (schedule_block): Remove code to get arguments from hard
6044 regs into pseudos early. Same as Aug 25, 1997 change to
6045 haifa-sched.c.
6046
c2d731c4
JM
60471998-02-20 Jason Merrill <jason@yorick.cygnus.com>
6048
6049 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
6050
7d02bbef
JM
60511998-02-16 Mark Mitchell <mmitchell@usa.net>
6052
6053 * toplev.c (rest_of_compilation): Do not defer the output of a
6054 nested function.
6055
9766dbcf
MT
6056Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
6057
6058 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
6059 continuation character (line 243).
6060
01a7aaea
AS
6061Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6062
6063 * genrecog.c (main): Remove duplicated sentence in emitted comment.
6064
db126753
DE
6065Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
6066 David Edelsohn <edelsohn@mhpcc.edu>
6067
6068 * collect2.c (XCOFF_SCAN_LIBS): Remove.
6069 (export_flag): New variable.
6070 (export_file): #ifdef COLLECT_EXPORT_LIST.
6071 (import_file, exports, imports, undefined): New variables.
6072 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
6073 (dump_list, dump_prefix_list, is_in_list): New functions.
6074 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
6075 (write_import_file, resolve_lib_name): New functions.
6076 (use_import_list, ignore_library): Same.
6077 (collect_exit): maybe_unlink import_file and #ifdef.
6078 (handler): Same.
6079 (main): New variable importf, #ifdef exportf. Move parsing of
6080 -shared before general argument parsing. Resolve AIX library
6081 paths and import libgcc.a symbols. Treat .so shared libraries the
6082 same as objects and .a libraries. Create alias for object_lst and
6083 increment it instead of original pointer. Scan AIX libraries as
6084 objects earlier instead of using scan_libraries. Perform AIX
6085 tlink later to resolve templates instead of forking ld.
6086 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
6087 (GCC_UNDEF_SYMBOL): New macro.
6088 (scan_prog_file): Loop for members of AIX libraries. Handle
6089 export/import of ctors/dtors.
6090 (aix_std_libs): New variable.
6091 (scan_libraries, XCOFF): Delete.
6092
6093Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
6094
6095 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
6096
e642002f
MS
60971998-02-19 Mike Stump <mrs@wrs.com>
6098
6099 * Makefile.in: Use $tooldir for sys-include to match toplevel
6100 configure.
6101
aff48bca
JL
6102Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
6103 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6104
6105 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
6106
6107 * emit-rtl.c (hard-reg-set.h): Include.
b57062ca 6108 (get_lowpart_common): Don't make new REG for hard reg in a
aff48bca
JL
6109 class that cannot change size.
6110 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
6111
6112 * combine.c: Revert previous patch.
6113
0a9bdce3
PE
61141998-02-19 Paul Eggert <eggert@twinsun.com>
6115
6116 * config/sparc/sol2-sld.h: New file.
6117 * configure.in (sparc-*-solaris2*): Use it when using the
6118 system linker.
6119
3875b31d
JL
6120Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
6121
6122 * loop.c (force_movables): Fix typo.
6123
bb5fa67f
MH
6124Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
6125
6126 * m88k.h: Change file pattern to match reality.
6127
7f83c0e7
JL
6128Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
6129
6130 * varasm.c (output_constant_pool): Fix dumb thinko in last
6131 change.
dffc0da4
JL
6132
6133 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
6134 a function name to a section name.
6135
d9525bec
BK
61361998-02-18 Doug Evans <devans@cygnus.com>
6137
6138 * tree.h (merge_machine_{type,decl}_attributes): Declare.
6139 (split_specs_attrs, strip_attrs): Add prototypes.
6140 * tree.c (merge_machine_{type,decl}_attributes): New functions.
6141 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
6142 Update olddecl's attributes too.
6143 * c-common.c (strip_attrs): New function.
6144 * c-typeck.c (common_type): Call merge_machine_type_attributes.
6145 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
6146 (make_decl_rtl): Likewise.
6147
61481998-02-18 Jim Wilson <wilson@cygnus.com>
6149
6150 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
6151
f9a366ac
JL
6152Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
6153
6154 Remove this change until we can fix it correctly.
6155 * collect2.c: Bracket declaration of 'exportf' and
6156 'full_real_ld_suffix'.
6157
206ae7cf
BS
6158Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6159
6160 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
6161
0a7ed33c
BS
6162Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6163
6164 * c-common.c (c_expand_start_cond, c_expand_end_cond,
6165 c_expand_start_else): Don't warn about non-ambiguous else even if
6166 braces are missing.
6167
68c9728a 6168Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
0a7ed33c 6169
68c9728a
RL
6170 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
6171 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
6172 instead.
6173
15941d29
RH
6174Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
6175
6176 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
6177 simplifying a subreg of a hard reg.
6178 (expand_compound_operation): Likewise.
6179 (force_to_mode): Likewise.
6180
5835e573
KG
6181Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6182
2fde567e
KG
6183 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
6184 (lshift_double): Add parentheses around + or - inside shift.
6185 (rshift_double): Likewise.
6186 (size_int_wide): Explicitly set type of `bit_p' to `int'.
6187
6188 * Makefile.in (fold-const.o): Depend on system.h.
6189
8e85ff2c
KG
6190 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
6191 change to gcc.c.
6192
5835e573
KG
6193 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
6194 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
6195 (sched_note_set): Remove unused parameter `b', all callers changed.
6196 (schedule_block): Likewise for `rgn'.
6197 (split_hard_reg_notes): Likewise for `orig_insn'.
6198 (check_live): Likewise for `trg'.
6199 (update_live): Likewise.
6200 (check_live_1): Explcitly declare variable `i' as int.
6201 (update_live_1): Likewise.
6202 (insn_issue_delay): Remove unused variable `link'.
6203 (sched_analyze_2): Add default case in enumeration switch.
6204 (schedule_insns): Remove unused variable `i'.
6205
6206 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
6207
b1a0c816
JL
6208Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
6209
6210 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
6211 a dangling else clause.
6212
365ca18b
GK
6213Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
6214
6215 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
6216 pointer for the stack pointer in MIPS16 and 64BIT.
6217
feb60352
R
6218Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6219
6220 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
6221 * emit-rtl.c (force_line_numbers, restore_line_number_status):
6222 New functions.
6223 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
6224 (expand_start_case): Adjust to this change.
6225 (check_seenlabel): New function.
6226 (pushcase, pushcase_range, expand_endcase): Use it.
6227
93f83bd5
R
6228Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6229
6230 * i386.md (adddi3): Add =!r,0,0,X alternative.
6231
b9af8fb0
DE
6232Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
6233
6234 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
6235 * x-aix31 (INSTALL): Delete.
6236
a4dee8a5
GK
6237Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
6238
b57062ca 6239 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
a4dee8a5
GK
6240 tsize changes to something other than zero.
6241
8898f8a1
GK
6242Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
6243
6244 * ginclude/va-mips.h: Replace casts of pointers to int with
6245 casts of pointers to __PTRDIFF_TYPE__.
6246
9ba7a303
JC
6247Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
6248
6249 * loop.c (strength_reduce, record_biv, record_giv): Use
6250 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
6251
b7f6588d
JM
62521998-02-16 Jason Merrill <jason@yorick.cygnus.com>
6253
6254 * tree.c (first_rtl_op): New fn.
6255 (unsave_expr_now): Use it.
6256 * print-tree.c (print_node): Likewise.
6257 * tree.c (has_cleanups): New fn.
6258 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
6259 conservative about pushing the cleanup point down.
6260 * tree.h: Declare them.
6261
8e7336f8
JL
6262Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
6263
6264 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
6265 (flag_schedule_reverse_after_reload): Likewise.
6266 (f_options): Remove reverse scheduling support.
6267 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
6268 (flag_schedule_reverse_after_reload): Likewise.
6269 * haifa-sched.c (rank_for_schedule): Remove support for reverse
6270 scheduling.
b57062ca 6271
79e11844
KG
6272Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6273
17248a6b
KG
6274 * gcc.c: Get system includes, prototypes and macros via "system.h"
6275 instead of doing it manually. Change all calls of the ctype
6276 macros to custom versions defined in "system.h".
6277
79e11844
KG
6278 * system.h: Fix return type of bcmp prototype from `void' to `int'.
6279 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
6280 Add a prototype for getenv.
6281
c9b4de06
JW
6282Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
6283
6284 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
6285
9f8f10de
JC
6286Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
6287
6288 * alias.c: Include <stdlib.h> and <string.h>.
6289 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
6290
d757d141
JL
6291Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
6292
6293 * version.c: Bump for snapshot.
6294
7a0a1f09
RE
6295Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
6296
6297 * arm.md (movsfcc): Also validate operands[3] when compiling hard
6298 float.
6299 (movdfcc): Only accept fpu_add_operand for operands[3].
6300
99e90438
RE
6301 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
6302 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
6303
29a82058
JL
6304Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
6305
6306 * varasm.c (output_constant_pool): Bring back 'done' label inside
6307 an appropriate #ifdef.
6308
b57062ca 6309 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
29a82058
JL
6310 appropriate #ifdef.
6311 (bitmap_copy, bitmap_operation): Likewise.
6312 * combine.c (combinable_i3pat): Similarly for 'src'.
6313 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
6314 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
6315 * regclass.c (copy_cost): Similarly for 'secondary_class'.
6316 * reload.c (make_memloc): Simliarly for 'i'.
6317 (find_reloads_address_1): Similarly for 'link'.
6318 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
6319 (emit_reload_insns): Similarly for 'second_reloadreg'.
6320 * unroll.c (iteration_info): Similarly for 'v'.
6321
6322 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
6323 * calls.c (expand_call): Similarly for 'i'.
6324 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
6325 * fold-const.c (strip_compund_expr): Similarly for 'type'.
6326 * function.c (fixup_var_refs_1): Similarly for 'width'.
6327 (fixup_memory_subreg): Similarly for 'saved'.
6328 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
6329 (setjmp_protect): Similarly for 'sub'.
6330 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
6331 * loop.c (record_giv): Similarly for 'p'.
6332 (combine_givs): Similarly for 'temp_iv'.
6333 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
6334 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
6335 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
6336 * unroll.c (unroll_loop): Similarly for 'copy'.
6337 (iteration_info): Similarly for 'b'.
6338 * varasm.c (assemble_string): Similarly for 'i'.
6339 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
6340
7d02bbef
JM
63411998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
6342
6343 * c-lang.c (lang_print_xnode): New function.
6344 * objc/objc-act.c (lang_print_xnode): Likewise.
6345 * print-tree.c (print_node): Call it
6346
e3e7774e
JW
6347Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
6348
6349 * dwarf2out.c (decl_scope_node): New type.
6350 (decl_scope_table): Change type to use it.
6351 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
6352 (push_decl_scope): Use new type. New locals containing_scope, i.
6353 Add code to handle setting previous field.
6354 (scope_die_for): Change type of local i to int. Add code to use
6355 previous field.
6356 (dwarf2out_init): Use new type.
6357
442f0a30
JM
63581998-02-13 Jason Merrill <jason@yorick.cygnus.com>
6359
6360 * except.c (emit_throw): Lose throw_used.
6361
fcdc0d6e
R
6362Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6363
6364 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
6365 was deleted.
6366 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
6367
b7673cdb
JL
6368Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
6369
6370 * genextract.c (main): Fix typo.
6371
9e4767ca 6372Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
69d4ca36 6373
b57062ca 6374 * c-lang.c (finish_file): Bracket declaration of static_ctors,
69d4ca36
RL
6375 static_dtors.
6376
6377 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
6378 'old_stack_arg_under_construction'
b57062ca 6379 (emit_library_call): Bracket declaration of 'upper_bound',
69d4ca36
RL
6380 'lower_bound', 'i', 'reg_parm_stack_space'
6381 (emit_library_call_value): Likewise.
b57062ca 6382 (store_one_arg):
69d4ca36
RL
6383
6384 * collect2.c: include <unistd.h> when appropriate.
6385 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
6386
6387 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
b57062ca 6388
69d4ca36
RL
6389 * explow.c (plus_constant_for_output_wide): Remove unused variable
6390 'code'.
b57062ca 6391 (memory_address): Remove unused variable 'orig_x'.
69d4ca36
RL
6392
6393 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
6394 (write_const_num_delay_slots): Remove unused variable 'i'.
6395
6396 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
6397 (gen_insn): Remove unused variable 'obstack_ptr'.
6398
6399 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
6400 'j', 'tmp', 'i'.
6401 (__bb_exit_trace_func): Remove unused variable 'e'.
6402
6403 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
6404 'funexp'.
6405 (expand_unop): Remove unused variable 'funexp'.
b57062ca 6406 (expand_complex_abs): Remove unused variable 'funexp'.
69d4ca36
RL
6407 (init_optabs): Bracket declaration of 'j'.
6408 (init_complex_libfuncs): Deleted. Dead static function.
b57062ca 6409
69d4ca36
RL
6410 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
6411
6412 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
6413 (reg_to_stack): 'initialized', 'before_function_beg'
6414 explictly type as ints instead of defaulting.
6415 (emit_swap_insn): Remove unused variable 'i2'.
6416 (compare_for_stack_reg): Remove unused variable 'src_note'.
6417
6418 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
6419
6420 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
6421
6422 * stmt.c (add_case_node): Add parens for assignment used as truth.
6423 (all_cases_count): Remove unused variable 'count_high'.
6424 (mark_seen_cases): Remove unused variable 'i'.
6425 (check_for_full_enumeration_handling): Remove unused variable 't'.
6426 Bracket declaration of 'all_values', 'l'.
b57062ca 6427
69d4ca36
RL
6428 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
6429
b57062ca
UD
6430 * varasm.c (assemble_string): Remove unused variable 'i'.
6431 (immed_double_const): Remove unused variable 'in_current_obstack'.
69d4ca36
RL
6432 (immed_real_const_1): Likewise.
6433 (output_constant_pool): Remove unreferenced label 'done'.
6434 (output_constant): Remove unused variable 'x'.
b57062ca 6435
69d4ca36
RL
6436 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
6437 a string.
6438
6439 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
6440 as truth.
6441
e3258cef
R
6442Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6443
6444 * combine.c (can_combine_p): Handle USEs in PARALLELs.
6445
1398405b
L
6446Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
6447
6448 * config/linux.h (LIB_SPEC): Add -lc for -shared if
6449 USE_GNULIBC_1 is not defined.
6450 * config/sparc/linux.h; Ditto.
6451
6452 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
6453
6454 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
6455 USE_GNULIBC_1 is not defined.
6456
03453a9f
FS
6457Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6458
6459 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
6460 for -mcall-linux
6461
aca69483 6462Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 6463
aca69483
KG
6464 * system.h: New file to get common systems includes and various
6465 definitions and declarations based on autoconf macros.
6466
5e0e0f03
JL
6467Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
6468
6469 * cccp.c (new_include_prefix): Correctly handle -I./.
6470
89e9f3a8
MM
6471Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
6472
6473 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
6474
8bd6ecc2 6475Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
89e9f3a8 6476
b57062ca 6477 * expr.c (expand_assignment): Correct typo exposed by -Wall.
8bd6ecc2
RL
6478 offset should have been a truth value, not an assignment.
6479
614bb5d4
JL
6480Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
6481
6482 * cse.c (delete_dead_from_cse): If a libcall produces a constant
6483 result and that result can be substituted into SET_SRC of the
6484 insn with the REG_RETVAL note, then perform the substitution
6485 and delete the libcall.
6486
00bb4b62
GK
6487Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
6488
b57062ca 6489 * mips.md (trucndihi2,truncdiqi2): Change these to support
00bb4b62
GK
6490 mips16.
6491
3871c609
GK
6492Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
6493
6494 * mips/mips.c (movdi_operand): Direct referances to symbols
6495 that arn't mips16 consts in mips16 mode arn't valid operands.
6496
6497 * mips/mips.c (mips_move_2words): Add gprel handling.
6498
2e72fa6a
GK
6499Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
6500
b57062ca 6501 * mips.md (extendsidi2): Allow extension to/from a non-mips16
2e72fa6a
GK
6502 register.
6503
a4910340
ML
6504Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
6505
6506 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
6507 <strings.h>.
6508
cc1e5b9a
KG
6509Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6510
6511 * Makefile.in (WARN_CFLAGS): New variable.
6512 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
6513
53949fac
MM
65141998-02-11 Mark Mitchell <mmitchell@usa.net>
6515
6516 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
6517 falling through default case in switch.
6518 (i386_aligned_p): Likewise.
6519
9504c31c
LI
6520Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
6521
6522 * mips/mips.h (mips_abi_string): Correct typo in comment.
6523
7e4e0956
GK
6524Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
6525
6526 * mips/mips.md (movdi): These PLUS's need to be Pmode.
6527
8fb3ae15
KG
6528Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6529
6530 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
6531 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
6532 indirectly via expr.h.
6533
a2d53b28
RH
6534Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
6535
6536 * stor-layout.c (layout_type): Do upper - lower in the native type,
6537 so as to properly handle negative indices.
6538
381127e8
RL
6539Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
6540
6541 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
6542 (expand_eh_region_start_tree): Remove unused variable 'note'.
6543 (exception_optimize): Remove unused variable 'regions'.
6544 (expand_builtin_eh_stub): Remove unused variable 'temp'.
6545 (copy_eh_entry): Deleted. Dead function.
6546
b57062ca 6547 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
381127e8
RL
6548 'last' with same #if HAVE_load_multiple as use of it.
6549 (move_block_from_reg): Likewise.
6550 (emit_move_insn_1): Remove unused variable 'insns'.
b57062ca
UD
6551 (store_constructor): Bracket declaration of startb, endb with
6552 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
381127e8 6553 'target', and 'xtarget'.
b57062ca 6554 (expand_builtin_setjmp): Remove unused variables 'op0',
381127e8 6555 'next_arg_reg', 'old_inhibit_defer_pop'.
b57062ca 6556 (expand_builtin): Remove unused variable 'offset'.
381127e8
RL
6557 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
6558 (emit_queue): Add parens for assignment used as conditional.
6559 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
6560
00c79232
ML
6561Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
6562
b57062ca 6563 * i386.c: Added include for recog.h.
00c79232
ML
6564 (override_options): Removed unused variable p. Initialized regno to
6565 avoid warning.
6566 (order_regs_for_local_alloc): Initialized regno to avoid warning.
6567 (legitimize_address): Likewise for 'other'.
6568 (i386_aligned_reg_p): Added default case with abort ().
6569 (print_operand): Likewise.
6570 (reg_mentioned_in_mem): Likewise.
6571 (ix86_expand_binary_operator): Removed unused variables i & insn.
6572 (ix86_expand_unary_operator): Removed unused variable insn.
6573 (output_fp_cc0_set): Removed unused variable unordered_label.
6574
f64cecad
JC
6575Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
6576
6577 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
6578 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
6579 and format string match.
6580
0200b5ed
JL
6581Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
6582
6583 * flow.c (life_analysis): Do not conside the stack pointer live at
6584 the end of a function if the fucntio ncalls alloca.
6585 (mark_used_regs): Similarly.
6586
74ccf2c2
JC
65871998-02-10 John F Carr <jfc@mit.edu>
6588
6589 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
6590 1, fzero on alternative 8.
6591
60e2d0ca
RK
6592Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6593
6594 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
6595
2fd0af53
R
6596Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6597
6598 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
6599 SUBREGs of CONST_INTs.
6600
a96c3544
JC
6601Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
6602
6603 * mips.c (print_operand, function_prologue): Make printf format
6604 match argument type.
6605
2514cbc9
KG
6606Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6607
6608 * alpha.c (alpha_return_addr): Remove unused variable `first'.
6609 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
6610 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
6611
72b0c616
RK
6612Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6613
6614 * loop.c (strength_reduce): When placing increment for auto-inc
6615 case, do comparison in loop order.
b57062ca 6616
2e0dd623
JC
6617Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
6618
6619 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
6620 not a HOST_WIDE_INT.
6621
6622 * calls.c (expand_call): Change test of expand_inline_function
6623 return value to stop compiler warning.
6624
6625 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
6626
7bf825d2
JW
6627Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
6628 Jeff Law (law@cygnus.com)
6629
6630 * regmove.c: Fix various minor formatting problems.
6631 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
6632 is true. Make end of basic block tests consistent through regmove.c.
6633 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
6634 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
6635
7d4679ea
KG
6636Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6637
6638 * gansidecl.h: Check for a conflicting macro definition before
6639 attempting to prototype bcopy, bcmp or bzero.
6640
b515ab3d
JL
6641Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
6642
060fbabf
JL
6643 * expr.c (clear_pending_stack_adjust): Handle case where a function
6644 calls alloca, but the user has specified -fomit-fframe-pointer.
6645
b515ab3d
JL
6646 * function.c (assign_parms): Fix typo in last change.
6647
ccd043a9
RL
6648Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
6649
ededb2fc
RL
6650 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
6651 <fcntl.h>.
6652 (free_path_suffix): Remove unreferenced static function.
6653 (process_command): Remove unused variable temp.
6654 (default_arg): Remove unused variable i.
6655 (do_spec_1): Add parens for assignment used as truth value.
6656 (main): Likewise.
6657 (validate_all_switches): Likewise.
6658 (main): Remove unused variables i, first_time>
6659
ccd043a9
RL
6660 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
6661
6662 * calls.c (expand_call): Remove unused variables funtree,
6663 n_regs, and tmpmode.
6664
6665 * dbxout.c, except.c: Include <string.h>/<strings.h>.
6666
6667 * explow.c: (plus_constant_for_output_wide) Removed unused
6668 variable all_constant.
6669
6670 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
6671 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
6672 genrecog.c, global.c, integrate.c , stupid.c : Include
6673 <stdlib.h>.
6674
6675 * genextract.c: (walk_rtx) Remove unused variable link.
6676
6677 * genrecog.c: (concat) Remove unreferenced static function.
6678
6679 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
6680
b57062ca
UD
6681 * stmt.c: Include <stdlib.h>.
6682 (expand_asm_operands): Remove unused variable val1.
ccd043a9
RL
6683 (expand_return): Remove unused variable block.
6684 (pushcase): Remove unused variables l and n.
6685 (pushcaserange): Likewise.
6686
6687 * unroll.c (unroll_loop): Remove unused variable temp.
6688
6553db01
GM
6689Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
6690
6691 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
6692
8479e1db
KG
6693Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6694
6695 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
6696 functions for whether they support the %p format specifier.
6697 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
6698 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
6699 * configure, config.in: Rebuild.
6700
bf9c83fe
JW
6701Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
6702
6703 * function.c (assign_parms): New variable named_arg, with value
6704 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
6705
09e4daf5
GK
6706Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
6707
b57062ca 6708 * mips/t-r3900: New - same as t-ecoff but eliminate
09e4daf5
GK
6709 multilibs: mips1 and mips3.
6710 * configure.in (tx39*): Use new mips/t-r3900.
6711 * configure: Rebuild.
6712 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
6713
b57d9225
JM
67141998-02-06 Jason Merrill <jason@yorick.cygnus.com>
6715
6716 * dwarf2out.c: Add old_args_size.
6717 (dwarf2out_args_size): Use it.
6718 (dwarf2out_begin_prologue): Initialize it.
6719 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
6720 pushed args until we see a call.
6721 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
6722 before outputting them.
6723
67241998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
6725
6726 * cplus-dem.c (demangle_template_template_parm): New function.
6727 (demangle_template): Handle template template parameters.
6728
259620a8
MM
67291998-02-02 Mark Mitchell <mmitchell@usa.net>
6730
6731 * calls.c (expand_call): Don't confuse member functions named
6732 realloc, setjmp, and so forth with the standard library
6733 functions of the same names.
6734
78418280
JL
6735Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
6736
6737 * stmt.c (expand_asm_operands): Correctly identify asm statements
94e5565f 6738 no output operands.
78418280 6739
6d819282 6740Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 6741
6d819282
MK
6742 * c-common.c (decl_attributes): Flag unrecognized attribute
6743 functions as warnings instead of as errors.
6744
aec98e42
ML
67451998-02-05 Marc Lehmann <pcg@goof.com>
6746
6747 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
6748 when -Os is specified.
6749 * toplev.c (main): Don't disable flag_inline_functions anymore when
6750 -Os is in effect.
6751
1230327b
R
6752Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6753
6754 * regmove.c: Update.
6755 * flags.h (flag_regmove): Declare.
6756 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
6757 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
6758 Moved into regmove; changed caller.
6759 * toplev.c (rest_of_compilation): Call regmove_optimize also for
6760 expensive_optimizations.
6761
1aca1e76
JL
6762Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
6763
6764 * version.c: Bump for snapshot.
6765
2993ce4c
R
6766Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6767 Undo this change (the problem was actually in reload):
6768 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6769
6770 * sh.md (movqi_i+1): New peephole.
6771
0340ed6c
JL
6772Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
6773
e535528b
JL
6774 * jump.c (jump_optimize): Lose calls to modified_in_p they are
6775 not needed anymore due to changes elsewhere in jump.c.
6776
0340ed6c
JL
6777 * jump.c (jump_optimize): Fix first arg to modified_in_p in
6778 previous change.
6779
6fd1c67b
RH
6780Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
6781
6782 * expr.c (expand_builtin_setjmp): Accept two new arguments for
6783 the labels to branch to on first and subsequent executions. Don't
6784 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
6785 and provide it with the jmp_buf. Use only one of
6786 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
6787 and provide the former with the target label.
6788 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
6789 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
6790 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
6791 insn to replace all of the normal nonlocal_goto code. Don't play
6792 with __dummy. Correct arguments to nonlocal_goto.
6793 * expr.h (expand_builtin_setjmp): Update prototype.
6794 * except.c (start_dynamic_handler): When using builtin_setjmp,
6795 generate more accurate flow information.
6796
6797 * alpha.md (nonlocal_goto_receiver_osf): Delete.
6798 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
6799 (builtin_longjmp, builtin_setjmp_receiver): New.
6800 * sparc.md (update_return): Disambiguate unspec number.
6801 (nonlocal_goto): Rearrange arguments to match caller in except.c.
6802 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
6803 jmp_buf operand.
6804 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
6805 (builtin_setjmp_setup*, builtin_longjmp): New.
6806
95936d18
JC
6807Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
6808
6809 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
6810
c120c689
JW
6811Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
6812
6813 * vmsconfig.com: Remove bytecode references.
6814
1a56b81f
AS
68151998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6816
91193900
AS
6817 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
6818 -fno-sjlj-exceptions works for a target that defines
6819 DWARF2_UNWIND_INFO as zero.
6820
1a56b81f
AS
6821 * regmove.c (fixup_match_1): Undo last change which removed some
6822 "useless" code, and add a comment explaining this.
6823
e4b3de45
GK
6824Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
6825
6826 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
6827 to TARGET_LONG64.
6828
2aabb736
KK
6829Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
6830
6831 * makefile.vms: Remove bytecode references.
6832 Create genrtl files.
6833
7457661d
MH
6834Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
6835
6836 * jump.c (jump_optimize): Allow conditional loading of floating point
6837 constants and constants from memory. Reinstalled modified_in_p tests.
6838
460f50dc
R
6839Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6840
6841 * loop.c (get_condition): Handle sign-extended constants.
6842
7a6df7f9
HPN
6843Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
6844
db771a3c
HPN
6845 * expr.c (emit_push_insn): Add code to use movstrti if present.
6846
7a6df7f9
HPN
6847 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
6848 and movstrqi as in emit_block_move ().
6849
ceb6edf2
TM
6850Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
6851
6852 * config/m68k/x-next: Remove /NextDeveloper/Headers from
6853 the directories to fixinclude - /usr/include is a link
6854 to it and hence its contents are fixed by default.
6855
9cddeb31
FS
6856Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6857
6858 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
6859
d2f05a0a
KK
6860Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
6861
6862 * cccp.c (main): Predefine __VMS_VER on VMS.
6863
f8dac6eb
R
6864Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6865
6866 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
6867 * fold-const.c (size_int): Replace with
6868 (size_int_wide).
6869 (make_bit_field_ref): Use bitsize_int for bit position.
6870 * stor-layout.c (sizetype): Delete.
6871 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
6872 (layout_record, layout_union, layout_type):
6873 Use bitsize_int for bit size.
6874 (set_sizetype): New function.
6875 (make_signed_type, make_unsigned_type): Use it.
6876 * c-decl.c (init_decl_processing): Likewise.
6877 * tree.h (size_int): Don't delcare, #define.
6878 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
6879 (set_sizetype): Declare.
6880 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
6881 Define.
6882 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
6883 Convert result to sizetype.
6884 (really_start_incremental_init, push_init_level):
6885 Set type of constructor_bit_index to sbitsizetype.
6886 (push_init_level): Use unsigned arithmetic to determine padding.
6887 (output_init_element): Likewise.
6888
b577a8ff
JL
6889Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
6890
6891 * combine.c (simplify_shift_const): Fix typo in last change.
6892
6e0ef100
JC
6893Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
6894
6895 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
6896 is (truncate (lshiftrt)).
6897
4208b40f
RH
6898Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
6899
6900 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
6901 Make sure result winds up in TGT.
6902 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
6903 src to be other than DImode.
6904 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
6905 (alpha_expand_unaligned_store_words): Likewise.
6906 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
6907 that source and destination are separately optimized for alignment.
6908 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
6909
82301b88
JL
6910Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
6911
6912 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
6913 with handling of -32768.
6914
a81fb89e
KG
6915Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6916
6917 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
6918 shell variable argument instead of only hard coded functions.
6919 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
6920
6921 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
6922 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
6923 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
6924 declarations for bcopy, bcmp and bzero.
6925
6926 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
6927
6928 * gansidecl.h: If we have bcopy but don't declare it, then do so.
6929 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
6930 bzero, index and rindex if they aren't already present.
6931
eed90b2c
JL
6932Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
6933
b57062ca 6934 * toplev.c (close_dump_file): Wrap function prototype for
eed90b2c
JL
6935 argument "func" in PROTO.
6936 (dump_rtl): Likewise.
6937
bfd6bc60
JC
6938Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
6939
6940 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
6941 MASK_V8PLUS.
6942 (output_function_epilogue): Omit epilogue if nothing drops through.
6943 (output_move_double): Supress int ldd usage on ultrasparc and v9.
6944 (registers_ok_for_ldd_peep): Likewise.
6945 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
6946 (ultrasparc_adjust_cost): New function.
6947 (sparc_issue_rate): New function.
6948 * sparc.h (MASK_VIS, TARGET_VIS): New
6949 (MASK_V8PLUS, TARGET_V8PLUS): New.
6950 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
6951 (TARGET_SWITCHES): Add vis and v8plus.
6952 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
6953 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
6954 (RTX_COSTS): Use TARGET_HARD_MUL
6955 (ADJUST_COST): Call ultrasparc_adjust_cost.
6956 (ISSUE_RATE): New.
6957 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
6958 of load & fp appropritely.
6959 (supersparc function units): Adjust for Haifa.
6960 (ultrasparc function units): Likewise.
6961 (get_pc_via_rdpc): All v9, not just arch64.
6962 (movdi_v8plus, movdi_v8plus+1): New.
6963 (adddi3_sp32+1): New.
6964 (subdi3_sp32+1): New.
6965 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
6966 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
6967 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
6968 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
6969 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
6970 (ldd peepholes): Suppress for v9.
6971 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
6972 (return_subsi): Revmove.
6973
4b526a9a
JC
6974Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
6975
6976 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
6977 save/restore MEM rtl.
6978
64a438d6
JL
6979Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
6980
6981 * configure.in: Check for declaration of abort.
9c893359 6982 * acconfig.h: Corresponding changes.
64a438d6
JL
6983 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
6984 be declared.
6985
f266c82f
JL
6986Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
6987
6988 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
6989 uses it.
6990
31fa4410
JL
6991Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
6992
6993 * version.c: Bump for snapshot.
6994
0ee31ab1
JL
6995Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
6996
6997 * configure.in: Check for atoq and atoll.
6998 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
6999 proper routine for converting ascii into long long values.
7000
eeeb91c5
KK
7001Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
7002
9d21ee77
KK
7003 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
7004
7005 * vmsconfig.com: Remove bytecode references.
7006
7007 * alpha/vms.h (PREFIX): Define.
7008
7009 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
7010
eeeb91c5
KK
7011 * am-alpha.h: Don't include alloca for OPEN_VMS.
7012
7013 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
7014
7015 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
7016 (GCC_INCLUDE_DIR): Define
7017
7018 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
7019 * makefile.vms: New file.
7020
7021 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
7022
7023 * alpha.c (output_prolog): Output '.name' directive
7024 for minimal traceback information.
7025
7026 * alpha.c (output_prolog): Don't prepend entry point symbols
7027 with '$' on OPEN_VMS.
7028
76d31c63
JL
7029Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
7030 Jeffrey A Law (law@cygnus.com)
7031
7032 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
7033 HOST_WIDE_INT.
7034
7035 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
7036 as needed.
7037 * genemit.c (gen_exp): Likewise.
7038 * genpeep.c (match_rtx): Likewise.
7039 * genrecog.c (write_tree_1): Likewise.
7040
7041 * c-lex.c (yyprint): Use proper format string based upon
7042 disposition of HOST_BITS_PER_WIDE_INT.
7043 (yylex): Put casts in right place for args to build_int_2.
7044
7045Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
7046
7047 * combine.c: Fix typos in Jan27 changes.
7048
1b7555bd
OR
7049Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
7050
7051 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
7052 (LINK_SPEC): Likewise.
7053 (STARTFILE_SPEC): Likewise.
7054
21ca87b8
MS
70551998-01-28 Mike Stump <mrs@wrs.com>
7056
7057 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
7058 reload completes.
7059 * genattrtab.c (reload_completed): Define.
7060
7061 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
7062 comments.
7063
d2c92f5a
R
7064Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7065
7066 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
7067 SUBREG_REG if the word count is unchanged, also in the input reload
7068 case. Disable non-applicable sanity checks.
7069
90ad3ab7
JL
7070Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
7071
7072 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
7073
7fad712c
ILT
7074Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
7075
7076 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
7077
2290e0ec
PB
7078Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
7079
1aea01ea
PB
7080 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
7081 is a TREE_VEC before trying to use it for baseclasses.
7082 (Chill uses the same field for a different purpose.)
7083
2290e0ec
PB
7084 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
7085
16980900
LT
7086Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
7087
4c46bad0 7088 * config.sub: More accurate determination of HP processor types.
16980900 7089
5e9defae
KG
7090Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7091
7092 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
7093 prototype for `handle_sysv_pragma', and make it static. Add
7094 parentheses around assignment used as truth value.
7095
7096 * combine.c (combine_instructions): Protect variable `prev' with
7097 macro HAVE_cc0.
7098 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
7099 (extract_left_shift): Add parentheses around operand of &.
7100 (merge_outer_ops): Avoid an empty body in an else-statement.
7101 (gen_rtx_combine): Remove unused variable `i'.
b57062ca 7102
5e9defae
KG
7103 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
7104 function monstartup `void'. Likewise for internal_mcount. Add
7105 `static void' prototype for moncontrol. Reconcile sprintf format
b57062ca 7106 vs. args.
5e9defae
KG
7107
7108 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
7109 Make return type of function_arg_slotno explicitly `int'.
7110 (reg_unused_after): Add parentheses around assignment used as
7111 truth value.
7112 (save_regs): Add explicit braces to avoid ambiguous `else'.
7113 (function_arg_slotno): Add parentheses around && within ||.
7114 (function_arg_pass_by_reference): Likewise.
7115 (sparc_flat_output_function_prologue): Reconcile fprintf format
7116 vs. args.
7117
7118 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
7119 assignment used as truth value.
7120
7121 * cplus-dem.c: Include <stdlib.h>.
7122 (demangle_signature): Avoid an empty body in an else-statement.
7123 (do_type): Remove unused variable `lvl'.
b57062ca 7124
5e9defae
KG
7125 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
7126 Include <string.h>/<strings.h>.
7127 (cpp_lex): Remove unused variable `namelen'.
7128 (cpp_lex): Explicitly declare `num_chars' as an int.
7129
7130 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
7131 <unistd.h> instead. Explicitly declare is_system_include
7132 returning int.
b57062ca 7133 (make_assertion): Remove unused variable `kt'.
5e9defae
KG
7134 (cpp_expand_to_buffer): Hide variable `obuf'.
7135 (output_line_command): Remove unused variables, `line_end',
7136 `line_cmd_buf' and `len'.
7137 (macarg): Remove unused variable `arg_start'.
7138 (special_symbol): Remove unused variable `i'. Add parentheses
b57062ca 7139 around assignment used as truth value.
5e9defae 7140 (do_include): Remove unused variables `pcfname' and `retried',
b57062ca 7141 hide `pcf' and `pcfbuflimit'.
5e9defae
KG
7142 (do_line): Remove unused variable `i'.
7143 (finclude): Hide variable `missing_newline'.
7144 (cpp_handle_options): Remove unused variable `j'.
7145 (read_token_list): Remove unused variable `eofp'.
7146 (cpp_error_with_line): Remove unused variable `i'.
7147 (cpp_warning_with_line): Likewise.
7148 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
7149 (cpp_error_from_errno): Remove unused variable `i'.
7150
7151 * cse.c (invalidate): Add parentheses around assignment used as
7152 truth value.
7153 (find_best_addr): Move declaration of variable `our_cost' inside
7154 the conditional macro where its used.
7155 (fold_rtx): Avoid an empty body in an if-statement.
7156 (cse_insn): Wrap variables `this_insn_cc0_mode' and
7157 `this_insn_cc0' in macro HAVE_cc0.
b57062ca 7158
5e9defae
KG
7159 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
7160 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
7161 (output_uleb128): Likewise.
7162 (output_sleb128): Likewise.
7163 (output_cfi): Likewise.
7164 (output_call_frame_info): Remove unused variables `j', `fde_size'
7165 and `fde_pad'.
7166 (comp_unit_has_inlines): Hide declaration as per rest of file.
7167 (size_of_line_prolog): Correct typo in prototype.
7168 (add_arange): Likewise.
7169 (output_aranges): Likewise.
7170 (add_name_and_src_coords_attributes): Likewise.
7171 (gen_array_type_die): Likewise.
7172 (gen_inlined_subroutine_die): Likewise.
7173 (equate_decl_number_to_die): Remove unused variable `i'.
7174 (print_die): Reconcile format vs. args in fprintf's.
7175 (print_dwarf_line_table): Likewise.
7176 (output_die): Likewise.
7177 (output_line_info): Likewise.
7178 (add_subscript_info): Avoid an empty body in an else-statement.
7179 (gen_subprogram_die): Remove unused variable `fp_loc'.
7180
7181 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
7182 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
7183 macro. Protect `src_coords_attribute' prototype with
7184 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
7185 prototype as in the rest of the file. Likewise for
7186 `output_pointer_type_die' and `output_reference_type_die'. Remove
7187 prototype for `type_of_for_scope'.
7188 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
7189 (type_attribute): Add explicit braces to avoid ambiguous `else'.
b57062ca 7190
5e9defae
KG
7191 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
7192 (shorten_branches): Protect declaration of tmp_length with
7193 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
7194 (profile_function): Protect declaration of `sval' and `cxt'
7195 variables with appropriate macros.
7196 (final_scan_insn): Likewise for `note' variable. Add explicit
7197 braces to avoid empty body in an if-statement.
7198 (output_asm_insn): Move variable `i' inside macro conditional
7199 where it is used. Add parentheses around assignment used as truth
7200 value.
7201 (asm_fprintf) Likewise, likewise.
b57062ca 7202
5e9defae
KG
7203 * fix-header.c (main): Remove unused variable `done'. Protect
7204 declaration of `i' with FIXPROTO_IGNORE_LIST.
7205
7206 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
7207
7208 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
7209 `ind'.
7210
7211 * profile.c: Include <string.h>/<strings.h>.
7212 (instrument_arcs): Remove unused variables `note', `inverted',
7213 `zero' and `neg_one'.
7214 (branch_prob): Avoid empty body in an if-statement.
7215
7216 * regclass.c: Include <stdlib.h>.
7217 (reg_alternate_class): Explicitly declare parameter `regno'.
7218
7219 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
7220 parentheses around assignment used as truth value.
7221 (find_matches): Remove unused variables `output_operand' and
7222 `matching_operand'.
7223 (fixup_match_1): Remove statement with no effect: "if (0) ;".
7224
7225 * scan.c (sstring_append): Explicitly declare `count' as int.
7226 (scan_string): Explicitly declare parameter `init' as int.
7227
7228 * sched.c: Include <stdlib.h>.
7229 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
7230 (rank_for_schedule): Add parentheses around assignment used as
7231 truth value.
7232 (schedule_block): Likewise.
7233 (regno_use_in): Likewise.
7234 (schedule_insns): Remove unused variable `i'.
7235
7236 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
7237 (v_message_with_decl): Remove unused variable `n'.
7238 (botch): Explicitly declare parameter `s' as char *.
7239 (main): Add parentheses around assignment used as truth value.
7240
7241 * tree.c (make_node): Protect the variable `kind' with the
7242 GATHER_STATISTICS macro.
7243 (real_value_from_int_cst): Move variable `e' inside conditional
7244 macro area where it is used.
7245 (tree_last): Add parentheses around assignment used as truth value.
7246 (build1): Protect the variable `kind' with the GATHER_STATISTICS
7247 macro.
7248 (print_obstack_statistics): Reconcile format vs. args in fprintf.
7249 Protect variables `i', `total_nodes', and `total_bytes' with the
7250 GATHER_STATISTICS macro.
7251
4b6bb562
MS
7252Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
7253
7254 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
7255 some comments regarding use of dead_or_set_p.
7256
e95f0195
TV
7257Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
7258
7259 * fixincludes: Tweak fix for struct exception in math.h
7260
c3499f00
GK
7261Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
7262
7263 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
b57062ca 7264 Change mode of registers used to add/sub from
c3499f00
GK
7265 hard_frame_pointer_rtx from word_mode to Pmode.
7266
01898d58
NC
7267Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
7268
6db34dd4
NC
7269 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
7270 asm_output_aligned_bss() instead of asm_output_bss().
7271
01898d58
NC
7272 * toplev.c (rest_of_compilation): Replace references to
7273 stack_reg_dump_file and dbr_sched_dump_file with references to
b57062ca 7274 rtl_dump_file.
01898d58 7275
7b6ffd11
KI
7276Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
7277
7278 * tlink.c (scan_linker_output): Call fclose() for opened files.
7279
60593797
RH
7280Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
7281
7282 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
7283 compiling with -fpic -- we want to be able to override symbols
7284 properly.
7285 (alpha_expand_block_move): Fix thinko in last change.
7286
7287 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
7288 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
7289 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
b57062ca 7290
5e4aab97
RH
7291Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
7292
7293 * alpha.md (abssf, absdf): Revert last change.
7294
69145bcc
JC
7295Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
7296
7297 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
7298 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
7299
4926b75a
JL
7300Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
7301
7302 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
7303 a CONST_INT into SFmode.
7304
c6aded7c
AG
7305Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
7306
7307 * flags.h: New flag (optimize_size).
7308 * toplev.c (main): Parse -Os option and set optimize_space
7309 accordingly.
b57062ca 7310 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
c6aded7c
AG
7311 __OPTIMIZE_SIZE__ when compiling with -Os.
7312 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
7313 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
7314 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
7315 to macro.
7316 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
7317
3698f44e
MH
7318Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
7319
7320 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
7321 stuff only if MCT_TEXT is #define'd.
7322
ac8a456a
MO
7323Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
7324
7325 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
7326 configurations.
7327
032713aa
NC
7328Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
7329
7330 * toplev.c: Add -dM command line option to dump RTL after the
7331 machine dependent reorganisation pass, if there is one.
7332 Reorganise RTL dump code, so that only one file handle is
b57062ca 7333 needed.
032713aa 7334
ec2be682
BK
7335Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
7336
7337 * except.c (check_exception_handler_labels): Disable warning when
7338 flag_syntax_only.
7339
e232b7b3
JW
7340Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
7341
7342 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
7343
2a851b5c
R
7344Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7345
7346 * c-decl.c (grokdeclarator): Get parameter tags from
7347 last_function_parm_tags.
7348 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
7349 traversing the parameter types.
7350 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
7351
808fbfac
JL
7352Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
7353
7354 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
7355 the default case.
7356 (get_shift_alg): Fix typo.
7357
15389075
RH
7358Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
7359
7360 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
7361
83c8ddef
RH
7362Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
7363
7364 * toplev.c (get_run_time): Make sure each case gets its variables.
7365
db81d74a
RH
7366Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
7367
7368 * configure.in (build_xm_file): Add auto-config.h if host=build.
7369 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
7370 (build_xm_file_list): Likewise.
7371 * configure: Rebuild.
b57062ca 7372
f745c7a2
AB
7373Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
7374
7375 * recog.c (validate_replace_rtx_1): Only perform substitutions
7376 of arguments to commutative and comparison operators once.
7377
963f4057
KG
7378Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7379
91a51951
KG
7380 * sparc.c (output_cbranch): Add default case in
7381 enumeration switch.
b57062ca 7382
91a51951
KG
7383 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
7384 (emit_delay_sequence): Eliminate unused parameter, all callers
7385 changed.
7386 (fill_simple_delay_slots): Likewise.
7387 (fill_slots_from_thread): Likewise.
7388 (fill_eager_delay_slots): Likewise.
7389 (mark_referenced_resources): Add default case in enumeration switch.
7390 (mark_set_resources): Likewise.
7391 (rare_destination): Likewise.
7392 (mostly_true_jump): Likewise.
7393 (find_dead_or_set_registers): Likewise.
7394 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
7395 (update_reg_unused_notes): Remove unused variable `p'.
7396 (mark_target_live_regs): Remove unused variables `next' and
7397 `jump_count'.
7398 (fill_simple_delay_slots): Remove unused variable `j'.
7399 (fill_slots_from_thread): Add parentheses around assignment used
7400 as truth value.
7401 (dbr_schedule): Likewise.
7402
963f4057
KG
7403 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
7404 (objc.stage2, objc.stage3, objc.stage4): Likewise.
7405
e82ad93d
MT
7406Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
7407
7408 * cse.c (simplify_ternary_operation): Don't try to simplify
7409 IF_THEN_ELSE expressions (created by combine) that don't use
7410 relational operators.
7411
b4b04bf9
JL
7412Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
7413
ed1ecb19
JL
7414 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
7415 simplifications.
7416
b4b04bf9
JL
7417 * crtstuff.c (init_dummy): Keep the epilogue in the init
7418 section for non-ELF systems.
7419
deeef0ac
R
7420Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7421
7422 * sh.md (movqi_i+1): New peephole.
7423
03566575
JW
7424Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
7425
7426 * Makefile.in: Remove remaining bytecode stuff.
7427 * emit-rtl.c, expr.c: Likewise.
7428
eb96c120
NC
7429Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
7430
7431 * toplev.c (lang_options): Add unknown-pragma options.
7432
f03204e9
PB
7433Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
7434
7435 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
7436 special (and incomplete) handling for Chill arrays.
7437
4e762a38
JC
7438Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
7439
7440 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
7441 to get clock rate.
7442
c3499f00 7443Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
319f217e
GK
7444
7445 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
7446
19f673eb
SS
74471998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
7448
7449 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
7450 .frame directive instead of FRAME_POINTER_REGNUM.
7451
74cf1c6d
RK
7452Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
7453
7454 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
7455 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
7456 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
7457 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
7458 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
7459 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
7460 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
7461 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
7462 mcpu32 or m5200.
7463 * longlong.h: Replace __mc68332__ with __mcpu32__.
7464
e1402e7d
JL
7465Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
7466
7467 * version.c: Bump for snapshot.
7468
6d49a073
JW
7469Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
7470
7471 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
7472 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
7473 * reload1.c (eliminate_regs): Likewise.
7474
c485e6a0
JL
7475Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
7476
7477 * regmove.c (find_matches): Initialize matches->earlyclobber too.
7478
84303d9a
RH
7479Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
7480
7481 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
7482 (negsf2, negdf2): Use proper subtract in IEEE mode.
7483
b93a436e
JL
7484Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
7485
27766f0e
JL
7486 * Makefile.in: Remove more bytecode stuff.
7487 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
7488 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
7489 * f/install.texi, objc/Make-lang.in: Likewise.
7490
b93a436e
JL
7491 * Makefile.in: Remove all bytecode support.
7492 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
7493 * emit-rtl.c: Remove all bytecode support.
7494 * expr.c, expr.h function.c, integrate.c: Likewise.
7495 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
7496 * tree.h, varasm.c: Likewise.
424e713c
JL
7497 * config/m68k/m68k.h: Likewise.
7498 * bi-*, bc-*, bytecode*: Delete bytecode related files.
c9804136 7499 * modemap.def: Likewise.
b93a436e 7500
7e07e3ba
GK
7501Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
7502
7503 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
7504 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
7505
685885b7
RH
7506Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
7507
7508 * i386.md (push): Prohibit symbolic constants if flag_pic.
7509 (movsi+1): Likewise for move to non-register.
7510
5830e3a0
JW
7511Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
7512
11ea364a
JW
7513 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
7514 (print_operand): Handle 0xffffffff on 32 bit host.
7515
a851212a
JW
7516 * configure.in (thread_file): Rename uses before main loop to
7517 target_thread_file. Initialize to empty in main loop. Set thread_file
7518 to target_thread_file after main loop if not set.
7519 * configure: Rebuild.
7520
5830e3a0
JW
7521 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
7522 (add_values_to_cover): Revert last change (which had no ChangeLog
7523 entry).
7524 (simplify_with_current_value_aux): Handle CONST_INT.
7525
829e1aaf
AS
7526Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7527
7528 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
7529
76844337
RH
7530Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
7531
7532 * configure.in: Add cpp stringify test.
7533 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
7534 * gengenrtl.c: Use it.
7535 * configure, config.in: Rebuild.
7536
a3f80023
AS
7537Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7538
7539 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
7540
c5d0345e
RH
7541Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
7542
7543 * configure.in: Find declaration for sbrk.
7544 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
7545 * config.in, configure: Rebuild.
7546 * mips-tfile.c: Properly protect declaration of sbrk and free.
7547 * toplev.c: Properly protect declaration of sbrk.
7548
bb02e7ea
RH
7549Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
7550
7551 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
7552
30c2fa75
JL
7553Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
7554
7555 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
7556
a0372c94
MS
7557Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
7558
7559 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
7560
c9ec4f99
DM
7561Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
7562
0e9ff885
DM
7563 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
7564 constant offset computations from objects with known alignment in
7565 the presence of STACK_BIAS.
7566
7bcac048
DM
7567 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
7568 necessary.
7569 (const_hash): Hash val is unsigned long.
7570 (SYMHASH): Likewise.
7571
7572 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
7573
7574 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
7575 char pointer, not HOST_WIDE_INT.
7576 (print_node): Likewise. Also hash is unsigned long not
7577 HOST_WIDE_INT.
7578
7579 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
7580
c9ec4f99
DM
7581 * explow.c (optimize_save_area_alloca): New function for targets
7582 where SETJMP_VIA_SAVE_AREA is true.
7583 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
7584 compute the amount of stack space needed should we find later that
7585 setjmp is never called by this function, stuff rtl for this inside
7586 a REG_NOTE of the final SET of stack_pointer_rtx.
7587 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
7588 current_function_calls_alloca, call optimize_save_area_alloca.
7589
ca097615
JW
7590Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
7591
7592 * i386.md: Remove redundant integer push patterns.
7593 Don't bother checking for TARGET_PUSH_MEMORY when
7594 pushing constants or registers.
7595
a3105a89
MK
7596Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
7597 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
b57062ca 7598
a3105a89
MK
7599 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
7600 (pwait): New function for mingw32.
7601
7602 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
7603 pipe support is broken for now.
7604
51549d76
LI
76051998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
7606
ffc3503d
JL
7607 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
7608 between frame_pointer_rtx, hard_frame_pointer_rtx, and
7609 arg_pointer_rtx is respected in initialization.
7610 (init_emit_once): Use gen_rtx_raw_REG() to create
7611 return_address_pointer_rtx.
7612
51549d76
LI
7613 * reorg.c: #include "expr.h" for rtx prototypes.
7614 * Makefile.in (reorg.o): Depend on expr.h
7615
b24a815b
PN
7616Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
7617
7618 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
7619 local_prefix to sub-make invocations.
7620
1e7b997a
DM
7621Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
7622
7623 * objc-parse.c: Recognize protocol qualifiers in class definitions.
7624
340fb41f
JL
7625Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
7626
ffc3503d
JL
7627 * rtl.h: Fix typos.
7628
aef28d1d 7629 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6885fc87 7630 * configure.in: Check for atol.
aef28d1d
JL
7631 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
7632
4399e7a3
JL
7633 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
7634
72ec635f
JL
7635 * loop.c (find_and_verify_loops): When attempting to move insns from
7636 inside the loop outside the loop, create a BARRIER if no suitable
7637 one was found.
7638
1be6e437
JL
7639 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
7640 favor of an equivalent change from gcc-2.8.
7641
340fb41f
JL
7642 * i386/x-sco5 (CC): Remove trailing whitespace.
7643
982255c8 7644Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 7645
982255c8
KG
7646 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
7647 (accessor_from_format): Likewise.
7648 (xmalloc): New function for use when linking with alloca.o.
7649
db8abea3
BH
7650Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
7651
7652 * frame.c (find_fde): Correct FDE's upper bound.
7653
5d483f63
RH
7654Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
7655
7656 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
7657
9a960e6b
JL
7658Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
7659
7660 * calls.c (expand_call): Move #ifdef code out of macro argument
7661 lists.
7662 (emit_library_call, emit_library_call_value): Likewise.
7663
a4b18346
JL
7664Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
7665
7666 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
7667
a252996a
JL
7668Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
7669
7670 * version.c: Bump for snapshot.
7671
38a448ca
RH
7672Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
7673
7674 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
7675 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
7676 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
7677 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
7678 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
7679 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
7680 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
7681 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
7682 * unroll.c, varasm.c: Likewise.
7683 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
7684
7685Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
60db002d
GK
7686
7687 * mips.h: Fix some type-o's from a previous change.
7688
a8decb2c
JL
7689Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
7690
b57062ca 7691 * loop.c (check_dbra_loop): Make sure initial value is a
a8decb2c
JL
7692 CONST_INT before trying to normalize it.
7693
0e2b736c
RL
7694Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
7695
7696 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
7697
a3aa3d8c
HB
7698Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
7699
7700 * cppexp.c: Include gansidecl.h
7701
8b496c8d
ILT
7702Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
7703
7704 * svr4.h (LINK_SPEC): Never specify -h.
7705 * ptx4.h (LINK_SPEC): Likewise.
7706 * rs6000/sysv4.h (LINK_SPEC): Likewise.
7707 * sparc/sol2.h (LINK_SPEC): Likewise.
7708
c995fea1
RH
7709Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
7710
8d47dfc5
RH
7711 * c-typeck.c (comptypes): Exit early on NULL input.
7712
c995fea1
RH
7713 * haifa-sched.c (schedule_insns): Correctly remove inter-block
7714 dependencies after reload.
7715
88ea0ad1
FS
7716Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7717
7718 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
7719
f5e86959
JL
7720Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
7721
7722 * alpha/vms.h (DIR_SEPARATOR): define
7723
7724Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6c32c807
BH
7725
7726 * Makefile.in (stamp-proto): Remove.
7727 (protoize.o, unprotoize.o): Straightforward compile.
7728 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
7729
93006f8c
MK
7730Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
7731
7732 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
7733 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
7734
e4c4f8df
JL
7735Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
7736
7737 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
7738 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
7739 * sparc/netbsd.h, vax/netbsd.h: Likewise.
7740
4aa0c2a5
SS
7741Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
7742
7743 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
7744
c43143f6
JW
7745Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
7746
7747 * configure.in (target_cpu_default, target_cpu_default2): Use double
7748 quotes around them when testing their value.
7749 * configure: Rebuilt.
b57062ca 7750
4b8140a6
JC
7751Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
7752
7753 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
7754 to allocate rtx.
7755 (gendef): Call obstack_alloc_rtx.
7756
82de9b28 7757Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
fe07d4c1
RL
7758
7759 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
7760 for now.
7761
23092526 7762Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 7763
23092526
MK
7764 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
7765 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
7766 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
7767
b57062ca 7768Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
32318600
JW
7769
7770 * mips.md (return_internal): Change mode from SImode to VOIDmode.
7771
ef720b21
KJ
7772Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
7773
7774 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
7775 "-static".
7776
cde21847
SC
7777Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
7778
7779 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
7780 suffix from operand 3.
7781
184bb750
R
7782Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
7783 Jeffrey A Law (law@cygnus.com)
7784
7785 * regmove.c: New implementation of regmove pass.
7786 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
7787 decls, make them have external linkage. Return a value from
7788 optimize_reg_copy_1.
7789 * reload.h (count_occurrences): Add decl.
7790 * reload1.c (count_occurrences): Delete decl, make it have external
7791 linkage.
7792 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
7793
3f9e9508 7794Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
b57062ca 7795
3f9e9508
JL
7796 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
7797 if it is not defined.
b57062ca 7798
3b80f6ca
RH
7799Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
7800
7801 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
7802 * emit-rtl.c (gen_rtx): Move special code to ...
7803 (gen_rtx_CONST_INT): New function.
7804 (gen_rtx_REG): New function.
7805 (*): Update all calls to gen_rtx.
7806 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
7807 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
7808 (GEN_INT): Call gen_rtx_CONST_INT.
7809 * gengenrtl.c: New file.
7810
1c72c7f6
JC
7811Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
7812
7813 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
7814 (base_alias_check): If no base found for address call canon_rtx and
7815 try again.
7816
8fa4e1b4
JL
7817Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
7818
7819 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
7820 arguments for mips16.
7821 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
7822 Don't lose if tsize is zero after handling large stack for mips16.
7823 * mips.md (return): For trivial return, return address is in $31.
7824
eb774d8d
NS
7825Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
7826
7827 * mips/mips16.S: Various changes to make it work with -msingle-float
7828 and -EL.
7829
2bcb2ab3
GK
7830Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
7831 Ian Lance Taylor <ian@cygnus.com>
7832 Jeff Law <law@cygnus.com>
7833
7834 * mips.c, mips.h, mips.md: First cut at merging in mips16
7835 support. Major modifications throughout all three files.
7836
db0d1ed9
SS
7837Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
7838
7839 * configure.in: Make gthr-default.h a forwarding header instead of
7840 a symlink.
7841
79873958
KG
7842Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7843
86e011ad
KG
7844 * gcov-io.h: Include sys/types.h to ensure we get size_t.
7845
79873958
KG
7846 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
7847
35a42f5f
JW
7848Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
7849 Jeffrey A Law (law@cygnus.com)
7850
7851 * crtstuff.c (__frame_dummy): New function for irix6.
7852 (__do_global_ctors): Call __frame_dummy for irix6.
7853 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
7854
ef86d2ee
WL
7855Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
7856
7857 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
7858
6c174fc0
RH
7859Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
7860
7861 * c-decl.c (init_decl_processing): Provide proper fallback symbol
7862 for __builtin_memset.
7863 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
7864 not INTEGER_CST. Assert arg 3 is a constant.
7865
7866 * alpha.c (mode_width_operand): Accept 64-bit modes.
7867 (mode_mask_operand): Likewise.
7868 (print_operand): Likewise for 'M' and 'U' codes.
7869 (alpha_expand_unaligned_load): New function.
7870 (alpha_expand_unaligned_store): Likewise.
7871 (alpha_expand_unaligned_load_words): Likewise.
7872 (alpha_expand_unaligned_store_words): Likewise.
7873 (alpha_expand_block_move): Likewise.
7874 (alpha_expand_block_clear): Likewise.
7875 * alpha.h (MOVE_RATIO): New define.
7876 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
7877 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
7878
7879 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
7880 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
7881
8fbf199e
RH
7882Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
7883
7884 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
7885 * configure: Update.
7886
2d490e3e
JL
7887Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
7888
aa2ae679
JL
7889 * emit-rtl.c (operand_subword): Correctly handle extracting a word
7890 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
7891
2d490e3e
JL
7892 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
7893 for first argument.
7894
6e26218f
ILT
7895Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
7896
7897 * configure.in: Set and subsitute host_exeext. Use it when creating
7898 the assembler and linker symlinks.
7899 * configure: Rebuild.
7900 * Makefile.in (exeext): Set to @host_exeext@.
7901 (build_exeext): New variable, set to @build_exeext@.
7902 (FLAGS_TO_PASS): Pass down build_exeext.
7903 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
7904 programs.
7905
1b31097e
JL
7906Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
7907
7908 * mn10200.md (addsi3, subsi3): Fix thinkos.
7909
194faace
RH
7910Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
7911
7912 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
7913 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
7914 unix always, since we want to be able to thunk to functions in a
7915 shared library from an application.
7916
975602f8
ILT
7917Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
7918
7919 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
7920 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
7921
0eb1ad44
JL
7922Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
7923
7924 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
7925 offset's mode is not ptr_mode, convert it.
7926
eff0f7ac
MM
7927Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
7928
7929 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
7930 compiling if it was already defined.
7931
2c3a56ad
JL
7932Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
7933
7934 * flow.c (find_basic_blocks): Don't create a new basic block
7935 for calls in a LIBCALL block.
7936
fc97718f
DE
7937Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
7938
7939 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
7940
5b5a2a1e
JL
7941Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
7942
7943 * cse.c (rtx_cost): Remove conflicting default case.
7944
128f7968
RH
7945Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
7946
7947 * configure.in: Move default enabling of Haifa out of for loop.
7948 * configure: Rebuild.
7949
e81b4fbe
JL
7950Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
7951
7952 * version.c: Bump for snapshot.
7953
f24af81b
TT
79541997-12-25 Teemu Torma <tot@trema.com>
7955
7956 * Makefile.in (GTHREAD_FLAGS): New var.
7957 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
7958 (distclean): Remove gthr-default.h.
7959
7960 * configure.in: Accept dce as a thread package.
7961 Check for thread.h and pthread.h.
7962 Link gthr-default.h to appropriate thread file and set
7963 gthread_flags.
7964 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
7965 include multilib definitions from pa/t-dce-thr.
7966 (sparc-*-solaris2*): Enable threads by default, if thread.h or
7967 pthread.h is found, preferring posix threads over solaris ones.
7968
7969 * config/pa/t-dce-thr: New file.
7970 * config/pa/t-pa: Removed multilibs.
7971 * config/sparc/t-sol2: Ditto.
b57062ca 7972
f24af81b
TT
7973 * gthr.h: New file.
7974 * gthr-single.h: New file.
7975 * gthr-posix.h: New file.
7976 * gthr-solaris.h: New file.
7977 * gthr-dce.h: New file.
7978 * libgcc-thr.h: Removed.
7979 * objc/thr-dce.c: New file copied from thr-decosf1.c.
7980
7981 * frame.c: Include gthr.h instead of libgcc-thr.h.
7982 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
7983 (eh_context_initialize): If __gthread_once fails, use static eh
7984 context.
7985 (eh_context_free): Call __gthread_key_dtor.
7986
d9a4ee00
JL
7987Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
7988
7989 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
7990
04bd620d
JW
7991Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
7992
556c714b 7993 * cse.c (max_insn_uid): New variable.
556c714b
JW
7994 (cse_around_loop): Use max_insn_uid.
7995 (cse_main): Set max_insn_uid.
7996
04bd620d
JW
7997 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
7998 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
7999 -mlong64, and -mgp{32,64} options.
8000 * mips.c (mips_abi): Change type to int.
8001 * mips.h (enum mips_abi_type): Delete.
8002 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
8003 (mips_abi): Change type to int.
8004
439d5a35
JC
8005Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
8006
8007 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
8008 optimization is now always enabled.
8009
8010 * calls.c (expand_call): Recognize C++ operator new as malloc-like
8011 function.
8012
8013 * alias.c (memrefs_conflict_p): Eliminate tests now done by
8014 base_alias_check.
8015 (*_dependence): Call canon_rtx before base_alias_check.
8016 (init_alias_once): New function to precompute set of registers which
8017 can hold Pmode function arguments.
8018
8019 * rtl.h: Declare init_alias_once.
8020
8021 * toplev.c (compile_file): Call init_alias_once.
8022
280e521f
JL
8023Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
8024
8025 * tree.c (restore_tree_status): Do not dereference a null pointer.
8026
95b8c0c8
PE
8027Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
8028
8029 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
8030 RLIMIT_STACK. This maintains consistency with the recent, similar
8031 patch to cccp.c and toplev.c.
8032
71d9b493
RH
8033Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
8034
8035 * genattrtab.c (expand_units): For large nr opclasses, expand
8036 function_units_used with ORX to prevent blowups. Tag with FFS.
8037 (num_unit_opclasses): New variable.
8038 (gen_unit): Update it.
8039 (enum operator): Add ORX_OP.
8040 (operate_exp): Treat ORX as or, except don't expand across an if.
8041 Reuse number rtx's after operating on them.
8042 (check_attr_value): Accept IOR, AND, & FFS.
8043 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
8044 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
8045 (write_expr_attr_cache, write_toplevel_expr): New functions.
8046 (write_attr_get): Handle FFS-tagged expressions.
8047 (make_canonical): Don't expand const attributes.
8048 (convert_const_symbol_ref): Dike out.
8049 (evaluate_eq_attr): Handle SYMBOL_REF.
8050 (main): Don't emit get_attr_foo for const attributes.
8051
8052 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
8053 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
8054 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
b57062ca
UD
8055 * alpha.md: Redo all of the scheduling, adding EV6 support, and
8056 combining function units where possible.
71d9b493
RH
8057 (attr "type"): Split loads, stores, cmov into int/fp. Combine
8058 multiplies and divides. Add EV6 sqrt, ftoi, itof.
8059 (attr "opsize"): New attribute.
8060 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
8061 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
8062 to control register allocation.
8063 (movsi2-1, movdi2-1): Likewise.
8064
b0435cf4 8065Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
b57062ca 8066
b0435cf4
RH
8067 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
8068 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
8069 Move OSF/1 specific defines out.
8070 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
8071 Move Linux specific defines out.
8072 (LINK_SPEC): Genericize.
8073 (ASM_FILE_START): Emit .arch if using more than the base insn set.
8074 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
8075 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
8076 (HANDLE_SYSV_PRAGMA): Define.
8077 * alpha/osf.h: New file.
8078 * alpha/linux.h: Split. Retain file-format independant defines.
8079 Import Linux bits from elf.h.
8080 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
8081 (FUNCTION_PROFILER): _mcount takes its address in $28.
8082 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
8083 * alpha/linux-ecoff.h: New file.
8084 * alpha/linux-elf.h: New file.
8085 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
8086 * alpha/win-nt.h (TARGET_DEFAULT): Define.
8087 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
8088 Add new headers as appropriate.
b57062ca 8089
b0435cf4
RH
8090 * configure.in (alpha*): Enable Haifa by default.
8091 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
8092 * configure: Rebuild.
b57062ca 8093
5768f211
RH
8094Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
8095
8096 * Makefile.in (clean): Remove the stages with their objects here ...
8097 (distclean): ... instead of here.
8098
9e04c65a 8099Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 8100
9e04c65a
KG
8101 * cse.c (rtx_cost): Add default case in enumeration switch.
8102 * fix-header.c (recognized_macro): Likewise.
8103 (recognized_extern): Likewise.
8104 (write_rbrac): Likewise.
8105 * objc/objc-act.c (encode_aggregate): Likewise.
8106 (gen_declarator): Likewise.
8107 (gen_declspecs): Likewise.
8108
1d88b804
JL
8109Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
8110
8111 * haifa-sched.c (create_reg_dead_note): Detect and handle another
8112 case where we kill more regs after sched than were killed before
8113 sched.
8114 * sched.c (create_reg_dead_note): Similarly.
8115
bbeba0ba
JL
8116Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
8117
8118 * c-pragma.c: Include flags.h.
8119
05853640
MK
8120Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
8121
8122 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
8123 about system headers.
8124 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
8125 and also to resolve symbols in prefix.c.
8126
8127 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
8128 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
8129 when the definitions in auto-config.h is not visible.
8130 (HAVE_BZERO): Likewise.
8131 (HAVE_BCMP): Likewise.
8132 (HAVE_RINDEX): Likewise.
8133 (HAVE_INDEX): Likewise.
8134
44201dba
JL
8135Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
8136
8137 * pa.c (emit_move_sequence): Handle a function label source
8138 operand.
8139
d300e551
NC
8140Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
8141
8142 * c-pragma.c (handle_pragma_token): Generate warning messages
8143 about unknown pragmas if warn_unknown_pragmas is set.
8144
8145 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
8146 line option to set variable: warn_unknown_pragmas.
8147
d3245704
MH
8148Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
8149
8150 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
8151 definition.
8152 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
8153
5198352e
JL
8154Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
8155
8156 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
8157 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
8158 generate more fine grained floating point emulation libraries.
8159 * config/fp-bit.c: Add protecting #ifdef to all functions so
8160 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
8161 then compile all suitable functions.
8162 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
8163 underscores to avoid namespace pollution.
8164 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
8165 (FPBIT): Define.
8166 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
8167 (FPBIT): Define.
8168 (DPBIT): Define.
8169
9f1ff8e8 8170Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1d300e19
KG
8171 Jeff Law <law@cygnus.com>
8172
8173 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
8174 of the declaration.
8175 * c-decl.c (finish_decl): Use parentheses around && within ||.
8176 * rtl.c: Include stdlib.h.
8177 (read_skip_spaces): Add parentheses around assignments used as
8178 truth values.
8179 (read_rtx): Initialize list_rtx.
8180 * cppexp.c (parse_number): Use || when operands are truth values.
8181 * alias.c (find_base_value): Add default case.
8182 (memrefs_conflict): Likewise.
8183 * combine.c (sets_function_arg_p): Likewise.
8184 * genemit.c (gen_exp): Likewise.
8185 * local-alloc.c (contains_replace_regs): Likewise.
8186 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
8187 * fold-const.c (fold_convert): Use "&&" for truth values.
8188 (fold): Add default case.
8189 * sdbout.c (sdbout_field_types): Fix typo in declaration.
8190 (sdbout_one_type): Add default case.
8191 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
8192 (some_operand): Add default case.
8193 (input_operand): Likewise.
8194 (signed_comparison_operator): Likewise.
8195 (divmod_operator): Likewise.
8196 (alpha_set_memflags_1): Likewise.
8197 * reload1.c (reload_cse_simplify_operands): Ensure function
8198 always returns a value.
8199 * scan-decls.c (scan_decls): Likewise.
8200 * c-lex.c (skip_white_space): Fix typo in declaraion.
8201 * c-typeck.c (comp_target_types): Add parentheses around assignment
8202 used as truth value.
8203 (print_spelling): Likewise.
8204 (constructor_implicit, constructor_result): Remove unused variables.
8205 * collect2.c (scan_library): Protect prototype with
8206 #ifdef SCAN_LIBRARIES.
8207 * emit-rtl.c (find_line_note): Fix typo in declaration.
b57062ca 8208 * final.c (asm_insn_count): Protect prototype with
1d300e19
KG
8209 #ifdef HAVE_ATTR_length.
8210 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
8211 (try_pre_increment_1, try_pre_increment): Likewise.
8212 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
8213 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
8214 * gcov-io.h (__store_long, __write_long, __read_long): Fix
8215 unsigned/signed comparisons.
8216 * gcov.c (read_files): Remove unused "first_type" variable.
8217 (scan _for_source_files): Initialize s_ptr.
8218 (function_summary): Eliminate "%lf" formatting, use %ld for
8219 longs.
8220 (output_data): Initialize branch_probs and last_line_num.
8221 Eliminate "%lf" formatting, use "%ld" for longs.
8222
18543a22
ILT
8223Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
8224
afba61d1
ILT
8225 * mips16.S: New file.
8226
8227 * libgcc2.c (varargs): Handle mips16.
8228
18543a22
ILT
8229 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
8230 expression.
8231 * stmt.c (expand_end_case): Likewise.
8232 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
8233 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
33f7f353 8234 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
18543a22 8235
dbf3231e
AS
8236Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8237
8238 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
8239 the build directory.
8240 (libobjc.a): Update dependency list.
8241 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
8242 directory.
8243 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
8244 (objc.mostlyclean): Remove runtime-info.h.
8245
e1ee5cdc
RH
8246Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
8247
8248 * tree.c (build_range_type): Allow creation of ranges with no maximum.
8249 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
8250 * dwarf2out.c (add_subscript_info): Likewise.
8251 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
8252 * sdbout.c (plain_type_1): Likewise.
8253 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
8254 Likewise.
8255 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
8256 Likewise.
8257
dfe91418 8258Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 8259
dfe91418
JL
8260 * mips.c (fatal): Remove declaration.
8261
82621997-12-18 Mark Mitchell <mmitchell@usa.net>
8263
8264 * integrate.c (get_label_from_map): New function.
8265 (expand_inline_function): Use it. Initialize the label_map to
8266 NULL_RTX instead of gen_label_rtx.
8267 (copy_rtx_and_substitute): Use get_label_from_map.
8268 * integrate.h (get_label_from_map): New function.
8269 (set_label_from_map): New macro.
8270 * unroll.c (unroll_loop): Use them.
8271 (copy_loop_body): Ditto.
8272
337e2b69
ILT
8273Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
8274
8275 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
8276 (INIT_TARGET_OPTABS): Define.
8277 * mips/ecoff.h: Include gofast.h before mips.h.
8278 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
8279 * mips/elf64.h: Likewise.
8280 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
8281
02531345
JM
8282Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
8283
8284 * except.c: Remove register_exception_table{,_p}.
8285
913b5d54
GK
8286Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
8287
efb84aa5
GK
8288 * unroll.c (calculate_giv_inc): Handle constant increment found in
8289 a MEM with an appropriate REG_EQUAL note.
8290
bb1b857a
GK
8291 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
8292
913b5d54
GK
8293 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
8294 frame pointer in the prologue.
8295
80aab652
RL
8296Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
8297
8298 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
8299 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
8300
f5c4bc60 8301Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
b57062ca 8302
f5c4bc60
BM
8303 * config/m68k/m68k.c (output_function_prologue): Typecast
8304 dwarf2out_cfi_label to (char *).
8305 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
b57062ca 8306
8dcb5295
RH
8307Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
8308
8309 * sparc.md (jump): Don't use the annul bit around an empty loop.
8310 Patch from Kevin.Kelly@East.Sun.COM.
8311
a99503b1
SC
8312Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
8313
b57062ca 8314 * jump.c: (jump_optimize): Don't use the return register as a
a99503b1
SC
8315 source1 of a conditional move.
8316
e13c943c
RH
8317Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
8318
8319 * sparc.c (DF_MODES): Or the mask not the bit number.
8320 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
8321
be3d27d6
CI
8322Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
8323
8324 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
8325
f184a264
MH
8326Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
8327
ade7386a
MH
8328 * fixincludes (size_t): Add support for Motorola's stdlib.h
8329 which fails to provide a definition for size_t.
8330 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
8331 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
8332 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
8333
f184a264
MH
8334 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
8335 prevent unresolved externals in libio.
8336 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
8337
afc96791
L
8338Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
8339
8340 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
8341 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
8342 (LIB_SPEC): Updated for glibc 2.
8343
e9818f3c
JL
8344Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
8345
8346 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
8347 * ginclude/varargs.h: Likewise.
8348
a3fd4e75 8349Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
520cd331
JL
8350
8351 * version.c: Bump for snapshot.
8352
a3fd4e75
JL
8353Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
8354
8355 * frame.h (__register_frame, __register_frame_table,
8356 __deregister_frame): New.
8357 * frame.c (__register_frame, __register_frame_table,
8358 __deregister_frame): New.
8359 * frame.c (__deregister_frame_info): Return void *.
8360 * frame.h (__deregister_frame_info): Ditto.
8361 * collect2.c (__deregister_frame_info): Ditto.
8362
166cdf4a
RH
8363Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
8364
8365 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
8366
bcbbac26
RH
8367Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
8368
8369 * alpha.c (alpha_cpu_name): New variable.
8370 (alpha_mlat_string): Likewise.
8371 (alpha_memory_latency): Likewise.
8372 (override_options): Handle -mmemory-latency.
8373 (alpha_adjust_cost): Adjust load cost for latency.
8374 * alpha.h (TARGET_OPTIONS): Add meory-latency.
8375 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
8376 TARGET_CIX into account.
8377 (MEMORY_MOVE_COST): Define in terms of memory_latency.
8378 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
8379
8380 * alpha.h (ASM_COMMENT_START): New macro.
8381
8382Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1914f5da
RH
8383
8384 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
8385 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
8386
8387 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
8388 SUBREG_REG if the word count is unchanged.
8389 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
8390 subregs of identical word size for push_reload.
8391
a701efba
MM
8392Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
8393
8394 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
8395 if all we're doing is dealing with -Wreturn-type.
8396
5e21ac7a
RH
8397Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
8398
8399 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
8400 Use and 255 instead of zapnot 1, since it schedules better.
8401
296f8acc
JL
8402Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
8403
8404 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
8405 it as volatile.
8406
6d8ccdbb
JL
8407Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
8408
8409 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
8410 dependency we delete. Properly update prev for multiple consecutive
8411 deletions.
8412 (priority): Skip deleted dependence.
8413
14e83f2e
PB
8414Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
8415
8416 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
8417
100d81d4
JM
8418Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
8419
9b8d9d6b
JM
8420 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
8421 determining when a new basic block starts.
8422
74c3447c
JM
8423 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
8424
8425 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
8426 * pa.md (iorsi3): Add missing args to *_operand calls.
8427
100d81d4
JM
8428 * except.c (call_get_eh_context): Don't mess with sequences.
8429 (emit_eh_context): Include the call in the sequence here.
8430
5a5ab947
PE
84311997-12-11 Paul Eggert <eggert@twinsun.com>
8432
8433 * collect2.c (write_c_file_glob): Allocate initial frame object
8434 in static storage and pass its address.
8435
01eb7f9a
JM
8436Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
8437
8438 * except.c (call_get_eh_context): Don't take a parm.
8439 Put the call at the top of the function.
8440 (emit_eh_context): Adjust.
8441 (get_eh_context): Replace with former use_eh_context.
8442 (get_eh_context_once, get_saved_pc_ref): Remove.
8443 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
8444 * except.h: Adjust.
8445 * integrate.c (expand_inline_function): Adjust.
8446 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
8447
d19814a3
ML
8448Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
8449
8450 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
8451 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
8452
7567d496
MH
8453Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
8454
ade7386a 8455 * fixincludes (strlen,strspn,strcspn return value): Handle different
7567d496 8456 layout on sysV88.
b57062ca 8457 (hypot): Provide a fake for hypot which is broken on
7567d496
MH
8458 m88k-motorola-sysv3.
8459
0a6969ad
JC
8460Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
8461
8462 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
8463 tree_code_name from pointers to arrays.
8464 * tree.c: Remove standard_tree_code_* variables, no longer used.
8465 * print-tree.c: Remove declaration of tree_code_name.
8466
8467 * cp/lex.c (init_lex): Update for tree_code_* changes.
8468 * objc/objc-act.c (init_objc): Likewise.
8469
8470 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
8471 changes.
8472
c55dcc7d
FF
8473Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
8474
8475 * config.sub: Add support for BeOS target.
8476 * configure.in: Likewise.
8477 * ginclude/stdarg.h: Likewise.
8478 * ginclude/stddef.h: Likewise.
8479 * ginclude/varargs.h: Likewise.
8480 * rs6000/beos.h: New file for BeOS.
8481 * rs6000/t-beos: Likewise.
8482 * rs6000/x-beos: Likewise.
8483 * rs6000/xm-beos.h: Likewise.
8484 * toplev.c (get_run_time): Just return 0 on BeOS.
8485
9cf3ae46
JL
8486Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
8487 Toon Moene (toon@moene.indiv.nluug.nl)
8488
8489 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
8490 old and broken Sun3 assemblers. Newer versions handle large
8491 offsets correctly as does the GNU assembler.
8492
7cc273ad
L
8493Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8494
8495 * objc/objc-act.c (lang_report_error_function): Disable.
8496 * objc/objc-parse.y: Include "output.h".
8497 (yyerror): Remove redundant decl.
8498 (yyprint): Fix prototype.
8499 (apply_args_register_offset): Remove redundant decl.
8500 (get_file_function_name): Likewise.
8501
74d7ab55
JM
8502Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
8503
8504 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
8505 a new basic block.
8506 (find_basic_blocks_1): Likewise.
8507
0776059e
JM
8508Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
8509
8510 * except.c (use_eh_context): Don't copy_rtx a REG.
8511 (emit_throw): Lose old unwinder support.
8512 (expand_internal_throw): Likewise.
8513 * libgcc2.c (struct eh_context): Likewise.
8514 (new_eh_context): Likewise.
8515 (__get_eh_info): Lose redundant cast.
8516 (__get_dynamic_handler_chain): Likewise.
8517 (__get_saved_pc): Lose.
8518 Lose all old unwinder support code.
8519
154bba13
TT
8520Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
8521
8522 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
b57062ca 8523
154bba13
TT
8524 * integrate.c (expand_inline_function): If the inline fn uses eh
8525 context, make sure that the current fn has one.
8526 * toplev.c (rest_of_compilation): Call emit_eh_context.
8527 * except.c (use_eh_context): New fn.
8528 (get_eh_context_once): New fn.
8529 (call_get_eh_context): New fn.
8530 (emit_eh_context): New fn.
8531 (get_eh_context): Call either get_eh_context_once or
8532 call_get_eh_context, depending on what we have.
8533 (get_dynamic_handler_chain): Call get_eh_context_once.
8534 * except.h: Prototypes for fns above.
8535 * optabs.c (get_eh_context_libfunc): Removed.
8536 (init_optabs): Don't initialize it.
8537 * expr.h (get_eh_context_libfunc): Removed.
8538 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
8539 * config/pa/pa.h (CPP_SPEC): Support for -threads.
8540 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
8541 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
8542 New multilib for -threads.
8543 * config/sparc/t-sol2: Added multilibs for -threads and
8544 made -pthreads alias to it.
8545 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
8546 Added -threads and -pthreads options.
8547 * libgcc-thr.h: New file.
8548 * libgcc2.c: (__get_cpp_eh_context): Removed.
8549 (struct cpp_eh_context): Removed.
8550 (struct eh_context): Replaced cpp_eh_context with generic language
b57062ca 8551 specific pointer.
154bba13
TT
8552 (__get_eh_info): New function.
8553 (__throw): Check eh_context::info.
8554 (__sjthrow): Ditto.
8555 * libgcc2.c: Include libgcc-thr.h.
8556 (new_eh_context, __get_eh_context,
8557 eh_pthread_initialize, eh_context_initialize, eh_context_static,
8558 eh_context_specific, eh_context_free): New functions.
8559 (get_eh_context, eh_context_key): New variables.
8560 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
8561 get_eh_context to get the context.
8562 (longjmp): Move the declaration inside
8563 #ifdef DONT_USE_BUILTIN_SETJMP.
8564 * frame.c: Include libgcc-thr.h.
8565 (object_mutex): Mutex to protect the object list.
8566 (find_fde, __register_frame, __register_frame_table,
8567 __deregister_frame): Hold the lock while accessing objects.
8568 * except.h (get_eh_context): Declare.
8569 * except.c (current_function_ehc): Define.
8570 (current_function_dhc, current_function_dcc): Removed.
8571 (get_eh_context): New function.
8572 (get_dynamic_handler_chain): Use get_eh_context.
8573 (get_saved_pc_ref): Ditto.
8574 (get_dynamic_cleanup_chain): Removed references to
8575 current_function_dcc.
8576 (save_eh_status, restore_eh_status): Save and restore
8577 current_function_ehc instead.
8578 * optabs.c (get_eh_context_libfunc): New variable.
8579 (init_optabs): Initialize it.
8580 * expr.h: Declare get_eh_context_libfunc.
8581 * function.h (struct function): Replaced dhc and dcc with ehc.
8582 * except.c (get_saved_pc_ref): New functions.
8583 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
8584 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
8585 of eh_saved_pc.
8586 (end_eh_unwinder): Likewise.
8587 (init_eh): Remove initialization of eh_saved_pc.
8588 * optabs.c (get_saved_pc_libfunc): New variable.
8589 (init_optabs): Initialize it.
8590 * expr.h: Declare get_saved_pc_libfunc.
8591 * except.h (eh_saved_pc_rtx): Deleted.
8592 (get_saved_pc_ref): Declared.
8593
8594 From Scott Snyder <snyder@d0sgif.fnal.gov>:
8595 * libgcc2.c (__get_saved_pc): New.
8596 (__eh_type, __eh_pc): Deleted.
8597 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
8598 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
8599 this fcn.
8600
68d75312
JC
8601Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
8602
b16d8734
JC
8603 * sparc/sol2.h: Use 64 bit multiply and divide functions in
8604 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
8605 as 0.
8606
68d75312
JC
8607 * rtl.h (global_rtl): New variable, replacing separate variables for
8608 commonly used rtl.
8609 (const_int_rtx): Now array of rtx_def, not rtx.
8610 * emit-rtl.c: Update for new rtl data structures.
8611 * genattrtab.c: Define global_rtl.
8612
44517326 8613Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
f40421ce 8614
44517326
DE
8615 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
8616 default.
f40421ce 8617
8587487b
AG
8618Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
8619
8620 * crtstuff.c (__do_global_ctors): Fix typo.
8621
08ce3276
MH
8622Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
8623
8624 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
8625 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
8626
c229cba9
DE
8627Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
8628
8629 * rs6000.h (FUNCTION_ARG_PADDING): Define.
8630 * rs6000.c (function_arg_padding): New function.
8631
b2c59d0b
MH
8632Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
8633
8634 * m68k.c: Include tree.h only once.
8635
c1132c27
RK
8636Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8637
8638 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
8639
ac957f13
JL
8640Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
8641
8642 * Partially cleaned up prototyping code from HJ.
a1d061a1 8643 * tree.h: Add many prototypes.
ac957f13
JL
8644 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
8645 All references changed.
8646 * rtl.h: Protect from multiple inclusions. Add many prototypes.
b57062ca 8647
f40421ce 8648Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
ac957f13
JL
8649
8650 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
8651 string functions like strlen.
8652
0a232106
MH
8653Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
8654
8655 * configure.in: Check for functions getrlimit and setrlimit.
8656 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
8657 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
8658
25b76cc1
JS
8659Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
8660
8661 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
8662
26250081
RH
8663Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
8664
8665 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
8666 Fix merge problems.
8667
8668 * alpha.c (override_options): Don't know about scheduling for EV6.
8669 * alpha.md (ev5 function units): Don't overload as ev6.
8670
8671 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
8672 * alpha.md (define_attr type): Add mvi.
8673 (ev5_e0): Define sceduling parameters for it.
8674 (TARGET_MAX insns): Type is mvi not shift.
8675
7120f213
RH
8676Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
8677
8678 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
8679
afa80947
R
8680Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8681
8682 * cstamp-h, auto-config.h: Delete.
8683
51ca169b
JL
8684Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
8685
8686 * version.c: Bump for snapshot.
8687
16169366
JL
8688Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
8689
8690 * cccp.c: Fix typo brought over in merge.
8691
efeb5d4f 8692 * Merge in changes from gcc-2.8.
0fe09481 8693
da932f04
JL
8694Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
8695
8696 * m68k.c: Include tree.h for dwarf2out_cfi_label.
8697
8698 * gcc.c (process_command): Do not take address of function fatal when
8699 calling lang_specific_driver.
8700
8701Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
8702
b57062ca 8703 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
da932f04
JL
8704 doesn't work with it yet, so set it to 0.
8705 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
8706
8707Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
8708
8709 * cse.c (cse_insn): Check for invalid entries when taking references.
8710
81797aba
JL
8711Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8712
8713 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
8714 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
8715 * toplev.c (rest_of_compilation): Pass it. Remove code to
8716 save / clear / restore flag_unroll_{,all_}loops.
8717
8718Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
8719
8720 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
8721
8722Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
8723
8724 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
8725
5dfa7520
JM
8726Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
8727
d07daca1
JM
8728 * except.c (get_dynamic_handler_chain): Only make the call once per
8729 function.
8730
5dfa7520
JM
8731 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
8732
4d7b7169
R
8733Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8734
8735 * sh.c (final_prescan_insn): Use local label prefix
8736 when emitting .uses pseudo-ops.
8737
e701eb4d
JM
8738Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
8739
8740 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
8741 * except.c: Lose outer_context_label_stack.
8742 (expand_eh_region_end): Rethrow from outer_context here.
8743 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
8744 (expand_internal_throw): Take no args.
8745 (expand_internal_throw_indirect): Lose.
8746 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
8747 (expand_start_all_catch): Start a rethrow region.
8748 (expand_end_all_catch): End it.
8749 (expand_rethrow): New fn.
8750 * except.h: Reflect above changes.
8751 * flow.c: Revert change of Nov 27.
8752
6a242b6a
JL
8753Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
8754
8755 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
8756
9762d48d
JM
8757Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
8758
8759 * except.c (expand_fixup_region_end): New fn.
8760 (expand_fixup_region_start): Likewise.
8761 (expand_eh_region_start_tree): Store cleanup into finalization here.
8762 * stmt.c (expand_cleanups): Use them to protect fixups.
8763
868e82ab
GK
8764Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
8765
8766 * mips/mips.md (muldi3_r4000): Broaden the output template
8767 and attribute assignments to handle three operand dmult;
8768 rename to muldi3_internal2.
8769 (muldi3): Call the new muldi3_internal2 for R4000, and
8770 any GENERATE_MULT3 chip.
8771
716cc7f7
JM
8772Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
8773
8774 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
8775
9fb82071
JW
8776Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
8777
8778 * unroll.c (find_splittable_givs): Remove last change. Handle givs
8779 with a dest_reg that was created by loop.
8780
f2d76545
JL
8781Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
8782
8783 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
8784
8785 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
8786
b4dfb707
JL
8787Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
8788
8789 * configure.in: Fix NCR entries.
8790
80c2681c
JL
8791Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
8792
586a5f99
JL
8793 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
8794 nested exceptions correctly.
8795
80c2681c
JL
8796 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
8797 that was created by loop.
8798
f45ebe47
JL
8799Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
8800
8801 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
8802
8803 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
8804
034e84c4
MM
8805Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
8806
8fbd2dc7
MM
8807 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
8808 (print_operand): Use SMALL_DATA_REG for the register involved in
8809 small data relocations.
8810 (print_operand_address): Ditto.
8811
8812 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
8813 -dynamic linker is not used.
8814
a226df46
MM
8815 * rs6000.md (call insns): For local calls, use @local suffix under
8816 System V. Don't use @plt under Solaris.
8817
034e84c4
MM
8818 * rs6000.c (output_function_profiler): Put label address in r0, and
8819 store LR in 4(sp) for System V/eabi.
8820
8821 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
8822 byte boundary, and maintain stack backchain.
8823
f2d76545
JL
8824Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
8825
8826 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
8827 fix_truncsfdi2): Change *.
8828
33e5c8c3
JM
8829Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
8830
8831 * toplev.c (main): Complain about -gdwarfn.
8832
f45ebe47
JL
8833Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
8834
b57062ca 8835 * dwarfout.c (output_type): If finalizing, write out nested types
f45ebe47
JL
8836 of types we've already written.
8837
92dcf4c8
MM
8838Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
8839
8840 (patches originally from Geoffrey Keating)
8841 * rs6000.c (function_arg): Excess floating point arguments don't
8842 go into GPR registers after exhausting FP registers under the
8843 System V.4 ABI.
8844 (function_arg_partial_nregs): Ditto.
8845
8846 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
8847 suffix to calls.
8848
f4744807
JM
8849Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
8850
8851 * integrate.c (output_inline_function): Just unset DECL_INLINE.
8852
8853Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
8854
8855 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
8856 proper alignment.
8857
8858 * libgcc2.c (__throw): Initialize HANDLER.
8859
0609f021
JW
8860Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
8861
8862 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
8863 fix_truncsfdi2): Change *X to ?*X.
8864
c905c108
RH
8865Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
8866
8867 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
8868
5041a61c
JL
8869Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
8870
8871 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
8872
bb727b5a
JM
8873Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
8874
8875 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
8876
8877Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
8878
8879 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
8880 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
8881 * expr.h: Likewise.
8882
f45ebe47
JL
8883Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
8884
8885 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
8886 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
8887 gas and not using the new HP assembler.
8888
ef85603e
JL
8889Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
8890
8891 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
8892 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
8893
6cc1f5cb
AC
8894Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
8895
8896 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
8897 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
8898 definition.
8899
72eb1038
BH
8900Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8901
8902 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
8903
1418bb67
JM
8904Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
8905
8906 * except.h: Add outer_context_label_stack.
8907 * except.c: Likewise.
8908 (expand_start_all_catch): Push the outer_context for the try block
8909 onto outer_context_label_stack.
8910 (expand_end_all_catch): Use it and pop it.
8911
9dab7833
RL
8912Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
8913
8914 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
8915
858e4e8c
RH
8916Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
8917
8918 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
8919
a21d14e9
KK
8920Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
8921
8922 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
8923 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
8924
ced78d8b
JM
8925Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
8926
8927 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
b57062ca 8928 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
ced78d8b
JM
8929 __builtin_delete, and __builtin_vec_delete.
8930
8931 * except.c (output_exception_table): Don't bother with
8932 __EXCEPTION_END__.
8933
a09ff88b
JL
8934Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
8935
1b8b89f1
JL
8936 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
8937 is an in/out operand.
8938 (zero extended variants of stwm/stwm patterns): Similarly.
8939
a09ff88b
JL
8940 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
8941
7bb9fb0e
JM
8942Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
8943
8944 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
8945 Use assemble_name.
8946 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
8947 (output_call_frame_info): Emit a \n after using it.
8948
9101297d
DL
8949Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
8950
8951 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
8952
2ed2af28
PDM
8953Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
8954
8955 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
8956 (ASM_OUTPUT_DWARF_VALUE4): New macro.
8957 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
8958 defined.
8959 (output_call_frame_info): Do not output forward label differences
8960 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
8961 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
8962
4dff12bf
R
8963Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8964
8965 * sh.md (attribute "type"): Add nil.
8966 (movsi_ie): y/y alternative is type nil.
8967 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
8968 alternatives.
8969 (movsf_ie+1): Delete.
8970
218c2cdb
JW
8971Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
8972
8973 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
8974 large_int, emit two insns instead of one splitable insn.
8975 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
8976 from cfa_temp_value, use cfa_offset. Add assert checking that
8977 cfa_reg is SP.
8978
d5b79362
TT
8979Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
8980
8981 * cccp.c (deps_output): Properly quote file names for make.
8982
de1ea87a
JL
8983Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
8984
8985 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
8986
cb0112a7
RL
8987Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
8988
8989 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
8990
85c3ba60
JL
8991Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
8992
8993 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
8994 return.
8995 (cse_end_of_basic_block): Similarly.
ef720b21 8996
9155d500
KJ
8997Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
8998
8999 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
9000 (SELECT_RTX_SECTION): Define.
9001 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
9002
4931312c
MH
9003Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
9004
9005 * Makefile.in (compare, compare-lean): Define $stage for each
9006 shell command.
9007 (gnucompare, gnucompare-lean): Likewise.
9008
8dfe3c62
RH
9009Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
9010
9011 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
9012
9013 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
9014 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
9015
874a8709
FF
9016Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
9017
9018 * dwarfout.c (byte_size_attribute): Add local var upper_bound
9019 and add case to handle STRING_TYPE.
9020 * dwarfout.c (output_string_type_die): Fix code to generate
9021 correct string length attribute for fixed length strings.
9022 Still needs support for varying length strings.
9023
ea466196
JL
9024Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
9025
9026 * toplev.c (get_run_time): Do something sensible for cygwin32.
9027
202f590e
RH
9028Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
9029
f35bcbc5
RH
9030 * expr.c (expand_builtin_setjmp): Set
9031 current_function_has_nonlocal_label.
9032 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
9033 call-saved registers across calls.
9034
9035 * alpha.md (exception_receiver): Remove.
9036 (nonlocal_goto_receiver_osf): New
9037 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
9038 (nonlocal_goto_receiver): New, select _osf or _vms.
9039
531ea24e
RH
9040 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
9041 keep them from being propogated to the object file.
9042 (alpha_write_linkage): Likewise.
9043 * alpha.md (call_vms): Likewise.
9044 (call_value_vms): Likewise.
9045 (unnamed osf call insns): Likewise.
9046
9047 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
9048 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
9049
202f590e
RH
9050 * alpha.c (call_operand): Any reg is valid for WinNT.
9051 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
9052 (anon nt calls): Add 'R' alternative.
9053 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
9054 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
9055
238ad62b
JL
9056Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
9057
f78b5ca1
JL
9058 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
9059
238ad62b
JL
9060 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
9061 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
9062 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
9063
da275344
MM
9064Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
9065
9066 * reload1.c (new_spill_reg): Improve fixed or forbidden register
9067 spill error message.
9068
1f1e1545
KG
9069Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9070
9071 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
9072 use varargs.h. Wrap header with <>, not "".
9073
daa4b717
JL
9074Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
9075
9076 * integrate.c (save_for_inline_copying): Add return value from
9077 savealloc.
9078
9bb5394e
BK
9079Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
9080
9081 * fixincludes: Be a little more restrictive on what we will
9082 substitute to replace definitions of MAXINT for HPUX.
9083
9571f69b
MM
9084Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
9085
9086 * dbxout.c (dbxout_symbol_location): Don't assume that variables
9087 whose address is the stack or argument pointers are indirect
9088 pointers.
9089
b57062ca
UD
90901997-11-13 Paul Eggert <eggert@twinsun.com>
9091
e7cbb6b6
PE
9092 * cccp.c, cpplib.c (compare_defs):
9093 Don't complain about arg name respellings unless pedantic.
b57062ca
UD
9094 * cpplib.c (compare_defs): Accept pfile as new arg.
9095 All callers changed.
e7cbb6b6 9096
9f29ca78
R
9097Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9098
9099 * fold-const.c (fold_truthop): Fix bug in last change.
9100
41c9120b
PE
91011997-11-13 Paul Eggert <eggert@twinsun.com>
9102
9103 Fix some confusion with IEEE minus zero.
9104
9105 * real.h (REAL_VALUES_IDENTICAL): New macro.
9106
9107 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
9108 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
9109 identical to 0.0.
9110 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
9111 same tree structure as 0.0.
9112
9113 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
9114 macro instead of doing it by hand.
9115
323d8e7b
JL
9116Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
9117
9118 * v850/lib1funcs.asm: Minor whitespace changes.
9119 * v850.c: Fix minor formatting problems in many places.
9120 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
9121
13529ea4
JW
9122Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
9123
9124 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
9125 xplus1 when xplus0 is not a register.
9126
759c135e
JL
9127Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
9128
8930b063
JL
9129 * flow.c (find_basic_blocks): During marking phase, if we encounter
9130 an insn with a REG_LABEL note, make the target block live and
9131 create an edge from the insn to the target block. Do not make
9132 edges from all blocks to the target block.
9133
0be28489
JL
9134 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
9135
759c135e
JL
9136 * confiugre.in: Tweak NCR entries.
9137 * configure: Rebuilt.
9138
47ad8c61
MM
9139Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
9140
9141 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
9142 pick apart floating point values, instead of using CONST_DOUBLE_LOW
9143 and CONST_DOUBLE_HIGH.
9144
9145 * rs6000.md (define_splits for DF constants): Use the appropriate
9146 REAL_VALUE_* interface to pick apart DF floating point constants in
9147 a machine independent fashion.
9148
5a6b3365
R
9149Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9150
9151 * fold-const.c (fold_truthop): When changing a one-bit comparison
9152 against zero into a comparison against mask, do a proper sign
9153 extension.
9154
2ec1535d
JL
9155Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
9156
3a88cbd1
JL
9157 * except.c: Do not include "assert.h".
9158 (save_eh_status): Turn asserts into conditional aborts.
9159 (restore_eh_status, scan_region): Likewise.
9160 * dwarfout.c: Do not include "assert.h".
9161 (bit_offset_attribute): Turn asserts into conditional aborts.
9162 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
9163 (output_inlined_structure_type_die): Likewise.
9164 (output_inlined_union_type_die): Likewise
9165 (output_tagged_type_instantiation): Likewise.
9166 (dwarfout_file_scope_decl): Likewise.
9167 * dwarf2out.c: Do not include "assert.h"
9168 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
9169 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
9170 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
9171 (add_bit_size_attribute, scope_die_for): Likewise.
9172 (output_pending_types_for_scope): Likewise.
9173 (get_inlined_enumeration_type_die): Likewise.
9174 (get_inlined_structure_type_die): Likewise.
9175 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
9176 (gen_tagged_type_instantiation_die): Likewise.
9177
2ec1535d
JL
9178 * flow.c (find_basic_blocks): Refine further to get a more correct
9179 cfg, especially in the presense of exception handling, computed
9180 gotos, and other non-trivial cases. Call abort if an inaccuracy
9181 is detected in the cfg.
9182
a6124a42
R
9183Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9184
9185 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
9186
9187 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
9188 (skip_white_space): Use whitespace_cr.
9189 (check_newline): Handle whitespace more consistently.
9190
8f3189a4
JW
9191Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
9192
9193 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
9194 * i386/xm-cygwin32.h (POSIX): Define.
9195
6d1350cd
GK
9196Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
9197
9198 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
9199 is available elsewhere.
9200
d1f4474e
DE
9201Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
9202
9203 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
9204 what the instruction can handle.
9205
c7ae64f2
JM
9206Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
9207
9208 * stmt.c (expand_decl_cleanup_no_eh): New fn.
9209
9210 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
9211
ea64ef27
JL
9212Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
9213
9214 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
9215 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
9216
47ad8c61
MM
9217Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
9218
9219 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
9220 swap instruction order.
9221
0ff27f58
JL
9222Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
9223
9224 * fixinc.svr4 (__STDC__): Add another case.
9225
7091039c
R
9226Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9227
9228 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
9229 addresses in the epilogue delay slot.
9230
553914ad
MH
9231Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
9232
9233 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
9234 in generated `specs' file.
9235
64fde701
JW
9236Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
9237
9238 * flags.h (flag_rerun_loop_opt): Declare.
9239 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
9240 * toplev.c (flag_rerum_loop_opt): Delete static.
9241
1245df60
R
9242Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9243
1245df60
R
9244 Bring over from FSF:
9245
9246 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9247
9248 * va-sh.h (__va_arg_sh1): Define.
9249 (va_arg): Use it.
9250 SH3E doesn't use any integer registers for subsequent arguments
9251 once a non-float value was passed in the stack.
9252 * sh.c (machine_dependent_reorg): If optimizing, put explicit
9253 alignment in front label for ADDR_DIFF_VEC.
9254 * sh.h (PASS_IN_REG_P): Fix SH3E case.
9255 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
9256
9257 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9258
9259 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
9260 svr4.h.
9261
9262 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9263
9264 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
9265 put an use_sfunc_addr before each sfunc.
9266 * sh.md (use_sfunc_addr, dummy_jump): New insns.
9267 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
9268
9269 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9270
9271 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
9272
97991933
JM
9273Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
9274
9275 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
9276 linked once FDEs.
9277
eaf407a5
JL
9278Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
9279
9280 * alias.c (find_base_value): Only return the known base value for
9281 pseudo registers.
9282
4f9ca067
JW
9283Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
9284
9285 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
9286 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
9287 to pattern.
9288 (prologue_get_pc_and_set_got): New pattern.
9289
f4e31cf5
RH
9290Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
9291
9292 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
9293 for SUBREG, just fall through.
9294
9295 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
9296
9297 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
9298
f754c4a1
JL
9299Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
9300
3ed18aeb
JL
9301 * fixincludes: Fix "hypot" prototype in NeXT math.h.
9302
3fe40e05
JL
9303 * Makefile.in (USE_ALLOCA): Always include alloca.o.
9304 (USE_HOST_ALLOCA): Likewise.
9305
f754c4a1
JL
9306 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
9307 and LABEL_REFS fields.
9308 * rtl.h (LABEL_REFS): Update.
9309
ab00eb0a
JW
9310Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
9311
ff3467a9
JW
9312 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
9313 sets i2dest. When calling distribute_notes for i3dest_killed, pass
9314 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
9315 sets i1dest.
9316
4911814e
JW
9317 * mips.md (insv, extzv, extv): Add change_address call.
9318 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
9319
474eff88
JW
9320 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
9321
3feffdfe
JW
9322 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
9323
ab00eb0a
JW
9324 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
9325 save_restore_insns if no FP and GP will be restored.
7636d567 9326
31c8581d
JW
9327 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
9328 Convert CCmode to word_mode before calling GET_MODE_SIZE.
9329
7636d567
JW
9330 * acconfig.h (HAVE_INTTYPES_H): Undef.
9331 * configure.in (inttypes.h): Check for conflicts between sys/types.h
9332 and inttypes.h, and verify that intmax_t is defined.
9333 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
9334 * config/mips/x-iris3: Likewise.
9335
73774bc7
JL
9336Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
9337
9338 * alias.c (find_base_value): When copying arguments, return the
9339 tenative value for a hard register.
9340
645ebf37
DE
9341Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
9342
9343 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
9344 (yylex): Record wide strings using target endianness, not host.
9345
f7620587
JL
9346Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
9347
9348 * mn10200.h (ASM_OUTPUT_BSS): Delete.
9349 (ASM_OUTPUT_ALIGNED_BSS): New macro
9350 * mn10300.h (ASM_OUTPUT_BSS): Delete.
9351 (ASM_OUTPUT_ALIGNED_BSS): New macro.
9352 * v850.h (ASM_OUTPUT_BSS): Delete.
9353 (ASM_OUTPUT_ALIGNED_BSS): New macro.
9354
1686f1a2 9355Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
b57062ca 9356
1686f1a2
R
9357 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
9358
f6857708
JL
9359Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
9360
9361 * configure.in (sco5): Use cpio to install header files.
9362
e566af04
MH
9363Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
9364
9365 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
9366 14 char length.
9367 * configure: Rebuild.
9368
cbd44549
RL
9369Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
9370
9371 * i386/sco5.h: enable -gstabs once again.
9372
56636818
JL
9373Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
9374
9375 * arm.c (output_move_double): Allocate 3 entries in otherops array.
9376
9ad8a5f0
MS
9377Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
9378
9379 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
9380 notes for sjlj exceptions too.
9381 (expand_eh_region_end): Similarly for EH_REGION_END notes.
9382 (exception_optimize): Optimize EH regions for sjlj exceptions too.
9383 * final.c (final_scan_insn): Don't output labels for EH REGION
9384 notes if doing sjlj exceptions.
9385
f8671389
JL
9386Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
9387
8072f69c
JL
9388 * alias.c (init_alias_analysis): Handle -fno-alias-check when
9389 optimizing correctly.
9390
6cad9e32
JL
9391 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
9392 or set current_function_calls_setjmp anymore.
9393
f8671389
JL
9394 * flow.c (find_basic_blocks): If we delete the label for an
9395 exception handler, remove it from the EH label list and remove
9396 the EH_BEGIN/EH_END notes for that EH region.
9397
a886ae74
JM
9398Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
9399
9400 * flow.c (find_basic_blocks): Generate correct flow control
9401 information when exception handling notes are present.
9402
c2c85462
JL
9403Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
9404
9405 * dwarf2out.c (output_call_frame_info): Fix length argument
9406 to ASM_OUTPUT_ASCII.
9407 (output_die, output_pubnames, output_line_info): Likewise.
9408
8c316ae2
JL
9409Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
9410
27ca375a
JL
9411 * version.c: Bump for snapshot.
9412
8d4e65a6
JL
9413 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
9414 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
9415 flag_debug_asm is on.
9416 (output_die, output_pubnames, output_line_info): Likewise.
9417
ec907dd8
JL
9418 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
9419 and static_chain_rtx into the potential base values array if
9420 they are registers.
9421
9422 * alias.c (new_reg_base_value): New array of potential base values.
9423 (unique_id): Now file scoped static.
9424 (find_base_value, case REG): Return the value in reg_base_value
9425 array for the REG if it exists. Else, return the value from
9426 new_reg_base_value if copying args and REG is a hard register.
9427 (find_base_value, case PLUS): If either operand of the PLUS is
9428 a REG, try to get its base value. Handle base + index and
9429 index + base.
9430 (record_set): Use new_reg_base_value instead of reg_base_value.
9431 (init_alias_analysis): Allocate space for new_reg_base_value too.
9432 Rework code to iterate over the insns propagating base value
9433 information until nothing changes.
9434
8c316ae2
JL
9435 * global.c (global_alloc): Free the conflict matrix after
9436 reload has finished.
9437
6874c264
JM
9438Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
9439
9440 * libgcc2.c (L_eh): Define __eh_pc.
9441 Replace __eh_type with generic pointer __eh_info.
9442
59fe8c2c
R
9443Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
9444
9445 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
9446 use copy_to_reg if address is not a general_operand.
9447
d1271ded
R
9448Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9449
9450 * profile.c (output_func_start_profiler): Clear flag_inline_functions
9451 for the duration of the call to rest_of_compilation.
9452
ac52b80b
DE
9453Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
9454
9455 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
9456 Set extra_parts.
9457 (sparc*-*-*): Recognize --with-cpu=v9.
9458 * sparc/elf.h: New file.
9459 * sparc/t-elf: New file.
9460
f8912297
JL
9461Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
9462
9463 * mn10300.c (const_8bit_operand): New function.
9464 (mask_ok_for_mem_btst): New funtion.
9465 * mn10300.md (btst patterns with mem operands): Use new functions
9466 to avoid creating btst instructions with invalid operands.
9467
05ef204d
MM
9468Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
9469
9470 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
9471 are running on PowerPC Linux.
9472
feecabdf
GK
9473Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
9474
9475 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
9476 if not previously defined.
9477
de957303
DE
9478Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
9479
9480 * function.c (assign_parms): Correct mode of stack_parm if
9481 entry_parm underwent a mode conversion.
9482
ba3b3878
BK
94831997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
9484
9485 * global.c (global_alloc): Use xmalloc instead of alloca for
9486 CONFLICTS, since max_allocno * allocno_row_words alone can be more
9487 than 2.5Mb sometimes.
9488
d540ae2c
RH
9489Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
9490
9491 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
9492 DEST for the spill, adjust mode of SRC to compensate.
9493
42f4929d
RH
9494Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
9495
9496 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
9497 since any_memory_operand() allows pseudos during reload.
9498 (reload_inhi, reload_outqi, reload_outhi): Likewise.
9499
08417478
JW
9500Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
9501
9502 * m68k.md (btst patterns): Add 5200 support.
9503
750e8348
TM
9504Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
9505
9506 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
9507 optimizations, look inside dividend to determine if the expression
9508 can be simplified by using EXACT_DIV_EXPR.
9509
ede19932
JM
9510Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
9511
9512 From Brendan:
9513 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
9514
66d91cb9
RH
9515Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
9516
9517 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
9518
4f3f5e9f
RH
9519Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
9520
9521 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
9522 on a CLOBBER.
9523
f3352b9e
RH
9524Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
9525
9526 * alpha.md (movqi, movhi): Make sure new insns created during reload
9527 won't need reloading themselves.
9528 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
9529
0cecc190
JL
9530Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
9531
9532 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
9533
a09ba5a2
RH
9534Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
9535
9536 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
9537 Patch from Klaus Kaempf <kkaempf@progis.de>.
9538
7581a30f
JW
9539Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
9540
9541 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
9542 to an element in a constant string.
9543
d84e64d4
JM
9544Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
9545
9546 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
9547 bit PC-relative offset. The exception range table pointer is now in
9548 the CIE.
9549 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
9550 (count_fdes, add_fdes, get_cie): Adjust.
9551 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
9552
9553 From H.J. Lu:
9554 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
9555
96286722
RH
9556Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
9557
9558 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
9559 like stack_pointer_rtx.
9560
e85988b5
MH
9561Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
9562
361e618f
MH
9563 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
9564 targets using "$@" to provide support for similar but not identical
9565 targets without having to duplicate code.
9566 (bootstrap4): New goal.
9567
e85988b5
MH
9568 * Makefile.in (compare, compare-lean, compare3): Combined to one
9569 ruleset determining actions to be performed via $@.
9570 (compare4, compare4-lean): New targets.
9571 (gnucompare, gnucompare3): Combined to one ruleset determining
9572 actions to be performed via $@. Also, note which files failed
9573 the comparison test in .bad_compare.
9574 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
9575
91585c63
TM
9576Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
9577
9578 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
9579 if the dividend is a multiple of the divisor.
9580
da0af5a5
JL
9581Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
9582
7337c67f
JL
9583 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
9584
adb9effb 9585 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6d849a2a 9586 and POS_DEC.
6d849a2a
JL
9587
9588 * alias.c (true_dependence): Fix typo.
9589
6d6d0fa0
JL
9590 * toplev.c (flag_rerun_loop_opt): New variable.
9591 (f_options): Handle -frerun-loop-opt.
9592 (rest_of_compilation): If -frerun-loop-opt, then run the loop
9593 optimizer twice.
9594 (main): Enable -frerun-loop-opt by default for -O2 or greater.
9595
da0af5a5
JL
9596 * loop.c (simplify_giv_expr): Adding two invariants results
9597 in an invariant.
9598
ca0f2220
RH
9599Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
9600
b57062ca 9601 * expr.c (get_inner_reference): Remove the array bias after
ca0f2220
RH
9602 converting the index to Pmode.
9603
a6f7ba17
JL
9604Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
9605
9606 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
9607 (TARGET_MULT_BUG): Define.
9608 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
9609 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
9610
17ad8a3b
JL
9611Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
9612
9613 * mn10200.c (indirect_memory_operand): Delete unused function.
9614 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
9615 * mn10200.md (bset, bclr insns): Handle output in a reg too.
9616
e16b49d3
RH
9617Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
9618
9619 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
9620 the callee's ldgp, we must do it ourselves, and we use the jsr tag
9621 for more than scheduling.
9622
27f65411
DE
9623Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
9624
9625 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
9626
e9ad4573
JL
9627Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
9628
9629 * mn10300.c (symbolic_operand, legitimize_address): New functions.
9630 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
9631 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
9632
66724f0a
JL
9633Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
9634
9635 * version.c: Bump for snapshot.
9636
c401498b
R
9637Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9638
9639 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
9640 for FILENAME.
9641
b22b9b3e
JL
9642Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
9643
56bf1fd9
JL
9644 * toplev.c (flag_exceptions): Default value is 2.
9645 (compile_file): If flag_exceptions still has the value 2, then
9646 set it to 0.
9647
a04232e5
JL
9648 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
9649 (rs6000_save_machine_status): Save pic_offset_table_rtx.
9650 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
9651
0bd83abd
JL
9652 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
9653 are shared.
9654
b22b9b3e
JL
9655 * rs6000.md (*movsi_got_internal_mem): New pattern.
9656 (*movsi_got_internal_mem splitter): New define_split.
9657
c1e385db
JW
9658Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
9659
9660 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
9661
1a986152
GK
9662Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
9663
9664 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
9665 only need to save LR.
9666
5d29a95f
JL
9667Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
9668
c6ee9150
JL
9669 * mn10300.md (movqi, movhi): Avoid using address registers as
9670 destinations unless absolutely necessary.
9671
d5255ba2
JL
9672 * mn10200.c (expand_prologue): Fix typo.
9673
9d2128b8
JL
9674 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
9675 addresses.
9676 * mn10200.md (neghi2): Provide an alternative which works if
9677 the input and output register are the same.
9678
576e5acc
JL
9679 * mn10300.c (print_operand): Handle 'S'.
9680 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
9681 shift amount in last alternative
9682
5d29a95f
JL
9683 * mn10300.c (expand_epilogue): Rework to handle register restores
9684 in "ret" and "retf" instructions correctly.
9685
3bf1b082
JW
9686Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
9687
9688 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
9689 extzv for memory operands.
9690
9691 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
9692 redundant conditional moves to single operand.
9693
ddbd8d36
NC
9694Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
9695
9696 * v850.h: Move define of __v850__ from CPP_PREDEFINES
9697 to CPP_SPEC.
b57062ca 9698
ddbd8d36
NC
9699 * xm-v850.h: Use __v850 rather than __v850__ to
9700 identify v850 port.
9701
a944a4eb
JW
9702Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
9703
9704 * mips/mips.c (compute_frame_size): Not a leaf function if
9705 profile_flag set.
9706
2d5b6dea
GK
9707Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
9708
9709 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
9710
f0a9fa6c
DE
9711Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
9712
9713 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
9714 (DEFAULT_ARCH32_P): New macro.
9715 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
9716 (enum cmodel): Declare.
9717 (sparc_cmodel_string,sparc_cmodel): Declare.
9718 (SPARC_DEFAULT_CMODEL): Provide default.
9719 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
9720 (TARGET_FULLANY): Deleted.
9721 (TARGET_CM_MEDMID): New macro.
9722 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
9723 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
9724 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
9725 (CPP_SPEC): Rewrite.
9726 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
9727 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
9728 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
9729 (ASM_SPEC): Add %(asm_arch).
9730 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
9731 Rename asm_default to asm_cpu_default.
9732 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
9733 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
9734 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
9735 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
9736 (MASK_INT64,MASK_LONG64): Delete.
9737 (MASK_ARCH64): Renamed to MASK_64BIT.
9738 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
9739 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
9740 (TARGET_SWITCHES): Always provide 64 bit options.
9741 (ARCH64_SWITCHES): Delete.
9742 (TARGET_OPTIONS): New option -mcmodel=.
9743 (INT_TYPE_SIZE): Always 32.
9744 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
9745 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
9746 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
9747 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
9748 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
9749 CPP_SPEC.
9750 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
9751 * sparc/linux.h: Likewise.
9752 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
9753 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
9754 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
9755 (SPARC_DEFAULT_CMODEL): Define.
9756 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
9757 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
9758 (LONG_DOUBLE_TYPE_SIZE): Define.
9759 (ASM_SPEC): Add %(asm_arch).
9760 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
9761 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
9762 (TARGET_CPU_DEFAULT): Add ultrasparc case.
9763 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
9764 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
9765 (SPARC_DEFAULT_CMODEL): Define.
9766 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
9767 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
9768 MASK_LONG64, MASK_MEDANY.
9769 (SPARC_DEFAULT_CMODEL): Define.
9770 (CPP_PREDEFINES): Delete.
9771 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
9772 (ASM_SPEC): Add %(asm_arch).
9773 (LONG_DOUBLE_TYPE_SIZE): Define.
9774 (DWARF2_DEBUGGING_INFO): Define.
9775 * sparc/splet.h (CPP_SPEC): Delete.
9776 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
9777 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
9778 (BLOCK_PROFILER): Likewise.
9779 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
9780 (sparc_override_options): Handle code model selection.
9781 (sparc_init_expanders): Renamed from sparc64_init_expanders.
9782 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
9783 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
9784 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
9785 (sethi_di_fullany): Delete.
9786
a3b0df2d
KK
9787Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
9788 Jeff Law <law@cygnus.com>
9789 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9790
3a133c72
KK
9791 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
9792 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
9793 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
9794 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
9795 * alpha/alpha.md (arg_home): Likewise.
9796
a3b0df2d
KK
9797 * alpha/alpha.c (vmskrunch): Delete
9798 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
9799 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
9800 truncate to 64 characters.
9801
9802 * make-l2.com: Support openVMS/Alpha.
9803
9804 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
9805
7d4f2e6c
R
9806Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9807
9808 * longlong.h (count_leading_zeros): Add missing casts to USItype.
9809
decd44ac
JL
9810Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
9811
9812 * i386/bsd386.h (ASM_COMMENT_START): Define.
9813
d1485032
JM
9814Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
9815
9816 * tree.c (restore_tree_status): Also free up temporary storage
9817 when we finish a toplevel function.
9818 (dump_tree_statistics): Print stats for backend obstacks.
9819
6bd35f86
DE
9820Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
9821
9822 * expr.c (use_group_regs): Don't call use_reg for MEMs.
9823
d1485032
JM
9824Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
9825
9826 * libgcc2.c (__throw): Don't copy the return address.
9827 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
9828
9829 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
9830 * toplev.c (main): Initialize exceptions_via_longjmp.
9831
9832 * tree.c: Add extra_inline_obstacks.
9833 (save_tree_status): Use it.
9834 (restore_tree_status): If this is a toplevel inline obstack and we
9835 didn't want to save anything on it, recycle it.
9836 (print_inline_obstack_statistics): New fn.
b57062ca 9837 * function.c (pop_function_context_from): Pass context to
d1485032
JM
9838 restore_tree_status.
9839 * obstack.h (obstack_empty_p): New macro.
9840
6981eacf
JL
9841Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
9842
9843 * i386/freebsd.h (ASM_COMMENT_START): Fix.
9844
1933ec7e
JW
9845Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
9846
9847 * v850.c (ep_memory_offset): New function.
9848 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
9849
9850 * v850.h (CONST_OK_FOR_*): Add and correct comments.
9851 (CONSTANT_ADDRESS_P): Add comment.
9852 (EXTRA_CONSTRAINT): Define 'U'.
9853 * v850.md: Add comments on bit field instructions.
9854 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
b57062ca 9855 (lshrsi3): Use N not J constraint.
1933ec7e
JW
9856
9857 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
9858
9859 * v850.c (reg_or_0_operand): Call register_operand.
9860 (reg_or_int5_operand): Likewise.
9861 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
9862 (TARGET_SWITCHES): Add "big-switch".
9863 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
9864 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
9865 (CASE_DROPS_THROUGH): Comment out.
9866 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
9867 * v850.md (cmpsi): Delete compare mode.
9868 (casesi): New pattern.
9869
9870 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
9871 * v850.md (ashlsi3): Use SImode not QImode for shift count.
9872 (lshrsi3): Likewise.
9873
9874 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
9875 unreachable switch statement after 'b' support. Remove "b" from
9876 strings for 'b' support.
9877 * v850.md (branch_normal, branch_invert): Change %b to b%b.
9878
13c2de98
JL
9879Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
9880
9881 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
9882 empty line if @inhibit_libc@ is empty.
9883
b2167bee
RL
9884Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
9885
9886 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
9887 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
9888 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
9889 (DWARF2_UNWIND_INFO): Let this track object file format.
9890 (EXTRA_SECTIONS): Add in_eh.
9891 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
9892 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
9893
bf2a2c6b
DM
9894Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
9895
9896 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
da2a90f7
DM
9897 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
9898 TARGET_MEDANY.
f4f8e370
DE
9899 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
9900 (output_double_int): Output DI mode values correctly when
9901 HOST_BITS_PER_WIDE_INT is 64.
9d162eb2
DE
9902 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
9903 fmovd so it works if a quad float ends up in one of the upper 32
9904 float regs.
7e37212e
DM
9905 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
9906 necessary for PIC support on sparc64.
bf2a2c6b 9907
9ff84e67
DE
9908Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
9909
9910 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
9911 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
9912 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
9913 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
9914 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
9915 (SPARC_FP_ARG_FIRST): New macro.
9916 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
9917 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
9918 (NPARM_REGS): There are 32 fp argument registers now.
9919 (FUNCTION_ARG_REGNO_P): Likewise.
9920 (FIRST_PARM_OFFSET): Update to new v9 abi.
9921 (REG_PARM_STACK_SPACE): Define for arch64.
9922 (enum sparc_arg_class): Delete.
9923 (sparc_arg_count,sparc_n_named_args): Delete.
9924 (struct sparc_args): Redefine and use for arch32 as well as arch64.
9925 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
9926 (FUNCTION_ARG_ADVANCE): Rewrite.
9927 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
9928 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
9929 (FUNCTION_ARG_CALLEE_COPIES): Delete.
9930 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
9931 (STRICT_ARGUMENT_NAMING): Define.
9932 (doublemove_string): Declare.
9933 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
9934 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
9935 (doublemove_string): New function.
9936 (output_move_quad): Clean up some of the arch64 support.
9937 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
9938 Don't add 8 bytes of reserved space if arch64.
9939 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
9940 (init_cumulative_args): New function.
9941 (function_arg_slotno): New static function.
9942 (function_arg,function_arg_partial_nregs): New functions.
9943 (function_arg_{pass_by_reference,advance}): New functions.
9944 (function_arg_padding): New function.
c1215820 9945 * ginclude/va-sparc.h: Rewrite v9 support.
9ff84e67 9946
b8fb2d72
CI
9947Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
9948
f22376c7
CI
9949 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
9950 for hard regs to determine base and index registers.
9951
b8fb2d72
CI
9952 * reload.c (debug_reload_to_stream): New function. Specify stream
9953 into which to write debug info.
9954 (debug_reload): Modify to call debug_reload_to_stream with stderr.
9955
b79ee7eb
RH
9956Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
9957
9958 * combine.c (can_combine_p): Don't combine with an asm whose
9959 output is a hard register.
9960
5c19a356
MS
9961Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
9962
9963 * c-decl.c (start_struct): Ensure that structs with forward
9964 declarations are in fact packed when -fpack-struct is given.
9965
9966 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
9967 we are packing a structure. This allows a structure with only
9968 bytes to be aligned on a byte boundary and have no padding on a
9969 m68k.
9970
02bef6da
RK
9971Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9972
9973 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
9974
9ecc37f0
RH
9975Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
9976
9977 * alpha.c (alpha_return_addr_rtx): New variable.
9978 (alpha_save_machine_status): New; save it.
9979 (alpha_restore_machine_status): New; restore it.
9980 (alpha_init_expanders): New; clear it.
9981 (alpha_return_addr): New; set it.
9982 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
9983 is overly conservative, so search the insns explicitly.
9984 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
9985 (alpha_sa_size [VMS && !VMS]): Likewise.
9986 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
9987 (INIT_EXPANDERS): New definition.
b57062ca 9988
9ecc37f0
RH
9989 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
9990 (output_prolog [!VMS]): Use them.
9991
9992 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
b57062ca 9993 (alpha_does_function_need_gp): ... a new function. Refine the
9ecc37f0
RH
9994 CALL_INSN test to just TYPE_JSR.
9995 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
9996
bda2ffef
JL
9997Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
9998
9999 * version.c: Bump for snapshot.
10000
96b63cd7
RK
10001Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10002
10003 * pa.c (move_operand): Respect -mdisable-indexing.
10004 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
10005
f192bf8b
DE
10006Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
10007
10008 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
10009 PPC601.
10010 (umulsidi3,umulsi3_highpart): Ditto.
10011 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
10012
2ea844d3
RH
10013Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
10014
10015 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
10016 (alpha_handle_trap_shadows): ... a new function. Handle the entire
10017 function in one go. Emit RTL for trapb, instead of printf directly.
10018 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
10019 (trap_pending): Kill global variable.
10020 (output_epilog): Don't call final_prescan_insn.
10021 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
10022 * alpha.h (FINAL_PRESCAN_INSN): Remove.
10023 (MACHINE_DEPENENT_REORG): Define.
10024 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
10025 (trapb): New insn.
10026
74835ed8
RH
10027Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
10028
10029 Tune Haifa scheduler for Alpha:
10030 * alpha.h (ISSUE_RATE): Define.
10031 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
10032 EV4 adjustments to EV5.
10033 * alpha.md: Remove all scaling from function unit delays. Rework
10034 EV5 function units to match the CPU.
10035 (umuldi3_highpart): EV5 added the IMULH insn class.
10036
cdc0de30
JL
10037Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
10038
10039 * pa.c (following_call): Fail if the CALL_INSN is an indirect
10040 call.
10041
041c97f2
MM
10042Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
10043
10044 * cplus-dem.c (demangle_signature): Don't look for return types on
10045 constructors. Handle member template constructors.
10046
f0632762
JM
10047Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
10048
10049 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
22ef8a13 10050 * tree.h: Declare them.
f0632762 10051
dec88383
DE
10052Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
10053
10054 * configure.in: Handle --with-newlib.
10055 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
10056
10057 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
10058
0e1f3f5e
JL
10059Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
10060
10061 * config/ptx4.h: Fix typo.
10062
12504ae0
JL
10063Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
10064
10065 * version.c: Bump for snapshot.
10066
5643c767
MH
10067Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
10068
10069 * aclocal.m4: Substitute INSTALL.
10070 * configure: Re-built.
10071
aa0c1401
JL
10072Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
10073
f644bd14
JL
10074 * integrate.c (save_for_inline_copying): Avoid undefined pointer
10075 operations.
10076 (expand_inline_function): Likewise.
10077
aa0c1401
JL
10078 * dwarf2out.c (output_call_frame_info): Reinstate last change
10079 using flag_debug_asm check instead of flag_verbose_asm.
10080
6c2df6c9
JW
10081Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
10082
10083 * dwarf2out.c (output_call_frame_info): Remove last change.
10084
13ab2b83
AS
100851997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10086
10087 * frame.c (__frame_state_for): Execute the FDE insns until the
10088 current pc value is strictly bigger than the target pc value.
10089
066c2fea
JM
10090Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
10091
b57062ca 10092 * regclass.c (init_reg_modes): If we can't find a mode for the
066c2fea
JM
10093 register, use the previous one.
10094
2f308fec
RH
10095Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
10096
10097 * haifa-sched.c (print_block_visualization): Call fprintf directly,
10098 don't sprintf through an alloca'ed buffer.
10099
43984e29
TK
10100Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
10101
10102 * reload.c (decompose): Always initialize val.base.
10103
e9e30253
MH
10104Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
10105
10106 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
10107 instead of aborting.
10108 * dwarf2out.c (output_call_frame_info): Call app_enable and
10109 app_disable to let GNU as accept the generated comments.
10110
496651db
MM
10111Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
10112
10113 * tree.h (get_file_function_name): Add declaration.
10114 * dwarf2out.c (output_call_frame_info): No need to cast
10115 get_file_function_name call anymore.
10116 * profile.c (toplevel): Remove get_file_function_name
10117 declaration.
10118 * c-lang.c (finish_file): Ditto.
10119
e6347456
CS
10120Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
10121
10122 * Makefile.in (program_transform_name): Let autoconf substitute
10123 the correct value.
10124
1447b516
JL
10125Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
10126
10127 * haifa-sched.c (schedule_block): If the first real insn in a
10128 block has any special notes attached to it, remove them.
10129
1a42ead7
RH
10130Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
10131
10132 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
10133
4b6140f1
MH
10134Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
10135
10136 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
10137
dc84d7bc
JL
10138Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
10139
10140 * Makefile.in (check-g77): New test target.
10141 (CHECK-TARGETS): Add check-g77.
10142
c0da11c4
JM
10143Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
10144
10145 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
10146
d8d64559
MM
10147Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
10148
10149 * flow.c (print_rtl_with_bb): Cast alloca return value for
10150 in_bb_p.
10151
e414ab29
RH
10152Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
10153
b57062ca 10154 * i386.h (RETURN_ADDR_RTX): New definition that works for
e414ab29
RH
10155 __builtin_return_address(0) and -fomit-frame-pointer.
10156
15039abe
JW
10157Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
10158
10159 Bring over from FSF.
10160 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
10161
b57062ca 10162 * mips.c (function_arg): Handle passing a struct
15039abe
JW
10163 containing a double in a DFmode register without the PARALLEL.
10164
281de624
ILT
10165Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
10166
d8d64559 10167 * pexecute.c: Use spawn if __CYGWIN32__.
281de624 10168
d8d64559 10169 * pexecute.c: Include "config.h" first, as per autoconf manual
281de624
ILT
10170 (from Paul Eggert <eggert@twinsun.com>).
10171
3cbdd5fc
PDM
10172Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10173
10174 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
10175 optimisation for f/expr.o and f/stb.o.
10176
135d84b8
JL
10177Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
10178
10179 * cse.c (this_insn_cc0_mode): Initialize.
10180
55d89719
TK
10181Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
10182
d3878e49
TK
10183 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
10184
10185 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
55d89719 10186
e9d0757e
RH
10187Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
10188
10189 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
10190 that pair will dual-issue on the 21164 and plus+beq won't.
10191 (bne): Likewise for cmpeq+beq.
10192
3f34faec
JW
10193Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
10194
10195 * except.c (find_exception_handler_labels): Correct argument to free.
10196
3226dac5 10197Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
988cea7d
BK
10198
10199 * except.c (find_exception_handler_labels): Free LABELS when we're
10200 done.
10201
3a6eabfa
JL
10202Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
10203
10204 * version.c: Bump for snapshot.
10205
974c50f9
JM
10206Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
10207
10208 * flow.c (find_basic_blocks): Mark calls as potentially jumping
10209 to the EH labels.
10210
9b16d2c4
JL
10211Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
10212
10213 * configure.in: Substitute for "install" too.
10214 * configure: Rebuilt.
10215
b1e3ddfd
AJ
10216Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
10217
10218 * Makefile.in (bootstrap-lean, compare-lean): New targets.
10219
6662a38d
RH
10220Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
10221
c02f035f
RH
10222 * alias.c (base_alias_check): Two symbols can conflict if they
10223 are accessed via AND.
10224 (memrefs_conflict_p): Likewise.
10225
7a14fdc5
RH
10226 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
10227 after flushing argument registers to the stack.
10228
6662a38d
RH
10229 * Makefile.in (mostlyclean): Remove .regmove files.
10230
f3447109
JM
10231Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
10232
10233 * libgcc2.c (__throw): Fix thinko.
10234
37f6b6bf
MM
10235Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
10236
10237 * cplus-dem.c (demangle_template): Add new parameter. Handle new
10238 template-function mangling.
10239 (consume_count_with_underscores): New function.
10240 (demangle_signature): Handle new name-mangling scheme.
10241
adfc539e
PDM
10242Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
10243
10244 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
10245 start and end.
10246
92cbe4d2
JL
10247Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
10248
10249 * frame.c: Remove last change.
10250 * dwarf2.h: Remove last change.
10251 * tree.h: Add declarations of DWARF2 unwind info support
10252 functions.
10253
2f3ca9e7
JM
10254Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
10255
10256 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
10257 * tree.h (built_in_function): Likewise.
10258 * expr.c (expand_builtin): Likewise.
10259 * except.h: Likewise.
10260 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
10261 * libgcc2.c (copy_reg): New fn.
10262 (__throw): Use it.
10263
407cb092
PE
10264Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
10265
10266 * c-typeck.c (build_binary_op): Warn about comparing signed vs
10267 unsigned if -W is specified and -Wno-sign-compare is not.
10268 * c-decl.c (warn_sign_compare): Initialize to -1.
10269 (c_decode_option): -Wall no longer implies -Wsign-compare.
10270
3ba10494
AS
10271Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10272
a7cc7f29
AS
10273 * frame.c: Include gansidecl.h for PROTO.
10274 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
10275 defined. Don't declare dwarf2out_cfi_label here.
10276 * dwarf2.h: Add declarations of DWARF2 unwind info support
10277 functions.
10278 * m68k.c: Include dwarf2.h.
10279 (output_function_prologue): Add dwarf2 support.
10280 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
10281 (INCOMING_FRAME_SP_OFFSET): Likewise.
10282
3ba10494
AS
10283 * integrate.c (expand_inline_function): Make sure there is at
10284 least one insn that can be used as an insertion point.
10285
c5cec899
JM
10286Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
10287
10288 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
10289
e166cb18
JL
10290Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
10291
10292 * version.c: Bump for snapshot.
10293
01a94cba
DE
10294Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
10295
10296 Bring over from FSF.
10297
10298 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
10299
10300 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
10301 (get_pc_via_rdpc): Renamed from get_pc_sp64.
10302 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
10303
10304 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
10305
10306 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
10307 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
10308 -malign-functions=.
10309 (sparc_align_{loops,jumps,funcs}_string): Declare.
10310 (sparc_align_{loops,jumps,funcs}): Declare.
10311 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
10312 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
10313 (STACK_BIAS): Define.
10314 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
10315 test.
10316 (SPARC_SETHI_P): New macro.
10317 (CONST_OK_FOR_LETTER_P): Use it.
10318 (ASM_OUTPUT_ALIGN_CODE): Define.
10319 (ASM_OUTPUT_LOOP_ALIGN): Define.
10320 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
10321 (sparc_align_{loops,jumps,funcs}): New globals.
10322 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
10323 -malign-functions=.
10324 (move_operand): Use SPARC_SETHI_P.
10325 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
10326 perform test.
10327 (arith11_double_operand): Likewise.
10328 (arith10_double_operand): Likewise.
10329 (finalize_pic): Finish sparc64 support.
10330 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
10331 64 bit constants if able.
10332 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
10333 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
10334 ! TARGET_FPU.
10335 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
10336 (get_pc_sp32): Use for sparc64 as well.
10337 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
10338 (sethi_di_sp64_const): Likewise.
10339 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
10340 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
10341 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
10342
10343 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
10344
10345 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
10346 * sparc/linux.h (COMMENT_BEGIN): Likewise.
10347 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
10348
10349 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
10350
10351 Add sparc64 linux support.
10352 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
10353 to xm_file list on 32-bit sparc-linux.
10354 * sparc/xm-sp64.h: New file.
10355 * sparc/linux64.h: New file.
10356 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
10357 Don't include xm-sparc.h.
10358 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
10359 * glimits.h (LONG_MAX): Handle sparc64.
10360
10361 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
10362
10363 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
10364 * sparc.h (ASM_COMMENT_START): Define.
10365 * sparc.c (output_function_prologue): Use it.
10366 (sparc_flat_output_function_{epi,pro}logue): Likewise.
10367
10368 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
10369
10370 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
10371 use sparc.h's copies.
10372 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
10373 ascii form as well.
10374
10375 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10376
10377 * sparc.c (dwarf2out_cfi_label): Add declaration.
10378 (save_regs, output_function_prologue): Remove cast for it.
10379 (sparc_flat_{save_restore,output_function_prologue): Likewise.
10380 ({save,restore}_regs): No longer inline.
10381
ce2157a1
JL
10382Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10383
10384 * fold-const.c (make_range): Correctly handle cases of converting
10385 from unsigned to signed type.
10386
10387Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
10388
10389 * fold-const.c (merge_ranges): Make sure that if one range is subset
10390 of another, it will always be the second range. Correct (+,-) case to
10391 account for this.
10392
c5cec899
JM
10393Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
10394
10395 * final.c (final_end_function): Also do dwarf2 thing if
10396 DWARF2_DEBUGGING_INFO.
10397 (final_start_function): Likewise.
10398
c107334d
DM
10399Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
10400
e13a25d5
DM
10401 * expmed.c (expand_divmod): If compute_mode is not the same as
10402 mode, handle the case where convert_modes() causes op1 to no
10403 longer be a CONST_INT.
10404
c107334d
DM
10405 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
10406 note holding get_jump_flags() calculation to all JUMP_INSNs.
10407 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
10408 * rtl.c (reg_note_name): Add new note types.
10409
8d7532d9
JL
10410Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
10411
0774afd7 10412 * rtlanal.c (computed_jump_p): Fix typo in last change.
8d7532d9 10413
7019d00e
L
10414Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10415
10416 * loop.c (indirect_jump_in_function_p): Return 0
10417 by default.
10418
b9dfb357
JL
10419Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
10420
10421 * rs6000/xm-rs6000.h: Fix thinko in last change.
10422 * rs6000/xm-sysv4.h: Likewise.
10423
4b7e467b
JW
10424Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
10425
10426 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
10427
8c8e6faa
JL
10428Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
10429
10430 * reg-stack.c (find_blocks): Fix thinko in last change.
10431
078e983e
AS
104321997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
10433
10434 * m68k.c (output_function_prologue): Add dwarf2 support.
10435
10436 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
10437 INCOMING_FRAME_SP_OFFSET): New definitions.
b57062ca 10438
d7027667
DM
10439Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
10440
9524f769
DM
10441 * combine.c (try_combine): Use NULL_RTX instead of '0' where
10442 appropriate in calls to gen_rtx().
10443 * cse.c (cse_main): Likewise.
10444 * emit-rtl.c (gen_label_rtx): Likewise.
10445 * expr.c (init_expr_once): Likewise.
10446 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
10447 sched_analyze, init_rgn_data_dependences,
10448 compute_block_backward_dependences): Likewise.
10449 * sched.c (schedule_insns): Likewise.
10450 * varasm.c (immed_double_const): Likewise.
10451
d7027667
DM
10452 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
10453 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
10454
fbf8b71c
KJ
10455Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
10456
10457 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
10458 (MULTILIB_DEFAULTS): Define.
10459 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
10460 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
10461 (LIBGCC_SPEC): Likewise.
10462 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
10463 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
10464 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
10465 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
10466 (EXTRA_PARTS, TAROUTOPTS): Delete.
10467 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
10468 (MULTILIB_OPTIONS): Define.
10469 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
10470 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
10471
c14a951f
JL
10472Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
10473
10474 * version.c: Bump for snapshot.
10475
7014927a
JL
10476Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
10477
37aa45a2
JL
10478 * loop.c (loop_number): Delete function. Change all references
10479 to use uid_loop_num array.
10480 * loop.h (loop_number): Delete declaration.
10481 * unroll.c (unroll_loop): Change "loop_number" references to
10482 use uid_loop_num instead.
10483
b47404d1
JL
10484 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
10485 conditional.
10486 (loop_unroll_iter): Remove unused variable and all references.
10487 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
10488 (insert_bct): Fix minor formatting problems.
10489 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
10490 (loop_unroll_iter): Removed unused decl.
10491 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
10492 Always record the unrolling factor.
10493
cb3bb2a7
JL
10494 * cse.c (simplify_relational_operation): Set h0u just like h0s.
10495 Similarly for h1u and h1s.
10496
d5ff3a2e 10497 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2a1777af
JL
10498 (find_basic_blocks): Use computed_jump_p to determine if a
10499 particular JUMP_INSN is a computed jump.
10500 * reg-stack.c (find_blocks): Use computed_jump_p to determine
10501 if a particular JUMP_INSN is a computed jump.
10502 * rtlanal.c (jmp_uses_reg_or_mem): New function.
10503 (computed_jump_p): Likewise.
10504 * rtl.h (computed_jump_p): Declare.
10505 * genattrtab.c (pc_rtx): Define and initialize.
10506 * loop.c (loop_optimize): Always determine if the current
10507 function has a computed jump.
10508 (indirect_jump_in_function_p): Use computed_jump_p to determine
10509 if a particular JUMP_INSN is a computed jump.
10510
7014927a
JL
10511 * loop.c (fix_bct_param): Delete unused function.
10512 (check_bct_param): Likewise.
10513
6d53d7c2
JM
10514Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
10515
10516 * frame.c (__deregister_frame): Check properly for initialized object.
10517
5a5e9503 10518Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
71e4fbe6
L
10519
10520 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
10521
272299b9
R
10522Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
10523
cc5e1642
R
10524 * jump.c (thread_jumps): check can_reverse_comparison_p before
10525 threading a reversed-condition jump.
10526
272299b9
R
10527 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
10528 * haifa-sched.c (update_flow_info): Likewise.
10529
18511014
JL
10530Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
10531
e6493727
JL
10532 * Makefile.in (BOOT_CFLAGS): Use -O2.
10533
1e467e19
JL
10534 * configure.in (strtoul, bsearch): Have autoconf check for these
10535 functions.
10536 * configure, config.in: Rebuilt.
10537
18511014
JL
10538 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
10539 * mips/mips.h (alloca): Likewise.
10540 * rs6000/xm-rs6000.h (alloca): Likewise.
10541 * rs6000/xm-sysv4.h: Likewise.
10542
6020d360
JM
10543Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
10544
10545 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
10546 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
10547 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
10548
10549 * except.c (end_eh_unwinder): Subtract 1 from return address.
10550 * libgcc2.c (__throw): Likewise.
10551 (find_exception_handler): Don't change PC here. Compare end with >.
10552
b24bcfb3 10553Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
b57062ca 10554
b24bcfb3
NC
10555 * v850.c (compute_register_save_size): Correct register
10556 number.
10557 * v850.md (save_interrupt, return_interrupt): Correct
10558 register number.
10559 * v850/lib1funcs.asm (save_interrupt): Correct register number.
10560 (return_interrupt): Use stack pointer, not element pointer.
10561
93cf819d
BK
105621997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
10563
10564 * configure.in, configure: Make sure to create the stage* and include
10565 symbolic links in each subdirectory.
10566
f0501149
JL
10567Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
10568
10569 * pa.md (reload_peepholes): Don't allow addresses with side
10570 effects for the memory operand.
10571
4f870c04
JM
10572Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
10573
10574 * libgcc2.c (find_exception_handler): Subtract one from our PC when
10575 looking for a handler, to avoid hitting the beginning of the next
10576 region.
10577
10578 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
10579
4eb66248
JL
10580Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
10581
10582 * mips/abi64.h (LONG_MAX_SPEC): Define.
10583 * mips.h (LONG_MAX_SPEC): Define.
10584 (CPP_SPEC): Include long_max_spec.
10585 (EXTRA_SPECS): Include long_max_spec.
10586
44158507
JL
10587Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
10588
10589 * v850.c (construct_save_jarl): Fix thinko in last change.
10590
bf520cd9
JL
10591Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
10592
10593 * version.c: Bump for snapshot.
10594
255fe733
JM
10595Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
10596
c0727e2a
JM
10597 * libgcc2.c (find_exception_handler): Not found is -1.
10598
255fe733
JM
10599 * integrate.c (expand_inline_function): Move expand_start_bindings
10600 after expanding the arguments.
10601
21002281
JW
10602Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
10603
10604 * expr.c (expand_expr): Remove previous incorrect change.
10605 If target and slot has no DECL_RTL, then call mark_addressable
10606 again for the slot after we give it RTL.
10607
e693cc28 10608Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
f633220c 10609
e693cc28
UD
10610 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
10611 again for the slot after we give it RTL.
f633220c 10612
145870b5
NC
10613Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
10614
84e75068 10615 * v850.c (register_is_ok_for_epilogue,
145870b5
NC
10616 pattern_is_ok_for_epilogue, construct_restore_jr,
10617 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
10618
84e75068 10619 * v850.h (pattern_is_ok_for_prologue,
145870b5
NC
10620 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
10621 predicates.
10622
84e75068 10623 * v850.md: Replace prologue and epilogue patterns with a
145870b5
NC
10624 match_parallel pattern.
10625
76143254
JL
10626Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
10627
10628 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
10629 * configure.in: Use EGCS_PROG_INSTALL.
10630
4401bf24
JL
10631Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
10632
10633 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
10634 extern inline function.
10635
10636Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
10637
10638 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
10639 (concat_loc_descriptor): New function.
10640 (loc_descriptor): Call it.
10641 (add_AT_location_description): Also elide the descriptor if both
10642 halves of a CONCAT are pseudos.
10643 (add_location_or_const_value_attribute): Recognize CONCAT too.
10644
0d24ff5d
RH
10645Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
10646
4bb43724
RH
10647 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
10648
0d24ff5d
RH
10649 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
10650 out-or-range reg_offset.
10651 (output_epilog): Likewise.
10652
05ef8897
JL
10653Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
10654
10655 * cse.c (simplify_relational_operation): If MODE specifies a
10656 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
10657 is derived from the sign bit of the low word.
10658
ca55abae
JM
10659Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
10660
10661 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
10662
10663 * dwarf2.h: Add DW_CFA_GNU_args_size.
10664 * frame.c (execute_cfa_insn): Likewise.
10665 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
10666 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
10667 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
10668 insn, hand it off to dwarf2out_stack_adjust.
10669 (dwarf2out_begin_prologue): Initialize args_size.
10670 * frame.h (struct frame_state): Add args_size.
10671 * libgcc2.c (__throw): Use args_size.
10672 * final.c (final_scan_insn): If we push args, hand off all insns
10673 to dwarf2out_frame_debug.
10674 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
10675
10676 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
10677 Handle epilogue restore of SP from FP.
b57062ca 10678 * emit-rtl.c (gen_sequence): Still generate a sequence if the
ca55abae
JM
10679 lone insn has RTX_FRAME_RELATED_P set.
10680
10681 * frame.c (extract_cie_info): Handle "e" augmentation.
10682 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
10683 absence of UNALIGNED_*_ASM_OP.
10684 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
10685 (output_call_frame_info): Use "e" instead of "z" for augmentation.
10686 Don't emit augmentation fields length.
10687 (dwarf2out_do_frame): Move outside of #ifdefs.
10688 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
10689 opcodes.
10690
10691 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
10692 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
10693 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
10694 * sparc/sun4gas.h: New file.
10695 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
10696
b57062ca 10697 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
ca55abae
JM
10698 __register_frame_table and __deregister_frame.
10699
1d77fa53
BK
107001997-09-15 Brendan Kehoe <brendan@cygnus.com>
10701
10702 * except.c (find_exception_handler_labels): Use xmalloc instead of
10703 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
10704 in some cases.
10705
8be52aaa
JL
10706Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
10707
10708 * Makefile.in: Various changes to build info files
10709 in the object tree rather than the source tree.
10710
a3ee3246
JL
10711Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
10712
10713 * fixinc.math: New file to fix math.h on some systems.
10714 * configure.in (freebsd, netbsd): Use fixinc.math on these
10715 systems.
10716 * configure: Rebuilt.
10717
124da275
JL
10718Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
10719
10720 * regmove.c (regmove_optimize): If we end up moving the
10721 original insn due to lifetime overlaps, make sure to move
10722 REG_NOTES too.
10723
fca9d4b0
MH
10724Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
10725
10726 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
10727
326ee7a3
JL
10728Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
10729
10730 * haifa-sched.c (add_branch_dependences): Make each insn in
10731 a SCHED_GROUP_P block explicitly depend on the previous insn.
10732
ca55abae
JM
10733Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
10734
10735 * except.h: Prototype dwarf2 hooks.
10736 * expr.c: Adjust.
10737
5188d2b2
JW
10738Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
10739
10740 * configure.in (native_prefix): Delete.
10741 (mips-dec-netbsd): Don't set prefix.
10742 (*linux*): Don't set prefix.
10743
2e384318
FF
10744Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
10745
70988851
FF
10746 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
10747 defined. If not defined, include <sys/varargs.h> if
10748 HAVE_SYS_VARARGS_H is defined.
10749 * configure.in: Test for varargs.h and sys/varargs.h.
10750 * configure: Regenerate with autoconf.
10751 * config.in: Regenerate with autoheader.
10752
2e384318
FF
10753 * cpplib.c (quote_string): Cast first arg of sprintf call
10754 from "unsigned char *" to "char *".
10755 (output_line_command): Ditto.
10756 (macroexpand): Ditto.
10757 (do_line): Cast atoi arg from "unsigned char *" to "char *".
10758
3fb2f401
JL
10759Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
10760
f2e4e16f
JL
10761 * version.c: Bump for snapshot.
10762
3fb2f401
JL
10763 * Makefile.in (compare): Exit with nonzero status if there
10764 are comparison failures. Note which files failed the
10765 comparison test in .bad_compare.
10766
d26cb668
L
10767Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
10768
10769 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
10770
ac64120e
JW
10771Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
10772
10773 * Makefile.in (LN, LN_S): New macros, use where appropriate.
10774 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
10775 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
10776 * configure: Regenerated.
10777
10778Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
10779
10780 * loop.c (strength_reduce): Fix typo.
10781
db87ec0b
JW
10782Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
10783
10784 * m88k/m88k.c (struct option): Rename to struct options.
10785 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
10786 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
10787 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
10788 __DOLPHIN__ or sysV88.
10789
04395f96
JW
10790Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
10791
10792 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
10793 create new subreg.
10794
becdcf6d
JL
10795Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
10796
10797 * config.sub: Accept 'amigados' for backward compatability.
10798
04395f96 10799Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3979dfb8
JW
10800
10801 * Makefile.in (testsuite/site.exp): New target.
10802 (check-gcc, check-g++): Depend on testsuite/site.exp.
10803 Don't stop for failure.
10804
ca55abae
JM
10805Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
10806
10807 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
10808 if DWARF2_UNWIND_INFO.
10809
10810Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
10811
10812 Add support for exception handling using DWARF 2 frame unwind info.
10813 Currently works on SPARC and MIPS, and almost on x86.
b57062ca 10814
ca55abae
JM
10815 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
10816 next_stack_level, in_reg_window): Helper fns.
10817 (__throw): Implement for DWARF2_UNWIND_INFO.
10818
10819 * expr.c (expand_builtin): Handle builtins used by __throw.
10820 * tree.h (enum built_in_function): Add builtins used by __throw.
10821 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
10822 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
10823 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
10824 (expand_builtin_extract_return_addr): Likewise.
10825 (expand_builtin_frob_return_addr): Likewise.
10826 (expand_builtin_set_return_addr_reg): Likewise.
10827 (expand_builtin_eh_stub): Likewise.
10828 (expand_builtin_set_eh_regs): Likewise.
10829 (eh_regs): Choose two call-clobbered registers for passing back values.
10830
10831 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
10832 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
10833 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
10834 (stmp-multilib): Likewise.
10835 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
10836
10837 * except.c: #include "defaults.h".
10838 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
10839 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
10840 (register_exception_table_p): New fn.
10841 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
10842 (end_eh_unwinder): Likewise.
10843
b57062ca 10844 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
ca55abae
JM
10845 call __register_frame and __deregister_frame as needed.
10846 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
10847 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
10848 EH_FRAME_SECTION_ASM_OP.
10849 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
10850 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
10851 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
10852
10853 * dwarf2out.c (output_call_frame_info): If no support for
10854 EXCEPTION_SECTION, mark the start of the frame info with a
10855 collectable tag.
10856 * collect2.c (frame_tables): New list.
10857 (is_ctor_dtor): Recognise frame entries.
10858 (scan_prog_file): Likewise.
10859 (main): Pass -fno-exceptions to sub-compile. Also do collection
10860 if there are any frame entries.
10861 (write_c_file_stat): Call __register_frame_table and
10862 __deregister_frame as needed.
10863 (write_c_file_glob): Likewise.
10864
b57062ca 10865 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
ca55abae
JM
10866 Also require unaligned reloc support.
10867 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
10868 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
10869 * sparc/sysv4.h: Not here.
10870
10871 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
10872 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
10873 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
10874
10875 * libgcc2.c (L_eh): Reorganize, moving code shared by different
10876 EH implementations to the top.
10877 (find_exception_handler): Split out. Start from 0. Compare against
10878 end with >=.
10879 (__find_first_exception_table_match): Use it.
10880 * except.c (output_exception_table): Don't do anything if there's
10881 no table. Don't output a first entry of zeroes.
10882 (eh_outer_context): Adjust properly.
10883 (add_eh_table_entry): Use xrealloc.
10884 * toplev.c (compile_file): Just call output_exception_table.
10885
10886Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
10887
10888 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
10889
10890Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
10891
10892 * except.c (eh_outer_context): Do masking using expand_and.
10893
b4d940a2
JL
10894Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
10895
10896 Add port done awhile ago for the ARC cpu.
10897 * arc/arc.h: New file.
10898 * arc/arc.c: New file.
10899 * arc/arc.md: New file.
10900 * arc/initfini.c: New file.
10901 * arc/lib1funcs.asm: New file.
10902 * arc/t-arc: New file.
10903 * arc/xm-arc.h: New file.
10904 * ginclude/va-arc.h: New file.
10905 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
10906 * ginclude/varargs.h: Likewise.
10907 * Makefile.in (USER_H): Add va-arc.h.
10908 * configure.in (arc-*-elf*): Recognize.
10909 * longlong.h: Add ARC support.
10910
10911Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
10912
10913 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
10914 when clearing non-BLKmode data.
10915
10211581
JL
10916Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
10917
9dfc6eba
MH
10918 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
10919 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
10920
55259219
MH
10921 * xm-m88k.h (USG): Only define if it hasn't already been defined.
10922
10923 * Makefile.in (risky-stage1): Delete gratutious whitespace.
10924
ee291069
MH
10925 * Makefile.in (clean): Delete libgcc1-test.
10926
10211581
JL
10927 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
10928
10929Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
48f0be1b
SC
10930
10931 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
10932 template.
10933
ca55abae
JM
10934Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10935
10936 * dwarf2out.c (output_call_frame_info): Call named_section.
10937
8f3d79e0
JL
10938Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
10939
10940 * haifa-sched.c (print_value): Fix last change.
10941
ca55abae
JM
10942Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
10943
10944 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
10945 write_symbols.
10946
10947Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
10948
10949 * mips.c (function_prologue): Set up the CFA when ABI_32.
10950
10951 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
10952 for dwarf2 unwind info.
10953 (output_function_prologue, sparc_flat_output_function_prologue): Same.
10954
10955 * final.c (final_end_function): Check dwarf2out_do_frame instead
10956 of DWARF2_DEBUG for dwarf2 unwind info.
10957 (final_scan_insn): Likewise.
10958 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
10959 (final): Not here.
10960
10961 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
10962 count > 0.
10963
10964 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
10965
74aca74b
NC
10966Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
10967
10968 * v850.h (ASM_SPEC): Pass on target processor.
10969 (CPP_PREDEFINES): Only define if not already specified.
10970 (TARGET_VERSION): Only define if not already specified.
10971 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
10972 processor.
10973 (EXTRA_SWITCHES): Extra entries in the switches array.
10974 (TARGET_DEFAULT): Set default target processor.
10975
c0b04148
JW
10976Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
10977
10978 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
10979 cases, add %# and %/, and add : to make them into extended asms.
10980
52b7724b
WL
10981Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
10982
10983 * alias.c (init_alias_analysis): Clean up incompatible pointer
10984 type warning in bzero.
10985 * regmove.c (regmove_optimize): Ditto.
10986 * haifa-sched.c (find_rgns): Ditto.
10987
10988 * haifa-sched.c (print_value): Clean up ptr->int cast
10989 warnings.
10990
0c82f6bf
FF
10991Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
10992
10993 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
10994 * install.texi (Configurations): Ditto.
10995 * config.sub: Ditto.
10996
1fed1f51
WL
10997Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
10998
10999 * Makefile.in (sdbout.o): Depend on insn-config.h.
11000
239e68f6
JW
11001Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
11002
11003 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
11004 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
11005
267c09ab
JM
11006Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
11007
11008 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
11009 prologue insn, only the first elt is significant.
11010 (output_call_frame_info): For exception handling, always use 4-byte
11011 fields as specified by the dwarf2 spec.
11012 Don't skip trivial FDEs.
11013
db7cafb0
JL
11014Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
11015
11016 * version.c: Bump for snapshot.
11017
11018Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
11019
11020 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
11021 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
11022 when op1_is_pow2.
11023
11024Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
11025
bf520cd9
JL
11026 * final.c (shorten_branches): During first pass, assume worst
11027 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
db7cafb0
JL
11028
11029 * Makefile.in (distclean): Remove various things left around
11030 by running the testsuite.
11031
7ed46111
MH
11032Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
11033
11034 * configure.in (out_file): Emit definition to config.status in order
11035 to have a defined value for configure.lang.
11036 * configure: Re-built.
11037
e41cea70
JJH
11038Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
11039
bf520cd9 11040 * configure.in: Make symlink to as-new rather than as.new. Similarly
e41cea70
JJH
11041 for ld-new.
11042 * configure: Rebuilt.
11043
1aeb1f6f
JW
11044Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
11045
11046 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
11047
770a0113
CK
11048Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
11049
11050 * sparc/sparc.md: Add ultrasparc scheduling support.
11051 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
11052
f5ffa999
PDM
11053Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
11054
11055 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
11056 as initial value for real_label_map.
11057 (copy_for_inline): Likewise.
11058
acceac1a
R
11059Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11060
11061 * sched.c (update_flow_info) When looking if to set found_split_dest
11062 or found_orig_dest, look at all parts of a PARALLEL.
11063 * haifa-sched.c (update_flow_info): Likewise.
11064
f84271d9
JL
11065Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
11066
11067 * v850: New directory for v850 port.
11068 * v850/lib1funcs.asm: New file.
11069 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
11070 * ginclude/va-v850.h: New file.
11071 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
11072 * configure.in (mn10200-*-*): New target.
11073 * configure: Rebuilt.
11074 * config.sub: Handle v850-elf.
b57062ca 11075 * Makefile.in (USER_H): Add va-mn10200.h.
f84271d9
JL
11076 * invoke.texi: Document v850 stuff.
11077
89cc6098
JW
11078Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
11079
04940ba5
JW
11080 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
11081 has integer TYPE_{MAX,MIN}_VALUE before using them.
11082
89cc6098
JW
11083 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
11084 __HPUX_ASM__ versions.
11085
c74f7db8
JL
11086Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
11087
bf520cd9 11088 * install.sh: Delete duplicate install script.
c74f7db8 11089
914ec131
SC
11090Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
11091
11092 * reg-stack.c (subst_stack_regs): Pop the stack register for a
11093 computed goto which sets the same stack register.
11094
11095 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
11096 destination are both on the regstack.
11097 (subst_stack_regs_pat): Put the destination at the top of the regstack.
11098
c1090daa
JW
11099Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
11100
d5d1738a
JW
11101 * mips.md (nonlocal_goto_receiver): Define.
11102
f4da7881
JW
11103 * profile.c (output_arc_profiler): Check next_insert_after for non
11104 NULL before deferencing it.
11105
c1090daa
JW
11106 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
11107
da594c94
JL
11108Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
11109
11110 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
11111
3e28fe44
MM
11112Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
11113
11114 * toplev.c (rest_of_compilation): For passes starting with
11115 flow_analysis, use print_rtl_with_bb instead of print_rtl.
11116
11117 * print-rtl.c (print_rtl_single): Print a single rtl value to a
11118 file.
11119
11120 * flow.c (print_rtl_with_bb): Print which insns start and end
11121 basic blocks. For the start of a basic block, also print the live
11122 information.
11123
7053ca72
JW
11124Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
11125
417b0fa2
JW
11126 * toplev.c (main): Change #elif to #else/#ifdef
11127
7053ca72
JW
11128 * tlink.c: Include ctype.h.
11129 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
11130
f05a8b25
MM
11131Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
11132
11133 * bitmap.c: Conditionally include stdlib.h.
bf520cd9 11134 (free): Provide a declaration if NEED_DECLARATION_FREE.
f05a8b25 11135
02d7a569
JS
11136Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
11137
11138 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
11139
6030b6af
JW
11140Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
11141
11142 * profile.c (output_arc_profiler): Verify next_insert_after is an
11143 INSN before and after skipping a stack pop.
11144
04da53bd
R
11145Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11146
11147 * final.c (shorten_branches): Don't count the lengths of deleted
11148 instructions.
11149
780532a4
JL
11150Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
11151
11152 * version.c: Bump for snapshot.
11153
22fa5b8a
MM
11154Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
11155
11156 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
11157 two bitmaps ANDed together.
11158 (bitmap_print): Declare.
11159
11160 * bitmap.c (function_obstack): Don't declare any more.
11161 (bitmap_obstack): Obstack for allocating links from.
11162 (bitmap_obstack_init): New static to say whether to initialize
11163 bitmap_obstack.
11164 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
11165 (bitmap_release_memory): Free all memory allocated from
11166 bitmap_obstack.
11167
11168 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
11169 EXECUTE_IF_AND_IN_BITMAP.
11170
57163df0
JW
11171Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
11172
fa8b6024
JW
11173 * alias.c (true_dependence): Address with AND can alias scalars.
11174 (anti_dependence, output_dependence): Likewise.
b57062ca 11175
57163df0
JW
11176 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
11177
8aa4e786
JS
11178Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
11179
11180 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
11181 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
11182 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
11183 definitions. Use -qrtems instead of -mrtems.
11184
feb21122
RL
11185Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
11186
11187 * xm-sco5.h (sys_siglist): Define.
11188 (SYS_SIGLIST_DECLARED): Likewise.
11189
704af6a1
JL
11190Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
11191
11192 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
11193
127cd405
TG
11194Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
11195
11196 * except.c (eh_outer_context): Expand masking operation using
11197 expand_binop.
11198
8cf02b47
JW
11199Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
11200
11201 * alpha.md (floatdisf2-1): New pattern.
11202
49dad301
JL
11203Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
11204
068f1cb8
JL
11205 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
11206 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
f04e7122 11207 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
068f1cb8
JL
11208 * gcc.texi: Note that if you define sys_siglist that you should
11209 also define SYS_SIGLIST_DECLARED.
11210
49dad301
JL
11211 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
11212 are relative to the next instruction, not the current instruction.
11213
a1729519
JW
11214Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
11215
11216 * local-alloc.c (contains_replace_regs): New function.
11217 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
11218 verify that there is no existing REG_EQUIV note, and add a call to
11219 contains_place_regs.
11220
290c8b1f
L
11221Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11222
11223 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
11224 (STARTFILE_SPEC): Always use crtbegin.o%s
11225 (ENDFILE_SPEC): Always use crtend.o%s.
11226
a6a503ed
JW
11227Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
11228
11229 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
11230 is passed in.
11231 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
11232 SFmode for 64 bit hosts.
b57062ca 11233
a94729bc
PH
11234Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
11235
11236 * fixincludes: Permits spaces between # and define. Discard C++
11237 comments in sys/pci.h on HP/UX 10.20.
11238
c9e03727
JL
11239Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
11240
11241 * version.c: Bump for snapshot.
11242
2eddfed1
JL
11243 * pa.c (restore_unscaled_index_insn_codes): New function.
11244 (record_unscaled_index_insn_codes): Likewise.
11245 (output_function_prologue): Call restore_unscaled_index_insn_codes.
11246 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
11247 (pa_reorg): Call record_unscaled_index_insn_codes.
11248
c9e03727
JL
11249 * haifa-sched.c (move_insn): Handle notes correctly for insns
11250 with SCHED_GROUP_P set.
b57062ca 11251
a5d6a95b
L
11252Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11253
11254 * alpha/xm-linux.h (USE_BFD): Undef before define.
11255
bc4ddc77
JW
11256Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
11257
11258 * cse.c (cse_insn): Don't record BLKmode values.
11259
f3e0ca6c
SW
11260Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
11261
11262 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
11263
e3512ac2
JL
11264Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
11265
a63d08e6
JL
11266 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
11267 * collect2.c (sys_errlist): Likewise.
11268 * cpplib.c (sys_errlist): Likewise.
11269 * gcc.c (sys_errlist): Likewise.
11270 * protoize (sys_errlist): Likewise.
11271 * configure.in: Check for strerror.
11272 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
11273 * xm-gnu.h (HAVE_STRERROR): Likewise.
11274 * xm-linux.h (HAVE_STRERROR): Likewise.
11275 * xm-netbsd.h (HAVE_STRERROR): Likewise.
11276 * xm-bsd386.h (HAVE_STRERROR): Likewise.
11277 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
11278 * xm-dos.h (HAVE_STRERROR): Likewise.
11279 * xm-mingw32.h (HAVE_STRERROR): Likewise.
11280 * xm-pa.h (HAVE_STRERROR): Likewise.
11281 * xm-papro.h (HAVE_STRERROR): Likewise.
11282 * xm-sysv4.h (HAVE_STRERROR): Likewise.
11283 * configure, config.in: Rebuilt.
11284
db814993
JL
11285 * Makefile.in: Add several missing "else true" clauses.
11286
e3512ac2
JL
11287 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
11288 * mips-tfile.c: Likewise.
11289 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
11290 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
11291 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
11292 * configure.in: Check for sys_siglist declaration.
11293 * configure, config.in: Rebuilt.
11294
5d84b57e
JS
11295Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
11296
b57062ca 11297 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
5d84b57e
JS
11298 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
11299 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
11300 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
11301 * rs6000/sysv4.h (extra_subtarget_switches): Added new
11302 macro EXTRA_SUBTARGET_SWITCHES.
11303 * configure.in (sh*-*-rtems*): New target.
11304 * sh/rtems.h: New file.
11305 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
11306 * configure: Rebuilt.
11307
2599dcc7
JW
11308Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
11309
11310 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
11311
3b7e5ef4
DE
11312Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
11313
11314 * rs6000.md: Make DF fused-add operations pay attention to
11315 -mno-fused-add.
11316
5cd5f4a7
JW
11317Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
11318
11319 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
11320
63e7fe9b
JL
11321Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
11322
11323 * pa.md (reload_peepholes): Make sure operand is a REG before
11324 examining REGNO. Allow general registers too.
11325
eb7b11fd
JW
11326Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
11327
11328 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
11329
c760091a
PT
11330Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
11331
5cd5f4a7 11332 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
c760091a
PT
11333 to reallocate abbrev_die_table.
11334
57583338
JW
11335Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
11336
11337 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
11338
eae4b970
AS
113391997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
11340
4f91a0f8
AS
11341 * Makefile.in (config.status): Depend on version.c
11342
eae4b970
AS
11343 * expr.h (insn_gen_function): Reenable prototype.
11344
11345 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
11346 first parameter.
11347
00fc09e1
JW
11348Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
11349
11350 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
11351
2601ebca
JL
11352Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
11353
11354 * version.c: Bump for latest snapshot.
11355
11356 * bc-optab.c: Conditionally include stdlib.h.
11357 (free): Provide a declaration if NEED_DECLARATION_FREE.
11358 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
11359 * rtl.h (free): Remove declaration.
11360 * tree.h (free): Remvoe declaration.
11361
11362 * configure: Rebuilt.
11363
e5eb27e5
JL
11364Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
11365
11366 * flags.h (flag_move_all_movables): Declare.
11367 (flag_reduce_all_givs): Likewise.
11368 * loop.c (move_movables): Handle flag_move_all_movables.
11369 (strength_reduce): Handle flag_reduce_all_givs.
11370 * toplev.c (flag_move_all_movables): Define.
11371 (flag_reduce_all_givs): Likewise.
11372 (f_options): Add -fmove-all-movables and -freduce-all-givs.
11373 * invoke.texi: Document new options, including alias stuff that
11374 wasn't included last time.
11375
d995a6dc
BM
11376Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
11377
11378 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
11379 * t-mn10200: Ditto.
11380 * t-vxsparc: Ditto.
11381 * t-vxworks68: Ditto.
11382 * t-vxworks960: Ditto.
11383 * t-vx29k: Ditto.
11384
ba64ca33
RH
11385Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
11386
11387 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
11388 if not already defined, and USE_C_ALLOCA not defined.
11389
ca20876d
JW
11390Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
11391
7818d6fc
JW
11392 * config.guess: Replace with script that uses ../config.guess.
11393
ca20876d
JW
11394 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
11395 if USE_GNULIBC_1 is not defined.
11396
704a6306
RH
11397Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
11398
11399 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
11400 * config.guess: Recognize alpha-linux-gnulibc1.
11401 * configure.in (alpha-*-linux-gnulibc1): New target.
11402 (alpha-*-linux-gnu*): Don't build crtbegin/end.
11403
67f68fd2
JW
11404Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
11405
11406 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
11407 last change.
11408
88016fb7
DE
11409Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
11410
11411 * loop.c (combine_movables): Earlier insns don't match later ones.
11412
bba17b29
L
11413Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11414
11415 * config/linux.h (CC1_SPEC): Define it only if not defined.
11416
11417 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
11418 <linux.h>
11419
11420 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
11421 USE_GNULIBC_1 is not defined.
11422
33d2808b 11423 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
bba17b29
L
11424
11425 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
11426 as 1 if USE_GNULIBC_1 is not defined.
11427
ed4044e0
JL
11428Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
11429
f345de42
JL
11430 * reorg.c (dbr_schedule): Allow current_function_return_rtx
11431 to be something other than a REG.
11432 * function.c (expand_function_end): Fix current_function_return_rtx
11433 if it was a pseudo.
11434
ed4044e0
JL
11435 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
11436 * x-netbsd: Likewise
11437 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
11438 (INSTALL_HEADERS): Delete.
11439 * x-dguxbcs: Likewise.
11440 * x-hp3bsd44: Likewise
11441 * x-pa: Likewise.
11442
47d36400
BS
11443Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
11444
11445 * i386.md (pop): pop increments the stack pointer.
11446 (prologue_set_stack_ptr): New pattern.
11447 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
11448 instead of subsi3.
11449
fc79eafe
JW
11450Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
11451
11452 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
11453 address where an offsettable address is required.
11454
c5da853f
MH
11455Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
11456
11457 * loop.c (check_final_value): Don't miss a biv increment in a
11458 parallel.
11459
d4ef15f2
JW
11460Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
11461
11462 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
11463 TYPE_DECL_IS_STUB instead of DECL_NAME.
11464
10549cbd
JW
11465Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11466
11467 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
11468
11469Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
11470
11471 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
11472
484df988
JL
11473Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
11474
11475 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
11476 (find_post_sched_live): Likewise.
11477
11478 * haifa-sched.c (schedule_block): Remove old code to get arguments
11479 from hard regs into pseudos early.
11480
39dfb55a
JL
11481Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
11482
11483 * version.c: Bump for new snapshot.
11484
11485 * local-alloc.c (update_equiv_regs): All the target to reject
11486 promotion of some REG_EQUAL to REG_EQUIV notes.
11487 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
11488
11489 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
11490 secondary reloads.
11491
11492 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
11493 store of the argument registers.
11494
11495Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
11496
11497 * fold-const.c (multiple_of_p): New function.
11498 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
11499
d78778eb
JL
11500Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
11501
11502 * expr.h (insn_gen_function): Temporarily remove prototype.
11503
feb9ea1a
JW
11504Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
11505
11506 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
11507 filenames. Use sed to extract base filename for install.
11508
b6ffe602
JC
11509Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
11510
11511 * unroll.c (find_splittable_givs): Only share if two givs have the
11512 same add and multiply values.
11513
2ebfd230
JW
11514Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
11515
11516 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
11517 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
11518
251ffdee
JL
11519Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
11520
11521 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
11522 around branch tables.
11523 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
11524 and .end_brtab directives if TARGET_GAS.
11525
19372aa1
JW
11526Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
11527
27314274
JW
11528 * alias.c (true_dependence): Pass x_addr not x to varies.
11529
19372aa1
JW
11530 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
11531 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
11532 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
11533 declarations.
11534 * config.in, configure: Regenerate.
11535
2a2c8203
JC
11536Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
11537
11538 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
11539 LO_SUM.
11540 (record_set): Handle LO_SUM like PLUS.
11541 (init_alias_analysis): When following chains of base addresses,
11542 do not stop on reaching a hard register.
11543
d80357b7
JL
11544Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
11545
11546 * version.c: Bump for new snapshot.
11547
b4f32d7b
JW
11548Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
11549
11550 * alpha.h (ARCH_ASM_FILE_START): Define.
11551 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
11552 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
11553
ca363bb6
JL
11554Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
11555
11556 * Makefile.in (install-common): Put gcov comment at start of line.
11557
7557aa98
JL
11558Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
11559
11560 * alias.c (init_alias_analysis): When simplifying the reg_base_value
11561 array, simplify entries for hard registers too.
11562
c34e3ae4
DL
11563Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
11564
11565 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
11566 list.
11567
e3eef942
JW
11568Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
11569
11570 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
11571 block_stack before dereferencing it.
11572
11573Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
246853b9
MM
11574
11575 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
11576
04f41951
JM
11577Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
11578
11579 * cplus-dem.c: Add 'extern' to prepends_underscore.
11580
e933cbe0
JL
11581Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
11582
62d65906
JL
11583 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
11584 (get_issue_rate): Delete.
11585 * pa.h (ISSUE_RATE): Define.
11586
2da05a5b
JL
11587 * configure.in: Turn on haifa by default for the PA.
11588 * configure: Rebuilt.
11589 * pa.c (override_options): Accept -mschedule=7200 option.
11590 (pa_adjust_cost): No longer need to scale costs for newer
11591 processors.
11592 * pa.h (enum processor_type): Add PROCESSOR_7200.
11593 * pa.md: Revamp scheduling parameters to work better with
11594 haifa. Add scheduling parameters for the 7200.
11595
4f64eaca
JL
11596 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
11597 insns too.
11598 (schedule_block): When adjusting basic_block_{head,end}, account
11599 for movement of SCHED_GROUP_P insns too.
11600
11601 * haifa-sched.c (debug_dependencies): Fix thinko.
11602
e933cbe0
JL
11603 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
11604 (site.exp, check, check-g++, check-gcc): New targets.
11605
4f64eaca 11606 * haifa-sched.c: Make lots of variables static.
61822835 11607
e9576d2c
L
11608Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
11609
11610 * expr.h, real.h: Finish prototyping.
11611
61822835
JL
11612Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
11613
11614 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
11615 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
11616 * reload1.c: Undo bugfix from Aug 11.
11617
f24b370a
MM
11618Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
11619
11620 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
11621 quotes around the name.
11622 * configure: Regenerate.
11623
1c4c5851
JW
11624Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
11625
11626 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
11627
71abb567
MH
11628Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
11629
11630 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
11631 to sub-makes to avoid building more passes than the user might have
11632 requested on the command line.
11633
6042434a
DL
11634Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
11635
11636 * configure.in: Expurgate `broken_install' (install is
11637 autoconfed).
11638
11639 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
11640 relevant).
11641
38ea060f
JL
11642Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
11643
11644 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
11645 functions and declarations.
11646 (analyze_loop_iterations): Use condjump_p.
11647 (insert_bct): Likewise. Use exact_log2.
b57062ca 11648
f187056f
JL
11649Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
11650
11651 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
11652 (schedule_region): Likewise.
11653 (schedule_insns): Likewise.
11654
11655 * PROJECTS: Update with Haifa stuff.
11656
9af06254
JL
11657Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
11658
11659 * version.c: Change the version string to look like:
11c21791 11660 egcs-2.90.00 970814 (gcc2-970802 experimental).
9af06254 11661
0945e937
JL
11662 * loop.c (is_conditional_branch): Make definition match declaration.
11663
9af06254
JL
11664 * gcc.c: Take out experimental snapshot warning message.
11665
ebc25a17
MM
11666Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
11667
11668 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
11669 print out the names of the notes. Print out the name of the insn
11670 that is not a note, and not an {,CALL_,JUMP_}INSN.
11671
610ce97e
JM
11672Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
11673
11674 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
11675 again for the slot after we give it RTL.
11676
992d1248
DE
11677Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
11678
11679 * configure.in (haifa configury): Fix typo.
11680 * configure: Regenerate.
11681
7bb6fbd1
JL
11682Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
11683
11684 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
11685
11686 * gcc.info*: Rebuilt.
11687
11688 * COPYING.g77, README.g77: New files.
11689 * real.c (ereal_unto_float, ereal_unto_double): New functions.
11690 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
11691 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
11692
8c660648
JL
11693Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
11694
11695 * Integrate Haifa instruction scheduler.
11696 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
11697 to sched with $(SCHED_CFLAGS.
11698 * configure.in: Handle --enable-haifa.
11699 * configure: Rebuilt.
11700 * flags.h: Add new flags for haifa instruction scheduler.
11701 * genattrtab.c (expand_units): For haifa, don't subtract one
11702 when computing blockage.
11703 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
11704 (flag_schedule_speculative): Ditto.
11705 (flag_schedule_speculative_load): Ditto.
11706 (flag_schedule_speculative_load_dangerous): Ditto.
11707 (flag_schedule_reverse_before_reload): Ditto.
11708 (flag_schedule_reverse_after_reload): Ditto.
11709 (flag_branch_on_count_reg): Ditto.
11710 (f_options): Add Haifa switches.
11711 (main): Turn off some Haifa options if appropriate macro is
11712 defined. Process Haifa switches.
11713 * unroll.c (iteration_info): No longer static, since Haifa
11714 scheduler uses it.
11715 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
11716 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
11717 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
11718 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
11719 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
11720 storage for the Haifa scheduler.
11721 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
11722 LABEL_NEXTREF.
11723 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
11724 are defined, call analyze_loop_iterations and insert_bct to use
11725 countdown loops.
11726 (record_giv): Refine test for jumps out of loops if HAIFA is
11727 defined.
11728 (analyze_loop_iterations): New function to identify if we can use
11729 a countdown loop.
11730 (insert_bct): Insert countdown loop.
11731 (instrument_loop_bct): Low level code to insert countdown loop.
11732 (loop_number): Calculate UID of loop.
11733 (indirect_jump_in_function_p): Return true if an indirect jump is
11734 in the function.
11735 (is_power_of_2): Return true if value is a power of 2.
11736 (is_conditional_branch): Return true if insn is a conditional
11737 jump.
11738 (fix_bct_param): Process -fbct-{min,max}-N switches.
11739 (check_bct_param): Return true if loop should be instrumented.
11740 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
11741 (loop_optimize): Initialize.
11742 (get_condition_for_loop): Ditto.
11743 * loop.c (strength_reduce): Inside of code that uses #ifdef
11744 HAVE_decrement_and_branch_on_count code, test it to make sure the
11745 condition is true.
11746 (instrument_loop_bct): Ditto.
11747 * haifa-sched.c: New file.
b57062ca 11748
8c660648
JL
11749
11750 * Integrate regmove pass.
11751 * Makefile.in (OBJS): Add regmove.o
11752 (regmove.o): Add dependencies.
11753 * flow.c (find_use_as_address): No longer static.
11754 * rtl.h (find_use_as_address): Declare.
11755 * toplev.c (regmove_dump, flag_regmove): Define.
11756 (f_options): Add -fregmove.
11757 (regmove_dump_file, regmove_time): Define.
11758 (fatal_insn): Close the regmove dump file.
11759 (compile_file): Initialize regmove_time; open/close the regmove dump
11760 file as needed. Print regmove time as needed.
11761 (rest_of_compilation): Run regmove pass if requested, dump
11762 RTL after regmove if requested.
11763 (main): If -O2 or more, turn on regmove. Handle dump switches.
11764 * regmove.c: New file.
b57062ca 11765
aa32d841
JL
11766Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
11767
11768 * Integrate tlink patch from jason@cygnus.com
11769 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
11770 (process_command): Increment n_switches for them. Don't discard
11771 their args. Validate them.
11772 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
11773 From Rohan Lenard.
11774 (process_command): Set include_prefixes from COMPILER_PATH.
11775 (main): Set COLLECT_GCC_OPTIONS sooner.
11776 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
11777 * tlink.c, hash.c, hash.h: New files.
11778 * Makefile.in (USE_COLLECT2): Always use collect2.
11779 (collect2): Depend on and link in hash.o and tlink.o.
11780 (tlink.o, hash.o): Add dependencies.
11781
5fa39bfe
JL
11782Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
11783
9ae8ffe7
JL
11784 * Integrate alias analysis changes from jfc@mit.edu
11785 * Makefile.in (OBJS): Add alias.o
11786 (alias.o): Add dependencies.
11787 * alias.c: New file.
11788 * sched.c: Remove alias analysis code. It lives in alias.c now.
9ae8ffe7 11789 (sched_analyze_2): Add new arguments to true_dependence.
9ae8ffe7
JL
11790 (schedule_insns): Always call init_alias_analysis.
11791 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
11792 mark return value from such functions as a pointer and keep track of
11793 them for alias analysis. If a return value from a function is a
11794 pointer, mark it as such.
11795 * combine.c (distribute_notes): Handle REG_NOALIAS.
11796 * cse.c (struct write_data): Delete. No longer needed.
11797 (invalidate): Don't call set_nonvarying_address_components anymore.
11798 Use true_dependence to decide if an entry should be removed from
11799 the hash table.
11800 (invalidate_memory): Remove WRITES argument, simplify appropriately.
11801 Fix all callers.
11802 (note_mem_written): Similarly for WRITE_PTR argument.
11803 (invalidate_from_clobbers): Similarly for W argument.
11804 (invalidate_for_call): Remove memory elements from the hash table.
11805 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
11806 (cse_rtx_varies_p): New function. Derived from old
11807 cse_rtx_addr_varies_p.
11808 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
11809 Don't call note_mem_written anymore. Stack pushes invalidate the stack
11810 pointer if PUSH_ROUNDING is defined. No longer need to call
11811 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
11812 (skipped_writes_memory): Remove variable.
11813 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
11814 (invalidate_skipped_block): Simplify for new alias analysis code.
11815 (cse_set_around_loop): Likewise.
11816 (cse_main): Call init_alias_analysis.
11817 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
11818 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
11819 (f_options): Add new alias checking arguments.
11820 (main): Set flag_alias_check when optimizing.
11821 * local_alloc (validate_equiv_mem_from_store): Add new arguments
11822 to true_dependence.
11823 (memref_referenced_p): Likewise.
11824 * loop.c (NUM_STORES): Increase to 30.
11825 (prescan_loop): Only non-constant calls set unknown_address_altered.
11826 (invariant_p): Add new arguments to true_dependence.
11827 (record_giv): Initialize unrolled and shared fields.
11828 (emit_iv_add_mult): Call record_base_value as needed.
11829 * loop.h (struct induction): Add unrolled and shared fields.
11830 * unroll.c (unroll_loop): Call record_base_value as needed.
11831 (copy_loop_body): Likewise.
11832 (final_biv_value): Likewise.
11833 (final_giv_value): Likewise.
11834 (find_splittable_regs): Likewise. Only create one new pseudo
11835 if we have multiple address GIVs that were combined with the same
11836 dst_reg GIV. Note when a new register is created due to unrolling.
11837 * rtl.c (reg_note_name): Add REG_NOALIAS.
11838 * rtl.h (enum reg_note): Similarly.
11839 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
11840 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
11841 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
11842 (true_dependence, read_dependence, anti_dependence): Likewise.
11843 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
11844 (mark_user_reg, mark_reg_pointer): Likewise.
11845
11846
11847 * Integrate reload bugfix from Wilon which enables the PA port
5fa39bfe 11848 to bootstrap again.
38e01259 11849 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
5fa39bfe
JL
11850 OPERAND_ADDRESS when computing how many registers an insn needs.
11851 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
11852 conflict.
11853 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
11854 OPADDR_ADDR reload.
11855 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
11856 in reload_reg_use_in_op_addr do not reach the end.
11857 do not reach the end.
11858 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
11859 RELOAD_FOR_OPERAND_ADDRESS.
11860
11861Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
11862
2dcfcb56 11863 * egcs project officially starts.
52267fcb
JM
11864
11865Local Variables:
11866add-log-time-format: current-time-string
11867End:
This page took 1.615118 seconds and 5 git commands to generate.