]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* gcc.dg/980523-1.c: New test.
[gcc.git] / gcc / ChangeLog
CommitLineData
a8c24967
RL
1Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
2
3 * test_summary: Display section breaks for each entry
4 in a multilibbed target's output.
5
bd070e1a
RH
61998-05-23 Richard Henderson <rth@cygnus.com>
7
8 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
9 offset's mode is not ptr_mode, convert it.
10
697073d9
JM
111998-05-22 Jason Merrill <jason@yorick.cygnus.com>
12
13 * fold-const.c (ssize_binop): New fn.
14 * tree.h: Declare it.
15
07704a9a
RE
16Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
17
18 * genextract.c (print_path): Handle zero-length path as a special
19 case.
20
911c3b7d
HPN
21Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
22
23 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
24
75197b37
BS
25Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
26
27 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
28 (shorten_branches, final_scan_insn): Test value of
29 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
30 is defined.
31 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
32 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
28ec9418 33 * arm/tcoff.h: Likewise.
75197b37
BS
34 * i386/386bsd.h: Likewise.
35 * i386/freebsd-elf.h: Likewise.
36 * i386/freebsd.h: Likewise.
37 * i386/netbsd.h: Likewise.
38 * i386/ptx4-i.h: Likewise.
39 * i386/sysv4.h: Likewise.
40 * pa/pa.h: Likewise.
41 * rs6000/linux.h: Likewise.
42 * rs6000/rs6000.h: Likewise.
43 * sh/sh.h: Likewise.
44 * sparc/sp64-elf.h: Likewise.
45 * v850/v850.h: Likewise.
46 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
47 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
48
1a29f703
R
49Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
50
51 * regmove.c (gen_add3_insn): New function.
52 (fixup_match_2): Use it instead of calling gen_addsi3.
53
aee21ba9
JL
54Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
55
37433f49
JL
56 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
57
aee21ba9
JL
58 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
59 address.
60
12b195d9
ML
61Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
62
63 * Makefile.in (TREE_H): Add tree-check.h.
64 (tree-check.h, gencheck): New targets.
65 * gencheck.c: New file.
66 * tree.c (tree_check, tree_class_check): New functions.
67 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
68 (TYPE_CHECK, DECL_CHECK): Define.
69 Modify all access macros to use generated checking macros.
70
9e423e6d
JW
71Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
72
73 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
74 * configure.in: Check for it.
75 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
76 * final.c (uid_align, uid_shuid, label_align): Make static.
77 (label_align): Change type to struct label_alignment pointer.
78 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
79 (LABEL_TO_MAX_SKIP): Define.
80 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
81 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
82 (shorten_branches): Record the maximum bytes to skip when
83 aligning a label.
84 (final_scan_insn): Use the maximum bytes to skip when aligning a label
85 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
86 * i386.h (LOOP_ALIGN_MAX_SKIP,
87 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
88 * i386.c (override_options): i386_align_jumps and i386_align_loops
89 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
90 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
91
1cc75298
MM
921998-05-21 Mark Mitchell <mmitchell@usa.net>
93
94 * cplus-dem.c (do_type): Handle volatile qualification.
95
178ca02d
PB
96Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
97
98 * function.c (init_function_start): Don't call emit_line_note if
99 lineno is 0. (Can happen when compiling Java .class files.)
100
cecbf6e2
R
101Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
102
103 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
104 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
105
b52ce03d
R
106Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
107
108 * combine.c (nonzero_bits): For paradoxical subregs, take
109 LOAD_EXTENDED_OP into account.
110
c8724862
DB
111Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
112
113 * configure.in (extra_c_objs): add prefix.o.
114 (extra_cxx_objs): extra objects for C++ with cpplib.
115 * configure: Regenerate.
116
117 * c-tree.h: (get_directive_line): Different prototype for cpplib.
118 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
119
120 * c-lex.h: (get_directive_line): Not needed here for cpplib.
121
122 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
123 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
124
125 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
126 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
127
fd97443c
KG
128Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
129
130 * gengenrtl.c (type_from_format, accessor_from_format): Change
131 type of parameter `c' from `char' to `int'.
132
0e4347ce
JL
133Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
134
2a3edac9
JL
135 * warn_summary, test_summary: New scripts from
136 Kaveh Ghazi and Alexandre Oliva respectively.
137
0e4347ce
JL
138 * gcse.c (current_function_calls_longjmp): Declare.
139
4e5a8d7b
JM
1401998-05-20 Jason Merrill <jason@yorick.cygnus.com>
141
142 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
143
7506f491
DE
144Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
145 Jeff Law (law@cygnus.com)
146
147 * Global CSE and constant/copy propagation.
148 * Makefile.in (OBJS): Add gcse.o
149 (STAGESTUFF): Add *.gcse.
150 (gcse.o): Add dependencies.
151 (mostlyclean): Remove *.gcse and */*.gcse.
152 * gcse.c: New file.
153 * loop.c (loop_optimize): Move call to init_alias_analysis.
154 * recog.c (validate_replace_src): New function.
155 * toplev.c (gcse_dump): New global variable.
156 (flag_gcse, gcse_time): Likewise.
157 (compile_file): Initialize gcse_time and clean out the gcse dump
158 file if necessary.
159 (rest_of_compilation): Call gcse_main as requested. Dump RTL
160 after gcse if requested.
161 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
162 dumps for -da.
163 * gcc.texi: Add gcse related internal documentation.
164 * invoke.texi: Note new command line options for gcse.
165 * tm.texi: Document AVOID_CCMODE_COPIES.
166 * mips.h (AVOID_CCMODE_COPIES): Define.
167
40859b41
JL
168Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
169
170 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
171 exists.
aef1617c 172 (stmp-fixproto): Simlarly for running fixproto.
40859b41
JL
173 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
174
f85c8be7
JW
175Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
176
177 * config/mips/mips.c (double_memory_operand): Accept any MEM during
178 reload when TARGET_64BIT.
179
c7391272
JW
180Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
181
182 Finish incomplete change started by Kenner.
183 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
184 (powerpcle-*-cygwin32): Delete xm_defines.
185 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
186 HAVE_STAB_H instead of NO_STAB_H.
187 * config/xm-linux.h (NO_STAB_H): Delete.
188 (HAVE_STAB_H): Undefine.
189 * config/i386/xm-go32.h (NO_STAB_H): Delete.
190
af02da67
JW
1911998-05-19 Jim Wilson <wilson@cygnus.com>
192
193 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
194 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
195
79edd21c
TV
196Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
197
198 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
199
6e684430
R
200Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
201
202 * reload1.c (reload_reg_free_for_value_p): New function.
203 (allocate_reload_reg, choose_reload_regs): Use it.
204
7ecb5d27
AM
205Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
206
207 * except.c (expand_start_catch): Correct logic for when to
208 generate a new handler label, and when to use the old one.
209
487a6e06
KG
210Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
211
212 * Makefile.in (print-rtl.o): Depend on bitmap.h.
213 (dbxout.o): Depend on toplev.h.
214 ($(SCHED_PREFIX)sched.o): Likewise.
215 ($(out_object_file)): Likewise for system.h and toplev.h.
216 (cppmain.o): Depend on gansidecl.h.
217 (cpplib.o): Likewise.
218 (cpperror.o): Likewise.
219 (cppexp.o): Likewise.
220 (cpphash.o): Likewise.
221 (cppalloc.o): Likewise.
222 (fix-header.o): Depend on cpplib.h and cpphash.h.
223 (scan-decls.o): Depend on gansidecl.h.
224
225 * basic-block.h (free_regset_vector): Add prototype.
226
227 * cccp.c (check_precompiled): Mark parameter `fname' with
228 ATTRIBUTE_UNUSED.
229 (do_assert): Likewise for `op' and `keyword'.
230 (do_unassert): Likewise.
231 (do_line): Likewise for `keyword'.
232 (do_error): Likewise for `op' and `keyword'.
233 (do_warning): Likewise.
234 (do_ident): Likewise for `keyword'.
235 (do_pragma): Likewise for `limit', `op' and `keyword'.
236 (do_sccs): Likewise.
237 (do_if): Likewise for `keyword'.
238 (do_elif): Likewise.
239 (do_else): Likewise.
240 (do_endif): Likewise.
241
242 * collect2.c (getenv): Remove redundant prototype.
243 (collect_exit, collect_execute, dump_file): Likewise.
244 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
245 (dump_prefix_list): Hide prototype and definition.
246
247 * sparc.c: Include toplev.h.
248 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
249 (symbolic_memory_operand): Likewise.
250 (sp64_medium_pic_operand): Likewise.
251 (data_segment_operand): Likewise.
252 (text_segment_operand): Likewise.
253 (splittable_symbolic_memory_operand): Likewise.
254 (splittable_immediate_memory_operand): Likewise.
255 (eq_or_neq): Likewise.
256 (normal_comp_operator): Likewise.
257 (noov_compare_op): Likewise.
258 (v9_regcmp_op): Likewise.
259 (v8plus_regcmp_op): Likewise.
260 (extend_op): Likewise.
261 (cc_arithop): Likewise.
262 (cc_arithopn): Likewise.
263 (small_int): Likewise.
264 (uns_small_int): Likewise.
265 (clobbered_register): Likewise.
266 (legitimize_pic_address): Likewise.
267 (delay_operand): Likewise.
268 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
269
270 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
271 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
272
273 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
274
275 * cppalloc.c: Include gansidecl.h.
276
277 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
278 (cpp_file_line_for_message): Mark parameter `pfile' with
279 ATTRIBUTE_UNUSED.
280 (v_cpp_message): New function.
281 (cpp_message): Use it. Also convert to variable arguments.
282 (cpp_fatal): Likewise.
283 (cpp_pfatal_with_name): Constify parameter `name'.
284
285 * cppexp.c: Move gansidecl.h before cpplib.h.
286 * cpphash.c: Likewise.
287 * cpphash.h (hashf, delete_macro): Add prototypes.
288
289 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
290 cpplib.h. Don't include errno.h.
291 (update_path): Add arguments to prototype.
292 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
293 cpp_print_containing_files): Remove redundant prototypes.
294 (cpp_hash_cleanup, add_import, append_include_chain,
295 make_assertion, path_include, initialize_builtins,
296 initialize_char_syntax, finclude, validate_else, comp_def_part,
297 lookup_import, redundant_include_p, is_system_include,
298 read_name_map, read_filename_string, open_include_file,
299 check_macro_name, compare_defs, compare_token_lists,
300 eval_if_expression, change_newlines): Add prototype arguments.
301 (hashf): Remove redundant prototype.
302 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
303 conditional_skip, skip_if_group): Add prototype arguments.
304 (fdopen): Remove redundant prototype.
305 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
306 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
307 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
308 (struct directive): Add prototype arguments to function pointer
309 member `func'.
310 (handle_directive): Add missing arguments to call to `do_line'.
311 (do_include): Mark parameters `unused1' and `unused2' with
312 ATTRIBUTE_UNUSED.
313 (do_line): Likewise for `keyword' and new parameters `unused1' and
314 `unused2'.
315 (do_error): Likewise for `keyword'.
316 (do_warning): Likewise. Also add missing argument `pfile' in call
317 to cpp_pedwarn.
318 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
319 ATTRIBUTE_UNUSED.
320 (do_ident): Likewise for `keyword', `buf' and `limit'.
321 (do_pragma): Likewise. Also add missing arguments in call to do_once.
322 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
323 ATTRIBUTE_UNUSED.
324 (do_if): Likewise for `keyword'.
325 (do_elif): Likewise.
326 (eval_if_expression): Likewise for `buf' and `length'.
327 (do_xifdef): Likewise for `unused1' and `unused2'.
328 (do_else): Likewise for `keyword', `buf' and `limit'.
329 (do_endif): Likewise.
330 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
331 (cpp_handle_options): Remove superfluous NULL argument in call to
332 cpp_fatal.
333 (cpp_handle_options): Likewise.
334 (do_assert): Mark parameter `keyword', `buf' and `limit' with
335 ATTRIBUTE_UNUSED.
336 (do_unassert): Likewise.
337 (cpp_print_file_and_line): Add missing argument `pfile' in call to
338 cpp_file_line_for_message.
339 (v_cpp_error): New function.
340 (cpp_error): Use it. Also accept variable arguments.
341 (v_cpp_warning): New function.
342 (cpp_warning): Use it. Also accept variable arguments.
343 (cpp_pedwarn): Accept variable arguments.
344 (v_cpp_error_with_line): New function
345 (cpp_error_with_line): Use it. Accept variable arguments.
346 (v_cpp_warning_with_line): New function.
347 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
348 definition.
349 (cpp_pedwarn_with_line): Accept variable arguments.
350 (cpp_pedwarn_with_file_and_line): Likewise.
351 (cpp_error_from_errno): Constify parameter `name'. Add missing
352 argument `pfile' in call to cpp_file_line_for_message.
353 (cpp_perror_with_name): Constify parameter `name'.
354
355 * cpplib.h: Define PARAMS() in terms of PROTO().
356 (fatal): Remove redundant prototype.
357 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
358 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
359 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
360 cpp_fatal, cpp_message, cpp_pfatal_with_name,
361 cpp_file_line_for_message, cpp_print_containing_files): Add
362 arguments to prototypes.
363 (scan_decls, cpp_finish): Add prototypes.
364
365 * cppmain.c: Include gansidecl.h.
366 (main): Remove unused variable `i'.
367
368 * dbxout.c: Include toplev.h.
369
370 * demangle.h (do_tlink, collect_execute, collect_exit,
371 collect_wait, dump_file, file_exists): Add prototype.
372
373 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
374 prototype and definition.
375 (gen_unspecified_parameters_die): Don't assign results of call to
376 function new_die() to unused variable `parm_die'.
377 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
378 (dwarf2out_define): Likewise for `lineno' and `buffer'.
379
380 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
381 prototype and definition.
382 (output_die): Add prototype arguments to function pointer arg.
383 (output_unspecified_parameters_die): Mark parameter `arg' with
384 ATTRIBUTE_UNUSED.
385
386 * except.c (output_exception_table_entry): Remove unused variable
387 `eh_entry'.
388
389 * except.h (expand_fixup_region_start, expand_fixup_region_end):
390 Add prototypes.
391
392 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
393
394 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
395
396 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
397 before cpplib.h, include cpphash.h, remove redundant prototype of
398 cpp_fatal, don't define `const', add a prototype for `fatal'.
399 (cpp_file_line_for_message): Add missing arguments `pfile'.
400 (v_cpp_message): New function.
401 (cpp_message): Use it.
402 (v_fatal): New function.
403 (fatal, cpp_fatal): Use it.
404 (cpp_pfatal_with_name): Constify parameter `name'.
405
406 * flow.c (free_regset_vector): Remove redundant prototype.
407
408 * function.c (round_down): Wrap prototype and definition with
409 macro ARGS_GROW_DOWNWARD.
410 (record_insns): Wrap prototype and definition with
411 defined (HAVE_prologue) || defined (HAVE_epilogue).
412
413 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
414
415 * gen-protos.c: Include gansidecl.h.
416 (hashf): Don't make it static, constify parameter `name'.
417
418 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
419 specifier %s in calls to function `fatal'.
420
421 * haifa-sched.c: Include toplev.h.
422 (find_rgns): Remove unused variable `j'.
423
424 * integrate.c (note_modified_parmregs): Mark parameter `x' with
425 ATTRIBUTE_UNUSED.
426 (mark_stores): Likewise.
427
428 * jump.c (mark_modified_reg): Likewise.
429
430 * output.h (insn_current_reference_address): Add prototype.
431 (eh_frame_section): Likewise.
432
433 * print-rtl.c: Include bitmap.h.
434
435 * reload1.c (reload): Wrap variables `note' and `next' in macro
436 PRESERVE_DEATH_INFO_REGNO_P.
437 (forget_old_reloads_1): Mark parameter `ignored' with
438 ATTRIBUTE_UNUSED.
439 (choose_reload_regs): Remove unused variable `in'.
440 (reload_cse_invalidate_mem): Mark parameter `ignore' with
441 ATTRIBUTE_UNUSED.
442 (reload_cse_check_clobber): Likewise.
443
444 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
445 (mark_elimination): Fix typo in prototype.
446
447 * scan-decls.c: Include gansidecl.h.
448
449 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
450
c7fdfd49
JL
451Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
452
453 * function.c (identify_blocks): Fix thinko when setting the
454 block number for NOTE_INSN_BLOCK_END.
455
53f2d033
NC
456Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
457
f122eb7a
NC
458 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
459 ___udivsi3.
460
461 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
462 underscores for the prefixes to the names of the maths functions.
463
53f2d033
NC
464 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
465 comment explaining why.
466
ead17059
RH
467Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
468
469 * tree.h (TYPE_SIZE_UNIT): New.
470 (struct tree_type): Add size_unit member.
471 * stor-layout.c (layout_type): Initialize it.
472 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
473 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
474
069b95ce
RE
475Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
476
477 * stor-layout.c (layout_record): Fix off-by-one error when checking
478 length of the TYPE_BINFO vector.
479
972a4adb
NC
480Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
481
482 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
483 function parameter passed in memory.
484
76ead72b
RL
485Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
486
487 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
488 Prototypes for externally used functions in respective C files.
489 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
490 final.c: Include above files.
491 * Makefile.in (toplev.o): Add dependency for above four headers.
492 (final.o): Likewise.
493 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
494 respective header files.
495
b0ccd8de
JL
496Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
497
7e717196
JL
498 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
499 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
500 the build tree if they exist.
501 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
502 appropriately.
503 (objdir): Let configure substitute value.
504 (FLOAT_H): Let configure select a pre-built version from the
505 config subdir.
506 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
507 * configure.in: Substitute for objdir.
508
88111b26
JL
509 * Makefile.in (build_canonical, host_canonical): Let configure
510 substitute values for these variables.
511 * configure.in: Substitute for build_canonical, host_canonical
512 and target_subdir in generated Makefile.
513
d8af60bf
JL
514 * output.h (find_basic_blocks): Declare.
515 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
516
b0ccd8de
JL
517 * Makefile.in (BISON): Use bison from the build tree if it exists.
518 (FLEX): Similarly.
519
88117d44
NC
520Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
521
522 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
523 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
524 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
525 command line arguments to see if an executable is not being
526 created, and if so - do not append the suffix.
527
528 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
529 driver macro.
530
e5e8a8bf
JW
531Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
532
533 * i386.h (ALIGN_DFmode): Delete.
534 (CONSTANT_ALIGNMENT): Define.
535 * varasm.c (force_const_mem): Use it.
536
b771b6b4
RH
537Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
538
539 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
540 using it with swap_condition, not before.
541
0211b6ab
JW
542Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
543
544 * alias.c (mode_alias_check): Delete.
545 (true_dependence, anti_dependence, output_dependence): Revert April 21
546 change.
547
c5991f68
KW
548Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
549
3fe4d12a 550 * toplev.c (output_lang_identify): Enable prototype and definition.
c5991f68 551
18f315a4
JL
552Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
553
554 * version.c: Bump for snapshot.
555
2a831d01
RH
556Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
557
558 * alpha/osf.h (HAVE_STAMP_H): Define.
559 * alpha.c: Use it.
560 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
561 * configure.in (alpha*-*-netbsd*): New.
562 Based on patches from Paul H. Anderson <pha@pdq.com>.
563
564 * configure.in (alpha*-*-linux-*): Kill xm_defines.
565 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
566 * alpha/xm-linux.h: Remove file.
567
620422fd
DE
568Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
569
570 * dbxout.c (dbxout_parms): If mode of type of parameter living
571 in memory doesn't match mode of DECL_RTL, make big endian correction.
572
d2f2cb19
JW
573Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
574
575 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
576
bbc0e641
JM
577Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
578
579 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
580 * stor-layout.c (layout_record): Set it.
581
582Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
583
584 * toplev.c (rest_of_compilation): Don't defer nested functions.
585
92834d7d
BM
586Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
587
588 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
589 to an 8-byte boundary if info_ptr->fpmem_p.
590
829002bb
BM
591Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
592
593 * loop.c (basic_induction_var): Added test preventing
594 CCmode parameter passed to convert_modes().
595
b24f65cd
APB
596Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
597
598 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
599 input_filename and lineno around expand_expr call. Set them to values
600 in WFL before expand_expr call.
601
b09293cc
BK
602Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
603
604 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
605
f628873f
MM
606Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
607
608 * fold-const.c (constant_boolean_node): New function.
609 (fold): Use it.
610
61fb6bac
R
611Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
612
613 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
614 Abort if trying to split kind 3 or 4 outside of combine.
615
8f9661dd
JL
616Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
617
618 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
619
b22284e1
MK
620Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
621
622 * objc/Make-lang.in (OBJC_O): Add missing exeext.
623 (libobjc.a, runtime-info.h): Likewise.
624
8a022443
JW
625Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
626
627 * i386.h (DATA_ALIGNMENT): Define.
628
aa6498c2
R
629Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
630
631 * reload1.c (delete_output_reload): Ignore single USE that
632 was emitted for the pseudo use of this INSN.
633 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
634 remains, we can always delete OUTPUT_RELOAD_INSN.
635
41372177
JW
636Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
637
638 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
639
ddc5654a
JL
640Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
641
642 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
643
9a0d1e1b
AM
644Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
645
646 * eh-common.h: New file for basic EH data structures.
647 * except.h: Various prototypes and structures for NEW_EH_MODEL
648 * function.h (struct function): Add a struct eh_stack for the catch
649 clause stack.
650 * except.c (gen_exception_label): New function to generate an
651 exception label.
652 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
653 (push_entry): New function to push an existing entry onto a stack.
654 (receive_exception_label): New function to emit the code required
655 at the start of all catch blocks.
656 (struct func_eh_entry): New structure for maintaining handlers
657 associated with EH regions.
658 (new_eh_region_entry): New function to register an EH region.
659 (add_new_handler): New function to register a handler with a region.
660 (get_new_handler): Creates anew handler entry for registering.
661 (find_func_region): New function to convert a NOTE eh region number
662 to an Eh region index.
663 (get_first_handler): New function to get the first handler in a region.
664 (clear_function_eh_region): New function to release memory.
665 (duplicate_handlers): New function to duplicate a list of handlers.
666 (expand_eh_region_end): Create a new region entry node as well.
667 (expand_leftover_cleanups): Call receive_exception_label() and
668 register the cleanup as a handler to the current region.
669 (expand_start_catch): New function to start a catch clause.
670 (expand_end_catch): New function to end a catch clause.
671 (expand_start_all_catch): restructure to not do the equivilent of
672 what expand_start_catch() does now. Push the exception region being
673 handled onto the catch stack.
674 (output_exception_table_entry): Issue an entry for each handler
675 associated with a region.
676 (set_exception_lang_code): New function for setting the language code.
677 (set_exception_version_code): New function to set the version number.
678 (output_exception_table): Output version and language codes.
679 (find_exception_handler_labels): Find handler labels using new scheme.
680 (is_exception_handler_label): New function, returns 1 if label is
681 present as a handler in some exception region.
682 (check_exception_handler_labels): Use the new scheme.
683 (init_eh_for_function): Initialize the catch stack.
684 (save_eh_status): Save the catch stack.
685 (restore_eh_status): Restore the catch stack.
686 (scan_region): Don't remove unreferenced handler label. Flow does it.
687 (get_reg_for_handler): New function to get the eh_context pointer
688 passed by __throw.
689 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
690 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
691 entry when processing END region rather that START region.
692 * flow.c (find_basic_blocks_1): Find all potential handler regions
693 now that we don't automatically know what the labels might be.
694 Let scan_region() remove unreferenced EH BEGIN/END labels.
695 * integrate.c (get_label_from_map): Put inlined labels onto the
696 permanent obstack since we dont know which ones might be exception
697 labels.
698 (save_for_inline_copying): Make new copies of all the handlers.
699 (expand_inline_function): Make new copies of all the handlers.
700 * libgcc2.c: Remove local struct decls, and include eh-common.h.
701 (find_exception_handler): With NEW_EH_MODEL the first matching
702 region we find is the right one. Add eh_info as a new parameter.
703 (__throw): Pass eh_info to find_exception_handler. Set handler
704 and pass use different regs under NEW_EH_MODEL.
705
2129b081
JW
706Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
707
708 * i960.h (hard_regno_mode_ok): Changed to function from array of
709 unsigned.
710 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
711 * i960.c (hard_regno_mode_ok): Changed to function from array of
712 unsigned.
713
029b38ff
R
714Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
715
716 * reload.c (remove_replacements): New function.
717 * reload.h (remove_replacements): Declare.
718 * reload1.c (choose_reload_regs): Disable some reloads that
719 belong to inherited reloads.
720
efdb3590
R
721Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
722
9dd07f87
R
723 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
724
efdb3590
R
725 * reload1.c (merge_assigned_reloads): When merging, reset
726 reload_spill_index for the eliminated reload.
727
5d27de7d
JL
728Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
729
730 * haifa-sched.c (schedule_insns): Fix merge goof.
731
92d4501f
JW
7321998-05-13 Jim Wilson <wilson@cygnus.com>
733
734 * varasm.c (make_decl_rtl): Revert April 1 change.
735 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
736 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
737 Get function name from the SYMBOL_REF in the DECL_RTL, not from
738 DECL_ASSEMBLER_NAME.
739 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
740 DECL_ASSEMBLER_NAME.
741
d6cc54f6
JW
742Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
743
744 * i386.c (notice_update_cc, output_float_compare): Disable
745 TARGET_CMOVE support.
746
6d3352d9 747Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
0dfa1860
MM
748 Jeff Law <law@cygnus.com>
749
ae78d276
MM
750 * rtlanal.c (find_reg_note): Ignore notes that are not on on
751 insns of class 'i'.
752 (find_regno_note): Likewise.
753
82ce5b75
MM
754 * Makefile.in (stor-layout.o): Depend on except.h
755 (varasm.o, function.o): Likewise.
756 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
757
0dfa1860
MM
758 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
759 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
760 ($(HOST_PREFIX_1)rtl.o): Likewise.
761 ($(HOST_PREFIX_1)bitmap.o): New host object.
762 * emit-rtl.c (toplevel): Include bitmap.h.
763 (gen_rtx): Handle 't' and 'b' nodes.
764 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
765 Print block number for block begin/end notes. Print 't' type
766 nodes as a pointer. Know that the 3rd argument of live range
767 start/stop notes is really a range_info rtx. If type is 'b', print
768 out argument as a bitmap.
769 * rtl.c: Include bitmap.c.
770 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
771 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
772 * rtl.def (RANGE_LIVE): New node to hold live information while we
773 recalculate the basic blocks.
774 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
775 (RANGE_VAR): New node, to hold information saved in symbol node for New
776 communicating live range information to the debug output functions.
777 * rtl.h (rtunion_def): Add rttree and rtbit fields.
778 (XBITMAP, XTREE): New accessor macros.
779 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
780 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
781 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
782 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
783 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
784 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
785 (RANGE_INFO_*): Likewise.
786 * sched.c (sched_analyze): Keep live range start/stop notes.
787 (unlink_other_notes): Likewise.
788 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
789 (unlink_other_notes): Likewise.
790 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
791 (BLOCK_LIVE_RANGE_FLAG): Likewise.
792 (DECL_LIVE_RANGE_RTL): Likewise.
793 (struct tree_block): Add live_range_flag, live_range_var_flag,
794 live_range_start and live_range_end.
795 (struct tree_decl): Add live_range_rtl field.
796 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
797 (accessor_from_format): Likewise.
6d3352d9
MM
798
799 * haifa-sched.c (schedule_block): Make verbose output line up.
47312d84 800 Also add a blank line in printing the individual ready lists.
6d3352d9 801
63e76c87
KG
802Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
803
804 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
805 (c-lex.o): Depend on output.h.
806 (c-common.o): Likewise.
807 (stmt.o): Likewise.
808 (calls.o): Likewise.
809 (integrate.o): Depend on toplev.h.
810 (regclass.o): Depend on output.h.
811 (final.o): Depend on reload.h.
812
813 * c-common.c: Include output.h.
814 (check_format_info): Remove unused variable `integral_format'.
815
816 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
817 `indent' with ATTRIBUTE_UNUSED.
818 (print_lang_type): Likewise.
819 (maybe_build_cleanup): Likewise for parameter `decl'.
820 (copy_lang_decl): Likewise for parameter `node'.
821
822 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
823 (lang_print_xnode): Mark parameters `file', `node' and `indent'
824 with ATTRIBUTE_UNUSED.
825 (lookup_interface): Likewise for parameter `arg'.
826 (is_class_name): Likewise.
827 (maybe_objc_check_decl): Likewise for parameter `decl'.
828 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
829 `reflexive'.
830 (maybe_objc_method_name): Likewise for parameter `decl'.
831 (build_objc_string): Likewise for parameters `len' and `str'.
832
833 * c-lex.c: Include output.h.
834
835 * c-lex.h (position_after_white_space): Correct typo in prototype.
836
837 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
838 c_expand_end_cond, init_iterators): Add prototypes.
839
840 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
841 with ATTRIBUTE_UNUSED.
842
843 * calls.c: Include output.h.
844
845 * cccp.c (pipe_closed): Mark parameter `signo' with
846 ATTRIBUTE_UNUSED.
847
848 * combine.c: Move inclusion of expr.h to after insn-config.h.
849
850 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
851 as empty, rather define as ((void)0).
852
853 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
854 Add parentheses around assignment used as truth value.
855
856 * cplus-dem.c (squangle_mop_up): Change return type to void.
857 (internal_cplus_demangle): Remove unused parameter `options'.
858 All callers changed.
859 (cplus_demangle_opname): Remove function wide variable `int i' and
860 replace with `size_t i' at each location where it is used.
861 (cplus_demangle_opname): change type of `i' from int to size_t.
862
863 * cppexp.c (right_shift): Mark parameter `pfile' with
864 ATTRIBUTE_UNUSED.
865
866 * cpphash.c (cpp_lookup): Likewise.
867 (cpp_hash_cleanup): Likewise.
868
869 * cpplib.c (parse_name): Add a prototype and make it static.
870 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
871 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
872 (macro_cleanup): Likewise for parameter `pfile'.
873 (file_cleanup): Likewise.
874
875 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
876 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
877
878 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
879 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
880
881 * cse.c (cse_check_loop_start): Mark parameter `set' with
882 ATTRIBUTE_UNUSED.
883
884 * dbxout.c (flag_minimal_debug, have_used_extensions,
885 source_label_number): Move inside macro wrapper check against
886 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
887
888 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
889
890 * except.h (doing_eh): Provide prototype.
891
892 * expr.c: Move inclusion of expr.h to after insn-config.h.
893
894 * final.c: Include reload.h.
895 (shorten_branches): Cast the first argument of bzero to char *.
896
897 * fix-header.c (cpp_print_containing_files): Mark parameter
898 `pfile' with ATTRIBUTE_UNUSED.
899 (cpp_fatal): Likewise.
900
901 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
902 to char *.
903
904 * genattrtab.c (make_length_attrs): Change the type of variable
905 `i' from int to size_t.
906 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
907 (one_fn): Likewise.
908
909 * genextract.c (main): When generating insn-extract.c, mark
910 variable `junk' with ATTRIBUTE_UNUSED.
911
912 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
913 argument of bzero to char*.
914
915 * integrate.c: Include toplev.h.
916
917 * libgcc2.c: Wrap `struct exception_table' and
918 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
919
920 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
921
922 * objc/objc-act.c: Include toplev.h.
923 (lang_print_xnode): Mark parameters `file', `node' and `indent'
924 with ATTRIBUTE_UNUSED.
925 (finish_protocol): Likewise for parameter `protocol'.
926
927 * output.h (declare_weak): Add prototype.
928 (decode_reg_name): Don't wrap with TREE_CODE macro.
929 (assemble_alias): Add prototype.
930
931 * regclass.c: Include output.h.
932
933 * reload.h (reloads_conflict): Add prototype.
934
935 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
936 output_func_start_profiler): Add prototypes.
937
938 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
939 ATTRIBUTE_UNUSED.
940
941 * scan-decls.c: Include scan.h.
942
943 * scan.h (recognized_function, recognized_extern): Add prototypes.
944
945 * stmt.c: Include output.h.
946
947 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
948 (output_lang_identify): Hide prototype and definition.
949 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
950 (pipe_closed): Likewise.
951
952 * toplev.h (count_error, strip_off_ending, error_for_asm,
953 warning_for_asm): Add prototypes.
954
a494747c 955Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
a494747c 956
32e705c4
MM
957 * toplev.c (rest_of_compilation): "Charge" final for any time
958 doing various cleanup operations after finishing compilation
959 of a function.
960
6fc4610b
MM
961 * flow.c (dump_flow_info): Also print number of sets and
962 whether or not the pseudo is a user variable.
963
a494747c
MM
964 * flow.c (reg_n_max): New global variable.
965 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
966 Delete regno_max variable.
967 * regs.h (REG_N_CHECK): Define.
968 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
969 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
970 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
971
21622caf
JL
972Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
973
974 * acconfig.h (ENABLE_CHECKING): Undefine.
975 * configure.in (--enable-checking): New option.
976
d668e863
R
977Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
978
979 * reload1.c (merge_assigned_reloads): Can merge
980 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
981 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
982
b706d7f2
JW
983Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
984
985 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
986
4117a96b
R
987Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
988
989 * reload1.c (gen_reload): Create REG_EQUIV notes.
990
4d3eb414
R
991Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
992
993 * reload1.c (reload): Fix check for USEs to use code of pattern.
994 (choose_reload_regs): Remove dead variable use_insn.
995
b10c8966
JL
996Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
997
998 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
999
cbb13457
MM
1000Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
1001
1002 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
1003 already defined.
1004 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
1005 (insn_{unit,issue_delay}): Ditto.
1006 (blockage_range): Ditto.
1007 (actual_hazard{,_this_instance}): Ditto.
1008 (schedule_unit): Ditto.
1009 (potential_hazard): Ditto.
1010 (insn_cost): Ditto.
1011 (swap_sort): Ditto.
1012 (queue_insn): Ditto.
1013 (birthing_insn_p): Ditto.
1014 (adjust_priority): Ditto.
1015 (get_block_head_tail): Ditto.
1016 (init_rgn_data_dependences): Ditto.
1017
1478d88a
KK
1018Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
1019
1020 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
1021
a688e0b7
GK
1022Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
1023
1024 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
1025
ec350bdd
GK
1026Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
1027
1028 * config/mips/mips.md (dslot): Move after definition of "cpu"
1029 attribute. Handle r3900 case.
1030
d4ba0ead
KG
1031Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1032
1033 * system.h: Define the STRINGIFY macro here.
1034 * protoize.c: Not here.
1035 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
1036
8a198bd2
JW
1037Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
1038
1039 * varasm.c (assemble_variable): Compute the alignment of the data
1040 earlier so that both initialized and uninitialized variables are
1041 effected by DATA_ALIGNMENT.
1042 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
1043
eace3df1
JL
1044Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
1045
1046 * mips.c: Prototype static functions.
1047
a9e95099
JW
1048Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
1049
b1a7d591
JW
1050 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
1051 Add explanatory comments.
1052
a9e95099
JW
1053 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
1054
0f177d7c
RH
1055Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
1056
1057 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
1058
28233641
JW
1059Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
1060
1061 * varasm.c (make_decl_rtl): Disable April 1 change.
1062
e55a5ea6
RH
1063Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
1064
1065 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
1066
e83015a9
RH
1067Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
1068
1069 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
1070 * alpha.c (print_operand): Handle it.
1071 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
1072 related define_splits. Also add peepholes for SImode reload
1073 plus sign_extend lossage.
1074
320e7c40
KG
1075Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1076
1077 * genattr.c: Include stdarg.h/varargs.h. Change function
1078 `fatal' to use variable arguments instead of faking it with
1079 integer parameters. Provide a prototype which also
1080 checks the format specifiers using ATTRIBUTE_PRINTF_1.
1081
1082 * genattrtab.c: Likewise.
1083 * gencodes.c: Likewise.
1084 * genconfig.c: Likewise.
1085 * genemit.c: Likewise.
1086 * genextract.c: Likewise.
1087 * genflags.c: Likewise.
1088 * genopinit.c: Likewise.
1089 * genpeep.c: Likewise.
1090 * genrecog.c: Likewise.
1091 * genoutput.c: Likewise. Similarly for function `error'.
1092
e9b4fabf
JL
1093Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1094
1095 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
1096 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
1097 * configure.in: Use GCC_C_VOLATILE.
1098 * system.h (volatile): Define as empty if no volatile support is
1099 available.
1100
1101Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
1102
1103 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
1104 generated fucntion.
1105
f283421d
RH
1106Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
1107
1108 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
1109 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
1110 the body of beq; additionally set the mode of the branch to CCmode for
1111 FP compares and not fast_math.
1112 (alpha_emit_conditional_move): Always use a compare insn for FP
1113 when not fast_math, as well as setting CCmode on the cmov.
1114 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
1115
1116 * machmode.h (COMPLEX_MODE_P): New macro.
1117
53c0919d
RH
1118Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
1119
1120 * haifa-sched.c (print_exp): Fix typo.
1121
23d297ab
JL
1122Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
1123
1124 * version.c: Bump for snapshot.
1125
cf879efa
MM
1126Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
1127
1128 * final.c (final_scan_insn): Call fatal_insn instead of abort if
1129 we could not split an insn when required to.
1130
5b8ae21f
MM
1131 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
1132 level insns.
1133 (peepholes): Disable peepholes that call dead_or_set_p.
1134 (movsi): Rewrite to handle addresses better after last change.
1135 Add define_split to split load of addresses in large/medium modes.
1136 (prologue): Call m32r_expand_prologue.
1137 (movsi_{push,pop}): Generators for push/pop.
1138 (movsi): Support PRE_{INC,DEC}, POST_INC.
1139 (mov{di,df}): Rewrite. Always split the insns.
1140 (movsf): Add define_split to get register load in correct mode.
1141 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
1142 (attributes): Rewrite attributes so that type indicates both the
1143 type and the length of the insn directly.
1144 (all insns): Change to use new type attributes.
1145 (debug): New attribute to convey whether -mdebug was used.
1146 (opt_space): New attribute to convey whether -Os was used.
1147 (function units): Loads are 3 cycles, not 2. Better classify all
1148 insns into short/long.
1149 (load/store/extend insns): Add separate case for load/store
1150 indirect operations without an offset.
1151 (divsi3): Division is a long operation, not short.
1152
1153 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
1154 modes > 1 word.
1155 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
1156 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
1157 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
1158 operands with PRE_{INC,DEC}, POST_INC.
1159 (FUNCTION_PROFILER): Call abort instead of doing nothing.
1160 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
1161 SImode variables.
1162 (gen_split_move_double): Declare.
1163 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
1164
1165 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
1166 emit_move_insn, build up SET's directly.
1167 (toplevel): Include system.h, not stdio.h.
1168 (move_double_src_operand): Allow any DF or DI mode constant.
1169 (gen_split_move_double): Split moves of DI or DF values into the
1170 appropriate moves, loads, or stores. Don't handle use of auto
1171 inc/dec if using dead index. Do handle overlapping moves, etc.
1172 (m32r_frame_info): Remove prologue_size field.
1173 (m32r_compute_frame_size): Don't calculate prologue size.
1174 (m32r_output_function_prologue): Change to pretty much a NOP.
1175 (m32r_expand_prologue): Expand prologue as a series of INSNs.
1176 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
1177 (m32r_print_operand_address): Ditto.
1178
d7c2e385
L
1179Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
1180
1181 * reload1.c (emit_reload_insns): When performing expensive
1182 optimizations, do not output the last reload insn if OLD is
1183 not the dest of NSN and is in the src and is clobbered by INSN.
1184
560bd19e
KG
1185Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1186
1187 * Makefile.in (genrtl.o): Depend on system.h.
1188 * gengenrtl.c (gencode): When creating genrtl.c, have it
1189 include system.h.
1190
0d33d22e
AS
1191Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1192
1193 * config/m68k/t-linux: Remove extra stuff already included in
1194 config/t-linux.
1195
dea4ae0d
MH
1196Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
1197
1198 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
1199 curses.h if it contains `typedef char bool;', as suggested by
1200 Manfred Hollstein <manfred@s-direktnet.de>.
1201
1202 * configure.in: Rename fixinc.math to fixinc.wrap.
1203
02e56202
JW
1204Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
1205
bbeb7b65
JW
1206 * gcc.c (read_specs): Handle missing blank line at end of specs file.
1207
02e56202
JW
1208 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
1209 movdfcc_1): Disable.
1210
e445171e
JW
1211Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
1212
1213 * configure.in (enable_threads): Rename to enable_threads_flag before
1214 main loop. Set enable_threads to enable_threads_flag inside main
1215 loop.
1216
a1b5a7e1
MM
1217Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
1218
1219 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
1220 multiple times.
1221
76b4b31e
KG
1222Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1223
1224 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
1225
1226 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
1227 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
1228 (AC_CHECK_FUNCS): Remove unused check for vprintf.
1229
1230 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
1231 (cccp.o): Depend on gansidecl.h.
1232 (cexp.o): Likewise.
1233
1234 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
1235 per the rest of gcc source.
1236 * cexp.y: Likewise. Include gansidecl.h and remove all code made
1237 redundant.
1238
1239 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
1240 used when vfprintf is missing.
1241 * cexp.y: Likewise.
1242 * gcc.c: Likewise.
1243 * genattrtab.c: Likewise.
1244 * mips-tfile.c: Likewise.
1245 * toplev.c: Likewise.
1246
1247 * vfprintf.c: New file.
1248 * doprint.c: New file.
1249
bebc4663
JL
1250Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
1251
1252 * config/linux.h (ASM_COMMENT_START): Remove from here,
1253 * config/linux-aout.h (ASM_COMMENT_START): and here,
1254 * config/i386/linux.h (ASM_COMMENT_START): to here,
1255 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
1256 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
1257 here as '#' too.
1258
436bf9fb
AS
1259Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1260
1261 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
1262 constant.
1263
f103890b
RL
1264Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
1265
1266 * Makefile.in (dwarfout.o) Add toplev.h dependency.
1267 * dwarfout.c, i386.c: Include toplev.h
1268 * toplev.h: (pfatal_with_name) Add prototype.
1269
024b5658
JM
1270Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
1271
1272 * Makefile.in: Fix .SUFFIXES.
1273
410c3875
AM
1274Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
1275
1276 * config/linux.h (ASM_COMMENT_START): Define as "#".
1277 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
1278
7e073314
JW
1279Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
1280
71ebb3b8
JW
1281 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
1282 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
1283
a0c8e1b2
JW
1284 * toplev.c: Include toplev.h.
1285 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
1286 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
1287 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
1288 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
1289 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
1290 toplev.h dependency.
1291
1b15c5de
JW
1292 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
1293 HARD_FRAME_POINTER_REGNUM.
1294
7e073314
JW
1295 * expr.c (target_temp_slot_level): Delete duplicate definition.
1296
d06eab0d
JL
1297Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
1298
df03cab5 1299 * stmt.c (mark_seen_cases): Make it have external linkage again.
0586a4ce
JL
1300 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
1301 has been included.
df03cab5 1302
6b879bcc
JL
1303 * haifa-sched.c (print_value, case SUBREG): Fix typo.
1304
6b28fd63
JL
1305 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
1306 * i386.h (REG_CLASS_CONTENTS): Similarly.
1307
cc132865
JL
1308 * toplev.c (-fsched-max): Delete flag.
1309 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
1310 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
1311 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
1312 conditionals.
1313
1314 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
1315 inner loops which are not reducible.
1316
fd4a1ca5
JL
1317 * loop.c (regs_match_p): Fix typo in prototype.
1318
d06eab0d
JL
1319 * regmove.c (try_auto_increment): Wrap declaration inside an
1320 #ifdef AUTO_INC_DEC.
1321
31bfbf1f
MM
1322Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
1323
1324 * final.c (output_operand_lossage): Call fatal with the operand
1325 lossage message instead of calling abort.
1326
e9a780ec
KG
1327Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1328
1329 * c-common.c: Convert to using ctype macros defined in system.h.
1330 * c-lex.c: Likewise.
1331 * cccp.c: Likewise.
1332 * collect2.c: Likewise.
1333 * rs6000.c: Likewise.
1334 * cpplib.c: Likewise.
1335 * fix-header.c: Likewise.
1336 * gcc.c: Likewise.
1337 * gen-protos.c: Likewise.
1338 * pexecute.c: Likewise.
1339 * protoize.c: Likewise.
1340 * rtl.c: Likewise.
1341 * scan.c: Likewise.
1342 * stmt.c: Likewise.
1343 * tlink.c: Likewise.
1344 * toplev.c: Likewise.
1345
d4c3e60e
GK
1346Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
1347
1348 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
1349 Replace -gdwarf-2 with -g0.
1350
90fbb8c9
KG
1351Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1352
1353 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
1354 * mips-tdump.c: Include system.h, remove redundant headers.
1355 * mips-tfile.c: Likewise. Also, convert all ctype function calls
1356 to calls of the macro versions defined in system.h.
1357
1358 * objc/Make-lang.in (objc-act.o): Depend on system.h.
1359 * objc/objc-act.c: Include system.h, remove redundant headers.
1360
8f81384f
KG
1361Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1362
1363 * configure.in (AC_CHECK_FUNCS): Add isascii.
1364 (GCC_NEED_DECLARATIONS): Add atof.
1365
1366 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
1367 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
1368
e572c0c6
KG
1369Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1370
1371 * system.h: Wrap time.h and sys/file.h in autoconf checks.
1372 Provide default definitions for O_RDONLY and O_WRONLY here.
1373
1374 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
1375
8830da36
MM
13761998-05-06 Mark Mitchell <mmitchell@usa.net>
1377
1378 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
1379
c5ff95e6
RL
1380Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
1381
1382 * toplev.h: New file. Protypes for functions in toplev.c.
1383 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
1384 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
1385 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
1386 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
1387 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
1388 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
1389 varasm.c: include it.
1390
15ebe47d
JL
1391Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
1392 Jim Wilson (wilson@cygnus.com)
1393
1394 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
1395 blocks. Check for 1 successor which is the EXIT_BLOCK.
1396
1397 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
1398 unreachable loops with more than one block.
1399
dbbfa8c8
MH
1400Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
1401
1402 * fix-header.c (write_rbrac): Add "abort" to functions which need to
1403 be protected.
1404
f5963e61
JL
1405Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
1406
1407 * Check in merge from gcc2. See ChangeLog.12 for details.
1408
3d90c2b5
JW
1409Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
1410
c6a9dea8
JW
1411 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
1412 accept 'a' flag. 'S' does accept 'a' flag.
1413 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
1414 and `a' flag.
1415
3d90c2b5
JW
1416 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
1417
97b57a81
AS
1418Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1419
1420 * config/m68k/m68k.h: Declare functions from m68k.c used in
1421 macros and machine description.
1422 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
1423 long values.
1424 (ASM_OUTPUT_FLOAT): Likewise.
1425 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1426
c5c63738
JM
1427Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
1428
1429 * tree.def: Add NAMESPACE_DECL.
1430 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
1431 * dwarf2out.c (push_decl_scope): Likewise.
1432 (scope_die_for): Likewise.
1433 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
1434 how to get next context level.
1435
2e14a41b
JW
1436Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
1437
1438 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
1439 case.
1440
f78c792c
JL
1441Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
1442
8b05263d
JL
1443 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
1444
f78c792c
JL
1445 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
1446 for any insns skipped at the start of a block because they were
1447 redundant.
1448
4330b0e7
JW
1449Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
1450
1451 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
1452
b57062ca
UD
14531998-05-04 Ulrich Drepper <drepper@cygnus.com>
1454
1455 * c-common.c (format_char_info): Add new field hhlen.
1456 (print_char_table, scan_char_table, time_char_table): Initialize
1457 hhlen field appropriately.
1458 (char_format_info): Recognize hh modifier and lookup correct char
1459 table entry.
1460
06eaa86f
JW
1461Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
1462
1463 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
1464 reference if this is a store.
1465
9ed5dc54
RH
1466Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
1467
1468 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
1469
fb6d9312
RL
1470Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
1471
1472 Make UnixWare 7 bootstrap support work with final shipping product.
b57062ca 1473 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
fb6d9312
RL
1474 Pick up xm-siglist and xm-alloca.
1475 (xm_defines): Add USG so dbxout will build.
1476 * configure: Regenerate.
1477
82d6b402
RH
1478Sun May 3 13:51:34 PDT 1998 Richard Henerson <rth@cygnus.com>
1479
1480 Support for official Sparc V9 ABI:
1481 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
1482 Care for flag_pcc_struct_return default.
1483 (output_move_quad): Rewrite to move by halves on v9 and in the
1484 proper direction.
1485 (move_quad_direction): New function.
1486 (output_fp_move_quad): Use it to determine the direction of copy.
1487 (function_arg_slotno): Return -1 for FP reg overflow as well.
1488 (function_arg_record_value*): New functions.
1489 (function_arg): Use them. Streamline unprototyped parameter passing.
1490 (function_arg_pass_by_reference): Pass TCmode by reference.
1491 (function_value): New function.
1492 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
1493 long long in 64-bit mode.
1494 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
1495 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
1496 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
1497 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
1498 (BASE_INCOMING_ARG_REG): Likewise.
1499 (FUNCTION_VALUE): Call function_value.
1500 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
1501 * sparc.md (movdi_sp32_v9): Disable for arch64.
1502 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
1503 (call_value_address_sp64): Remove register class constraints.
1504 (call_value_symbolic_sp64): Likewise.
1505 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
1506 v9 case to 32-bit constants.
1507 (goto_handler_and_restore_v9): Provide a version for arch64.
1508 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
1509 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
1510 (CPP_PREDEFINES): New.
1511 * sparc/sp64-elf.h: Likewise.
1512 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
1513 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
1514 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
1515
e40abc32
JL
1516Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
1517
1518 * version.c: Bump for snapshot.
1519
b60a8416
R
1520Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1521
1522 * reload.c (find_reloads): Emit USEs to mark where a pseudo
1e89ac8a 1523 is reloaded with the MEM of its stack slot.
b60a8416
R
1524 * reload1.c (cannot_omit_stores): Delete.
1525 (reload): Don't initialize it.
1526 Don't apply avoid_return_reg logic to USEs.
1527 When done, remove USEs that have a REG_EQUAL note on them.
1528 (emit_reload_insns): Handle case where we have inherited a MEM.
4d3eb414 1529 (choose_reload_regs): Likewise.
b60a8416
R
1530 (delete_output_reload): Don't use cannot_omit_stores.
1531
c1879238
JW
1532Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
1533
1534 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
1535
459b3825
MM
1536Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
1537
1538 * haifa-sched.c (print_{exp,value}): Various changes to make the
1539 debug output easier to read. Also, use only one buffer, and make
1540 sure the buffer we are passed in doesn't overflow.
1541 (safe_concat): Concatenate to a buffer without overflow.
1542
3fe4d12a 1543Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
459b3825
MM
1544
1545 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
1546 with the prototype.
b57062ca 1547
93da030f
R
1548Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1549
1550 * sched.c (new_insn_dead_notes): Check if the register was
1551 used in the original instruction.
1552 * haifa-sched.c (new_insn_dead_notes): Likewise.
1553
0c84c618
JW
1554Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
1555
1556 * dwarf2out.c (scope_die_for): If could not find proper scope,
1557 check for and handle tagged type with incorrect TYPE_CONTEXT.
1558
bf5f0e90
JC
1559Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
1560
1561 * calls.c (expand_call): Fix recognition of C++ operator new.
1562
1563 * alias.c (mode_alias_check): Disable type based alias detection.
1564
a0281dae
GK
1565Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
1566
1567 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
1568 ASM_OUTPUT_WEAK_ALIAS): Define.
1569 * config/mips/elf64.h: Same.
1570 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
1571 ASM_WEAKEN_LABEL): Removed.
1572
55666054
AS
1573Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1574
1575 * calls.c (expand_call): Bump the length limit on the specially
1576 recognized function names to 17.
1577
2cea586a
JW
1578Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
1579
f60d6248
JW
1580 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
1581 when undefining macros at the end.
1582
bf931ec8
JW
1583 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
1584 val or len has TREE_SIDE_EFFECTS set.
1585
2cea586a
JW
1586 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
1587 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
1588 (smuldi3_highpart): Call const v8plus routine.
1589 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
1590 (const_smulsi3_highpart_v8plus): New pattern.
1591 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
1592 (umulsidi3): Call const v8plus routine.
1593 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
1594 routine.
1595 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
1596 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
1597
2b7972b0
MM
1598Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
1599
1600 * m32r.c (*_oper{and|ator}): Change enum arguments and return
1601 values to int, so they can be prototyped even in files that don't
1602 include rtl.h.
1603 ({small,large}_insn_p): Ditto.
1604 (m32r_select_cc_mode): Ditto.
1605 (gen_compare): Ditto.
1606 (function_arg_partial_nregs): Ditto.
1607 (m32r_setup_incoming_varargs): Ditto.
1608 (init_reg_tables): Add prototype.
1609 (m32r_frame_info): Add prolog_size field.
1610 (m32r_compute_frame_size): Calculate the size of the prologue.
1611 (m32r_first_insn_address): Return prologue size.
1612 (m32r_output_function_prologue): Calculate frame size before
1613 printing out information. Print out the prologue size.
1614
1615 * m32r.h: Prototype all functions in m32r.c.
1616 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
1617
1618 * m32r.md (bcc functions): Cast enum's to int.
1619
1620 * m32r.c (conditional_move_operand): Silence a debug message.
1621 ({small,long}_insn): New predicates.
b57062ca 1622
2b7972b0
MM
1623 * m32r.h (TARGET_M32R): New macro.
1624 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
1625 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
1626 was selected.
1627 (ISSUE_RATE): Define as 2.
1628
1629 * m32r.md (insn_size): New attribute.
1630 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
1631 short.
1632 (m32r): New attribute.
1633
1634 * configure.in (enable_haifa): Switch m32r to Haifa by default.
1635 * configure: Regenerate.
1636
1637 (Changes from Nick Clifton <nickc@cygnus.com>)
1638 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
1639 the equivalent of a negated 'I' constraint.
1640 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
1641 optimisation to work.
1642
1643 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
1644 than 'I' since the value is negated.
1645 (peephole): Add peephole optimisation to cope with optimization of
1646 divide and subtracts of the same operands.
1647
1648 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
b57062ca 1649 * m32r.h: Ditto.
2b7972b0
MM
1650 * m32r.md: Ditto.
1651
1652 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
1653 predicates.
1654
bd55c374
MH
1655Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
1656
1657 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
1658
3a6bd8c0
NC
1659Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
1660
1661 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
1662 frame_pointer_rtx not FRAME_POINTER_REGNUM.
1663
0628fde6
JW
1664Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
1665
561cf7b1
JW
1666 * reg-stack.c: Revert last patch (Apr 20).
1667 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
1668
1688d6d2
JW
1669 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
1670
0628fde6
JW
1671 * loop.c (check_dbra_loop): New locals jump, first_compare, and
1672 compare_and_branch. Call get_condition to set first_compare.
1673 Set compare_and_branch to number of compare/branch instructions.
1674 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
1675 Replace '2' with compare_and_branch.
1676
07623417
AM
1677Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1678
1679 * cplus-dem.c (demangle_qualified): Replace missing else.
1680
97d6fd65
R
1681Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1682
1683 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
1684
3d5a0820
R
1685Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1686
1687 * sh.c (sh_expand_prologue, sh_expand_epilogue):
1688 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
1689 * sh.h (STACK_BOUNDARY): Likewise.
1690
ef41dabb
R
1691Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1692
1693 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
1694
14bf4a33
MM
1695Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
1696
22c4957e
MM
1697 * system.h (abort): If abort is not defined, and neither is
1698 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
1699 reporting the line and filename of the error.
1700
1701 * .gdbinit: Add breakpoints on exit and fancy_abort.
1702
563c063f
MM
1703 * final.c (split_double): Avoid a compiler warning if
1704 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
1705
14bf4a33
MM
1706 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
1707 for calling jump_optimize.
1708
1709 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
1710 macros, rather than 0/1's.
1711
5d02ee66
RH
1712Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
1713
1714 * alpha.h (CONST_COSTS): Zero is always free.
1715 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
1716
7bf40741
AS
1717Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1718
1719 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
1720 length in the name of a virtual table.
1721
556ccd9b
RH
1722Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
1723
1724 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
1725
1206d294
JL
1726Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
1727
1728 * version.c: Bump for snapshot.
1729
4f242db3
JL
1730Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
1731
1732 * fold-const.c (fold_convert): Fix typo.
1733
de12be17
JC
1734Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
1735
1736 * alias.c (alias_invariant): New variable.
1737 (record_base_value): New argument INVARIANT.
1738 (memrefs_conflict_p): If a register has an entry in the alias_invariant
1739 array, try substituting that value for the register.
1740
1741 * rtl.h: Declare record_base_value.
1742
1743 * loop.c, unroll.c: Update callers of record_base_value.
1744
1745 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
1746 ZERO_EXTEND do not affect base values.
1747
fe81dd69
JL
1748Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
1749
fb2c5c00
JL
1750 * dbxout.c (dbxout_type): Fix typo.
1751 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
1752
fe81dd69
JL
1753 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
1754
87d1ea79
JC
1755Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
1756
1757 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
1758 if the argument is the address of a structure or array.
1759
1760 * configure.in: Enable Haifa scheduler by default for SPARC.
1761
e89d3e6f
R
1762Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1763
1764 * cse.c (cse_set_around_loop): Don't do optimization when
1765 new pseudos are created.
1766
442f4018
JL
1767Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
1768
1769 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
1770 appropriately.
1771 (dbxout_type_method_1, dbxout_type): Likewise.
1772 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
1773 (dbxout_type): Fix check for when to print a type range in
1774 octal vs decimal.
1775
7174c937
R
1776Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1777
1778 * (gen_shl_and, in case 1): Fix comparison with mask.
1779
0b812758
NC
1780Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
1781
1782 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
1783 pointer as second register in REG+REG pair.
1784
753a73c8
KG
1785Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1786
1787 * c-common.c (check_format_info): Don't check for the 'x' format
1788 character twice, instead check for 'x' and 'X'
1789
4a1991b3
MH
1790Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
1791
1792 * Makefile.in (libgcc2.ready): Add explicit dependancy from
1793 $(STMP_FIXPROTO) to ensure all necessary include files have
1794 been created and to guarantee proper parallel builds.
1795
aec373f1
R
1796Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1797
1798 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
1799 register for stdarg functions.
1800 * sh.h (current_function_varargs): Declare.
1801 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
1802
f5880dbe
JW
18031998-04-23 Jim Wilson <wilson@cygnus.com>
1804
f1f53f0b
JW
1805 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
1806 inhibit_libc is defined.
1807
f5880dbe
JW
1808 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
1809
8ade1519
JW
1810Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
1811
1812 * profile.c (tablejump_entry_p): New function.
1813 (branch_prob): Add code to recognize MIPS tablejump entry branch.
1814 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
1815
a2538ff7
NC
1816Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
1817
1818 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
1819 found, rather than at end of the loop, after the insn has been
b57062ca 1820 changed.
a2538ff7 1821
d0c42859
R
1822Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1823
1824 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
1825 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
1826
693e265f
MM
1827Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
1828
1829 * loop.c (note_addr_stored): Correct function to take 2 arguments,
1830 instead of 1.
1831
1832 * rtl.def (MATCH_INSN2): Add new matching pattern.
b57062ca 1833 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
693e265f 1834
27eef9ce
JC
1835Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
1836
1837 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
1838 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
b57062ca 1839
27eef9ce
JC
1840 * final.c (split_double): Sign extend both halves of a split CONST_INT.
1841
d972dd33
JL
1842Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
1843
1844 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
1845
5e5199e8
AM
1846Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1847
1848 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
1849 (cplus_demangle_opname): Call mop_up_squangle.
b57062ca 1850 (cplus_demangle): Initialize squangle info, then call
5e5199e8 1851 internal_cplus_demangle. (Most code moved there as well)
b57062ca 1852 (internal_cplus_demangle): New function, performs most of what use
5e5199e8
AM
1853 to be done in cplus_demangle, but is only called with this file.
1854 (squangle_mop_up): New function to clean up B and K code data.
1855 (mop_up): set pointers to NULL after freeing.
b57062ca 1856 (demangle_signature, demangle_template, demangle_class): Add
5e5199e8
AM
1857 switch elements to handle K and B codes.
1858 (demangle_prefix, gnu_special, demangle_qualified): Add
1859 code to handle K and B codes.
1860 (do_type, demangle_fund_type): Handle B and K codes.
1861 (remember_Ktype): New function to store K info.
1862 (register_Btype, remember_Btype): New functions for B codes.
1863 (forget_B_and_K_types): New function to destroy B and K info.
1864
0dacbd0e
JW
18651998-04-21 Jim Wilson <wilson@cygnus.com>
1866
1867 * stmt.c (check_seenlabel): When search for line number note for
1868 warning, handle case where there is no such note.
1869
4ceb7595
JC
1870Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
1871
1872 * genemit.c (gen_exp): Allow machine description to set mode of
1873 MATCH_OP_DUP.
1874
d09c9385
JC
1875Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
1876
1877 * alias.c (mode_alias_check): New function.
1878 (true_dependence, anti_dependence, output_dependence): Call
1879 mode_alias_check.
1880
1eeed24e
JL
1881Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
1882
d1c17572
JL
1883 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
1884 (MIPS_STACK_ALIGN): Similarly.
1885
a6d7e156
JL
1886 * c-common.c (type_for_mode): Handle TI types.
1887 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
1888 (init_decl_processing): Handle TI types.
1889 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
1890
1eeed24e
JL
1891 * mips.c (block_move_loop): Test Pmode == DImode instead of
1892 TARGET_MIPS64.
1893 (expand_block_move, save_restore_insns): Likewise.
1894 (function_prologue, mips_expand_prologue): Likewise.
1895 (mips_expand_epilogue): Likewise.
1896 * mips.h (POINTER_SIZE): Allow specific targets to override.
1897 (Pmode): Allow specific targets to override.
1898 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
1899 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
1900 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
1901 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
1902 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
1903 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
1904 * mips.md (indirect, tablejump & casesi support): Test for
1905 Pmode == DImode instead of TARGET_MIPS64.
1906 (call patterns): Likewise.
1907
d2f5ef70
KG
1908Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1909
1910 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
1911 for gen_rtx(MEM, ...).
1912
cb85a2f3
RH
1913Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
1914
1915 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
1916 to not be so gross, and to properly function with PIC.
1917
bb27e6c9
JW
1918Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
1919
99b13ed3
JW
1920 * frame.c (heapsort): Rename to frame_heapsort.
1921
bb27e6c9
JW
1922 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
1923
a9a05945
DE
1924Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
1925
1926 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
1927
dc0f0eb8
JW
1928Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
1929
1930 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
1931 operands during and after reload.
1932
95707627
R
1933Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1934
ba70e85a
JR
1935 * final.c (shorten_branches, init_insn_lengths): Move code
1936 to free label_align, uid_shuid, insn_lengths, insn_addresses
1937 and uid_align from the former function into the latter one;
1938 Add code to clear these variables.
1939 * sh.h (label_align): Remove declaration.
95707627 1940
0cd355fe
MM
1941Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
1942
763d7ce8
MM
1943 * gcc.c (lang_specific_driver): Declare prototype properly so
1944 fatal can be passed to it without error.
1945
f55b1ca8
MM
1946 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
1947 * configure: Regenerate.
1948 * config.in: Add #undef's for strchr and strrchr.
1949
1950 * protoize.c (toplevel): If we have rindex, but not strrchr, map
1951 rindex to strrchr.
1952 (file_could_be_converted): Use strrchr, not rindex since rindex is
1953 not defined on Linux systems when _POSIX_SOURCE is defined.
1954 (file_normally_convertible): Ditto.
1955 (process_aux_info_file): Ditto.
1956 (main): Ditto.
1957
0cd355fe
MM
1958 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
1959 a constant to an integer register, don't split the insns that do
1960 the simple AND and OR operations, rather just split each word, and
1961 let the normal movsi define split handle it further.
1962
a0798779
R
1963Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1964
1965 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
1966 (split_branches): Call init_insn_lengths.
1967
ced8dd8c
MM
1968Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
1969
1970 * i386.c: Include expr.h to get the change_address prototype
1971 declared.
b57062ca 1972
f37eb5cb
L
1973Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
1974
1975 * reg-stack.c (subst_asm_stack_regs): Change to return the last
1976 new insn generated by this function.
1977 (subst_stack_regs): Likewise.
1978 (convert_regs): Record the last newly generated insn and use
1979 it for change_stack () instead of INSN.
1980
49fb8382
MH
1981Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
1982
1983 * fix-header.c (enum special_file): Undefine enumerators if they
1984 are already defined by include files.
1985 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
1986 macro with '__' to not pollute user namespace.
1987
c6a754f2
RH
1988Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
1989
1990 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
1991
399cc148
JL
1992Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
1993
1994 * version.c: Bump for snapshot.
1995
84b77fba
JW
1996Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
1997
07415a17
JL
1998 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
1999
84b77fba
JW
2000 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
2001 Add missing -Dpentium* options.
2002 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
2003 instead of CPP_CPU_DEFAULT.
2004 (EXTRA_SPECS): Add entry for cpp_cpu_default.
2005
db72d7a1
DE
2006Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
2007
2008 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
2009 negative in a stackless frame.
2010 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
2011 in stackless frame size. Support 64-bit stackless frame size.
2012 Combine fpmem offset calculations and don't add total_size to
2013 offset if not pushing a stack frame.
2014
a1ecb5ca
JW
2015Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
2016
2017 * regmove.c (fixup_match_1): In three places, in flag_exceptions
2018 check, change p to q.
2019
a2a05b0a
JW
2020Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
2021
2022 * gcc.c (lang_specific_driver): Add new parm type to prototype.
2023 (added_libraries): New file scope static variable.
2024 (process_command): Initialize added_libraries. Pass it to
2025 lang_specific_driver.
2026 (main): Use added_libraries in check for no input files.
b57062ca 2027
284d86e9
JC
2028Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
2029
2030 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
2031 code generation. Use 64 bit instructions in 32 bit mode when
2032 possible. Use V9 return instruction. UltraSPARC optimizations.
2033
2034 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
2035
43be8193
JL
2036Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
2037
ea8693a4
JL
2038 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
2039 just pass zero. That will work regardless of the size of HARD_REG_SET.
2040
43be8193
JL
2041 * libgcc2.c (__floatdisf): Fix a couple typos.
2042
45df6aea
JW
2043Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
2044
2045 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
2046
6cca74ab
GM
2047Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
2048
2049 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
2050
77e6b0eb
JC
2051Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
2052
2053 * emit-rtl.c (operand_subword_force): If a register can not be
2054 accessed by words, copy it to a pseudo register.
2055
27f4cfdb
JW
2056Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
2057
2058 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
2059
f4a73984
MM
2060Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
2061
2062 * tree.h (mark_seen_cases): Delete declaration.
2063
00769100
JL
2064Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
2065
2066 * stmt.c (mark_seen_cases): Make static and add prototype.
2067
2467749d
KG
2068Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2069
2070 * frame.c: Include stdlib.h and unistd.h to possibly get various
2071 function prototypes. The fixproto script guarantees these header
2072 files exist on the target system.
2073 * libgcc2.c: Likewise.
b57062ca 2074
2467749d
KG
2075 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
2076 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
2077 function parameters.
2078 * libgcc2.c (__udiv_w_sdiv): Likewise.
2079
74c5186c
JL
2080Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
2081
ac546323
JL
2082 * varasm.c (asm_output_bss): Add prototype.
2083 (asm_output_aligned_bss): Likewise.
2084
2085 * unroll.c (verify_addresses): Add prototype.
2086
2087 * toplev.c: Add many prototypes. Too many to mention here.
2088
2089 * stmt.c (check_seenlabel): Add prototype.
2090
2091 * rtlanal.c (reg_set_p_1): Add prototype.
2092 (reg_set_last_1): Likewise.
2093
2094 * reorg.c (find_dead_or_set_registers): Add prototype.
b57062ca 2095
ac546323
JL
2096 * regmove (try_auto_increment): Add prototype.
2097
2098 * reg-stack.c (pop_stack): Add prototype.
2099
2100 * recog.c (validate_replace_rtx_1): Add prototype.
2101 (find_cosntant_term_loc): Likewise.
2102
a777ae13
JL
2103 * loop.c (regs_patch_p): Add prototype.
2104 (add_label_notes, count_nonfixed_reads): Likewise.
2105 (find_single_use_in_loop): Likewise.
2106 (express_from): Surround prototype with #ifdef.
2107 (giv_sort): Similarly.
2108
2109 * jump.c (mark_modified_reg): Add prototype.
2110
2111 * haifa-sched.c (is_prisky): Add prototype.
2112 (queue_to_ready): Likewise.
2113
2114 * genextract.c (gen_insn): Add prototype.
2115
2116 * genemit.c (max_operand_1): Add prototype.
2117 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
2118 (gen_expand, gen_explit, output_add_clobbers): Likewise.
2119 (output_init_mov_optab): Likewise.
2120
2121 * genattrtab.c (attr_hash_add_rtx): Add prototype.
2122 (attr_hash_add_string, write_length_unit_log): Likewise.
2123
2124 * genattr.c (init_range): Add prototype.
2125
2126 * combine.c (sets_function_arg_p): Add prototype.
2127
2128 * expr.c (store_constructor_field): Add prototype.
2129 (get_memory_usage_from_modifier): Likewise
2130
2131 * expmed.c (synth_mult): Add prototype.
2132 (choose_multiplier, invert_mod2n): Likewise.
2133
242c13b0
JL
2134 * except.c (push_eh_entry): Add prototype.
2135 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
2136 (call_get_eh_context, start_dynamic_cleanup): Likewise.
2137 (start_dynamic_handler, can_throw): Likewise.
2138 (output_exception_table_entry, scan_region): Likewise.
2139 (eh_regs, set_insn_eh_region): Likewise.
2140
1ad4f46b
JL
2141 * dwarfout.c (decl_class_context): Add prototype.
2142 (output_inheritance_die, type_ok_for_scope): Likewise.
2143
e822c593
JL
2144 * c-lex.c (skip_white_space_on_line): Add prototype.
2145
70fec650
JL
2146 * alias.c (record_set): Add prototype.
2147 (find_base_term, base_alias_check): Likewise.
b57062ca 2148
1ac4f799
JL
2149 * function.c (assign_outer_stack_local): Make static and add prototype.
2150
a2e68776
JL
2151 * haifa-sched.c (build_control_flow): Accept raw data as inputs
2152 instead of computing it locally. Callers changed.
2153 (find_rgns): Several new arguments. Callers changed.
2154 Generally clean up and comment better. Use dominators to
2155 identify reducible loops. Convert some flag arrays to bitmaps.
2156 Convert most of the code to work on pred/succ lists instead of
2157 an edge table. Add comments for future improvements.
2158 (schedule_insns): Allocate temporary tables for flow data, call
2159 routines to compute flow data and pass it along to children as
2160 arguments.
2161 (debug_control_flow): Delete. Use dump_bb_data instead.
2162
97b1ef1c
JL
2163 * basic-block.h (compute_dominators): Declare.
2164
74c5186c
JL
2165 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
2166 functions.
2167 * basic-block.h: Declare them.
2168
7ce55772
JW
2169Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
2170
2171 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
2172 no operands.
2173
e88caebd
APB
2174Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
2175
2176 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
2177 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
2178 node is non NULL. Cache last file name and file name identifier node.
2179
a62e870c
MM
21801998-04-15 Mark Mitchell <mmitchell@usa.net>
2181
2182 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
2183 the length of an array, not TREE_TYPE.
2184
5e89e58b
JL
2185Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
2186
2187 * flow.c (sbitmap_union_of_successors): New function.
2188 * basic-block.h (sbitmap_union_of_successors): Declare it.
2189
df6faf79
JW
2190Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
2191
2192 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
2193 Set gnu_ld to gnu_ld_flag inside main loop.
2194 (gas): Likewise.
2195
5c60e5c0
DB
2196Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
2197
2198 * toplev.c (compile_file): Call init_parse using new interface.
2199 (init_lex): Remove declaration.
2200
2201 * c-lex.c (init_parse): Now returns char* containing filename.
2202
2872409d
JL
2203Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
2204
2205 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
2206
4db83042
MM
2207Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
2208
2209 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
2210 (gen{extract,peep,opinit,output}): Ditto.
2211
2212 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
2213 global definition so print-rtl.o can be linked in.
2214 * gen{peep,recog}.c (insn_attr_name): Ditto.
2215
9aeba741
RP
2216Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
2217
2218 * fixincludes: discard empty C++ comments, as found in sys/time.h
2219 on hpux-11.0.
2220
7878eae7
AS
2221Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2222
2223 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
2224 operand.
2225
fcb7cb6c
JL
2226Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
2227
2228 * emit-rtl.c (operand_subword): Rework slightly to avoid
2229 bogus warning from previous change.
2230
47747e53
RH
2231Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
2232
2233 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
2234 Nov 8 find_replacement change. Move decls of get_unaligned_address
2235 * alpha.h: ... here.
2236
8450a694
JC
2237Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
2238
7940255d
JC
2239 * function.c (assign_parms): Initialize unsignedp before passing
2240 its pointer to promote_mode.
2241
8450a694
JC
2242 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
2243 (write_test_expr): Allow MATCH_INSN.
2244
c70afde1
PE
2245Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
2246
2247 * install.texi: Update section on warnings that can be safely ignored.
2248
cf877a42
JW
2249Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
2250
2251 * mips.md (reload_outdi): Change the scratch mode from DImode to
2252 TImode. New variable scratch, used instead of operand[2] in template.
2253 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
2254
996d9dac
MM
2255Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
2256
2257 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
2258
de2d990f
KW
2259Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
2260
2261 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
2262
d5daf098
JL
2263Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
2264
6862dfac
JL
2265 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
2266 (ASM_FINISH_DECLARE_OBJECT): Likewise.
2267
b7cb92ad
JL
2268 * Idea and part of the patch from HJ.
2269 * Makefile.in: auto-host.h renamed from auto-config.h. All references
2270 changed.
2271 (distclean): Remove auto-build.h too.
2272 * configure.in: Rename host autoconf generated file to auto-host.h.
2273 If host != build, then run autoconf to generate auto-build.h for
2274 the build machine and include it in build_xm_files.
2275 Check for wait.h and sys/wait.h.
2276
d5daf098
JL
2277 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
2278 TRULY_NOOP_TRUNCATION.
2279
7d02bbef
JM
2280Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
2281
2282 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
2283
4754172c
CM
2284Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
2285
2286 * invoke.texi (ld options) Include memset requirements
2287 for options -nodstdlib and -nodefaultlibs.
2288
bb72a084
PE
22891998-04-12 Paul Eggert <eggert@twinsun.com>
2290
2291 This change is from an idea suggested by Arthur David Olson.
2292
2293 * c-common.c (decl_attributes, record_function_format,
2294 check_format_info, init_function_format_info):
2295 Add support for strftime format checking.
2296 (enum format_type): New type.
2297 (record_function_format): Now static, and takes value of type
2298 enum format_type instead of int.
2299 (time_char_table): New constant.
2300 (struct function_format_info): format_type member renamed from is_scan.
2301 (check_format_info): Use `warning' rather than sprintf followed by
2302 `warning', to avoid mishandling `%' in warnings.
2303 Change `pedwarn' to `warning', since these warnings do not necessarily
2304 mean the program does not conform to the C Standard, as the code
2305 need not be executed.
2306
2307 * c-tree.h (record_function_format): Remove decl; no longer extern.
2308
2309 * extend.texi: Add documentation for strftime format checking.
2310
1be12a4a
JL
2311Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
2312
71922625
JL
2313 * mips/ecoffl.h: Do not include mips.h.
2314 * mips/elf.h: Likewise.
2315
1be12a4a
JL
2316 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
2317 * mips/ecoff.h: Include "mips/mips.h".
2318
9fe69077
JL
2319Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
2320
2321 * version.c: Bump for snapshot.
2322
c6a26dc4
JL
2323Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
2324
2325 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
2326 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
2327 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
2328 between loop optimization passes.
2329 * rtl.h: Updated appropriately.
2330
bbb81923
JL
2331Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
2332
2333 Reinstall this patch from Jason.
2334 * function.c (push_function_context_to): Don't call init_emit.
2335
29cb1e1f
NC
2336Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
2337
2338 * rtl.c (read_skip_spaces): Prevent infinite loops upon
2339 encountering unterminated comments.
2340
3f518020
JL
2341Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
2342
2343 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
2344 64x32 cross builds.
4b104d6e
JL
2345
2346 * configure.in: Handle --with-fast-fixincludes.
2347 (fixincludes): If --with-fast-fixincludes, then use a different
2348 fixincludes program by default.
2349 * Makefile.in (fixinc.sh): New rule.
2350
b76c90cf
L
2351Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
2352
2353 * i386.md (movqi+1): Handle invalid QI register.
2354 (movsf_push-1): Likewise.
2355
2e076ddf
NC
2356Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
2357
2358 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
2359 addresses.
2360 symbolic_memort_operand(), call32_operand(), int8_operand(),
2361 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
2362 Not used.
2363 uint16_operand(): Made static.
2364
b1d6ccb8
JL
2365Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
2366
2367 * calls.c (expand_call): Fix typo.
2368
e56e519d
DB
2369Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
2370
2371 * c-lex.c (finput): New global.
2372 (init_parse): Always included. Handle !USE_CPPLIB using
2373 code originally in compile_file.
2374 (finish_parse): Update for CPPLIB.
2375 * toplev.c (init_parse, finish_parse): Declare.
2376 (finput): Delete variable. Now in front-ends.
2377 (compile_file): Remove code which is now handled by init_parse
2378 which is unconditionally called. Similarly for finish_parse.
2379
85d7aed9
GK
2380Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
2381
2382 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
2383 ASM_WEAKEN_LABEL): Add.
2384
574badbc
RH
2385Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
2386
2387 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
2388 * configure.in (alpha-*-linux*): Use them.
2389
bf1e5319 2390Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
b57062ca 2391
bf1e5319
APB
2392 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
2393 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
2394 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
2395 (build_expr_wfl): New prototype declaration.
2396 * tree.c (build_expr_wfl): New function, to build
2397 EXPR_WITH_FILE_LOCATION nodes.
2398 (copy_node): Don't zero TREE_CHAIN if copying a
2399 EXPR_WITH_FILE_LOCATION node.
2400 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
2401 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
2402
ee5254ff
JL
2403Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
2404
62db76ee
JL
2405 * configure.in (v850): Use t-v850.
2406 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
2407
10a998b0
JL
2408 * protoize.c (creat, read, write): Do not declare.
2409
e105f02c
JL
2410 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
2411 refer to the CODE_LABEL before a dispatch table.
2412
56b2d7a7
JL
2413 * invoke.texi: Add ARC options.
2414
c74c0cff
JL
2415 * gcc.c (proces_command): Improve error message for -o with
2416 either -c or -S.
2417
2d58da15
JL
2418 * i386/x-cygwin32 (CLIB): Link in advapi32.
2419
40ef2fc5
JL
2420 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
2421 (ASM_IDENTIFY_LANGUAGE): Likewise.
2422
df89b5e7
JL
2423 * i386.md (movqi recognizer): Don't perfom byte increment into
2424 a NON_QI_REG_P.
2425
f09ff199
JL
2426 * configure.in (x86-dg-dgux): Run fixinc.dgux.
2427
df89b5e7 2428 * i370.h: Fix typo in GEN_INT changes.
f962b99f 2429
c3709629
JL
2430 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
2431 of an empty arglist in prototype.
2432
ee5254ff
JL
2433 * Makefile.in: Remove bytecode crud that crept back in after the
2434 gcc2 merge.
2435
0806342b
BK
24361998-04-08 Brendan Kehoe <brendan@cygnus.com>
2437
2438 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
2439 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
2440
6f734908
RE
2441Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
2442
2443 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2444
56c0e996
BS
2445Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
2446
2447 * c-lex.c (is_class_name): Delete declaration.
2448 (whitespace_cr): Make static and add prototype.
2449 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
2450 yylex, get_directive_line): Turn declarations into prototypes.
2451 (position_after_whitespace, check_newline, yyerror,, is_class_name,
2452 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
2453 prototypes.
2454 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
2455 prototypes.
2456 * gencodes.c (gen_insn): Add prototype.
2457 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
2458 gen_peephole): Add prototypes.
2459 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
2460 prototypes.
2461 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
2462 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
2463 genheader, gencode): Add prototypes.
2464 * genopinit.c (gen_insn): Add prototype.
2465 * genoutput.c (output_prologue, output_epilogue, scan_operands,
2466 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
2467 gen_expand, gen_split, n_occurrences): Add prototypes.
2468 * genpeep.c (gen_peephole): Add prototype.
2469 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
2470 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
2471 labels_in_range_p, count_loop_regs_set, note_addr_stored,
2472 loop_reg_used_before_p, scan_loop, replace_call_address,
2473 skip_consec_insns, libcall_benefit, ignore_some_movables,
2474 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
2475 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
2476 check_final_value, record_giv, update_giv_derive, basic_induction_var,
2477 simplify_giv_expr, general_induction_var, consec_sets_giv,
2478 check_dbra_loop, express_from, combine_givs_p, combine_givs,
2479 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
2480 last_use_this_basic_block, record_initial, update_reg_last_use,
2481 iteration_info, analyze_loop_iterations, insert_bct,
2482 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
2483 into prototypes.
2484
cc46ae8e
JL
2485Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
2486
2487 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2488
e7d075bf
KR
24891998-04-07 Ken Raeburn <raeburn@cygnus.com>
2490
2491 * config/mips/mips.c (siginfo): Deleted.
2492 (override_options): Don't install SIGINFO signal handler.
2493
668d07be
JW
2494Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
2495
2496 * loop.c (check_dbra_loop): When normalize comparison_val, add check
2497 to verify it is non-negative.
2498
cd36edbd
RH
2499Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
2500
2501 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
2502 (alpha_expand_block_clear): Likewise.
2503
e814ca97
RH
2504Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
2505
2506 * tree.h (sizetype_tab): Fix previous change for K&R.
2507
f1d9e6d2
JL
2508Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
2509
2510 * version.c: Bump for snapshot.
2511
22ec3928
RE
2512Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
2513
2514 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
2515 Add USG and POSIX to xm_defines.
2516
10da1131
BM
2517Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
2518
2519 * gcc.c: Add linker spec.
2520 (link_command_spec): Use %(linker) instead of ld.
2521 (main): If collect2 is requested as the linker, see if it exists;
2522 if not, use ld instead.
2523
2524 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
2525 (ld:) Deleted.
2526 (install-collect2): Install as collect2, not ld.
2527
2528 * configure.in(will_use_collect2): It's named collect2 now.
2529
2530 * collect2: Remove checks to see if we were invoked recursively.
2531 (collect_execute): Use _spawnvp under cygwin32.
2532
a8afd67b
JW
2533Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
2534
2535 * haifa-sched.c (build_control_flow): Set unreachable for block whose
2536 only predecessor is itself.
2537
944fc8ab
KG
2538Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2539
2540 * c-parse.in: Include system.h, and remove stuff now made redundant.
2541 * cccp.c: Likewise.
2542 * cexp.y: Likewise.
2543 * protoize.c: Likewise. Properly check for cpp stringification.
2544
2545 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
b57062ca 2546 Depend on system.h.
944fc8ab
KG
2547
2548 * objc/Make-lang.in (objc-parse.o): Likewise.
2549
3286ab57
KG
2550Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2551
2552 * gansidecl.h: Check if compiler supports __attribute__. Provide
2553 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
2554 __attribute__ when its available. Also provide definitions for
2555 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
2556 terms of ATTRIBUTE_PRINTF.
b57062ca 2557
3286ab57
KG
2558 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
2559 of __attribute__.
2560
d276f2bb
CM
2561Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
2562
2563 * combine.c (can_combine_p): Include successor in volatile test.
2564
64ad9df2
R
2565Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2566
2567 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
2568 offset_unsigned.
2569
dc544d2c
JL
2570Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
2571
2572 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
2573 in prototype and definition.
b57062ca 2574
38c413cd
JL
2575Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
2576
2577 * version.c: Bump for snapshot.
2578
59dd0a31
RH
2579Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
2580
b57062ca 2581 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
59dd0a31
RH
2582 alpha_expand_unaligned_store_words.
2583
f31fce3f
JW
2584Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
2585
2586 * i386.md (movsf_push, movsf_mem): Remove.
2587 (movsf_push): Rename from movsf_push_nomove and move in front of
2588 movsf. Use nonmemory_operand predicate and don't bother checking
2589 TARGET_MOVE.
2590 (movsf_push_memory): New pattern.
2591 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
2592 both operands refer to memory then force operand[1] into a register.
2593 (movsf_normal): Change to unnamed pattern.
2594 Likewise for movdf, movxf, and friends.
2595
27ebc03e
JL
2596Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
2597
2598 * version.c: Bump for snapshot.
2599
6ecd4e53 2600Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
98bd9f0f 2601
6ecd4e53 2602 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
98bd9f0f 2603
b57062ca 2604Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
ac08ebd0 2605
6ecd4e53 2606 * configure.in (mips-wrs-vxworks): New target.
ac08ebd0 2607
6ecd4e53 2608Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
f4a788ac 2609
f3978531
JL
2610 * expmed.c (synth_mult): The value -1, has no zeros, so it can
2611 never have the form ...011.
2612
f4a788ac
JL
2613 * version.c: Bump for snapshot.
2614
5cb6195d
RH
2615Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
2616
2617 * i386.c (asm_output_function_prefix, load_pic_register):
2618 Use ASM_GENERATE_INTERNAL_LABEL properly.
2619 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
2620 (print_operand): Ignore it.
2621 (load_pic_register): Use it for the got load call.
2622 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
2623 (prologue_get_pc_and_set_got): Likewise.
2624 * i386.h: Update print_operand docs.
2625
ce193852
RH
2626Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
2627
2628 * i386.md (ffssi, ffshi): Rewrite as define_expands.
2629 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
2630 * i386.c (notice_update_cc): Recognize unspec 5.
2631
0022a940
DMT
2632Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
2633
2634 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
2635 * alpha.c (print_operand): Handle it.
2636 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
2637 for ALPHA_TP_INSN.
2638 (fix_truncdfdi2): Likewise.
2639
896cced4
RH
2640Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
2641
2642 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
2643 of these into a single struct, with additional [us]sizetype entries.
2644 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
2645 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
2646 an array.
2647
8983c716
RH
2648Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
2649
2650 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
2651
4ed43ff8
RH
2652Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
2653
2654 * haifa-sched.c (split_block_insns): Don't supress insn splitting
2655 on subsequent passes.
2656
2657 * alpha.c (hard_fp_register_operand): New function.
2658 * alpha.h (PREDICATE_CODES): Add it.
2659 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
2660 f<-m case and accompanying define_split.
2661 (trapb): Use a unique unspec_volatile number.
2662
8e7bc3cd
RH
2663Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
2664
2665 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
2666 from gcc2 merge.
2667
e5e809f4
JL
2668Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
2669
2670 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
2671 for details.
2672
2673 * haifa-sched.c: Mirror recent changes from gcc2.
2674
516c2342
JL
2675Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
2676
e9eaed43
JL
2677 * Makefile.in (insn*.o): Depend on system.h.
2678
516c2342
JL
2679 * pa.c (output_global_address): Initialize base.
2680 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
2681
7cc34889
MS
26821998-04-03 Mike Stump <mrs@wrs.com>
2683
2684 * gthr.h: Support systems that don't have weak, but have threads.
2685 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
2686 * gthr-vxworks.h: New file.
2687 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
2688
52c18286
JW
2689Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
2690
2691 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
2692
c1ac292d
VM
26931998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
2694
2695 * ginclude/va-i960.h (va_end): Change void * to void.
2696
4cb1caaf
KG
2697Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2698
2699 * Makefile.in (choose-temp.o): Depend on system.h.
2700
2701 * choose-temp.c: Include system.h when IN_GCC.
2702
a9a2595b
JR
2703Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
2704 Richard Henderson <rth@cygnus.com>
2705
2706 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
2707 (move_replacements): New function.
2708 * reload.h: Prototype it.
b57062ca 2709
a9a2595b 2710 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
b57062ca 2711
79363e2f
RH
2712Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
2713
2714 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
2715 Run fixincludes.
2716
4901a643
RH
2717 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
2718 (gen_highpart): Likewise.
ce4d78eb
RH
2719 * final.c (alter_subreg): Allow the target to hook by-mode subreg
2720 hard register number changes.
b57062ca 2721
715f9c99
JL
2722Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
2723
4e86caed
JL
2724 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
2725 rnbitsize, rnmode and rinner.
2726 (make_range): Initialize type.
2727 (fold): Initialize arg0, arg1 and varop.
2728
2729 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
2730 and regnor.
2731 (expand_function_start): Initialize last_ptr.
2732
2733 * stor-layout.c (layout_record): Initialize desired_align.
2734 (get_best_mode): Initialize unit.
2735
2736 * tree.c (copy_node): Initialize length.
2737
aefdd5ab
JL
2738 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
2739
2740 * caller-save.c (insert_save_restore): Initialize pat, code and
2741 numregs.
2742
2743 * emit-rtl.c (push_to_sequence): Initialize top.
2744 (push_topmost_sequence): Likewise.
2745
2746 * genattrtab.c (simplify_by_exploding): Initialize defval.
2747
2748 * profile.c (branch_prob): Initialize dest.
2749
2750 * rtl.h (note_stores): Remove duplicate prototype.
2751 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
2752
2753 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
2754 strings that are not actually lengths.
2755
729da3f5
JL
2756 * genattrtab.c: Make generated file use system.h, instead of
2757 including stdio.h, etc directly.
2758 * genextract.c, genopinit.c, genoutput.c: Likewise.
2759 * genpeep.c, genrecog.c: Likewise
2760
2761 * genoutput.c (process_template): Mark operands in the generated
2762 function as potentially unused if compiling with GNU CC.
2763
2a8034f8
JL
2764 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
2765
715f9c99
JL
2766 * pa.md (reload peepholes): Remove unused variable "mode".
2767
75d3a15b
NC
2768Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
2769
2770 * config/arm/thumb.h: Add super interworking support.
2771 * config/arm/thumb.c: Add super interworking support.
2772 * config/arm/thumb.md: Add super interworking support.
75d3a15b
NC
2773 * config/arm/lib1funcs.asm: Add interworking support.
2774 * config/arm/lib1thumb.asm: Add super interworking support.
75d3a15b
NC
2775 * config/arm/t-semi: Add interworking support.
2776 * config/arm/t-thumb: Add interworking support.
75d3a15b 2777 * config/arm/README-interworking: New file.
b57062ca 2778
63959c22
JW
2779Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
2780
2781 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
2782 (MD_STARTFILE_PREFIX): Unset.
2783
c651e1e0
MM
27841998-04-01 Mark Mitchell <mmitchell@usa.net>
2785
2786 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
2787 entity in a local scope.
2788
2789 * fold-const.c (fold): Call truthvalue_conversion for values which
2790 are folded to boolean type.
2791
3a598fbe
JL
2792Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
2793
2794 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
2795 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
2796 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
2797 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
2798 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
2799 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
2800 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
2801 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
2802 * md.texi: Likewise.
2803
b5026c50
MH
2804Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
2805
2806 * fixincludes (limits.h): Fix nested comments in Motorola's
2807 limits.h and sys/limits.h.
2808
c8d86b9a
JW
2809Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
2810
1a7cb241
JW
2811 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
2812 as dest of expand_binop call.
2813
221a9f65
JW
2814 * alpha.md (extzv): Correct check for valid operand[2] values.
2815
a7ebd547
JW
2816 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
2817 branch.
2818
c8d86b9a
JW
2819 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
2820
97be8f06
SC
2821Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
2822
2823 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
2824 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
b57062ca 2825
97be8f06
SC
2826 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
2827 cygwin32 can override this to allow both unix and win32 style PATHs.
2828
2829 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
2830 style environment paths.
b57062ca 2831
b04cd507
KG
2832Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2833
2834 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
2835 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
2836 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
2837 system.h.
b57062ca 2838
b04cd507
KG
2839 * cpphash.c: Include config.h.
2840 * cppalloc.c: Include system.h. Add parameters to various
2841 function prototypes.
2842 * cpperror.c: Likewise.
2843 * cppexp.c: Likewise.
2844 * cpphash.c: Likewise.
2845 * cpplib.c: Likewise.
2846 * cppmain.c: Likewise.
2847 * fix-header.c: Likewise.
2848 * gcov.c: Likewise.
2849 * gen-protos.c: Likewise.
2850 * gengenrtl.c: Likewise.
2851 * halfpic.c: Likewise.
2852 * hash.c: Likewise.
2853 * scan-decls.c: Likewise.
2854 * scan.c: Likewise.
2855
1aa5d112
JW
2856Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
2857
2858 * README.gnat: Add lang_print_xnode definition.
2859
e18db50d
AS
2860Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2861
2862 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
2863 fmovecr on the 68060.
2864
c0d45032
JL
2865Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
2866
2867 * genemit.c (DONE): Rework so that it works in the true arm if
2868 an if-else conditional.
2869 (FAIL): Likewise.
2870
31ed227b
JL
2871Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
2872
c3670418
JL
2873 * rs6000.c: Do not include stdioh or ctype.h anymore.
2874
234042f4
JL
2875 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
2876 $(RTL_H).
2877 (stor-layout.o): Likewise.
2878 * c-typeck.c: Include rtl.h and expr.h.
2879 * stor-layout.c: Likewise.
2880
72e19470
JL
2881 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
2882 All callers changed.
2883 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
2884 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
2885 All callers changed.
2886
40c3a857
JL
2887 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
2888
c80150b7
JL
2889 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
2890
31ed227b
JL
2891 * tree.h (lang_print_xnode): Provide prototype.
2892
fe776296
JL
2893Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
2894
2895 * version.c: Bump for snapshot.
2896
f1b03ce1
JL
2897Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
2898
3ac2735b
JL
2899 * objc/sendmsg.c (__objc_block_forward): Add braces for return
2900 value if INVISIBLE_STRUCT_RETURN.
2901
f2b147f7
JL
2902 * pa.c (arith_double_operand): Fix parens.
2903
c4fa3460
JL
2904 * haifa-sched.c (print_pattern): Correct arg to sprintf.
2905
f1b03ce1
JL
2906 * Makefile.in (libgcc1.null): Make return type for __foo void.
2907
2e61a5a5
JL
2908Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
2909
ba0b8436
JL
2910 * pa.h: Add declarations for many functions defined in pa.c.
2911
67ac5957
JL
2912 * genpeep.c (main): Remove unused variable 'i' from the generated
2913 file.
2914
c38d8c5b
JL
2915 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
2916 (gen_split): Likewise.
2917 (main): Rework generated definitions of DONE and FAIL so that they
2918 no longer use gotos. Avoids warnings about unused labels.
2919
d6e6c585
JL
2920 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
2921 unused "junk" variable.
2922
2e61a5a5
JL
2923 * genattrtab.c (write_complex_function): Add a default case in
2924 generated switch statement to keep -W -Wall quiet.
2925
0b26e56d
NC
2926Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
2927
157a620e
NC
2928 * invoke.texi: Document more ARM and Thumb command line options.
2929
0b26e56d
NC
2930 * config/arm/xm-thumb.h: New file.
2931
600a4ce7
CB
2932Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
2933
2934 * stmt.c (expand_expr_stmt): Must generate code for
2935 statements within an expression (gcc's `({ ... )}')
2936 even if -fsyntax-only.
2937
4d1d8045
BS
2938Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
2939 Jeffrey A Law (law@cygnus.com)
2940
2941 * basic-block.h (basic_block_computed_jump_target): Declare.
2942 * flags.h: (current_function_has_computed_jump): Declare.
2943 * flow.c: (basic_block_computed_jump_target): Define.
2944 (flow_analysis): Allocate it. Set current_function_has_computed_jump
2945 to 0.
2946 (find_basic_blocks): Set current_function_has_computed_jump and
2947 elements of basic_block_computed_jump_target to 1 as appropriate.
2948 * function.c: (current_function_has_computed_jump): Define.
2949 * global.c (global_conflicts): Don't allocate pseudos into stack regs
2950 at the start of a block that is reachable by a computed jump.
2951 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
2952 immediately.
2953 (subst_stack_regs): Undo change from Sep 4 1997.
2954 (uses_reg_or_mem): Now unused, deleted.
2955 * stupid.c (stupid_life_analysis): Compute
2956 current_function_has_computed_jump.
2957 (stupid_find_reg): Don't allocate stack regs if the function has a
2958 computed goto.
2959 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
2960 the current function has a computed jump. Use the global value
2961 instead.
2962
56f28b73
JL
2963Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
2964
2965 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
2966 (DWARF2_UNWIND_INFO): Define to zero.
2967
6ed4bb9a
MM
2968Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
2969
2970 * gcc.c (set_std_prefix): Add declaration.
2971 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
2972 suffix, and update the standard prefix prefix.c uses.
2973
2974 * prefix.c (std_prefix): New global to hold default prefix value.
2975 (get_key_value): Change to use std_prefix instead of PREFIX.
2976 (translate_name): Ditto.
2977 (update_path): Ditto.
2978 (get_key_value): Release allocated scratch storage.
2979 (set_std_prefix): New function to reset the standard prefix.
2980
1f3fa20e
R
2981Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2982
7daa142b 2983 * sh.c (find_barrier): Fix calculations for alignment increase.
1f3fa20e 2984
d8a0154e
MH
2985Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
2986
2987 * Makefile.in (stmp-fixinc): If we're actually fixing include
2988 files, copy gcc's assert.h into the fixed include dir.
2989 * fixincludes (assert.h): Avoid any attempts to fix a probably
2990 broken system specific assert.h file.
2991 * fixproto (stdlib.h): Make sure, it'll contain a definition of
2992 size_t.
2993
64d3b4ca
JL
2994Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
2995
2996 * regclass.c (reg_scan_mark_refs): Be more selective about
2997 when we mark a register with REGNO_POINTER_FLAG.
2998
e6e52be0
R
2999Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3000
3001 reload inheritance improvement:
3002 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
3003 Change meaning: index is now hard reg number.
3004 (reg_reloaded_valid, reg_reloaded_dead): New variables.
3005 (reload_spill_index): Content is now a hard reg number.
3006 (reload_as_needed): Change to fit new variable meaning.
3007 (forget_old_reloads_1, allocate_reload_reg): Likewise.
3008 (choose_reload_regs, emit_reload_insns): Likewise.
3009
812f2051
R
3010Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3011
3012 * regclass.c (record_reg_classes): '?' increases cost by two.
3013
3014 * reload.c (find_reloads): Double previous costs. Output
3015 reloads cost one unit extra.
3016
3017 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
3018 boiled down to && ! 0.
3019
3020 * reload.c (find_equiv_reg): Also consider a goal offset from the
3021 frame pointer to be constant.
3022
04d02ece
R
3023Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3024
3025 * sh.h (OPTIMIZATION_OPTIONS): Define.
3026
6f28d3e9
RH
3027Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
3028
3029 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
3030
b09fa787
JL
3031Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
3032
3033 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
3034
a16b4c9c
JW
3035Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
3036
3037 * c-common.c (check_format_info): Initialize type, is_type. New local
3038 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
3039 when pedantic if used with integral format specifier.
3040
c4d38ccb
MM
3041Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
3042
3043 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
3044 direction.
3045 (function_arg_padding): Declare.
3046
3047 * rs6000.c: Include system.h.
3048 (function_arg_padding): Change return type to int, cast enum's to
3049 int.
3050
3051 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
3052 * collect2.c (scan_prog_file): Add explicit braces to avoid
3053 ambiguous `else'.
b57062ca 3054
c4d38ccb
MM
3055 * dbxout.c (dbxout_type_fields): Add braces around empty body in
3056 an if-statement.
3057 (dbxout_type): Likewise.
b57062ca 3058
c4d38ccb
MM
3059 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
3060 `ptt_size' from int to size_t.
3061 (rs6000_file_start): Likewise for `i'.
3062 (rs6000_replace_regno): Add default case in enumeration switch.
3063 (output_epilog): Remove unused variable `i'.
3064 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
3065 and `reg2'.
b57062ca 3066
c4d38ccb
MM
3067 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
3068 initializer.
3069 (get_issue_rate, non_logical_cint_operand): Add prototype.
3070 (rs6000_output_load_toc_table): Ditto.
b57062ca 3071
c4d38ccb
MM
3072 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
3073 `else'.
b57062ca 3074
e98e406f
NC
3075Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
3076
3077 * config/arm/thumb.c: New File. Support for ARM's Thumb
b57062ca 3078 instruction set.
e98e406f
NC
3079 * config/arm/thumb.h: New File. Thumb definitions.
3080 * config/arm/thumb.md: New File. Thumb machine description.
3081 * config/arm/tcoff.h: New File. Thumb COFF support.
3082 * config/arm/t-thumb: New File. Thumb makefile fragment.
3083 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
3084
3085 * configure.in: Add Thumb-coff target.
3086 * configure: Add Thumb-coff target.
3087 * config.sub: Add Thumb-coff target.
3088
8cf619da
JW
3089Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
3090
3091 * loop.c (scan_loop): Initialize move_insn_first to zero.
3092
fe0714d3
JS
3093Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
3094
3095 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
3096 * config/i386/rtems.h: Likewise.
3097 * config/i960/rtems.h: Likewise.
3098 * config/m68k/rtems.h: Likewise.
3099 * config/mips/rtems64.h: Likewise.
3100 * config/pa/rtems.h: Likewise.
3101 * config/rs6000/rtems.h: Likewise.
3102 * config/sh/rtems.h: Likewise.
3103 * config/sparc/rtems.h: Likewise.
3104
428be702
RK
3105Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3106
3107 * pa.c (emit_move_sequence): If in reload, call find_replacement.
3108
ae8c5963
NC
3109Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
3110
2ea9a965
NC
3111 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
3112
ae8c5963
NC
3113 * collect2.c (find_a_file): Add debugging.
3114 (find_a_file): Test for win32 style absolute paths if
3115 DIR_SERPARATOR is defined.
3116 (prefix_from_string): Add debugging.
3117 (main): Test for debug command line switch at start of program
b57062ca 3118 execution.
ae8c5963 3119 (main): Use GET_ENVIRONMENT rather than getenv().
72cf6902
NC
3120 (prefix_from_env): Use GET_ENVIRONMENT.
3121
050367a3
MM
31221998-03-24 Mark Mitchell <mmitchell@usa.net>
3123
3124 * cplus-dem.c (optable): Add sizeof.
3125 (demangle_template_value_parm): New function containing code
3126 previously found in demangle_template.
b57062ca 3127 (demangle_integral_value): New function which handles complicated
050367a3
MM
3128 integral expressions.
3129 (demangle_template): Use them.
3130
0b93b64e
KG
3131Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3132
3133 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
3134 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
3135 genattrtab.o, genoutput.o): Depend on system.h.
b57062ca 3136
0b93b64e
KG
3137 * genattr.c: Include system.h. Add arguments to various function
3138 prototypes. Remove redundant prototype of read_rtx().
3139 * genattrtab.c: Likewise.
3140 * gencodes.c: Likewise.
3141 * genconfig.c: Likewise.
3142 * genemit.c: Likewise.
3143 * genextract.c: Likewise.
3144 * genflags.c: Likewise.
3145 * genopinit.c: Likewise.
3146 * genoutput.c: Likewise.
3147 * genpeep.c: Likewise.
3148 * genrecog.c: Likewise.
3149
bc289659
ML
31501998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
3151
3152 * c-lang.c (lang_print_xnode): New function.
3153 * objc/objc-act.c (lang_print_xnode): Likewise.
3154 * print-tree.c (print_node): Call it
3155
990ac8d7
L
3156Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
3157
3158 * c-parse.in: Recognize protocol qualifiers in class
3159 definitions for objc.
3160 Include "output.h".
3161 (yyerror): Remove redundant decl.
3162 (yyprint): Fix prototype.
3163
65d98182
JL
3164Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
3165
47a0b68f
JL
3166 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
3167
65d98182
JL
3168 * stmt.c (unroll_block_trees): Free block_vector if needed.
3169
3cac0a21
PDM
3170Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
3171
4b8bef1d
PDM
3172 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
3173 (zero_extendsidi2): Avoid useless copy.
3174 (iordi_zext): New pattern.
3175 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
3176 operand 2.
3177 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
3178
3cac0a21
PDM
3179 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
3180 (ashldi3): Allow constant shift count in range ]32,63].
3181 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
3182
4da05956
MM
31831998-03-22 Mark Mitchell <mmitchell@usa.net>
3184
3185 * tree.h (IS_EXPR_CODE_CLASS): New macro.
3186
545f2aab
JL
3187Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
3188
3189 * h8300.h (CONST_COSTS): Remove definition.
3190 (DEFAULT_RTX_COSTS): Define.
3191
eef15f9f
JS
3192Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
3193
3194 * config/sh/rtems.h: Switched from ELF to COFF.
3195
4bca6986
R
3196Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3197
3198 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
3199
8ca77a11
JL
3200Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
3201
3202 * version.c: Bump for snapshot.
3203
e09e14e9
NC
3204Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
3205 Geoff Noer <noer@cygnus.com>
3206
3207 * Makefile.in: Various fixes for building cygwin32 native toolchains.
3208
35d541d4
NC
3209 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
3210 * objc/Make-lang.in: Likewise.
3211
4a0cf2aa
NC
3212 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
3213
535b86ce
G
3214Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
3215
3216 * configure.in: Handle with-PACKAGE=no correctly
3217
670ee920
KG
3218Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3219
3220 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
3221 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
3222 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
3223 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
3224 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
3225 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
3226 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
3227 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
3228 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
3229 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
3230 on system.h.
3231
3232 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
3233 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
3234 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
3235 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
3236 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
3237 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
3238 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
3239 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
3240 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
3241 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
3242 xcoffout.c: Include system.h. Organize include ordering so
3243 that stdarg/varargs comes before other system headers. Remove
3244 spurious casts of functions assured of a prototype in system.h.
3245
7aa74e4c
SC
3246Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
3247
3248 * reg-stack.c (pop_stack): Define. Pops any register on the
3249 regstack and adjusts regstack.
3250 (compare_for_stack_reg): Use pop_stack.
b57062ca 3251
d005a5a4
JL
3252Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
3253
3254 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
3255 config too.
3256
ba3ad5e0
PDM
3257Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
3258
09b4ce12
PDM
3259 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
3260
ba3ad5e0
PDM
3261 * fold-const.c (fold): Replace sign-extension of a zero extended
3262 value by a single zero extension.
3263
6e1f1f93
JM
3264Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
3265
3266 * except.c (init_eh): Do nothing.
3267 (save_eh_status): Call init_eh_for_function, not init_eh.
3268 * function.c (push_function_context_to): Don't call init_emit.
3269
838b0e4e
MM
3270Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
3271
3272 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
3273 and EABI.
3274
ecb06768
KG
3275Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3276
3277 * final.c (shorten_branches): Add parentheses around +/- in
3278 operand of &.
3279
3280 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
3281
dfba7a1b
MH
3282Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
3283
3284 * regclass.c (memory_move_secondary_cost): Wrap uses of
3285 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
3286 with #ifdef tests.
3287
4faca093
MH
3288Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
3289
3290 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
3291
3292 * flow.c (life_analysis): #include <sys/types.h> to make sure
3293 size_t is defined.
3294 * cplus-dem.c (demangle_function_name): Likewise.
3295
af7da199
MH
3296Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
3297
3298 * final.c (insn_noperands): Change type to unsigned int.
3299 (final_scan_insn): Likewise for noperands;
3300 properly check operand number boundaries.
3301
10a25232
RH
3302Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
3303
3304 * alpha.md (extzv): Don't reject register operands. Fix
3305 mode of operand 1.
3306
99d1a24c
RH
3307Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
3308
3309 * dbxout.c (dbxout_function_end): Fix last change. The correct
3310 predicate is ASM_OUTPUT_SECTION_NAME.
3311
5bac82c5
JW
3312Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
3313
3314 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
3315 (ashlsi): Use match_dup 1 instead of match_operand 2.
3316
52de9b6c
RK
3317Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3318
3319 * fold-const.c (operand_equal_for_comparison_p): See if equal
3320 when nop conversions are removed.
3321
7c00d1fe
RK
3322Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3323
3324 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
3325 don't use ORIGINAL_TARGET unless REG.
3326
343665b9
R
3327Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3328
3329 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
3330
1a61c29f
JW
3331Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
3332
3333 * loop.c (struct movable): New field move_insn_first.
3334 (scan_loop): In consec sets code, set it. Clear it otherwise.
3335 (move_movables): In consec sets code, use it. Copy REG_NOTES from
3336 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
3337 out code.
3338
cbe36725
RH
3339Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
3340
3341 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
3342 is large, and the system doesn't provide atoll or atoq.
b57062ca 3343 (atoll): New.
cbe36725
RH
3344
3345 * alpha/xm-vms.h (HAVE_ATOLL): Define.
3346 Reported by Klaus Kaempf <kkaempf@progis.de>.
b57062ca 3347
081f5e7e
KG
3348Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3349
3350 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
3351 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
3352
3353 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
b57062ca 3354 test !ACCUMULATE_OUTGOING_ARGS.
081f5e7e
KG
3355
3356 * collect2.c (write_c_file_glob): Wrap function definition in
3357 macro test !LD_INIT_SWITCH.
3358
3359 * combine.c (try_combine): Wrap variables `cc_use' and
3360 `compare_mode' in macro test EXTRA_CC_MODES.
3361
3362 * cpplib.c (do_ident): Remove unused variable `len'.
3363 (skip_if_group): Remove unused variables `at_beg_of_line' and
3364 `after_ident'.
3365 (cpp_get_token): Remove unused variable `dummy'.
3366
3367 * dbxout.c (scope_labelno): Move static variable definition inside
3368 the one function scope where it is used.
3369 (dbxout_function_end): Wrap prototype and definition in
3370 macro test !NO_DBX_FUNCTION_END.
3371
3372 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
3373 in macro test !MIPS_DEBUGGING_INFO.
3374
3375 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
3376 into the scope where it is used. Wrap empty else-statement body
3377 in braces.
3378
3379 * fix-header.c: Fix typo in comment.
3380 (inf_skip_spaces): Cast results of INF_UNGET to (void).
3381 (check_protection, main): Likewise.
3382
3383 * flow.c (find_basic_blocks_1): Remove dangling comment text.
3384
3385 * function.c (contains): Wrap prototype and definition in macro
3386 test HAVE_prologue || HAVE_epilogue.
3387 (fixup_var_refs_1): Remove unused variable `width'.
3388
3389 * gen-protos.c (main): Remove unused variable `optr'.
3390
3391 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
3392
3393 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
3394 (__sjpopnthrow): Remove unused variable `jmpbuf'.
3395 (__throw): Remove unused variable `val'.
3396
3397 * protoize.c: Check for a previously existing definition before
b57062ca 3398 defining *_OK macros.
081f5e7e
KG
3399
3400 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
3401
76ce4776
R
3402Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3403
3404 * vax.h (ADDR_VEC_ALIGN): Define.
3405
e29ef920
MM
3406Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
3407
3408 * gcc.c (default_arg): Don't wander off the end of allocated
3409 memory.
3410
dbf55e53
MM
3411 (From Geoffrey Keating <geoffk@ozemail.com.au>)
3412 * rs6000.c (small_data_operand): Ensure that any address
b57062ca 3413 referenced relative to the small data area is inside the SDA.
dbf55e53 3414
883482b2 3415Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
b57062ca 3416
883482b2
JW
3417 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
3418
9ad82ff8 3419Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
a0b61d14
AM
3420
3421 * except.h (in_same_eh_region): New prototype.
3422 (free_insn_eh_region, init_insn_eh_region): New prototypes.
3423 * except.c (insn_eh_region, maximum_uid): New static variables.
3424 (set_insn_eh_region): New static function to set region numbers.
3425 (free_insn_eh_region): New function to free EH region table.
3426 (init_insn_eh_region): New function to initialize EH region table.
3427 (in_same_eh_region): New function used to determine if two rtl
3428 instructions are in the same exception region or not.
3429 * final.c (final): Initialize the table indicating which instructions
3430 belong in which exception region.
3431 * genpeep.c (main): Add "except.h" to include file list in generated
b57062ca
UD
3432 file insn-peep.c.
3433 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
3434 peepholes involving calls and unconditional branches.
a0b61d14 3435
66bd0128
JW
3436Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
3437
3438 * README.gnat: New file.
3439
1d8eaa6b
AS
3440Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3441
3442 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
3443 "recog.h" for offsettable_memref_p.
3444 (legitimize_pic_address): Remove unused variable `offset'.
3445 (notice_update_cc): Change return type to void. Add default label
3446 to switch.
3447 (standard_68881_constant_p): Remove unused variable mode.
3448 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
3449 (const_int_cost): Explicitly declare as returning int.
3450 (output_dbcc_and_branch): Change return type to void.
3451
3452 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
3453 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
3454 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
3455
60ba47b4
JL
3456Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
3457
3458 * version.c: Bump for snapshot.
3459
68137318
AS
3460Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3461
3462 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
3463 check for 'M' constraint.
3464
7a50f126
JW
3465Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
3466
3467 * cccp.c (create_definition): If pedantic, call pedwarn for macro
3468 varargs feature.
3469
57dbca5e
BS
3470Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
3471
3472 * i386.c (ix86_logical_operator): New function.
3473 (split_di): Ensure that when a MEM is split, the resulting MEMs have
3474 SImode.
3475 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
3476 to implement them.
3477
8625fab5
KG
3478Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3479 Richard Earnshaw <rearnsha@arm.com>
3480 Nick Clifton <nickc@cygnus.com>
b57062ca 3481
8625fab5 3482 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
b57062ca 3483
8625fab5 3484 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
b57062ca 3485
8625fab5
KG
3486 * cse.c (rtx_cost): Provide a default case in an enumeration
3487 switch, and call DEFAULT_RTX_COSTS if it's defined.
b57062ca 3488
6ce22dac
MH
3489Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
3490
3491 * basic-block.h (compute_preds_succs): Change return type in
3492 prototype to void.
3493 * flow.c (compute_preds_succs): Likewise in function definition.
3494
3495 * regmove.c (find_matches): Cast char used as array index to unsigned char
3496 to supress warning.
3497
9c318306
MH
3498Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
3499
3500 * i386.h (RTX_COSTS): Insert braces around nested if.
3501 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
3502 elements.
3503
3504 * gcc.c (default_compilers): Properly put brackets around array elements in
3505 initializer.
3506
3507 * getopt.c (_getopt_internal): Add explicit braces around nested if;
3508 reformatted.
3509
3510 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
3511 (record_reg_life_pat): Add explicit parens around && and || in expression.
3512 (stack_reg_life_analysis): Add parens around assignment used as expression.
3513 (convert_regs): Likewise.
3514
56c5d8bf
MH
3515Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
3516
3517 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
3518 change callers accordingly.
3519
3520 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
3521 and definition; change all callers accordingly.
3522
3523 * except.c (init_eh): Avoid assignment of unused return value of
3524 build_pointer_type; cast it to void, instead, and remove unused
3525 variable type.
3526
3527 * gcc.c (lang_specific_driver): Define prototype only #ifdef
3528 LANG_SPECIFIC_DRIVER.
3529 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
3530
3531 * genoutput.c (output_epilogue): Initialize next_name to 0.
3532
3533 * real.c (efrexp): #if 0 prototype and function definition.
3534 (eremain): Likewise.
3535 (uditoe): Likewise.
3536 (ditoe): Likewise.
3537 (etoudi): Likewise.
3538 (etodi): Likewise.
3539 (esqrt): Likewise.
3540
3541 * reload.c (push_secondary_reload): Define prototype only
3542 #ifdef HAVE_SECONDARY_RELOADS.
3543
3544 * varasm.c (assemble_static_space): Define rounded only
3545 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
3546
4fce8e83
MH
3547Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
3548
3549 * i386.md (andsi): Add default case in enumeration switch.
3550 (iorsi3): Likewise.
3551 (iorhi3): Likewise.
3552 (xorsi3): Likewise.
3553
85066503
MH
3554Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
3555
3556 * c-decl (finish_struct): Change type of min_align to unsigned.
3557
3558 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
3559 remove unused variable len.
3560
3561 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
3562 comment indicating this is proper behaviour.
3563 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
3564 reg >= 0.
3565 (based_loc_descr): Likewise.
3566
3567 * enquire.c (bitpattern): Change type of variable i to unsigned.
3568
3569 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
3570
3571 * flow.c (life_analysis): Change type of variable i to size_t;
3572 remove unused variable insn.
3573
3574 * gcc.c (translate_options): Change type of variables optlen, arglen and
3575 complen to size_t.
3576 (input_filename_length): Change type to size_t.
3577 (do_spec_1): Change type of variable bufsize to size_t.
3578 (main): Change type of variables i and j to size_t;
3579 remove subblock local definition of variable i.
3580 (lookup_compiler): Change type of second argument to size_t;
3581 change type of variable i to size_t.
3582
3583 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
b57062ca 3584
85066503
MH
3585 * genopinit.c (get_insn): Change type of variable pindex to size_t.
3586
3587 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
3588
3589 * global.c (global_alloc): Change type of variable i to size_t.
3590
3591 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
3592
3593 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
3594 (expand_end_case): Change type of variable count to size_t.
3595
3596 * toplev.c (main): Change type of variable j to size_t.
3597 (set_target_switch): Change type of variable j to size_t.
3598 (print_switch_values): Change type of variable j to size_t;
3599 remove unused variable flags.
3600
3601 * varasm.c (assemble_variable): Change type of variable align to size_t.
3602 (const_hash_rtx): Change type of variable i to size_t.
3603
6d89b990
MM
36041998-03-11 Mark Mitchell <mmitchell@usa.net>
3605
3606 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
3607 TREE_VEC if that's what it really is.
3608
01c7f350
MM
3609Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
3610
3611 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
3612 as per ISO C spec.
3613
754d1a92
TT
3614Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
3615
3616 * gthr.h: Changed the comment about return values.
3617 * gthr-solaris.h (__gthread_once): Do not use errno; return the
b57062ca 3618 error number instead of -1.
754d1a92
TT
3619 (__gthread_key_create): Any non-zero return value is an error.
3620 * libgcc2.c (eh_context_initialize): Check for non-zero return
3621 value from __gthread_once.
3622 Check that the value of get_eh_context was really changed.
3623
77008a44
R
3624Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3625
3626 * sh.h (LOOP_ALIGN): Only align when optimizing.
3627 * sh.c (find_barrier): Clear inc for CODE_LABELs.
3628 When not optimizing, calculate alignment for BARRIERs directly.
3629
a8aa4e0b
R
3630Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3631
3632 * final.c (shorten_branches): Remove conditionalizing on
3633 SHORTEN_WITH_ADJUST_INSN_LENGTH
3634 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
3635
832544bd
JL
3636Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
3637
3638 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
3639 an unconditional jump around deleted blocks.
3640
bdd3e6ab
JW
3641Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
3642
11a932c0
JW
3643 * profile.c (branch_prob): If see computed goto, call fatal instead of
3644 abort.
3645
eeb54a49 3646 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
b57062ca 3647
35011dd5
JW
3648 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
3649 Patch from Bruno Haible.
3650
bdd3e6ab
JW
3651 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
3652 (assign_parms): Set aggregate if hide_last_arg and last_named.
3653
af035616
R
3654Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3655
3656 * final.c (shorten_branches): Initialize insn_addresses.
3657
97e3c422
R
3658Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3659
3660 * sh.h (MUST_PASS_IN_STACK): Define.
3661
5e75ef4a
JL
3662Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
3663
3664 * final.c (shorten_branches): Fix minor logic error in
3665 ADDR_DIFF_VEC shortening support.
3666
99613661
JL
3667Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
3668
3669 * version.c: Bump for snapshot.
3670
8ea2b111
JL
3671Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
3672
168cbdf9
JL
3673 * haifa-sched.c (is_cfg_nonregular): Change return type to
3674 an int. No longer compute "estimated" number of edges. Use
3675 computed_jump_p instead of duplicating the code. Fixup/add
3676 some comments.
3677 (build_control_flow): Returns a value indicating an irregularity
3678 in the cfg was detected. Count the number of edges in the cfg.
3679 allocate various edge tables.
3680 (find_rgns): No longer look for unreachable blocks.
3681 (schedule_insns): Do not allocate memory for edge tables here.
3682 Free memory for edge tables before returning. Do not perform
3683 cross block scheduling if build_control_flow returns nonzero.
3684 * flow.c (compute_preds_succs): More accurately determine when
3685 a block drops in.
3686
52becdc0
JL
3687 * basic-block.h (free_basic_block_vargs): Provide prototype.
3688
8ea2b111
JL
3689 * cccp.c (main): Fix dumb mistakes in last change.
3690
33f7f353
JR
3691Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3692
3693 * rtl.h (addr_diff_vec_flags): New typedef.
3694 (union rtunion_def): New member rt_addr_diff_vec_flags.
3695 (ADDR_DIFF_VEC_FLAGS): New macro.
3696
3697 * sh.c (output_branch): Fix offset overflow problems.
3698
3699 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
3700 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
3701 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
3702 * stmt.c (expand_end_case): Supply new arguments to
3703 gen_rtx_ADDR_DIFF_VEC.
3704 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
3705 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
3706 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
3707 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
3708 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
3709 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
3710 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
3711 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
3712 * i386/freebsd.h, i386/linux.h : Likewise.
3713 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
3714 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
3715 * m68k/mot3300.h, m68k/sgs.h : Likewise.
3716 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
3717 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
3718 (CASE_VECTOR_SHORTEN_MODE): Define.
3719 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
3720 (med_branch_p, braf_branch_p): Don't declare.
3721 (mdep_reorg_phase, barrier_align): Declare.
3722 (ADJUST_INSN_LENGTH): Remove alignment handling.
3723 * sh.c (uid_align, uid_align_max): Deleted.
3724 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
3725 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
3726 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
3727 (output_far_jump): Don't use braf_branch_p.
3728 (output_branchy_insn): Don't use branch_offset.
3729 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
3730 Remove paired barrier stuff.
3731 Don't use cache_align_p.
3732 Take alignment insns into account.
3733 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
3734 the addr_diff_vec.
3735 (barrier_align, branch_dest): New function.
3736 (machine_dependent_reorg, split_branches): Remove infrastructure
3737 for branch shortening that is now provided in the backend.
3738 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
3739 (braf_branch_p, braf_cbranch_p): Likewise.
3740 (attribute length): Use new attributes.
3741 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
3742 (addr_diff_vec_adjust): Delete.
3743 (align_2): Now a define_expand.
3744 (align_log): Now length 0.
3745
170a16c7
MM
3746Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
3747
3748 * m32r.md (right): Correctly check for length == 2, not 1.
3749
688f0603
KG
3750Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3751
3752 * mips/mips.h: Prototype `machine_dependent_reorg'.
3753 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
3754
19cbe68d
JR
3755Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
3756
3757 * final.c (shorten_branches): Restore accidentally removed code.
3758
8add77ce
AS
3759Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3760
3761 * configure.in: Remove duplicate uses of AC_PROG_CC and
3762 AC_PROG_MAKE_SET.
3763
fbb5ed67
RH
3764Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
3765
3766 * configure.in (target_cpu_default2): Correct typo for alphapca56.
3767
5ece9746
JL
3768Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
3769 Doug Evans (devans@cygnus.com)
3770
3771 * haifa-sched.c (build_jmp_edges): Delete dead function.
3772 (build_control_flow): Use cfg routines from flow.c
3773 (schedule_insns): Remove debugging code accidentally checked
3774 in earlier today.
3775
3776 * basic-block.h: Add external integer list structures, typdefs,
3777 accessor macros and function declarations. Simlarly for
3778 basic block pred/succ support and simple bitmap stuff.
3779 * flow.c: Add functions for integer list, basic block pred/succ
3780 support and simple bitmap support.
3781 (compute_dominators): New function to compute dominators and
3782 post dominators.
3783 (find_basic_blocks): Split into two functions.
3784 (life_analysis): Likewise.
3785 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
3786 the life_analysis from toplev.c
3787 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
3788 life_analysis instead of flow_analysis.
3789
ac9b3c97
R
3790Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3791
3792 * jump.c (jump_optimize): Call mark_jump_label also for deleted
3793 insns.
3794 (mark_jump_label): Don't increment ref counts for deleted insns.
3795
6e92f4b6
KG
3796Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3797
3798 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
b57062ca 3799
6e92f4b6
KG
3800 * mips/mips.c: Include stdlib.h and unistd.h.
3801 (mips_asm_file_end): Add braces around empty body in an if-statement.
3802 (function_prologue): Wrap variable `fnname' in
3803 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
3804 (mips_select_rtx_section, mips_select_section): Declare as void.
b57062ca 3805
6e92f4b6
KG
3806 * mips/mips.h: Add prototypes for extern functions in mips.c.
3807 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
3808 (ENCODE_SECTION_INFO): Add braces around empty body in an
3809 if-statement.
b57062ca 3810
6e92f4b6
KG
3811 * mips/mips.md (movdi): Add parentheses around && within ||.
3812 (movsf, movdf): Likewise.
3813 (branch_zero, branch_zero_di): Add default case in
3814 enumeration switch.
b57062ca 3815
6e92f4b6 3816
9ba3994a
RH
3817Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
3818
3819 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
3820 real constants, since they can't be changed.
3821 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
3822 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
3823 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
3824 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
3825 * alpha/vms.h (TARGET_OPEN_VMS): New.
3826 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
3827
5ec105cd
RH
3828Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
3829
3830 * reload.c (find_reloads): Always force (subreg (mem)) to be
3831 reloaded if WORD_REGISTER_OPERATIONS.
3832
ebb7b10b
RH
3833Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
3834
3835 * haifa-sched.c (free_list): Rename from free_pnd_lst.
3836 (free_pending_lists): Rename free_pnd_lst uses.
3837 (remove_dependence): Place expunged element on unused_insn_list.
3838 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
3839 gen_rtx_*_LIST and alloc_rtx to use them.
3840 (compute_block_backward_dependences): Free the reg_last_* lists.
3841
cb37ce62
JL
3842Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
3843
3844 * cccp.c (main): Avoid undefined behavior when setting pend_includes
3845 and pend_files.
3846
ce514f57
FS
3847Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
3848
b57062ca 3849 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
ce514f57
FS
3850 USE_GNULIBC_1 is defined
3851 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
3852 includes the t-linux-gnulibc1 fragment
3853
89a5e42b
JW
3854Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
3855
3856 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
3857
1dd8faa8
R
3858Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3859
3860 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
3861
e2faec75
R
3862Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3863
3864 * final.c (shorten_branches): Tag the loop alignment onto the
3865 first label after NOTE_INSN_LOOP_BEG even if there is an
3866 intervening insn.
3867
de7987a6
R
3868Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3869
26024475
R
3870 * final.c (insn_current_reference_address):
3871 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
3872 proper alignment chain.
3873
de7987a6
R
3874 * final.c (max_labelno): New static variable.
3875 (final_scan_insn): Check max_labelno before outputting an
3876 alignment for a label.
de7987a6
R
3877 (shorten_branches): Remove unused variable length_align.
3878
27d8f9ea
KG
3879Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3880
3881 * sparc.c (ultrasparc_adjust_cost): Add default case in
3882 enumeration switch.
b57062ca 3883
27d8f9ea
KG
3884 * sparc.h: Add prototypes for extern functions defined in
3885 sparc.c.
3886
bd334356
NC
3887Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
3888
3889 * toplev.c: Only generate <name>.dbr file when dumping RTL if
b57062ca 3890 DEALY_SLOTS is defined.
bd334356 3891
1838fe6d
MH
3892Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
3893
3894 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
3895 in call to fill_slots_from_thread.
3896
b0021153
RH
3897Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
3898
b57062ca 3899 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
b0021153
RH
3900 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
3901
687d0ab6 3902Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
fc470718
R
3903
3904 * final.c (insn_last_address, insn_current_align, uid_align):
3905 New variables.
3906 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
3907 (insn_current_reference_address): Likewise.
3908 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
3909 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
3910 (label_to_alignment): New function.
3911 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
3912 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
3913 insn_current_reference_address instead of insn_current_address.
3914 (or_attr_value, write_length_unit_log): New functions.
3915 (main): Call write_length_unit_log.
3916 (write_const_num_delay_slots): Output extra '\n'.
3917 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
3918 replace with:
3919 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
3920 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
3921 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
3922 (LOOP_ALIGN).
3923 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
3924 (LABEL_ALIGN_AFTER_BARRIER).
3925 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
3926 * ns32k/tek6000.h: Likewise.
3927 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
3928 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
3929 ASM_OUTPUT_ALIGN_CODE.
3930
54f00917
JL
3931Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
3932
3933 * version.c: Bump for snapshot.
3934
38630f7e
JL
3935Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
3936
3937 * version.c: Bump for snapshot.
3938
ab63953e
JL
3939Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
3940
3941 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
b57062ca 3942 if condition code of jump conflicts with opposite_needed.
ab63953e
JL
3943
3944 * reorg.c (fill_slots_from_thread): Mark resources referenced in
3945 opposite_needed thread. Return delay_list even when cannot get
3946 any more delay insns from end of subroutine.
3947
3948Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
3949
3950 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
3951 All callers changed.
3952
3953Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
72dd050a
BH
3954
3955 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
3956 end_fde_sort): New functions for fast sorting of an FDE array.
3957 (fde_insert): Simplified.
3958 (add_fdes): Change argument list.
3959 (frame_init): Use the new functions.
3960
de153e82
JL
3961Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
3962
925b1f33
JL
3963 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
3964
c7271385
JL
3965 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
3966
de153e82
JL
3967 * fold-const.c (fold_range_test): Always return a value.
3968
81023100
MK
3969Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
3970
3971 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
3972 data in the text section unless READONLY_DATA_SECTION is defined.
3973
818e50a5
JL
3974Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
3975
3976 * c-parse.in (undeclared variable error): Tweak error message to
3977 be clearer.
3978
c93dc3ac
JL
3979Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
3980
3981 * version.c: Bump for snapshot.
3982
90ca38bb
MM
39831998-02-28 Mark Mitchell <mmitchell@usa.net>
3984
3985 * final.c (final_scan_insn): Undo overzealous removal of `set'.
3986
3d85c12e
KG
3987Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3988
5feca984
KG
3989 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
3990 case, add parentheses to specify the proper order of precedence in
3991 the if-statement.
b57062ca 3992
5feca984 3993
51723711
KG
3994 * c-aux-info.c: Include string.h/strings.h.
3995
3996 * pa.c: Include stdlib.h.
3997 (pa_combine_instructions): Prototype the function.
3998 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
3999 (reloc_needed): Add default case for enumeration switch.
4000 (remove_useless_addtr_insns): Remove unused variable `all'.
4001 (hppa_expand_prologue): Add explicit braces to avoid
4002 ambiguous `else'.
4003 (output_function_epilogue): Remove unused variable `i'.
4004 (output_millicode_call): Remove unused variable `link'.
4005 (shadd_constant_p, forward_branch_p): Make the function static.
4006 (following_call): Explicitly declare to return int.
4007 (pa_reorg): Declare as void.
4008 (pa_combine_instructions): Declare as static void. Add
4009 parentheses around && within ||.
b57062ca 4010
51723711
KG
4011 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
4012 following_call, function_label_operand, lhs_lshift_cint_operand
4013 and zdepi_cint_p.
4014
4015 * pa.md: Add parentheses around && within ||.
4016
4017 * cppalloc.c: Include stdlib.h.
4018
4019 * cpperror.c (cpp_print_containing_files): Remove unused variable
4020 `i'. Fix format specifier in fprintf.
4021
4022 * cse.c (cse_around_loop): Add explicit braces to avoid
4023 ambiguous `else'.
4024 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
4025
4026 * expr.c (expand_expr): Add parentheses around && within ||.
4027
4028 * final.c (app_enable): Replace fprintf with fputs where there are
4029 no format specifiers and no trailing argument after the string.
4030 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
4031 (app_disable): Likewise.
4032 (final_end_function): Likewise.
4033 (final_scan_insn): Likewise. Remove unused variable `set'.
4034 (profile_function): Wrap empty if-statement body in {} brackets.
4035
4036 * function.c: Include stdlib.h.
4037 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
4038 (reposition_prologue_and_epilogue_notes): Add parentheses
4039 around assignment used as truth value.
4040
4041 * integrate.c (expand_inline_function): Wrap variable
4042 `cc0_insn' in macro HAVE_cc0.
4043
4044 * jump.c (jump_optimize): Wrap variable `q' in macro
4045 HAVE_cc0. Remove unused variable `prev1'.
4046
4047 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
4048 within ||. Fix format specifier in fprintf.
4049 (__bb_init_prg): Add parentheses around assignment used as
4050 truth value.
4051
4052 * local-alloc.c: Include stdlib.h.
4053 (requires_inout): Add parentheses around assignment used
4054 as truth value.
4055
4056 * loop.c (analyze_loop_iterations): Wrap prototype and definition
4057 in macro HAVE_decrement_and_branch_on_count.
4058 (insert_bct, instrument_loop_bct): Likewise.
4059 (move_movables): Add parentheses around assignment used as
4060 truth value.
4061 (consec_sets_invariant_p): Likewise.
4062 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
4063
4064 * objc/objc-act.c: Include stdlib.h.
4065 (lookup_method_in_protocol_list): Wrap empty else-statement body
4066 in braces.
4067 (lookup_protocol_in_reflist): Likewise.
4068 (objc_add_static_instance): Remove unused variables `decl_expr'
4069 and `decl_spec'.
4070 (get_objc_string_decl): Remove unused variable `decl'.
4071 (generate_static_references): Remove unused variables `idecl' and
4072 `instance'.
4073 (check_protocols): Wrap empty else-statement body in braces.
b57062ca 4074
51723711
KG
4075 * protoize.c: Include stdlib.h.
4076 (substr): Add parentheses around assignment used as truth value.
4077 (abspath): Likewise.
4078 (shortpath): Likewise.
4079
4080 * regmove.c (fixup_match_1): Add parentheses around assignment
4081 used as truth value.
4082
4083 * reload.c (push_secondary_reload): Remove unused variable `i'.
4084 (find_reloads): Add parentheses around assignment used as truth
4085 value.
4086
4087 * reload1.c: Include stdlib.h.
4088
4089 * rtl.h: Correct typo in prototype of offsettable_memref_p.
4090
4091 * stmt.c (add_case_node): Add parentheses around assignment used
4092 as truth value.
4093 (case_tree2list): Likewise.
4094
4095 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
4096 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
4097 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
4098 (merge_attributes): Add explicit braces to avoid ambiguous
4099 `else'.
4100
4101 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
4102 macro HAVE_cc0.
b57062ca 4103
51723711 4104 * varasm.c: Include stdlib.h.
b57062ca 4105
51723711 4106
c5801053
KG
4107 * system.h: Remove sys/stat.h.
4108 * gcc.c: Add sys/stat.h.
4109
3d85c12e
KG
4110 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
4111 * genattrtab.c: Likewise.
4112 * genconfig.c: Likewise.
4113 * genemit.c: Likewise.
4114 * genextract.c: Likewise.
4115 * genflags.c: Likewise.
4116 * genopinit.c: Likewise.
4117 * genoutput.c: Likewise.
4118 * genpeep.c: Likewise.
4119 * genrecog.c: Likewise.
4120 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
4121
0fd12b04
AS
4122Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4123
bd762873
AS
4124 * invoke.texi: Use @itemx for a secondary item in a @table.
4125
0fd12b04
AS
4126 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
4127 zero.
4128
c3cf395b
ILT
4129Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
4130
4131 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
4132
b94b5c16
JL
4133Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
4134
4135 * i386.c (struct machine_function): Add new fields for PIC stuff.
4136 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
4137 and pic_label_name.
4138 (restore_386_machine_status): Corresponding changes.
4139 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
4140
8dfafd99
JL
4141Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
4142
4143 * c-parse.y (undeclared variable error): Tweak error message
4144 to be clearer.
4145
bb8ebb7f
RH
4146Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
4147
4148 * flags.h (g_switch_value, g_switch_set): Declare.
4149 * alpha.c (override_options): Set g_switch_value=8 if not set.
4150 * alpha/elf.h (CC1_SPEC): New.
4151 (ASM_SPEC): New.
4152 (LINK_SPEC): Pass along the -G value we were given.
4153 (LOCAL_ASM_OP): Remove.
4154 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
4155 (MAX_OFILE_ALIGNMENT): New.
4156 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
4157 (EXTRA_SECTIONS): Add sbss and sdata.
4158 (SECTION_FUNCTION_TEMPLATE): New.
4159 (EXTRA_SECTION_FUNCTIONS): Use it.
4160 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
4161 (SELECT_SECTION): Use sdata when small enough.
4162 * alpha/linux.h (ASM_SPEC): Remove.
b57062ca 4163
bb8ebb7f 4164
3e07bdbd
BH
4165Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4166 * config.sub (sco5): Fix typo.
4167
9d1ebd25
MH
4168Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
4169
4170 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
4171 set to empty.
4172 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
4173 * config/alpha/t-linux: Remove file.
4174 * config/sparc/t-linux: Remove file.
4175 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
4176 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
4177 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
4178 for tmake_file.
4179 (alpha*-*-linux-gnu*): Likewise.
4180 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
4181 (sparc-*-linux-gnu*): Likewise.
84bc3b4f
RL
4182
4183Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
4184 * collect2.c (ldd_file_name): Bracket declaration with same
4185 manifests as use.
4186 (full_real_ld_suffix): Deleted. Variable was calloced and
4187 written into, but never read.
4188
9e89df50
MS
41891998-02-23 Mike Stump <mrs@wrs.com>
4190
4191 * configure.in: Add support for i386-wrs-vxworks configuration.
4192 * i386/vxi386.h: New file.
4193
1160f9ec
BH
4194Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4195
4196 * tree.c (contains_placeholder_p): Ensure function always returns
4197 a value.
4198 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
4199 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
4200
328da75c
JL
4201Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
4202
4203 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
4204
deabc777
PE
42051998-02-22 Paul Eggert <eggert@twinsun.com>
4206
4207 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
4208 Define this new symbol.
4209 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
4210 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
4211 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
4212
0e84e8fb
JW
4213Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
4214
4215 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
4216 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
4217
9c37957a
RH
4218Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
4219
4220 * objc/Object.m (-error): Call objc_verror with our va_list.
4221
e3c49f52
DE
4222Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4223
4224 * collect2.c (scan_prog_file): Completely cover uses of variable
4225 `exports' with macro COLLECT_EXPORT_LIST.
4226
4227Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
d935d60e
JL
4228
4229 * version.c: Bump for snapshot.
4230
3c674857
MM
4231Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
4232
4233 * sched.c (schedule_block): Remove code to get arguments from hard
4234 regs into pseudos early. Same as Aug 25, 1997 change to
4235 haifa-sched.c.
4236
c2d731c4
JM
42371998-02-20 Jason Merrill <jason@yorick.cygnus.com>
4238
4239 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
4240
7d02bbef
JM
42411998-02-16 Mark Mitchell <mmitchell@usa.net>
4242
4243 * toplev.c (rest_of_compilation): Do not defer the output of a
4244 nested function.
4245
9766dbcf
MT
4246Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
4247
4248 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
4249 continuation character (line 243).
4250
01a7aaea
AS
4251Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4252
4253 * genrecog.c (main): Remove duplicated sentence in emitted comment.
4254
db126753
DE
4255Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
4256 David Edelsohn <edelsohn@mhpcc.edu>
4257
4258 * collect2.c (XCOFF_SCAN_LIBS): Remove.
4259 (export_flag): New variable.
4260 (export_file): #ifdef COLLECT_EXPORT_LIST.
4261 (import_file, exports, imports, undefined): New variables.
4262 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
4263 (dump_list, dump_prefix_list, is_in_list): New functions.
4264 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
4265 (write_import_file, resolve_lib_name): New functions.
4266 (use_import_list, ignore_library): Same.
4267 (collect_exit): maybe_unlink import_file and #ifdef.
4268 (handler): Same.
4269 (main): New variable importf, #ifdef exportf. Move parsing of
4270 -shared before general argument parsing. Resolve AIX library
4271 paths and import libgcc.a symbols. Treat .so shared libraries the
4272 same as objects and .a libraries. Create alias for object_lst and
4273 increment it instead of original pointer. Scan AIX libraries as
4274 objects earlier instead of using scan_libraries. Perform AIX
4275 tlink later to resolve templates instead of forking ld.
4276 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
4277 (GCC_UNDEF_SYMBOL): New macro.
4278 (scan_prog_file): Loop for members of AIX libraries. Handle
4279 export/import of ctors/dtors.
4280 (aix_std_libs): New variable.
4281 (scan_libraries, XCOFF): Delete.
4282
4283Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
4284
4285 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
4286
e642002f
MS
42871998-02-19 Mike Stump <mrs@wrs.com>
4288
4289 * Makefile.in: Use $tooldir for sys-include to match toplevel
4290 configure.
4291
aff48bca
JL
4292Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
4293 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4294
4295 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
4296
4297 * emit-rtl.c (hard-reg-set.h): Include.
b57062ca 4298 (get_lowpart_common): Don't make new REG for hard reg in a
aff48bca
JL
4299 class that cannot change size.
4300 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
4301
4302 * combine.c: Revert previous patch.
4303
0a9bdce3
PE
43041998-02-19 Paul Eggert <eggert@twinsun.com>
4305
4306 * config/sparc/sol2-sld.h: New file.
4307 * configure.in (sparc-*-solaris2*): Use it when using the
4308 system linker.
4309
3875b31d
JL
4310Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
4311
4312 * loop.c (force_movables): Fix typo.
4313
bb5fa67f
MH
4314Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
4315
4316 * m88k.h: Change file pattern to match reality.
4317
7f83c0e7
JL
4318Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
4319
4320 * varasm.c (output_constant_pool): Fix dumb thinko in last
4321 change.
dffc0da4
JL
4322
4323 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
4324 a function name to a section name.
4325
d9525bec
BK
43261998-02-18 Doug Evans <devans@cygnus.com>
4327
4328 * tree.h (merge_machine_{type,decl}_attributes): Declare.
4329 (split_specs_attrs, strip_attrs): Add prototypes.
4330 * tree.c (merge_machine_{type,decl}_attributes): New functions.
4331 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
4332 Update olddecl's attributes too.
4333 * c-common.c (strip_attrs): New function.
4334 * c-typeck.c (common_type): Call merge_machine_type_attributes.
4335 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
4336 (make_decl_rtl): Likewise.
4337
43381998-02-18 Jim Wilson <wilson@cygnus.com>
4339
4340 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
4341
f9a366ac
JL
4342Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
4343
4344 Remove this change until we can fix it correctly.
4345 * collect2.c: Bracket declaration of 'exportf' and
4346 'full_real_ld_suffix'.
4347
206ae7cf
BS
4348Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
4349
4350 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
4351
0a7ed33c
BS
4352Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
4353
4354 * c-common.c (c_expand_start_cond, c_expand_end_cond,
4355 c_expand_start_else): Don't warn about non-ambiguous else even if
4356 braces are missing.
4357
68c9728a 4358Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
0a7ed33c 4359
68c9728a
RL
4360 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
4361 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
4362 instead.
4363
15941d29
RH
4364Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
4365
4366 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
4367 simplifying a subreg of a hard reg.
4368 (expand_compound_operation): Likewise.
4369 (force_to_mode): Likewise.
4370
5835e573
KG
4371Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4372
2fde567e
KG
4373 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
4374 (lshift_double): Add parentheses around + or - inside shift.
4375 (rshift_double): Likewise.
4376 (size_int_wide): Explicitly set type of `bit_p' to `int'.
4377
4378 * Makefile.in (fold-const.o): Depend on system.h.
4379
8e85ff2c
KG
4380 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
4381 change to gcc.c.
4382
5835e573
KG
4383 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
4384 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
4385 (sched_note_set): Remove unused parameter `b', all callers changed.
4386 (schedule_block): Likewise for `rgn'.
4387 (split_hard_reg_notes): Likewise for `orig_insn'.
4388 (check_live): Likewise for `trg'.
4389 (update_live): Likewise.
4390 (check_live_1): Explcitly declare variable `i' as int.
4391 (update_live_1): Likewise.
4392 (insn_issue_delay): Remove unused variable `link'.
4393 (sched_analyze_2): Add default case in enumeration switch.
4394 (schedule_insns): Remove unused variable `i'.
4395
4396 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
4397
b1a0c816
JL
4398Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
4399
4400 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
4401 a dangling else clause.
4402
365ca18b
GK
4403Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
4404
4405 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
4406 pointer for the stack pointer in MIPS16 and 64BIT.
4407
feb60352
R
4408Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4409
4410 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
4411 * emit-rtl.c (force_line_numbers, restore_line_number_status):
4412 New functions.
4413 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
4414 (expand_start_case): Adjust to this change.
4415 (check_seenlabel): New function.
4416 (pushcase, pushcase_range, expand_endcase): Use it.
4417
93f83bd5
R
4418Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4419
4420 * i386.md (adddi3): Add =!r,0,0,X alternative.
4421
b9af8fb0
DE
4422Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
4423
4424 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
4425 * x-aix31 (INSTALL): Delete.
4426
a4dee8a5
GK
4427Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
4428
b57062ca 4429 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
a4dee8a5
GK
4430 tsize changes to something other than zero.
4431
8898f8a1
GK
4432Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
4433
4434 * ginclude/va-mips.h: Replace casts of pointers to int with
4435 casts of pointers to __PTRDIFF_TYPE__.
4436
9ba7a303
JC
4437Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
4438
4439 * loop.c (strength_reduce, record_biv, record_giv): Use
4440 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
4441
b7f6588d
JM
44421998-02-16 Jason Merrill <jason@yorick.cygnus.com>
4443
4444 * tree.c (first_rtl_op): New fn.
4445 (unsave_expr_now): Use it.
4446 * print-tree.c (print_node): Likewise.
4447 * tree.c (has_cleanups): New fn.
4448 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
4449 conservative about pushing the cleanup point down.
4450 * tree.h: Declare them.
4451
8e7336f8
JL
4452Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
4453
4454 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
4455 (flag_schedule_reverse_after_reload): Likewise.
4456 (f_options): Remove reverse scheduling support.
4457 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
4458 (flag_schedule_reverse_after_reload): Likewise.
4459 * haifa-sched.c (rank_for_schedule): Remove support for reverse
4460 scheduling.
b57062ca 4461
79e11844
KG
4462Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4463
17248a6b
KG
4464 * gcc.c: Get system includes, prototypes and macros via "system.h"
4465 instead of doing it manually. Change all calls of the ctype
4466 macros to custom versions defined in "system.h".
4467
79e11844
KG
4468 * system.h: Fix return type of bcmp prototype from `void' to `int'.
4469 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
4470 Add a prototype for getenv.
4471
c9b4de06
JW
4472Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
4473
4474 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
4475
9f8f10de
JC
4476Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
4477
4478 * alias.c: Include <stdlib.h> and <string.h>.
4479 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
4480
d757d141
JL
4481Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
4482
4483 * version.c: Bump for snapshot.
4484
7a0a1f09
RE
4485Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
4486
4487 * arm.md (movsfcc): Also validate operands[3] when compiling hard
4488 float.
4489 (movdfcc): Only accept fpu_add_operand for operands[3].
4490
99e90438
RE
4491 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
4492 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
4493
29a82058
JL
4494Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
4495
4496 * varasm.c (output_constant_pool): Bring back 'done' label inside
4497 an appropriate #ifdef.
4498
b57062ca 4499 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
29a82058
JL
4500 appropriate #ifdef.
4501 (bitmap_copy, bitmap_operation): Likewise.
4502 * combine.c (combinable_i3pat): Similarly for 'src'.
4503 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
4504 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
4505 * regclass.c (copy_cost): Similarly for 'secondary_class'.
4506 * reload.c (make_memloc): Simliarly for 'i'.
4507 (find_reloads_address_1): Similarly for 'link'.
4508 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
4509 (emit_reload_insns): Similarly for 'second_reloadreg'.
4510 * unroll.c (iteration_info): Similarly for 'v'.
4511
4512 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
4513 * calls.c (expand_call): Similarly for 'i'.
4514 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
4515 * fold-const.c (strip_compund_expr): Similarly for 'type'.
4516 * function.c (fixup_var_refs_1): Similarly for 'width'.
4517 (fixup_memory_subreg): Similarly for 'saved'.
4518 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
4519 (setjmp_protect): Similarly for 'sub'.
4520 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
4521 * loop.c (record_giv): Similarly for 'p'.
4522 (combine_givs): Similarly for 'temp_iv'.
4523 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
4524 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
4525 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
4526 * unroll.c (unroll_loop): Similarly for 'copy'.
4527 (iteration_info): Similarly for 'b'.
4528 * varasm.c (assemble_string): Similarly for 'i'.
4529 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
4530
7d02bbef
JM
45311998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
4532
4533 * c-lang.c (lang_print_xnode): New function.
4534 * objc/objc-act.c (lang_print_xnode): Likewise.
4535 * print-tree.c (print_node): Call it
4536
e3e7774e
JW
4537Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
4538
4539 * dwarf2out.c (decl_scope_node): New type.
4540 (decl_scope_table): Change type to use it.
4541 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
4542 (push_decl_scope): Use new type. New locals containing_scope, i.
4543 Add code to handle setting previous field.
4544 (scope_die_for): Change type of local i to int. Add code to use
4545 previous field.
4546 (dwarf2out_init): Use new type.
4547
442f0a30
JM
45481998-02-13 Jason Merrill <jason@yorick.cygnus.com>
4549
4550 * except.c (emit_throw): Lose throw_used.
4551
fcdc0d6e
R
4552Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4553
4554 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
4555 was deleted.
4556 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
4557
b7673cdb
JL
4558Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
4559
4560 * genextract.c (main): Fix typo.
4561
9e4767ca 4562Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
69d4ca36 4563
b57062ca 4564 * c-lang.c (finish_file): Bracket declaration of static_ctors,
69d4ca36
RL
4565 static_dtors.
4566
4567 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
4568 'old_stack_arg_under_construction'
b57062ca 4569 (emit_library_call): Bracket declaration of 'upper_bound',
69d4ca36
RL
4570 'lower_bound', 'i', 'reg_parm_stack_space'
4571 (emit_library_call_value): Likewise.
b57062ca 4572 (store_one_arg):
69d4ca36
RL
4573
4574 * collect2.c: include <unistd.h> when appropriate.
4575 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
4576
4577 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
b57062ca 4578
69d4ca36
RL
4579 * explow.c (plus_constant_for_output_wide): Remove unused variable
4580 'code'.
b57062ca 4581 (memory_address): Remove unused variable 'orig_x'.
69d4ca36
RL
4582
4583 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
4584 (write_const_num_delay_slots): Remove unused variable 'i'.
4585
4586 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
4587 (gen_insn): Remove unused variable 'obstack_ptr'.
4588
4589 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
4590 'j', 'tmp', 'i'.
4591 (__bb_exit_trace_func): Remove unused variable 'e'.
4592
4593 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
4594 'funexp'.
4595 (expand_unop): Remove unused variable 'funexp'.
b57062ca 4596 (expand_complex_abs): Remove unused variable 'funexp'.
69d4ca36
RL
4597 (init_optabs): Bracket declaration of 'j'.
4598 (init_complex_libfuncs): Deleted. Dead static function.
b57062ca 4599
69d4ca36
RL
4600 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
4601
4602 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
4603 (reg_to_stack): 'initialized', 'before_function_beg'
4604 explictly type as ints instead of defaulting.
4605 (emit_swap_insn): Remove unused variable 'i2'.
4606 (compare_for_stack_reg): Remove unused variable 'src_note'.
4607
4608 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
4609
4610 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
4611
4612 * stmt.c (add_case_node): Add parens for assignment used as truth.
4613 (all_cases_count): Remove unused variable 'count_high'.
4614 (mark_seen_cases): Remove unused variable 'i'.
4615 (check_for_full_enumeration_handling): Remove unused variable 't'.
4616 Bracket declaration of 'all_values', 'l'.
b57062ca 4617
69d4ca36
RL
4618 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
4619
b57062ca
UD
4620 * varasm.c (assemble_string): Remove unused variable 'i'.
4621 (immed_double_const): Remove unused variable 'in_current_obstack'.
69d4ca36
RL
4622 (immed_real_const_1): Likewise.
4623 (output_constant_pool): Remove unreferenced label 'done'.
4624 (output_constant): Remove unused variable 'x'.
b57062ca 4625
69d4ca36
RL
4626 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
4627 a string.
4628
4629 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
4630 as truth.
4631
e3258cef
R
4632Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4633
4634 * combine.c (can_combine_p): Handle USEs in PARALLELs.
4635
1398405b
L
4636Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
4637
4638 * config/linux.h (LIB_SPEC): Add -lc for -shared if
4639 USE_GNULIBC_1 is not defined.
4640 * config/sparc/linux.h; Ditto.
4641
4642 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
4643
4644 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
4645 USE_GNULIBC_1 is not defined.
4646
03453a9f
FS
4647Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
4648
4649 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
4650 for -mcall-linux
4651
aca69483 4652Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 4653
aca69483
KG
4654 * system.h: New file to get common systems includes and various
4655 definitions and declarations based on autoconf macros.
4656
5e0e0f03
JL
4657Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
4658
4659 * cccp.c (new_include_prefix): Correctly handle -I./.
4660
89e9f3a8
MM
4661Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
4662
4663 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
4664
8bd6ecc2 4665Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
89e9f3a8 4666
b57062ca 4667 * expr.c (expand_assignment): Correct typo exposed by -Wall.
8bd6ecc2
RL
4668 offset should have been a truth value, not an assignment.
4669
614bb5d4
JL
4670Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
4671
4672 * cse.c (delete_dead_from_cse): If a libcall produces a constant
4673 result and that result can be substituted into SET_SRC of the
4674 insn with the REG_RETVAL note, then perform the substitution
4675 and delete the libcall.
4676
00bb4b62
GK
4677Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
4678
b57062ca 4679 * mips.md (trucndihi2,truncdiqi2): Change these to support
00bb4b62
GK
4680 mips16.
4681
3871c609
GK
4682Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
4683
4684 * mips/mips.c (movdi_operand): Direct referances to symbols
4685 that arn't mips16 consts in mips16 mode arn't valid operands.
4686
4687 * mips/mips.c (mips_move_2words): Add gprel handling.
4688
2e72fa6a
GK
4689Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
4690
b57062ca 4691 * mips.md (extendsidi2): Allow extension to/from a non-mips16
2e72fa6a
GK
4692 register.
4693
a4910340
ML
4694Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
4695
4696 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
4697 <strings.h>.
4698
cc1e5b9a
KG
4699Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4700
4701 * Makefile.in (WARN_CFLAGS): New variable.
4702 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
4703
53949fac
MM
47041998-02-11 Mark Mitchell <mmitchell@usa.net>
4705
4706 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
4707 falling through default case in switch.
4708 (i386_aligned_p): Likewise.
4709
9504c31c
LI
4710Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
4711
4712 * mips/mips.h (mips_abi_string): Correct typo in comment.
4713
7e4e0956
GK
4714Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
4715
4716 * mips/mips.md (movdi): These PLUS's need to be Pmode.
4717
8fb3ae15
KG
4718Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4719
4720 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
4721 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
4722 indirectly via expr.h.
4723
a2d53b28
RH
4724Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
4725
4726 * stor-layout.c (layout_type): Do upper - lower in the native type,
4727 so as to properly handle negative indices.
4728
381127e8
RL
4729Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
4730
4731 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
4732 (expand_eh_region_start_tree): Remove unused variable 'note'.
4733 (exception_optimize): Remove unused variable 'regions'.
4734 (expand_builtin_eh_stub): Remove unused variable 'temp'.
4735 (copy_eh_entry): Deleted. Dead function.
4736
b57062ca 4737 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
381127e8
RL
4738 'last' with same #if HAVE_load_multiple as use of it.
4739 (move_block_from_reg): Likewise.
4740 (emit_move_insn_1): Remove unused variable 'insns'.
b57062ca
UD
4741 (store_constructor): Bracket declaration of startb, endb with
4742 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
381127e8 4743 'target', and 'xtarget'.
b57062ca 4744 (expand_builtin_setjmp): Remove unused variables 'op0',
381127e8 4745 'next_arg_reg', 'old_inhibit_defer_pop'.
b57062ca 4746 (expand_builtin): Remove unused variable 'offset'.
381127e8
RL
4747 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
4748 (emit_queue): Add parens for assignment used as conditional.
4749 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
4750
00c79232
ML
4751Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
4752
b57062ca 4753 * i386.c: Added include for recog.h.
00c79232
ML
4754 (override_options): Removed unused variable p. Initialized regno to
4755 avoid warning.
4756 (order_regs_for_local_alloc): Initialized regno to avoid warning.
4757 (legitimize_address): Likewise for 'other'.
4758 (i386_aligned_reg_p): Added default case with abort ().
4759 (print_operand): Likewise.
4760 (reg_mentioned_in_mem): Likewise.
4761 (ix86_expand_binary_operator): Removed unused variables i & insn.
4762 (ix86_expand_unary_operator): Removed unused variable insn.
4763 (output_fp_cc0_set): Removed unused variable unordered_label.
4764
f64cecad
JC
4765Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
4766
4767 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
4768 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
4769 and format string match.
4770
0200b5ed
JL
4771Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
4772
4773 * flow.c (life_analysis): Do not conside the stack pointer live at
4774 the end of a function if the fucntio ncalls alloca.
4775 (mark_used_regs): Similarly.
4776
74ccf2c2
JC
47771998-02-10 John F Carr <jfc@mit.edu>
4778
4779 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
4780 1, fzero on alternative 8.
4781
60e2d0ca
RK
4782Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4783
4784 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
4785
2fd0af53
R
4786Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4787
4788 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
4789 SUBREGs of CONST_INTs.
4790
a96c3544
JC
4791Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
4792
4793 * mips.c (print_operand, function_prologue): Make printf format
4794 match argument type.
4795
2514cbc9
KG
4796Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4797
4798 * alpha.c (alpha_return_addr): Remove unused variable `first'.
4799 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
4800 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
4801
72b0c616
RK
4802Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4803
4804 * loop.c (strength_reduce): When placing increment for auto-inc
4805 case, do comparison in loop order.
b57062ca 4806
2e0dd623
JC
4807Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
4808
4809 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
4810 not a HOST_WIDE_INT.
4811
4812 * calls.c (expand_call): Change test of expand_inline_function
4813 return value to stop compiler warning.
4814
4815 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
4816
7bf825d2
JW
4817Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
4818 Jeff Law (law@cygnus.com)
4819
4820 * regmove.c: Fix various minor formatting problems.
4821 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
4822 is true. Make end of basic block tests consistent through regmove.c.
4823 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
4824 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
4825
7d4679ea
KG
4826Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4827
4828 * gansidecl.h: Check for a conflicting macro definition before
4829 attempting to prototype bcopy, bcmp or bzero.
4830
b515ab3d
JL
4831Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
4832
060fbabf
JL
4833 * expr.c (clear_pending_stack_adjust): Handle case where a function
4834 calls alloca, but the user has specified -fomit-fframe-pointer.
4835
b515ab3d
JL
4836 * function.c (assign_parms): Fix typo in last change.
4837
ccd043a9
RL
4838Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
4839
ededb2fc
RL
4840 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
4841 <fcntl.h>.
4842 (free_path_suffix): Remove unreferenced static function.
4843 (process_command): Remove unused variable temp.
4844 (default_arg): Remove unused variable i.
4845 (do_spec_1): Add parens for assignment used as truth value.
4846 (main): Likewise.
4847 (validate_all_switches): Likewise.
4848 (main): Remove unused variables i, first_time>
4849
ccd043a9
RL
4850 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
4851
4852 * calls.c (expand_call): Remove unused variables funtree,
4853 n_regs, and tmpmode.
4854
4855 * dbxout.c, except.c: Include <string.h>/<strings.h>.
4856
4857 * explow.c: (plus_constant_for_output_wide) Removed unused
4858 variable all_constant.
4859
4860 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
4861 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
4862 genrecog.c, global.c, integrate.c , stupid.c : Include
4863 <stdlib.h>.
4864
4865 * genextract.c: (walk_rtx) Remove unused variable link.
4866
4867 * genrecog.c: (concat) Remove unreferenced static function.
4868
4869 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
4870
b57062ca
UD
4871 * stmt.c: Include <stdlib.h>.
4872 (expand_asm_operands): Remove unused variable val1.
ccd043a9
RL
4873 (expand_return): Remove unused variable block.
4874 (pushcase): Remove unused variables l and n.
4875 (pushcaserange): Likewise.
4876
4877 * unroll.c (unroll_loop): Remove unused variable temp.
4878
6553db01
GM
4879Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
4880
4881 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
4882
8479e1db
KG
4883Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4884
4885 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
4886 functions for whether they support the %p format specifier.
4887 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
4888 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
4889 * configure, config.in: Rebuild.
4890
bf9c83fe
JW
4891Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
4892
4893 * function.c (assign_parms): New variable named_arg, with value
4894 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
4895
09e4daf5
GK
4896Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
4897
b57062ca 4898 * mips/t-r3900: New - same as t-ecoff but eliminate
09e4daf5
GK
4899 multilibs: mips1 and mips3.
4900 * configure.in (tx39*): Use new mips/t-r3900.
4901 * configure: Rebuild.
4902 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
4903
b57d9225
JM
49041998-02-06 Jason Merrill <jason@yorick.cygnus.com>
4905
4906 * dwarf2out.c: Add old_args_size.
4907 (dwarf2out_args_size): Use it.
4908 (dwarf2out_begin_prologue): Initialize it.
4909 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
4910 pushed args until we see a call.
4911 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
4912 before outputting them.
4913
49141998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
4915
4916 * cplus-dem.c (demangle_template_template_parm): New function.
4917 (demangle_template): Handle template template parameters.
4918
259620a8
MM
49191998-02-02 Mark Mitchell <mmitchell@usa.net>
4920
4921 * calls.c (expand_call): Don't confuse member functions named
4922 realloc, setjmp, and so forth with the standard library
4923 functions of the same names.
4924
78418280
JL
4925Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
4926
4927 * stmt.c (expand_asm_operands): Correctly identify asm statements
94e5565f 4928 no output operands.
78418280 4929
6d819282 4930Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 4931
6d819282
MK
4932 * c-common.c (decl_attributes): Flag unrecognized attribute
4933 functions as warnings instead of as errors.
4934
aec98e42
ML
49351998-02-05 Marc Lehmann <pcg@goof.com>
4936
4937 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
4938 when -Os is specified.
4939 * toplev.c (main): Don't disable flag_inline_functions anymore when
4940 -Os is in effect.
4941
1230327b
R
4942Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4943
4944 * regmove.c: Update.
4945 * flags.h (flag_regmove): Declare.
4946 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
4947 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
4948 Moved into regmove; changed caller.
4949 * toplev.c (rest_of_compilation): Call regmove_optimize also for
4950 expensive_optimizations.
4951
1aca1e76
JL
4952Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
4953
4954 * version.c: Bump for snapshot.
4955
2993ce4c
R
4956Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4957 Undo this change (the problem was actually in reload):
4958 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4959
4960 * sh.md (movqi_i+1): New peephole.
4961
0340ed6c
JL
4962Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
4963
e535528b
JL
4964 * jump.c (jump_optimize): Lose calls to modified_in_p they are
4965 not needed anymore due to changes elsewhere in jump.c.
4966
0340ed6c
JL
4967 * jump.c (jump_optimize): Fix first arg to modified_in_p in
4968 previous change.
4969
6fd1c67b
RH
4970Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
4971
4972 * expr.c (expand_builtin_setjmp): Accept two new arguments for
4973 the labels to branch to on first and subsequent executions. Don't
4974 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
4975 and provide it with the jmp_buf. Use only one of
4976 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
4977 and provide the former with the target label.
4978 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
4979 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
4980 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
4981 insn to replace all of the normal nonlocal_goto code. Don't play
4982 with __dummy. Correct arguments to nonlocal_goto.
4983 * expr.h (expand_builtin_setjmp): Update prototype.
4984 * except.c (start_dynamic_handler): When using builtin_setjmp,
4985 generate more accurate flow information.
4986
4987 * alpha.md (nonlocal_goto_receiver_osf): Delete.
4988 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
4989 (builtin_longjmp, builtin_setjmp_receiver): New.
4990 * sparc.md (update_return): Disambiguate unspec number.
4991 (nonlocal_goto): Rearrange arguments to match caller in except.c.
4992 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
4993 jmp_buf operand.
4994 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
4995 (builtin_setjmp_setup*, builtin_longjmp): New.
4996
95936d18
JC
4997Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
4998
4999 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
5000
c120c689
JW
5001Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
5002
5003 * vmsconfig.com: Remove bytecode references.
5004
1a56b81f
AS
50051998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5006
91193900
AS
5007 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
5008 -fno-sjlj-exceptions works for a target that defines
5009 DWARF2_UNWIND_INFO as zero.
5010
1a56b81f
AS
5011 * regmove.c (fixup_match_1): Undo last change which removed some
5012 "useless" code, and add a comment explaining this.
5013
e4b3de45
GK
5014Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
5015
5016 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
5017 to TARGET_LONG64.
5018
2aabb736
KK
5019Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
5020
5021 * makefile.vms: Remove bytecode references.
5022 Create genrtl files.
5023
7457661d
MH
5024Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
5025
5026 * jump.c (jump_optimize): Allow conditional loading of floating point
5027 constants and constants from memory. Reinstalled modified_in_p tests.
5028
460f50dc
R
5029Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5030
5031 * loop.c (get_condition): Handle sign-extended constants.
5032
7a6df7f9
HPN
5033Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
5034
db771a3c
HPN
5035 * expr.c (emit_push_insn): Add code to use movstrti if present.
5036
7a6df7f9
HPN
5037 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
5038 and movstrqi as in emit_block_move ().
5039
ceb6edf2
TM
5040Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
5041
5042 * config/m68k/x-next: Remove /NextDeveloper/Headers from
5043 the directories to fixinclude - /usr/include is a link
5044 to it and hence its contents are fixed by default.
5045
9cddeb31
FS
5046Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5047
5048 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
5049
d2f05a0a
KK
5050Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
5051
5052 * cccp.c (main): Predefine __VMS_VER on VMS.
5053
f8dac6eb
R
5054Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5055
5056 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
5057 * fold-const.c (size_int): Replace with
5058 (size_int_wide).
5059 (make_bit_field_ref): Use bitsize_int for bit position.
5060 * stor-layout.c (sizetype): Delete.
5061 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
5062 (layout_record, layout_union, layout_type):
5063 Use bitsize_int for bit size.
5064 (set_sizetype): New function.
5065 (make_signed_type, make_unsigned_type): Use it.
5066 * c-decl.c (init_decl_processing): Likewise.
5067 * tree.h (size_int): Don't delcare, #define.
5068 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
5069 (set_sizetype): Declare.
5070 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
5071 Define.
5072 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
5073 Convert result to sizetype.
5074 (really_start_incremental_init, push_init_level):
5075 Set type of constructor_bit_index to sbitsizetype.
5076 (push_init_level): Use unsigned arithmetic to determine padding.
5077 (output_init_element): Likewise.
5078
b577a8ff
JL
5079Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
5080
5081 * combine.c (simplify_shift_const): Fix typo in last change.
5082
6e0ef100
JC
5083Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
5084
5085 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
5086 is (truncate (lshiftrt)).
5087
4208b40f
RH
5088Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
5089
5090 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
5091 Make sure result winds up in TGT.
5092 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
5093 src to be other than DImode.
5094 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
5095 (alpha_expand_unaligned_store_words): Likewise.
5096 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
5097 that source and destination are separately optimized for alignment.
5098 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
5099
82301b88
JL
5100Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
5101
5102 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
5103 with handling of -32768.
5104
a81fb89e
KG
5105Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5106
5107 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
5108 shell variable argument instead of only hard coded functions.
5109 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
5110
5111 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
5112 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
5113 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
5114 declarations for bcopy, bcmp and bzero.
5115
5116 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
5117
5118 * gansidecl.h: If we have bcopy but don't declare it, then do so.
5119 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
5120 bzero, index and rindex if they aren't already present.
5121
eed90b2c
JL
5122Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
5123
b57062ca 5124 * toplev.c (close_dump_file): Wrap function prototype for
eed90b2c
JL
5125 argument "func" in PROTO.
5126 (dump_rtl): Likewise.
5127
bfd6bc60
JC
5128Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
5129
5130 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
5131 MASK_V8PLUS.
5132 (output_function_epilogue): Omit epilogue if nothing drops through.
5133 (output_move_double): Supress int ldd usage on ultrasparc and v9.
5134 (registers_ok_for_ldd_peep): Likewise.
5135 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
5136 (ultrasparc_adjust_cost): New function.
5137 (sparc_issue_rate): New function.
5138 * sparc.h (MASK_VIS, TARGET_VIS): New
5139 (MASK_V8PLUS, TARGET_V8PLUS): New.
5140 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
5141 (TARGET_SWITCHES): Add vis and v8plus.
5142 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
5143 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
5144 (RTX_COSTS): Use TARGET_HARD_MUL
5145 (ADJUST_COST): Call ultrasparc_adjust_cost.
5146 (ISSUE_RATE): New.
5147 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
5148 of load & fp appropritely.
5149 (supersparc function units): Adjust for Haifa.
5150 (ultrasparc function units): Likewise.
5151 (get_pc_via_rdpc): All v9, not just arch64.
5152 (movdi_v8plus, movdi_v8plus+1): New.
5153 (adddi3_sp32+1): New.
5154 (subdi3_sp32+1): New.
5155 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
5156 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
5157 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
5158 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
5159 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
5160 (ldd peepholes): Suppress for v9.
5161 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
5162 (return_subsi): Revmove.
5163
4b526a9a
JC
5164Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
5165
5166 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
5167 save/restore MEM rtl.
5168
64a438d6
JL
5169Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
5170
5171 * configure.in: Check for declaration of abort.
9c893359 5172 * acconfig.h: Corresponding changes.
64a438d6
JL
5173 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
5174 be declared.
5175
f266c82f
JL
5176Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
5177
5178 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
5179 uses it.
5180
31fa4410
JL
5181Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
5182
5183 * version.c: Bump for snapshot.
5184
0ee31ab1
JL
5185Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
5186
5187 * configure.in: Check for atoq and atoll.
5188 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
5189 proper routine for converting ascii into long long values.
5190
eeeb91c5
KK
5191Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
5192
9d21ee77
KK
5193 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
5194
5195 * vmsconfig.com: Remove bytecode references.
5196
5197 * alpha/vms.h (PREFIX): Define.
5198
5199 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
5200
eeeb91c5
KK
5201 * am-alpha.h: Don't include alloca for OPEN_VMS.
5202
5203 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
5204
5205 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
5206 (GCC_INCLUDE_DIR): Define
5207
5208 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
5209 * makefile.vms: New file.
5210
5211 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
5212
5213 * alpha.c (output_prolog): Output '.name' directive
5214 for minimal traceback information.
5215
5216 * alpha.c (output_prolog): Don't prepend entry point symbols
5217 with '$' on OPEN_VMS.
5218
76d31c63
JL
5219Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
5220 Jeffrey A Law (law@cygnus.com)
5221
5222 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
5223 HOST_WIDE_INT.
5224
5225 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
5226 as needed.
5227 * genemit.c (gen_exp): Likewise.
5228 * genpeep.c (match_rtx): Likewise.
5229 * genrecog.c (write_tree_1): Likewise.
5230
5231 * c-lex.c (yyprint): Use proper format string based upon
5232 disposition of HOST_BITS_PER_WIDE_INT.
5233 (yylex): Put casts in right place for args to build_int_2.
5234
5235Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
5236
5237 * combine.c: Fix typos in Jan27 changes.
5238
1b7555bd
OR
5239Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
5240
5241 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
5242 (LINK_SPEC): Likewise.
5243 (STARTFILE_SPEC): Likewise.
5244
21ca87b8
MS
52451998-01-28 Mike Stump <mrs@wrs.com>
5246
5247 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
5248 reload completes.
5249 * genattrtab.c (reload_completed): Define.
5250
5251 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
5252 comments.
5253
d2c92f5a
R
5254Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5255
5256 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
5257 SUBREG_REG if the word count is unchanged, also in the input reload
5258 case. Disable non-applicable sanity checks.
5259
90ad3ab7
JL
5260Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
5261
5262 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
5263
7fad712c
ILT
5264Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
5265
5266 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
5267
2290e0ec
PB
5268Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
5269
1aea01ea
PB
5270 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
5271 is a TREE_VEC before trying to use it for baseclasses.
5272 (Chill uses the same field for a different purpose.)
5273
2290e0ec
PB
5274 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
5275
16980900
LT
5276Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
5277
4c46bad0 5278 * config.sub: More accurate determination of HP processor types.
16980900 5279
5e9defae
KG
5280Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5281
5282 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
5283 prototype for `handle_sysv_pragma', and make it static. Add
5284 parentheses around assignment used as truth value.
5285
5286 * combine.c (combine_instructions): Protect variable `prev' with
5287 macro HAVE_cc0.
5288 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
5289 (extract_left_shift): Add parentheses around operand of &.
5290 (merge_outer_ops): Avoid an empty body in an else-statement.
5291 (gen_rtx_combine): Remove unused variable `i'.
b57062ca 5292
5e9defae
KG
5293 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
5294 function monstartup `void'. Likewise for internal_mcount. Add
5295 `static void' prototype for moncontrol. Reconcile sprintf format
b57062ca 5296 vs. args.
5e9defae
KG
5297
5298 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
5299 Make return type of function_arg_slotno explicitly `int'.
5300 (reg_unused_after): Add parentheses around assignment used as
5301 truth value.
5302 (save_regs): Add explicit braces to avoid ambiguous `else'.
5303 (function_arg_slotno): Add parentheses around && within ||.
5304 (function_arg_pass_by_reference): Likewise.
5305 (sparc_flat_output_function_prologue): Reconcile fprintf format
5306 vs. args.
5307
5308 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
5309 assignment used as truth value.
5310
5311 * cplus-dem.c: Include <stdlib.h>.
5312 (demangle_signature): Avoid an empty body in an else-statement.
5313 (do_type): Remove unused variable `lvl'.
b57062ca 5314
5e9defae
KG
5315 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
5316 Include <string.h>/<strings.h>.
5317 (cpp_lex): Remove unused variable `namelen'.
5318 (cpp_lex): Explicitly declare `num_chars' as an int.
5319
5320 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
5321 <unistd.h> instead. Explicitly declare is_system_include
5322 returning int.
b57062ca 5323 (make_assertion): Remove unused variable `kt'.
5e9defae
KG
5324 (cpp_expand_to_buffer): Hide variable `obuf'.
5325 (output_line_command): Remove unused variables, `line_end',
5326 `line_cmd_buf' and `len'.
5327 (macarg): Remove unused variable `arg_start'.
5328 (special_symbol): Remove unused variable `i'. Add parentheses
b57062ca 5329 around assignment used as truth value.
5e9defae 5330 (do_include): Remove unused variables `pcfname' and `retried',
b57062ca 5331 hide `pcf' and `pcfbuflimit'.
5e9defae
KG
5332 (do_line): Remove unused variable `i'.
5333 (finclude): Hide variable `missing_newline'.
5334 (cpp_handle_options): Remove unused variable `j'.
5335 (read_token_list): Remove unused variable `eofp'.
5336 (cpp_error_with_line): Remove unused variable `i'.
5337 (cpp_warning_with_line): Likewise.
5338 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
5339 (cpp_error_from_errno): Remove unused variable `i'.
5340
5341 * cse.c (invalidate): Add parentheses around assignment used as
5342 truth value.
5343 (find_best_addr): Move declaration of variable `our_cost' inside
5344 the conditional macro where its used.
5345 (fold_rtx): Avoid an empty body in an if-statement.
5346 (cse_insn): Wrap variables `this_insn_cc0_mode' and
5347 `this_insn_cc0' in macro HAVE_cc0.
b57062ca 5348
5e9defae
KG
5349 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
5350 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
5351 (output_uleb128): Likewise.
5352 (output_sleb128): Likewise.
5353 (output_cfi): Likewise.
5354 (output_call_frame_info): Remove unused variables `j', `fde_size'
5355 and `fde_pad'.
5356 (comp_unit_has_inlines): Hide declaration as per rest of file.
5357 (size_of_line_prolog): Correct typo in prototype.
5358 (add_arange): Likewise.
5359 (output_aranges): Likewise.
5360 (add_name_and_src_coords_attributes): Likewise.
5361 (gen_array_type_die): Likewise.
5362 (gen_inlined_subroutine_die): Likewise.
5363 (equate_decl_number_to_die): Remove unused variable `i'.
5364 (print_die): Reconcile format vs. args in fprintf's.
5365 (print_dwarf_line_table): Likewise.
5366 (output_die): Likewise.
5367 (output_line_info): Likewise.
5368 (add_subscript_info): Avoid an empty body in an else-statement.
5369 (gen_subprogram_die): Remove unused variable `fp_loc'.
5370
5371 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
5372 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
5373 macro. Protect `src_coords_attribute' prototype with
5374 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
5375 prototype as in the rest of the file. Likewise for
5376 `output_pointer_type_die' and `output_reference_type_die'. Remove
5377 prototype for `type_of_for_scope'.
5378 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
5379 (type_attribute): Add explicit braces to avoid ambiguous `else'.
b57062ca 5380
5e9defae
KG
5381 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
5382 (shorten_branches): Protect declaration of tmp_length with
5383 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
5384 (profile_function): Protect declaration of `sval' and `cxt'
5385 variables with appropriate macros.
5386 (final_scan_insn): Likewise for `note' variable. Add explicit
5387 braces to avoid empty body in an if-statement.
5388 (output_asm_insn): Move variable `i' inside macro conditional
5389 where it is used. Add parentheses around assignment used as truth
5390 value.
5391 (asm_fprintf) Likewise, likewise.
b57062ca 5392
5e9defae
KG
5393 * fix-header.c (main): Remove unused variable `done'. Protect
5394 declaration of `i' with FIXPROTO_IGNORE_LIST.
5395
5396 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
5397
5398 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
5399 `ind'.
5400
5401 * profile.c: Include <string.h>/<strings.h>.
5402 (instrument_arcs): Remove unused variables `note', `inverted',
5403 `zero' and `neg_one'.
5404 (branch_prob): Avoid empty body in an if-statement.
5405
5406 * regclass.c: Include <stdlib.h>.
5407 (reg_alternate_class): Explicitly declare parameter `regno'.
5408
5409 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
5410 parentheses around assignment used as truth value.
5411 (find_matches): Remove unused variables `output_operand' and
5412 `matching_operand'.
5413 (fixup_match_1): Remove statement with no effect: "if (0) ;".
5414
5415 * scan.c (sstring_append): Explicitly declare `count' as int.
5416 (scan_string): Explicitly declare parameter `init' as int.
5417
5418 * sched.c: Include <stdlib.h>.
5419 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
5420 (rank_for_schedule): Add parentheses around assignment used as
5421 truth value.
5422 (schedule_block): Likewise.
5423 (regno_use_in): Likewise.
5424 (schedule_insns): Remove unused variable `i'.
5425
5426 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
5427 (v_message_with_decl): Remove unused variable `n'.
5428 (botch): Explicitly declare parameter `s' as char *.
5429 (main): Add parentheses around assignment used as truth value.
5430
5431 * tree.c (make_node): Protect the variable `kind' with the
5432 GATHER_STATISTICS macro.
5433 (real_value_from_int_cst): Move variable `e' inside conditional
5434 macro area where it is used.
5435 (tree_last): Add parentheses around assignment used as truth value.
5436 (build1): Protect the variable `kind' with the GATHER_STATISTICS
5437 macro.
5438 (print_obstack_statistics): Reconcile format vs. args in fprintf.
5439 Protect variables `i', `total_nodes', and `total_bytes' with the
5440 GATHER_STATISTICS macro.
5441
4b6bb562
MS
5442Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
5443
5444 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
5445 some comments regarding use of dead_or_set_p.
5446
e95f0195
TV
5447Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
5448
5449 * fixincludes: Tweak fix for struct exception in math.h
5450
c3499f00
GK
5451Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
5452
5453 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
b57062ca 5454 Change mode of registers used to add/sub from
c3499f00
GK
5455 hard_frame_pointer_rtx from word_mode to Pmode.
5456
01898d58
NC
5457Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
5458
6db34dd4
NC
5459 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
5460 asm_output_aligned_bss() instead of asm_output_bss().
5461
01898d58
NC
5462 * toplev.c (rest_of_compilation): Replace references to
5463 stack_reg_dump_file and dbr_sched_dump_file with references to
b57062ca 5464 rtl_dump_file.
01898d58 5465
7b6ffd11
KI
5466Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
5467
5468 * tlink.c (scan_linker_output): Call fclose() for opened files.
5469
60593797
RH
5470Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
5471
5472 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
5473 compiling with -fpic -- we want to be able to override symbols
5474 properly.
5475 (alpha_expand_block_move): Fix thinko in last change.
5476
5477 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
5478 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
5479 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
b57062ca 5480
5e4aab97
RH
5481Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
5482
5483 * alpha.md (abssf, absdf): Revert last change.
5484
69145bcc
JC
5485Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
5486
5487 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
5488 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
5489
4926b75a
JL
5490Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
5491
5492 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
5493 a CONST_INT into SFmode.
5494
c6aded7c
AG
5495Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
5496
5497 * flags.h: New flag (optimize_size).
5498 * toplev.c (main): Parse -Os option and set optimize_space
5499 accordingly.
b57062ca 5500 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
c6aded7c
AG
5501 __OPTIMIZE_SIZE__ when compiling with -Os.
5502 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
5503 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
5504 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
5505 to macro.
5506 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
5507
3698f44e
MH
5508Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
5509
5510 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
5511 stuff only if MCT_TEXT is #define'd.
5512
ac8a456a
MO
5513Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
5514
5515 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
5516 configurations.
5517
032713aa
NC
5518Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
5519
5520 * toplev.c: Add -dM command line option to dump RTL after the
5521 machine dependent reorganisation pass, if there is one.
5522 Reorganise RTL dump code, so that only one file handle is
b57062ca 5523 needed.
032713aa 5524
ec2be682
BK
5525Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
5526
5527 * except.c (check_exception_handler_labels): Disable warning when
5528 flag_syntax_only.
5529
e232b7b3
JW
5530Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
5531
5532 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
5533
2a851b5c
R
5534Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5535
5536 * c-decl.c (grokdeclarator): Get parameter tags from
5537 last_function_parm_tags.
5538 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
5539 traversing the parameter types.
5540 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
5541
808fbfac
JL
5542Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
5543
5544 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
5545 the default case.
5546 (get_shift_alg): Fix typo.
5547
15389075
RH
5548Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
5549
5550 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
5551
83c8ddef
RH
5552Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
5553
5554 * toplev.c (get_run_time): Make sure each case gets its variables.
5555
db81d74a
RH
5556Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
5557
5558 * configure.in (build_xm_file): Add auto-config.h if host=build.
5559 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
5560 (build_xm_file_list): Likewise.
5561 * configure: Rebuild.
b57062ca 5562
f745c7a2
AB
5563Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
5564
5565 * recog.c (validate_replace_rtx_1): Only perform substitutions
5566 of arguments to commutative and comparison operators once.
5567
963f4057
KG
5568Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5569
91a51951
KG
5570 * sparc.c (output_cbranch): Add default case in
5571 enumeration switch.
b57062ca 5572
91a51951
KG
5573 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
5574 (emit_delay_sequence): Eliminate unused parameter, all callers
5575 changed.
5576 (fill_simple_delay_slots): Likewise.
5577 (fill_slots_from_thread): Likewise.
5578 (fill_eager_delay_slots): Likewise.
5579 (mark_referenced_resources): Add default case in enumeration switch.
5580 (mark_set_resources): Likewise.
5581 (rare_destination): Likewise.
5582 (mostly_true_jump): Likewise.
5583 (find_dead_or_set_registers): Likewise.
5584 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
5585 (update_reg_unused_notes): Remove unused variable `p'.
5586 (mark_target_live_regs): Remove unused variables `next' and
5587 `jump_count'.
5588 (fill_simple_delay_slots): Remove unused variable `j'.
5589 (fill_slots_from_thread): Add parentheses around assignment used
5590 as truth value.
5591 (dbr_schedule): Likewise.
5592
963f4057
KG
5593 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
5594 (objc.stage2, objc.stage3, objc.stage4): Likewise.
5595
e82ad93d
MT
5596Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
5597
5598 * cse.c (simplify_ternary_operation): Don't try to simplify
5599 IF_THEN_ELSE expressions (created by combine) that don't use
5600 relational operators.
5601
b4b04bf9
JL
5602Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
5603
ed1ecb19
JL
5604 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
5605 simplifications.
5606
b4b04bf9
JL
5607 * crtstuff.c (init_dummy): Keep the epilogue in the init
5608 section for non-ELF systems.
5609
deeef0ac
R
5610Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5611
5612 * sh.md (movqi_i+1): New peephole.
5613
03566575
JW
5614Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
5615
5616 * Makefile.in: Remove remaining bytecode stuff.
5617 * emit-rtl.c, expr.c: Likewise.
5618
eb96c120
NC
5619Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
5620
5621 * toplev.c (lang_options): Add unknown-pragma options.
5622
f03204e9
PB
5623Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
5624
5625 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
5626 special (and incomplete) handling for Chill arrays.
5627
4e762a38
JC
5628Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
5629
5630 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
5631 to get clock rate.
5632
c3499f00 5633Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
319f217e
GK
5634
5635 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
5636
19f673eb
SS
56371998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
5638
5639 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
5640 .frame directive instead of FRAME_POINTER_REGNUM.
5641
74cf1c6d
RK
5642Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
5643
5644 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
5645 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
5646 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
5647 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
5648 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
5649 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
5650 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
5651 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
5652 mcpu32 or m5200.
5653 * longlong.h: Replace __mc68332__ with __mcpu32__.
5654
e1402e7d
JL
5655Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
5656
5657 * version.c: Bump for snapshot.
5658
6d49a073
JW
5659Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
5660
5661 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
5662 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
5663 * reload1.c (eliminate_regs): Likewise.
5664
c485e6a0
JL
5665Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
5666
5667 * regmove.c (find_matches): Initialize matches->earlyclobber too.
5668
84303d9a
RH
5669Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
5670
5671 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
5672 (negsf2, negdf2): Use proper subtract in IEEE mode.
5673
b93a436e
JL
5674Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
5675
27766f0e
JL
5676 * Makefile.in: Remove more bytecode stuff.
5677 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
5678 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
5679 * f/install.texi, objc/Make-lang.in: Likewise.
5680
b93a436e
JL
5681 * Makefile.in: Remove all bytecode support.
5682 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
5683 * emit-rtl.c: Remove all bytecode support.
5684 * expr.c, expr.h function.c, integrate.c: Likewise.
5685 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
5686 * tree.h, varasm.c: Likewise.
424e713c
JL
5687 * config/m68k/m68k.h: Likewise.
5688 * bi-*, bc-*, bytecode*: Delete bytecode related files.
c9804136 5689 * modemap.def: Likewise.
b93a436e 5690
7e07e3ba
GK
5691Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
5692
5693 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
5694 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
5695
685885b7
RH
5696Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
5697
5698 * i386.md (push): Prohibit symbolic constants if flag_pic.
5699 (movsi+1): Likewise for move to non-register.
5700
5830e3a0
JW
5701Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
5702
11ea364a
JW
5703 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
5704 (print_operand): Handle 0xffffffff on 32 bit host.
5705
a851212a
JW
5706 * configure.in (thread_file): Rename uses before main loop to
5707 target_thread_file. Initialize to empty in main loop. Set thread_file
5708 to target_thread_file after main loop if not set.
5709 * configure: Rebuild.
5710
5830e3a0
JW
5711 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
5712 (add_values_to_cover): Revert last change (which had no ChangeLog
5713 entry).
5714 (simplify_with_current_value_aux): Handle CONST_INT.
5715
829e1aaf
AS
5716Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5717
5718 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
5719
76844337
RH
5720Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
5721
5722 * configure.in: Add cpp stringify test.
5723 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
5724 * gengenrtl.c: Use it.
5725 * configure, config.in: Rebuild.
5726
a3f80023
AS
5727Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5728
5729 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
5730
c5d0345e
RH
5731Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
5732
5733 * configure.in: Find declaration for sbrk.
5734 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
5735 * config.in, configure: Rebuild.
5736 * mips-tfile.c: Properly protect declaration of sbrk and free.
5737 * toplev.c: Properly protect declaration of sbrk.
5738
bb02e7ea
RH
5739Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
5740
5741 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
5742
30c2fa75
JL
5743Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
5744
5745 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
5746
a0372c94
MS
5747Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
5748
5749 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
5750
c9ec4f99
DM
5751Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
5752
0e9ff885
DM
5753 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
5754 constant offset computations from objects with known alignment in
5755 the presence of STACK_BIAS.
5756
7bcac048
DM
5757 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
5758 necessary.
5759 (const_hash): Hash val is unsigned long.
5760 (SYMHASH): Likewise.
5761
5762 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
5763
5764 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
5765 char pointer, not HOST_WIDE_INT.
5766 (print_node): Likewise. Also hash is unsigned long not
5767 HOST_WIDE_INT.
5768
5769 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
5770
c9ec4f99
DM
5771 * explow.c (optimize_save_area_alloca): New function for targets
5772 where SETJMP_VIA_SAVE_AREA is true.
5773 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
5774 compute the amount of stack space needed should we find later that
5775 setjmp is never called by this function, stuff rtl for this inside
5776 a REG_NOTE of the final SET of stack_pointer_rtx.
5777 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
5778 current_function_calls_alloca, call optimize_save_area_alloca.
5779
ca097615
JW
5780Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
5781
5782 * i386.md: Remove redundant integer push patterns.
5783 Don't bother checking for TARGET_PUSH_MEMORY when
5784 pushing constants or registers.
5785
a3105a89
MK
5786Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
5787 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
b57062ca 5788
a3105a89
MK
5789 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
5790 (pwait): New function for mingw32.
5791
5792 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
5793 pipe support is broken for now.
5794
51549d76
LI
57951998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
5796
ffc3503d
JL
5797 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
5798 between frame_pointer_rtx, hard_frame_pointer_rtx, and
5799 arg_pointer_rtx is respected in initialization.
5800 (init_emit_once): Use gen_rtx_raw_REG() to create
5801 return_address_pointer_rtx.
5802
51549d76
LI
5803 * reorg.c: #include "expr.h" for rtx prototypes.
5804 * Makefile.in (reorg.o): Depend on expr.h
5805
b24a815b
PN
5806Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
5807
5808 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
5809 local_prefix to sub-make invocations.
5810
1e7b997a
DM
5811Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
5812
5813 * objc-parse.c: Recognize protocol qualifiers in class definitions.
5814
340fb41f
JL
5815Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
5816
ffc3503d
JL
5817 * rtl.h: Fix typos.
5818
aef28d1d 5819 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6885fc87 5820 * configure.in: Check for atol.
aef28d1d
JL
5821 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
5822
4399e7a3
JL
5823 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
5824
72ec635f
JL
5825 * loop.c (find_and_verify_loops): When attempting to move insns from
5826 inside the loop outside the loop, create a BARRIER if no suitable
5827 one was found.
5828
1be6e437
JL
5829 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
5830 favor of an equivalent change from gcc-2.8.
5831
340fb41f
JL
5832 * i386/x-sco5 (CC): Remove trailing whitespace.
5833
982255c8 5834Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 5835
982255c8
KG
5836 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
5837 (accessor_from_format): Likewise.
5838 (xmalloc): New function for use when linking with alloca.o.
5839
db8abea3
BH
5840Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
5841
5842 * frame.c (find_fde): Correct FDE's upper bound.
5843
5d483f63
RH
5844Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
5845
5846 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
5847
9a960e6b
JL
5848Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
5849
5850 * calls.c (expand_call): Move #ifdef code out of macro argument
5851 lists.
5852 (emit_library_call, emit_library_call_value): Likewise.
5853
a4b18346
JL
5854Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
5855
5856 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
5857
a252996a
JL
5858Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
5859
5860 * version.c: Bump for snapshot.
5861
38a448ca
RH
5862Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
5863
5864 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
5865 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
5866 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
5867 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
5868 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
5869 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
5870 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
5871 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
5872 * unroll.c, varasm.c: Likewise.
5873 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
5874
5875Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
60db002d
GK
5876
5877 * mips.h: Fix some type-o's from a previous change.
5878
a8decb2c
JL
5879Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
5880
b57062ca 5881 * loop.c (check_dbra_loop): Make sure initial value is a
a8decb2c
JL
5882 CONST_INT before trying to normalize it.
5883
0e2b736c
RL
5884Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
5885
5886 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
5887
a3aa3d8c
HB
5888Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
5889
5890 * cppexp.c: Include gansidecl.h
5891
8b496c8d
ILT
5892Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
5893
5894 * svr4.h (LINK_SPEC): Never specify -h.
5895 * ptx4.h (LINK_SPEC): Likewise.
5896 * rs6000/sysv4.h (LINK_SPEC): Likewise.
5897 * sparc/sol2.h (LINK_SPEC): Likewise.
5898
c995fea1
RH
5899Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
5900
8d47dfc5
RH
5901 * c-typeck.c (comptypes): Exit early on NULL input.
5902
c995fea1
RH
5903 * haifa-sched.c (schedule_insns): Correctly remove inter-block
5904 dependencies after reload.
5905
88ea0ad1
FS
5906Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5907
5908 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
5909
f5e86959
JL
5910Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
5911
5912 * alpha/vms.h (DIR_SEPARATOR): define
5913
5914Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6c32c807
BH
5915
5916 * Makefile.in (stamp-proto): Remove.
5917 (protoize.o, unprotoize.o): Straightforward compile.
5918 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
5919
93006f8c
MK
5920Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
5921
5922 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
5923 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
5924
e4c4f8df
JL
5925Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
5926
5927 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
5928 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
5929 * sparc/netbsd.h, vax/netbsd.h: Likewise.
5930
4aa0c2a5
SS
5931Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
5932
5933 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
5934
c43143f6
JW
5935Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
5936
5937 * configure.in (target_cpu_default, target_cpu_default2): Use double
5938 quotes around them when testing their value.
5939 * configure: Rebuilt.
b57062ca 5940
4b8140a6
JC
5941Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
5942
5943 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
5944 to allocate rtx.
5945 (gendef): Call obstack_alloc_rtx.
5946
82de9b28 5947Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
fe07d4c1
RL
5948
5949 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
5950 for now.
5951
23092526 5952Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
b57062ca 5953
23092526
MK
5954 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
5955 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
5956 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
5957
b57062ca 5958Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
32318600
JW
5959
5960 * mips.md (return_internal): Change mode from SImode to VOIDmode.
5961
ef720b21
KJ
5962Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
5963
5964 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
5965 "-static".
5966
cde21847
SC
5967Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
5968
5969 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
5970 suffix from operand 3.
5971
184bb750
R
5972Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5973 Jeffrey A Law (law@cygnus.com)
5974
5975 * regmove.c: New implementation of regmove pass.
5976 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
5977 decls, make them have external linkage. Return a value from
5978 optimize_reg_copy_1.
5979 * reload.h (count_occurrences): Add decl.
5980 * reload1.c (count_occurrences): Delete decl, make it have external
5981 linkage.
5982 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
5983
3f9e9508 5984Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
b57062ca 5985
3f9e9508
JL
5986 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
5987 if it is not defined.
b57062ca 5988
3b80f6ca
RH
5989Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
5990
5991 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
5992 * emit-rtl.c (gen_rtx): Move special code to ...
5993 (gen_rtx_CONST_INT): New function.
5994 (gen_rtx_REG): New function.
5995 (*): Update all calls to gen_rtx.
5996 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
5997 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
5998 (GEN_INT): Call gen_rtx_CONST_INT.
5999 * gengenrtl.c: New file.
6000
1c72c7f6
JC
6001Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
6002
6003 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
6004 (base_alias_check): If no base found for address call canon_rtx and
6005 try again.
6006
8fa4e1b4
JL
6007Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
6008
6009 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
6010 arguments for mips16.
6011 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
6012 Don't lose if tsize is zero after handling large stack for mips16.
6013 * mips.md (return): For trivial return, return address is in $31.
6014
eb774d8d
NS
6015Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
6016
6017 * mips/mips16.S: Various changes to make it work with -msingle-float
6018 and -EL.
6019
2bcb2ab3
GK
6020Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
6021 Ian Lance Taylor <ian@cygnus.com>
6022 Jeff Law <law@cygnus.com>
6023
6024 * mips.c, mips.h, mips.md: First cut at merging in mips16
6025 support. Major modifications throughout all three files.
6026
db0d1ed9
SS
6027Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
6028
6029 * configure.in: Make gthr-default.h a forwarding header instead of
6030 a symlink.
6031
79873958
KG
6032Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6033
86e011ad
KG
6034 * gcov-io.h: Include sys/types.h to ensure we get size_t.
6035
79873958
KG
6036 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
6037
35a42f5f
JW
6038Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
6039 Jeffrey A Law (law@cygnus.com)
6040
6041 * crtstuff.c (__frame_dummy): New function for irix6.
6042 (__do_global_ctors): Call __frame_dummy for irix6.
6043 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
6044
ef86d2ee
WL
6045Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
6046
6047 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
6048
6c174fc0
RH
6049Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
6050
6051 * c-decl.c (init_decl_processing): Provide proper fallback symbol
6052 for __builtin_memset.
6053 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
6054 not INTEGER_CST. Assert arg 3 is a constant.
6055
6056 * alpha.c (mode_width_operand): Accept 64-bit modes.
6057 (mode_mask_operand): Likewise.
6058 (print_operand): Likewise for 'M' and 'U' codes.
6059 (alpha_expand_unaligned_load): New function.
6060 (alpha_expand_unaligned_store): Likewise.
6061 (alpha_expand_unaligned_load_words): Likewise.
6062 (alpha_expand_unaligned_store_words): Likewise.
6063 (alpha_expand_block_move): Likewise.
6064 (alpha_expand_block_clear): Likewise.
6065 * alpha.h (MOVE_RATIO): New define.
6066 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
6067 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
6068
6069 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
6070 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
6071
8fbf199e
RH
6072Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
6073
6074 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
6075 * configure: Update.
6076
2d490e3e
JL
6077Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
6078
aa2ae679
JL
6079 * emit-rtl.c (operand_subword): Correctly handle extracting a word
6080 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
6081
2d490e3e
JL
6082 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
6083 for first argument.
6084
6e26218f
ILT
6085Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
6086
6087 * configure.in: Set and subsitute host_exeext. Use it when creating
6088 the assembler and linker symlinks.
6089 * configure: Rebuild.
6090 * Makefile.in (exeext): Set to @host_exeext@.
6091 (build_exeext): New variable, set to @build_exeext@.
6092 (FLAGS_TO_PASS): Pass down build_exeext.
6093 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
6094 programs.
6095
1b31097e
JL
6096Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
6097
6098 * mn10200.md (addsi3, subsi3): Fix thinkos.
6099
194faace
RH
6100Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
6101
6102 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
6103 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
6104 unix always, since we want to be able to thunk to functions in a
6105 shared library from an application.
6106
975602f8
ILT
6107Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
6108
6109 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
6110 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
6111
0eb1ad44
JL
6112Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
6113
6114 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
6115 offset's mode is not ptr_mode, convert it.
6116
eff0f7ac
MM
6117Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
6118
6119 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
6120 compiling if it was already defined.
6121
2c3a56ad
JL
6122Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
6123
6124 * flow.c (find_basic_blocks): Don't create a new basic block
6125 for calls in a LIBCALL block.
6126
fc97718f
DE
6127Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
6128
6129 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
6130
5b5a2a1e
JL
6131Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
6132
6133 * cse.c (rtx_cost): Remove conflicting default case.
6134
128f7968
RH
6135Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
6136
6137 * configure.in: Move default enabling of Haifa out of for loop.
6138 * configure: Rebuild.
6139
e81b4fbe
JL
6140Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
6141
6142 * version.c: Bump for snapshot.
6143
f24af81b
TT
61441997-12-25 Teemu Torma <tot@trema.com>
6145
6146 * Makefile.in (GTHREAD_FLAGS): New var.
6147 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
6148 (distclean): Remove gthr-default.h.
6149
6150 * configure.in: Accept dce as a thread package.
6151 Check for thread.h and pthread.h.
6152 Link gthr-default.h to appropriate thread file and set
6153 gthread_flags.
6154 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
6155 include multilib definitions from pa/t-dce-thr.
6156 (sparc-*-solaris2*): Enable threads by default, if thread.h or
6157 pthread.h is found, preferring posix threads over solaris ones.
6158
6159 * config/pa/t-dce-thr: New file.
6160 * config/pa/t-pa: Removed multilibs.
6161 * config/sparc/t-sol2: Ditto.
b57062ca 6162
f24af81b
TT
6163 * gthr.h: New file.
6164 * gthr-single.h: New file.
6165 * gthr-posix.h: New file.
6166 * gthr-solaris.h: New file.
6167 * gthr-dce.h: New file.
6168 * libgcc-thr.h: Removed.
6169 * objc/thr-dce.c: New file copied from thr-decosf1.c.
6170
6171 * frame.c: Include gthr.h instead of libgcc-thr.h.
6172 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
6173 (eh_context_initialize): If __gthread_once fails, use static eh
6174 context.
6175 (eh_context_free): Call __gthread_key_dtor.
6176
d9a4ee00
JL
6177Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
6178
6179 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
6180
04bd620d
JW
6181Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
6182
556c714b 6183 * cse.c (max_insn_uid): New variable.
556c714b
JW
6184 (cse_around_loop): Use max_insn_uid.
6185 (cse_main): Set max_insn_uid.
6186
04bd620d
JW
6187 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
6188 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
6189 -mlong64, and -mgp{32,64} options.
6190 * mips.c (mips_abi): Change type to int.
6191 * mips.h (enum mips_abi_type): Delete.
6192 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
6193 (mips_abi): Change type to int.
6194
439d5a35
JC
6195Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
6196
6197 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
6198 optimization is now always enabled.
6199
6200 * calls.c (expand_call): Recognize C++ operator new as malloc-like
6201 function.
6202
6203 * alias.c (memrefs_conflict_p): Eliminate tests now done by
6204 base_alias_check.
6205 (*_dependence): Call canon_rtx before base_alias_check.
6206 (init_alias_once): New function to precompute set of registers which
6207 can hold Pmode function arguments.
6208
6209 * rtl.h: Declare init_alias_once.
6210
6211 * toplev.c (compile_file): Call init_alias_once.
6212
280e521f
JL
6213Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
6214
6215 * tree.c (restore_tree_status): Do not dereference a null pointer.
6216
95b8c0c8
PE
6217Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
6218
6219 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
6220 RLIMIT_STACK. This maintains consistency with the recent, similar
6221 patch to cccp.c and toplev.c.
6222
71d9b493
RH
6223Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
6224
6225 * genattrtab.c (expand_units): For large nr opclasses, expand
6226 function_units_used with ORX to prevent blowups. Tag with FFS.
6227 (num_unit_opclasses): New variable.
6228 (gen_unit): Update it.
6229 (enum operator): Add ORX_OP.
6230 (operate_exp): Treat ORX as or, except don't expand across an if.
6231 Reuse number rtx's after operating on them.
6232 (check_attr_value): Accept IOR, AND, & FFS.
6233 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
6234 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
6235 (write_expr_attr_cache, write_toplevel_expr): New functions.
6236 (write_attr_get): Handle FFS-tagged expressions.
6237 (make_canonical): Don't expand const attributes.
6238 (convert_const_symbol_ref): Dike out.
6239 (evaluate_eq_attr): Handle SYMBOL_REF.
6240 (main): Don't emit get_attr_foo for const attributes.
6241
6242 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
6243 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
6244 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
b57062ca
UD
6245 * alpha.md: Redo all of the scheduling, adding EV6 support, and
6246 combining function units where possible.
71d9b493
RH
6247 (attr "type"): Split loads, stores, cmov into int/fp. Combine
6248 multiplies and divides. Add EV6 sqrt, ftoi, itof.
6249 (attr "opsize"): New attribute.
6250 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
6251 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
6252 to control register allocation.
6253 (movsi2-1, movdi2-1): Likewise.
6254
b0435cf4 6255Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
b57062ca 6256
b0435cf4
RH
6257 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
6258 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
6259 Move OSF/1 specific defines out.
6260 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
6261 Move Linux specific defines out.
6262 (LINK_SPEC): Genericize.
6263 (ASM_FILE_START): Emit .arch if using more than the base insn set.
6264 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
6265 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
6266 (HANDLE_SYSV_PRAGMA): Define.
6267 * alpha/osf.h: New file.
6268 * alpha/linux.h: Split. Retain file-format independant defines.
6269 Import Linux bits from elf.h.
6270 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
6271 (FUNCTION_PROFILER): _mcount takes its address in $28.
6272 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
6273 * alpha/linux-ecoff.h: New file.
6274 * alpha/linux-elf.h: New file.
6275 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
6276 * alpha/win-nt.h (TARGET_DEFAULT): Define.
6277 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
6278 Add new headers as appropriate.
b57062ca 6279
b0435cf4
RH
6280 * configure.in (alpha*): Enable Haifa by default.
6281 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
6282 * configure: Rebuild.
b57062ca 6283
5768f211
RH
6284Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
6285
6286 * Makefile.in (clean): Remove the stages with their objects here ...
6287 (distclean): ... instead of here.
6288
9e04c65a 6289Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 6290
9e04c65a
KG
6291 * cse.c (rtx_cost): Add default case in enumeration switch.
6292 * fix-header.c (recognized_macro): Likewise.
6293 (recognized_extern): Likewise.
6294 (write_rbrac): Likewise.
6295 * objc/objc-act.c (encode_aggregate): Likewise.
6296 (gen_declarator): Likewise.
6297 (gen_declspecs): Likewise.
6298
1d88b804
JL
6299Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
6300
6301 * haifa-sched.c (create_reg_dead_note): Detect and handle another
6302 case where we kill more regs after sched than were killed before
6303 sched.
6304 * sched.c (create_reg_dead_note): Similarly.
6305
bbeba0ba
JL
6306Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
6307
6308 * c-pragma.c: Include flags.h.
6309
05853640
MK
6310Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
6311
6312 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
6313 about system headers.
6314 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
6315 and also to resolve symbols in prefix.c.
6316
6317 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
6318 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
6319 when the definitions in auto-config.h is not visible.
6320 (HAVE_BZERO): Likewise.
6321 (HAVE_BCMP): Likewise.
6322 (HAVE_RINDEX): Likewise.
6323 (HAVE_INDEX): Likewise.
6324
44201dba
JL
6325Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
6326
6327 * pa.c (emit_move_sequence): Handle a function label source
6328 operand.
6329
d300e551
NC
6330Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
6331
6332 * c-pragma.c (handle_pragma_token): Generate warning messages
6333 about unknown pragmas if warn_unknown_pragmas is set.
6334
6335 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
6336 line option to set variable: warn_unknown_pragmas.
6337
d3245704
MH
6338Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
6339
6340 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
6341 definition.
6342 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
6343
5198352e
JL
6344Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
6345
6346 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
6347 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
6348 generate more fine grained floating point emulation libraries.
6349 * config/fp-bit.c: Add protecting #ifdef to all functions so
6350 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
6351 then compile all suitable functions.
6352 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
6353 underscores to avoid namespace pollution.
6354 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
6355 (FPBIT): Define.
6356 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
6357 (FPBIT): Define.
6358 (DPBIT): Define.
6359
9f1ff8e8 6360Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1d300e19
KG
6361 Jeff Law <law@cygnus.com>
6362
6363 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
6364 of the declaration.
6365 * c-decl.c (finish_decl): Use parentheses around && within ||.
6366 * rtl.c: Include stdlib.h.
6367 (read_skip_spaces): Add parentheses around assignments used as
6368 truth values.
6369 (read_rtx): Initialize list_rtx.
6370 * cppexp.c (parse_number): Use || when operands are truth values.
6371 * alias.c (find_base_value): Add default case.
6372 (memrefs_conflict): Likewise.
6373 * combine.c (sets_function_arg_p): Likewise.
6374 * genemit.c (gen_exp): Likewise.
6375 * local-alloc.c (contains_replace_regs): Likewise.
6376 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
6377 * fold-const.c (fold_convert): Use "&&" for truth values.
6378 (fold): Add default case.
6379 * sdbout.c (sdbout_field_types): Fix typo in declaration.
6380 (sdbout_one_type): Add default case.
6381 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
6382 (some_operand): Add default case.
6383 (input_operand): Likewise.
6384 (signed_comparison_operator): Likewise.
6385 (divmod_operator): Likewise.
6386 (alpha_set_memflags_1): Likewise.
6387 * reload1.c (reload_cse_simplify_operands): Ensure function
6388 always returns a value.
6389 * scan-decls.c (scan_decls): Likewise.
6390 * c-lex.c (skip_white_space): Fix typo in declaraion.
6391 * c-typeck.c (comp_target_types): Add parentheses around assignment
6392 used as truth value.
6393 (print_spelling): Likewise.
6394 (constructor_implicit, constructor_result): Remove unused variables.
6395 * collect2.c (scan_library): Protect prototype with
6396 #ifdef SCAN_LIBRARIES.
6397 * emit-rtl.c (find_line_note): Fix typo in declaration.
b57062ca 6398 * final.c (asm_insn_count): Protect prototype with
1d300e19
KG
6399 #ifdef HAVE_ATTR_length.
6400 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
6401 (try_pre_increment_1, try_pre_increment): Likewise.
6402 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
6403 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
6404 * gcov-io.h (__store_long, __write_long, __read_long): Fix
6405 unsigned/signed comparisons.
6406 * gcov.c (read_files): Remove unused "first_type" variable.
6407 (scan _for_source_files): Initialize s_ptr.
6408 (function_summary): Eliminate "%lf" formatting, use %ld for
6409 longs.
6410 (output_data): Initialize branch_probs and last_line_num.
6411 Eliminate "%lf" formatting, use "%ld" for longs.
6412
18543a22
ILT
6413Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
6414
afba61d1
ILT
6415 * mips16.S: New file.
6416
6417 * libgcc2.c (varargs): Handle mips16.
6418
18543a22
ILT
6419 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
6420 expression.
6421 * stmt.c (expand_end_case): Likewise.
6422 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
6423 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
33f7f353 6424 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
18543a22 6425
dbf3231e
AS
6426Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6427
6428 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
6429 the build directory.
6430 (libobjc.a): Update dependency list.
6431 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
6432 directory.
6433 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
6434 (objc.mostlyclean): Remove runtime-info.h.
6435
e1ee5cdc
RH
6436Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
6437
6438 * tree.c (build_range_type): Allow creation of ranges with no maximum.
6439 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
6440 * dwarf2out.c (add_subscript_info): Likewise.
6441 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
6442 * sdbout.c (plain_type_1): Likewise.
6443 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
6444 Likewise.
6445 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
6446 Likewise.
6447
dfe91418 6448Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b57062ca 6449
dfe91418
JL
6450 * mips.c (fatal): Remove declaration.
6451
64521997-12-18 Mark Mitchell <mmitchell@usa.net>
6453
6454 * integrate.c (get_label_from_map): New function.
6455 (expand_inline_function): Use it. Initialize the label_map to
6456 NULL_RTX instead of gen_label_rtx.
6457 (copy_rtx_and_substitute): Use get_label_from_map.
6458 * integrate.h (get_label_from_map): New function.
6459 (set_label_from_map): New macro.
6460 * unroll.c (unroll_loop): Use them.
6461 (copy_loop_body): Ditto.
6462
337e2b69
ILT
6463Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
6464
6465 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
6466 (INIT_TARGET_OPTABS): Define.
6467 * mips/ecoff.h: Include gofast.h before mips.h.
6468 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
6469 * mips/elf64.h: Likewise.
6470 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
6471
02531345
JM
6472Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
6473
6474 * except.c: Remove register_exception_table{,_p}.
6475
913b5d54
GK
6476Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
6477
efb84aa5
GK
6478 * unroll.c (calculate_giv_inc): Handle constant increment found in
6479 a MEM with an appropriate REG_EQUAL note.
6480
bb1b857a
GK
6481 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
6482
913b5d54
GK
6483 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
6484 frame pointer in the prologue.
6485
80aab652
RL
6486Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
6487
6488 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
6489 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
6490
f5c4bc60 6491Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
b57062ca 6492
f5c4bc60
BM
6493 * config/m68k/m68k.c (output_function_prologue): Typecast
6494 dwarf2out_cfi_label to (char *).
6495 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
b57062ca 6496
8dcb5295
RH
6497Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
6498
6499 * sparc.md (jump): Don't use the annul bit around an empty loop.
6500 Patch from Kevin.Kelly@East.Sun.COM.
6501
a99503b1
SC
6502Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
6503
b57062ca 6504 * jump.c: (jump_optimize): Don't use the return register as a
a99503b1
SC
6505 source1 of a conditional move.
6506
e13c943c
RH
6507Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
6508
6509 * sparc.c (DF_MODES): Or the mask not the bit number.
6510 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
6511
be3d27d6
CI
6512Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
6513
6514 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
6515
f184a264
MH
6516Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
6517
ade7386a
MH
6518 * fixincludes (size_t): Add support for Motorola's stdlib.h
6519 which fails to provide a definition for size_t.
6520 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
6521 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
6522 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
6523
f184a264
MH
6524 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
6525 prevent unresolved externals in libio.
6526 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
6527
afc96791
L
6528Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
6529
6530 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
6531 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
6532 (LIB_SPEC): Updated for glibc 2.
6533
e9818f3c
JL
6534Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
6535
6536 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
6537 * ginclude/varargs.h: Likewise.
6538
a3fd4e75 6539Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
520cd331
JL
6540
6541 * version.c: Bump for snapshot.
6542
a3fd4e75
JL
6543Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
6544
6545 * frame.h (__register_frame, __register_frame_table,
6546 __deregister_frame): New.
6547 * frame.c (__register_frame, __register_frame_table,
6548 __deregister_frame): New.
6549 * frame.c (__deregister_frame_info): Return void *.
6550 * frame.h (__deregister_frame_info): Ditto.
6551 * collect2.c (__deregister_frame_info): Ditto.
6552
166cdf4a
RH
6553Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
6554
6555 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
6556
bcbbac26
RH
6557Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
6558
6559 * alpha.c (alpha_cpu_name): New variable.
6560 (alpha_mlat_string): Likewise.
6561 (alpha_memory_latency): Likewise.
6562 (override_options): Handle -mmemory-latency.
6563 (alpha_adjust_cost): Adjust load cost for latency.
6564 * alpha.h (TARGET_OPTIONS): Add meory-latency.
6565 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
6566 TARGET_CIX into account.
6567 (MEMORY_MOVE_COST): Define in terms of memory_latency.
6568 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
6569
6570 * alpha.h (ASM_COMMENT_START): New macro.
6571
6572Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
1914f5da
RH
6573
6574 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
6575 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
6576
6577 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
6578 SUBREG_REG if the word count is unchanged.
6579 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
6580 subregs of identical word size for push_reload.
6581
a701efba
MM
6582Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
6583
6584 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
6585 if all we're doing is dealing with -Wreturn-type.
6586
5e21ac7a
RH
6587Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
6588
6589 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
6590 Use and 255 instead of zapnot 1, since it schedules better.
6591
296f8acc
JL
6592Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
6593
6594 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
6595 it as volatile.
6596
6d8ccdbb
JL
6597Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
6598
6599 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
6600 dependency we delete. Properly update prev for multiple consecutive
6601 deletions.
6602 (priority): Skip deleted dependence.
6603
14e83f2e
PB
6604Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
6605
6606 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
6607
100d81d4
JM
6608Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
6609
9b8d9d6b
JM
6610 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
6611 determining when a new basic block starts.
6612
74c3447c
JM
6613 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
6614
6615 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
6616 * pa.md (iorsi3): Add missing args to *_operand calls.
6617
100d81d4
JM
6618 * except.c (call_get_eh_context): Don't mess with sequences.
6619 (emit_eh_context): Include the call in the sequence here.
6620
5a5ab947
PE
66211997-12-11 Paul Eggert <eggert@twinsun.com>
6622
6623 * collect2.c (write_c_file_glob): Allocate initial frame object
6624 in static storage and pass its address.
6625
01eb7f9a
JM
6626Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
6627
6628 * except.c (call_get_eh_context): Don't take a parm.
6629 Put the call at the top of the function.
6630 (emit_eh_context): Adjust.
6631 (get_eh_context): Replace with former use_eh_context.
6632 (get_eh_context_once, get_saved_pc_ref): Remove.
6633 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
6634 * except.h: Adjust.
6635 * integrate.c (expand_inline_function): Adjust.
6636 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
6637
d19814a3
ML
6638Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
6639
6640 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
6641 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
6642
7567d496
MH
6643Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
6644
ade7386a 6645 * fixincludes (strlen,strspn,strcspn return value): Handle different
7567d496 6646 layout on sysV88.
b57062ca 6647 (hypot): Provide a fake for hypot which is broken on
7567d496
MH
6648 m88k-motorola-sysv3.
6649
0a6969ad
JC
6650Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
6651
6652 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
6653 tree_code_name from pointers to arrays.
6654 * tree.c: Remove standard_tree_code_* variables, no longer used.
6655 * print-tree.c: Remove declaration of tree_code_name.
6656
6657 * cp/lex.c (init_lex): Update for tree_code_* changes.
6658 * objc/objc-act.c (init_objc): Likewise.
6659
6660 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
6661 changes.
6662
c55dcc7d
FF
6663Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
6664
6665 * config.sub: Add support for BeOS target.
6666 * configure.in: Likewise.
6667 * ginclude/stdarg.h: Likewise.
6668 * ginclude/stddef.h: Likewise.
6669 * ginclude/varargs.h: Likewise.
6670 * rs6000/beos.h: New file for BeOS.
6671 * rs6000/t-beos: Likewise.
6672 * rs6000/x-beos: Likewise.
6673 * rs6000/xm-beos.h: Likewise.
6674 * toplev.c (get_run_time): Just return 0 on BeOS.
6675
9cf3ae46
JL
6676Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
6677 Toon Moene (toon@moene.indiv.nluug.nl)
6678
6679 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
6680 old and broken Sun3 assemblers. Newer versions handle large
6681 offsets correctly as does the GNU assembler.
6682
7cc273ad
L
6683Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
6684
6685 * objc/objc-act.c (lang_report_error_function): Disable.
6686 * objc/objc-parse.y: Include "output.h".
6687 (yyerror): Remove redundant decl.
6688 (yyprint): Fix prototype.
6689 (apply_args_register_offset): Remove redundant decl.
6690 (get_file_function_name): Likewise.
6691
74d7ab55
JM
6692Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
6693
6694 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
6695 a new basic block.
6696 (find_basic_blocks_1): Likewise.
6697
0776059e
JM
6698Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
6699
6700 * except.c (use_eh_context): Don't copy_rtx a REG.
6701 (emit_throw): Lose old unwinder support.
6702 (expand_internal_throw): Likewise.
6703 * libgcc2.c (struct eh_context): Likewise.
6704 (new_eh_context): Likewise.
6705 (__get_eh_info): Lose redundant cast.
6706 (__get_dynamic_handler_chain): Likewise.
6707 (__get_saved_pc): Lose.
6708 Lose all old unwinder support code.
6709
154bba13
TT
6710Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
6711
6712 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
b57062ca 6713
154bba13
TT
6714 * integrate.c (expand_inline_function): If the inline fn uses eh
6715 context, make sure that the current fn has one.
6716 * toplev.c (rest_of_compilation): Call emit_eh_context.
6717 * except.c (use_eh_context): New fn.
6718 (get_eh_context_once): New fn.
6719 (call_get_eh_context): New fn.
6720 (emit_eh_context): New fn.
6721 (get_eh_context): Call either get_eh_context_once or
6722 call_get_eh_context, depending on what we have.
6723 (get_dynamic_handler_chain): Call get_eh_context_once.
6724 * except.h: Prototypes for fns above.
6725 * optabs.c (get_eh_context_libfunc): Removed.
6726 (init_optabs): Don't initialize it.
6727 * expr.h (get_eh_context_libfunc): Removed.
6728 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
6729 * config/pa/pa.h (CPP_SPEC): Support for -threads.
6730 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
6731 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
6732 New multilib for -threads.
6733 * config/sparc/t-sol2: Added multilibs for -threads and
6734 made -pthreads alias to it.
6735 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
6736 Added -threads and -pthreads options.
6737 * libgcc-thr.h: New file.
6738 * libgcc2.c: (__get_cpp_eh_context): Removed.
6739 (struct cpp_eh_context): Removed.
6740 (struct eh_context): Replaced cpp_eh_context with generic language
b57062ca 6741 specific pointer.
154bba13
TT
6742 (__get_eh_info): New function.
6743 (__throw): Check eh_context::info.
6744 (__sjthrow): Ditto.
6745 * libgcc2.c: Include libgcc-thr.h.
6746 (new_eh_context, __get_eh_context,
6747 eh_pthread_initialize, eh_context_initialize, eh_context_static,
6748 eh_context_specific, eh_context_free): New functions.
6749 (get_eh_context, eh_context_key): New variables.
6750 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
6751 get_eh_context to get the context.
6752 (longjmp): Move the declaration inside
6753 #ifdef DONT_USE_BUILTIN_SETJMP.
6754 * frame.c: Include libgcc-thr.h.
6755 (object_mutex): Mutex to protect the object list.
6756 (find_fde, __register_frame, __register_frame_table,
6757 __deregister_frame): Hold the lock while accessing objects.
6758 * except.h (get_eh_context): Declare.
6759 * except.c (current_function_ehc): Define.
6760 (current_function_dhc, current_function_dcc): Removed.
6761 (get_eh_context): New function.
6762 (get_dynamic_handler_chain): Use get_eh_context.
6763 (get_saved_pc_ref): Ditto.
6764 (get_dynamic_cleanup_chain): Removed references to
6765 current_function_dcc.
6766 (save_eh_status, restore_eh_status): Save and restore
6767 current_function_ehc instead.
6768 * optabs.c (get_eh_context_libfunc): New variable.
6769 (init_optabs): Initialize it.
6770 * expr.h: Declare get_eh_context_libfunc.
6771 * function.h (struct function): Replaced dhc and dcc with ehc.
6772 * except.c (get_saved_pc_ref): New functions.
6773 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
6774 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
6775 of eh_saved_pc.
6776 (end_eh_unwinder): Likewise.
6777 (init_eh): Remove initialization of eh_saved_pc.
6778 * optabs.c (get_saved_pc_libfunc): New variable.
6779 (init_optabs): Initialize it.
6780 * expr.h: Declare get_saved_pc_libfunc.
6781 * except.h (eh_saved_pc_rtx): Deleted.
6782 (get_saved_pc_ref): Declared.
6783
6784 From Scott Snyder <snyder@d0sgif.fnal.gov>:
6785 * libgcc2.c (__get_saved_pc): New.
6786 (__eh_type, __eh_pc): Deleted.
6787 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
6788 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
6789 this fcn.
6790
68d75312
JC
6791Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
6792
b16d8734
JC
6793 * sparc/sol2.h: Use 64 bit multiply and divide functions in
6794 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
6795 as 0.
6796
68d75312
JC
6797 * rtl.h (global_rtl): New variable, replacing separate variables for
6798 commonly used rtl.
6799 (const_int_rtx): Now array of rtx_def, not rtx.
6800 * emit-rtl.c: Update for new rtl data structures.
6801 * genattrtab.c: Define global_rtl.
6802
44517326 6803Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
f40421ce 6804
44517326
DE
6805 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
6806 default.
f40421ce 6807
8587487b
AG
6808Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
6809
6810 * crtstuff.c (__do_global_ctors): Fix typo.
6811
08ce3276
MH
6812Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
6813
6814 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
6815 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
6816
c229cba9
DE
6817Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
6818
6819 * rs6000.h (FUNCTION_ARG_PADDING): Define.
6820 * rs6000.c (function_arg_padding): New function.
6821
b2c59d0b
MH
6822Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
6823
6824 * m68k.c: Include tree.h only once.
6825
c1132c27
RK
6826Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6827
6828 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
6829
ac957f13
JL
6830Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
6831
6832 * Partially cleaned up prototyping code from HJ.
a1d061a1 6833 * tree.h: Add many prototypes.
ac957f13
JL
6834 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
6835 All references changed.
6836 * rtl.h: Protect from multiple inclusions. Add many prototypes.
b57062ca 6837
f40421ce 6838Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
ac957f13
JL
6839
6840 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
6841 string functions like strlen.
6842
0a232106
MH
6843Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
6844
6845 * configure.in: Check for functions getrlimit and setrlimit.
6846 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
6847 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
6848
25b76cc1
JS
6849Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
6850
6851 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
6852
26250081
RH
6853Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
6854
6855 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
6856 Fix merge problems.
6857
6858 * alpha.c (override_options): Don't know about scheduling for EV6.
6859 * alpha.md (ev5 function units): Don't overload as ev6.
6860
6861 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
6862 * alpha.md (define_attr type): Add mvi.
6863 (ev5_e0): Define sceduling parameters for it.
6864 (TARGET_MAX insns): Type is mvi not shift.
6865
7120f213
RH
6866Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
6867
6868 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
6869
afa80947
R
6870Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6871
6872 * cstamp-h, auto-config.h: Delete.
6873
51ca169b
JL
6874Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
6875
6876 * version.c: Bump for snapshot.
6877
16169366
JL
6878Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
6879
6880 * cccp.c: Fix typo brought over in merge.
6881
efeb5d4f 6882 * Merge in changes from gcc-2.8.
0fe09481 6883
da932f04
JL
6884Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
6885
6886 * m68k.c: Include tree.h for dwarf2out_cfi_label.
6887
6888 * gcc.c (process_command): Do not take address of function fatal when
6889 calling lang_specific_driver.
6890
6891Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
6892
b57062ca 6893 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
da932f04
JL
6894 doesn't work with it yet, so set it to 0.
6895 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
6896
6897Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
6898
6899 * cse.c (cse_insn): Check for invalid entries when taking references.
6900
81797aba
JL
6901Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6902
6903 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
6904 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
6905 * toplev.c (rest_of_compilation): Pass it. Remove code to
6906 save / clear / restore flag_unroll_{,all_}loops.
6907
6908Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
6909
6910 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
6911
6912Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
6913
6914 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
6915
5dfa7520
JM
6916Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
6917
d07daca1
JM
6918 * except.c (get_dynamic_handler_chain): Only make the call once per
6919 function.
6920
5dfa7520
JM
6921 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
6922
4d7b7169
R
6923Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6924
6925 * sh.c (final_prescan_insn): Use local label prefix
6926 when emitting .uses pseudo-ops.
6927
e701eb4d
JM
6928Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
6929
6930 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
6931 * except.c: Lose outer_context_label_stack.
6932 (expand_eh_region_end): Rethrow from outer_context here.
6933 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
6934 (expand_internal_throw): Take no args.
6935 (expand_internal_throw_indirect): Lose.
6936 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
6937 (expand_start_all_catch): Start a rethrow region.
6938 (expand_end_all_catch): End it.
6939 (expand_rethrow): New fn.
6940 * except.h: Reflect above changes.
6941 * flow.c: Revert change of Nov 27.
6942
6a242b6a
JL
6943Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
6944
6945 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
6946
9762d48d
JM
6947Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
6948
6949 * except.c (expand_fixup_region_end): New fn.
6950 (expand_fixup_region_start): Likewise.
6951 (expand_eh_region_start_tree): Store cleanup into finalization here.
6952 * stmt.c (expand_cleanups): Use them to protect fixups.
6953
868e82ab
GK
6954Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
6955
6956 * mips/mips.md (muldi3_r4000): Broaden the output template
6957 and attribute assignments to handle three operand dmult;
6958 rename to muldi3_internal2.
6959 (muldi3): Call the new muldi3_internal2 for R4000, and
6960 any GENERATE_MULT3 chip.
6961
716cc7f7
JM
6962Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
6963
6964 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
6965
9fb82071
JW
6966Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
6967
6968 * unroll.c (find_splittable_givs): Remove last change. Handle givs
6969 with a dest_reg that was created by loop.
6970
f2d76545
JL
6971Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
6972
6973 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
6974
6975 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
6976
b4dfb707
JL
6977Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
6978
6979 * configure.in: Fix NCR entries.
6980
80c2681c
JL
6981Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
6982
586a5f99
JL
6983 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
6984 nested exceptions correctly.
6985
80c2681c
JL
6986 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
6987 that was created by loop.
6988
f45ebe47
JL
6989Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
6990
6991 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
6992
6993 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
6994
034e84c4
MM
6995Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
6996
8fbd2dc7
MM
6997 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
6998 (print_operand): Use SMALL_DATA_REG for the register involved in
6999 small data relocations.
7000 (print_operand_address): Ditto.
7001
7002 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
7003 -dynamic linker is not used.
7004
a226df46
MM
7005 * rs6000.md (call insns): For local calls, use @local suffix under
7006 System V. Don't use @plt under Solaris.
7007
034e84c4
MM
7008 * rs6000.c (output_function_profiler): Put label address in r0, and
7009 store LR in 4(sp) for System V/eabi.
7010
7011 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
7012 byte boundary, and maintain stack backchain.
7013
f2d76545
JL
7014Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
7015
7016 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7017 fix_truncsfdi2): Change *.
7018
33e5c8c3
JM
7019Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
7020
7021 * toplev.c (main): Complain about -gdwarfn.
7022
f45ebe47
JL
7023Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
7024
b57062ca 7025 * dwarfout.c (output_type): If finalizing, write out nested types
f45ebe47
JL
7026 of types we've already written.
7027
92dcf4c8
MM
7028Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
7029
7030 (patches originally from Geoffrey Keating)
7031 * rs6000.c (function_arg): Excess floating point arguments don't
7032 go into GPR registers after exhausting FP registers under the
7033 System V.4 ABI.
7034 (function_arg_partial_nregs): Ditto.
7035
7036 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
7037 suffix to calls.
7038
f4744807
JM
7039Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
7040
7041 * integrate.c (output_inline_function): Just unset DECL_INLINE.
7042
7043Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
7044
7045 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
7046 proper alignment.
7047
7048 * libgcc2.c (__throw): Initialize HANDLER.
7049
0609f021
JW
7050Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
7051
7052 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7053 fix_truncsfdi2): Change *X to ?*X.
7054
c905c108
RH
7055Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
7056
7057 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
7058
5041a61c
JL
7059Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
7060
7061 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
7062
bb727b5a
JM
7063Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
7064
7065 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
7066
7067Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
7068
7069 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
7070 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
7071 * expr.h: Likewise.
7072
f45ebe47
JL
7073Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
7074
7075 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
7076 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
7077 gas and not using the new HP assembler.
7078
ef85603e
JL
7079Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
7080
7081 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
7082 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
7083
6cc1f5cb
AC
7084Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
7085
7086 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
7087 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
7088 definition.
7089
72eb1038
BH
7090Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
7091
7092 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
7093
1418bb67
JM
7094Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
7095
7096 * except.h: Add outer_context_label_stack.
7097 * except.c: Likewise.
7098 (expand_start_all_catch): Push the outer_context for the try block
7099 onto outer_context_label_stack.
7100 (expand_end_all_catch): Use it and pop it.
7101
9dab7833
RL
7102Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
7103
7104 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
7105
858e4e8c
RH
7106Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
7107
7108 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
7109
a21d14e9
KK
7110Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
7111
7112 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
7113 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
7114
ced78d8b
JM
7115Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
7116
7117 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
b57062ca 7118 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
ced78d8b
JM
7119 __builtin_delete, and __builtin_vec_delete.
7120
7121 * except.c (output_exception_table): Don't bother with
7122 __EXCEPTION_END__.
7123
a09ff88b
JL
7124Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
7125
1b8b89f1
JL
7126 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
7127 is an in/out operand.
7128 (zero extended variants of stwm/stwm patterns): Similarly.
7129
a09ff88b
JL
7130 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
7131
7bb9fb0e
JM
7132Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
7133
7134 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
7135 Use assemble_name.
7136 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
7137 (output_call_frame_info): Emit a \n after using it.
7138
9101297d
DL
7139Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
7140
7141 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
7142
2ed2af28
PDM
7143Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
7144
7145 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
7146 (ASM_OUTPUT_DWARF_VALUE4): New macro.
7147 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
7148 defined.
7149 (output_call_frame_info): Do not output forward label differences
7150 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
7151 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
7152
4dff12bf
R
7153Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7154
7155 * sh.md (attribute "type"): Add nil.
7156 (movsi_ie): y/y alternative is type nil.
7157 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
7158 alternatives.
7159 (movsf_ie+1): Delete.
7160
218c2cdb
JW
7161Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
7162
7163 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
7164 large_int, emit two insns instead of one splitable insn.
7165 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
7166 from cfa_temp_value, use cfa_offset. Add assert checking that
7167 cfa_reg is SP.
7168
d5b79362
TT
7169Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
7170
7171 * cccp.c (deps_output): Properly quote file names for make.
7172
de1ea87a
JL
7173Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
7174
7175 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
7176
cb0112a7
RL
7177Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
7178
7179 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
7180
85c3ba60
JL
7181Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
7182
7183 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
7184 return.
7185 (cse_end_of_basic_block): Similarly.
ef720b21 7186
9155d500
KJ
7187Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
7188
7189 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
7190 (SELECT_RTX_SECTION): Define.
7191 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
7192
4931312c
MH
7193Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
7194
7195 * Makefile.in (compare, compare-lean): Define $stage for each
7196 shell command.
7197 (gnucompare, gnucompare-lean): Likewise.
7198
8dfe3c62
RH
7199Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
7200
7201 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
7202
7203 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
7204 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
7205
874a8709
FF
7206Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
7207
7208 * dwarfout.c (byte_size_attribute): Add local var upper_bound
7209 and add case to handle STRING_TYPE.
7210 * dwarfout.c (output_string_type_die): Fix code to generate
7211 correct string length attribute for fixed length strings.
7212 Still needs support for varying length strings.
7213
ea466196
JL
7214Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
7215
7216 * toplev.c (get_run_time): Do something sensible for cygwin32.
7217
202f590e
RH
7218Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
7219
f35bcbc5
RH
7220 * expr.c (expand_builtin_setjmp): Set
7221 current_function_has_nonlocal_label.
7222 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
7223 call-saved registers across calls.
7224
7225 * alpha.md (exception_receiver): Remove.
7226 (nonlocal_goto_receiver_osf): New
7227 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
7228 (nonlocal_goto_receiver): New, select _osf or _vms.
7229
531ea24e
RH
7230 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
7231 keep them from being propogated to the object file.
7232 (alpha_write_linkage): Likewise.
7233 * alpha.md (call_vms): Likewise.
7234 (call_value_vms): Likewise.
7235 (unnamed osf call insns): Likewise.
7236
7237 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
7238 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
7239
202f590e
RH
7240 * alpha.c (call_operand): Any reg is valid for WinNT.
7241 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
7242 (anon nt calls): Add 'R' alternative.
7243 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
7244 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
7245
238ad62b
JL
7246Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
7247
f78b5ca1
JL
7248 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
7249
238ad62b
JL
7250 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
7251 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
7252 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
7253
da275344
MM
7254Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
7255
7256 * reload1.c (new_spill_reg): Improve fixed or forbidden register
7257 spill error message.
7258
1f1e1545
KG
7259Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7260
7261 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
7262 use varargs.h. Wrap header with <>, not "".
7263
daa4b717
JL
7264Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
7265
7266 * integrate.c (save_for_inline_copying): Add return value from
7267 savealloc.
7268
9bb5394e
BK
7269Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
7270
7271 * fixincludes: Be a little more restrictive on what we will
7272 substitute to replace definitions of MAXINT for HPUX.
7273
9571f69b
MM
7274Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
7275
7276 * dbxout.c (dbxout_symbol_location): Don't assume that variables
7277 whose address is the stack or argument pointers are indirect
7278 pointers.
7279
b57062ca
UD
72801997-11-13 Paul Eggert <eggert@twinsun.com>
7281
e7cbb6b6
PE
7282 * cccp.c, cpplib.c (compare_defs):
7283 Don't complain about arg name respellings unless pedantic.
b57062ca
UD
7284 * cpplib.c (compare_defs): Accept pfile as new arg.
7285 All callers changed.
e7cbb6b6 7286
9f29ca78
R
7287Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7288
7289 * fold-const.c (fold_truthop): Fix bug in last change.
7290
41c9120b
PE
72911997-11-13 Paul Eggert <eggert@twinsun.com>
7292
7293 Fix some confusion with IEEE minus zero.
7294
7295 * real.h (REAL_VALUES_IDENTICAL): New macro.
7296
7297 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
7298 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
7299 identical to 0.0.
7300 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
7301 same tree structure as 0.0.
7302
7303 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
7304 macro instead of doing it by hand.
7305
323d8e7b
JL
7306Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
7307
7308 * v850/lib1funcs.asm: Minor whitespace changes.
7309 * v850.c: Fix minor formatting problems in many places.
7310 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
7311
13529ea4
JW
7312Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
7313
7314 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
7315 xplus1 when xplus0 is not a register.
7316
759c135e
JL
7317Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
7318
8930b063
JL
7319 * flow.c (find_basic_blocks): During marking phase, if we encounter
7320 an insn with a REG_LABEL note, make the target block live and
7321 create an edge from the insn to the target block. Do not make
7322 edges from all blocks to the target block.
7323
0be28489
JL
7324 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
7325
759c135e
JL
7326 * confiugre.in: Tweak NCR entries.
7327 * configure: Rebuilt.
7328
47ad8c61
MM
7329Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
7330
7331 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
7332 pick apart floating point values, instead of using CONST_DOUBLE_LOW
7333 and CONST_DOUBLE_HIGH.
7334
7335 * rs6000.md (define_splits for DF constants): Use the appropriate
7336 REAL_VALUE_* interface to pick apart DF floating point constants in
7337 a machine independent fashion.
7338
5a6b3365
R
7339Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7340
7341 * fold-const.c (fold_truthop): When changing a one-bit comparison
7342 against zero into a comparison against mask, do a proper sign
7343 extension.
7344
2ec1535d
JL
7345Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
7346
3a88cbd1
JL
7347 * except.c: Do not include "assert.h".
7348 (save_eh_status): Turn asserts into conditional aborts.
7349 (restore_eh_status, scan_region): Likewise.
7350 * dwarfout.c: Do not include "assert.h".
7351 (bit_offset_attribute): Turn asserts into conditional aborts.
7352 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
7353 (output_inlined_structure_type_die): Likewise.
7354 (output_inlined_union_type_die): Likewise
7355 (output_tagged_type_instantiation): Likewise.
7356 (dwarfout_file_scope_decl): Likewise.
7357 * dwarf2out.c: Do not include "assert.h"
7358 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
7359 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
7360 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
7361 (add_bit_size_attribute, scope_die_for): Likewise.
7362 (output_pending_types_for_scope): Likewise.
7363 (get_inlined_enumeration_type_die): Likewise.
7364 (get_inlined_structure_type_die): Likewise.
7365 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
7366 (gen_tagged_type_instantiation_die): Likewise.
7367
2ec1535d
JL
7368 * flow.c (find_basic_blocks): Refine further to get a more correct
7369 cfg, especially in the presense of exception handling, computed
7370 gotos, and other non-trivial cases. Call abort if an inaccuracy
7371 is detected in the cfg.
7372
a6124a42
R
7373Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7374
7375 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
7376
7377 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
7378 (skip_white_space): Use whitespace_cr.
7379 (check_newline): Handle whitespace more consistently.
7380
8f3189a4
JW
7381Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
7382
7383 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
7384 * i386/xm-cygwin32.h (POSIX): Define.
7385
6d1350cd
GK
7386Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
7387
7388 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
7389 is available elsewhere.
7390
d1f4474e
DE
7391Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
7392
7393 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
7394 what the instruction can handle.
7395
c7ae64f2
JM
7396Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
7397
7398 * stmt.c (expand_decl_cleanup_no_eh): New fn.
7399
7400 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
7401
ea64ef27
JL
7402Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
7403
7404 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
7405 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
7406
47ad8c61
MM
7407Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
7408
7409 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
7410 swap instruction order.
7411
0ff27f58
JL
7412Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
7413
7414 * fixinc.svr4 (__STDC__): Add another case.
7415
7091039c
R
7416Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7417
7418 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
7419 addresses in the epilogue delay slot.
7420
553914ad
MH
7421Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
7422
7423 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
7424 in generated `specs' file.
7425
64fde701
JW
7426Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
7427
7428 * flags.h (flag_rerun_loop_opt): Declare.
7429 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
7430 * toplev.c (flag_rerum_loop_opt): Delete static.
7431
1245df60
R
7432Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7433
1245df60
R
7434 Bring over from FSF:
7435
7436 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7437
7438 * va-sh.h (__va_arg_sh1): Define.
7439 (va_arg): Use it.
7440 SH3E doesn't use any integer registers for subsequent arguments
7441 once a non-float value was passed in the stack.
7442 * sh.c (machine_dependent_reorg): If optimizing, put explicit
7443 alignment in front label for ADDR_DIFF_VEC.
7444 * sh.h (PASS_IN_REG_P): Fix SH3E case.
7445 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
7446
7447 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7448
7449 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
7450 svr4.h.
7451
7452 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7453
7454 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
7455 put an use_sfunc_addr before each sfunc.
7456 * sh.md (use_sfunc_addr, dummy_jump): New insns.
7457 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
7458
7459 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7460
7461 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
7462
97991933
JM
7463Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
7464
7465 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
7466 linked once FDEs.
7467
eaf407a5
JL
7468Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
7469
7470 * alias.c (find_base_value): Only return the known base value for
7471 pseudo registers.
7472
4f9ca067
JW
7473Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
7474
7475 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
7476 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
7477 to pattern.
7478 (prologue_get_pc_and_set_got): New pattern.
7479
f4e31cf5
RH
7480Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
7481
7482 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
7483 for SUBREG, just fall through.
7484
7485 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
7486
7487 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
7488
f754c4a1
JL
7489Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
7490
3ed18aeb
JL
7491 * fixincludes: Fix "hypot" prototype in NeXT math.h.
7492
3fe40e05
JL
7493 * Makefile.in (USE_ALLOCA): Always include alloca.o.
7494 (USE_HOST_ALLOCA): Likewise.
7495
f754c4a1
JL
7496 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
7497 and LABEL_REFS fields.
7498 * rtl.h (LABEL_REFS): Update.
7499
ab00eb0a
JW
7500Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
7501
ff3467a9
JW
7502 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
7503 sets i2dest. When calling distribute_notes for i3dest_killed, pass
7504 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
7505 sets i1dest.
7506
4911814e
JW
7507 * mips.md (insv, extzv, extv): Add change_address call.
7508 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
7509
474eff88
JW
7510 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
7511
3feffdfe
JW
7512 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
7513
ab00eb0a
JW
7514 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
7515 save_restore_insns if no FP and GP will be restored.
7636d567 7516
31c8581d
JW
7517 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
7518 Convert CCmode to word_mode before calling GET_MODE_SIZE.
7519
7636d567
JW
7520 * acconfig.h (HAVE_INTTYPES_H): Undef.
7521 * configure.in (inttypes.h): Check for conflicts between sys/types.h
7522 and inttypes.h, and verify that intmax_t is defined.
7523 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
7524 * config/mips/x-iris3: Likewise.
7525
73774bc7
JL
7526Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
7527
7528 * alias.c (find_base_value): When copying arguments, return the
7529 tenative value for a hard register.
7530
645ebf37
DE
7531Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
7532
7533 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
7534 (yylex): Record wide strings using target endianness, not host.
7535
f7620587
JL
7536Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
7537
7538 * mn10200.h (ASM_OUTPUT_BSS): Delete.
7539 (ASM_OUTPUT_ALIGNED_BSS): New macro
7540 * mn10300.h (ASM_OUTPUT_BSS): Delete.
7541 (ASM_OUTPUT_ALIGNED_BSS): New macro.
7542 * v850.h (ASM_OUTPUT_BSS): Delete.
7543 (ASM_OUTPUT_ALIGNED_BSS): New macro.
7544
1686f1a2 7545Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
b57062ca 7546
1686f1a2
R
7547 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
7548
f6857708
JL
7549Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
7550
7551 * configure.in (sco5): Use cpio to install header files.
7552
e566af04
MH
7553Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
7554
7555 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
7556 14 char length.
7557 * configure: Rebuild.
7558
cbd44549
RL
7559Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
7560
7561 * i386/sco5.h: enable -gstabs once again.
7562
56636818
JL
7563Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
7564
7565 * arm.c (output_move_double): Allocate 3 entries in otherops array.
7566
9ad8a5f0
MS
7567Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
7568
7569 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
7570 notes for sjlj exceptions too.
7571 (expand_eh_region_end): Similarly for EH_REGION_END notes.
7572 (exception_optimize): Optimize EH regions for sjlj exceptions too.
7573 * final.c (final_scan_insn): Don't output labels for EH REGION
7574 notes if doing sjlj exceptions.
7575
f8671389
JL
7576Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
7577
8072f69c
JL
7578 * alias.c (init_alias_analysis): Handle -fno-alias-check when
7579 optimizing correctly.
7580
6cad9e32
JL
7581 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
7582 or set current_function_calls_setjmp anymore.
7583
f8671389
JL
7584 * flow.c (find_basic_blocks): If we delete the label for an
7585 exception handler, remove it from the EH label list and remove
7586 the EH_BEGIN/EH_END notes for that EH region.
7587
a886ae74
JM
7588Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
7589
7590 * flow.c (find_basic_blocks): Generate correct flow control
7591 information when exception handling notes are present.
7592
c2c85462
JL
7593Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
7594
7595 * dwarf2out.c (output_call_frame_info): Fix length argument
7596 to ASM_OUTPUT_ASCII.
7597 (output_die, output_pubnames, output_line_info): Likewise.
7598
8c316ae2
JL
7599Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
7600
27ca375a
JL
7601 * version.c: Bump for snapshot.
7602
8d4e65a6
JL
7603 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
7604 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
7605 flag_debug_asm is on.
7606 (output_die, output_pubnames, output_line_info): Likewise.
7607
ec907dd8
JL
7608 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
7609 and static_chain_rtx into the potential base values array if
7610 they are registers.
7611
7612 * alias.c (new_reg_base_value): New array of potential base values.
7613 (unique_id): Now file scoped static.
7614 (find_base_value, case REG): Return the value in reg_base_value
7615 array for the REG if it exists. Else, return the value from
7616 new_reg_base_value if copying args and REG is a hard register.
7617 (find_base_value, case PLUS): If either operand of the PLUS is
7618 a REG, try to get its base value. Handle base + index and
7619 index + base.
7620 (record_set): Use new_reg_base_value instead of reg_base_value.
7621 (init_alias_analysis): Allocate space for new_reg_base_value too.
7622 Rework code to iterate over the insns propagating base value
7623 information until nothing changes.
7624
8c316ae2
JL
7625 * global.c (global_alloc): Free the conflict matrix after
7626 reload has finished.
7627
6874c264
JM
7628Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
7629
7630 * libgcc2.c (L_eh): Define __eh_pc.
7631 Replace __eh_type with generic pointer __eh_info.
7632
59fe8c2c
R
7633Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
7634
7635 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
7636 use copy_to_reg if address is not a general_operand.
7637
d1271ded
R
7638Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7639
7640 * profile.c (output_func_start_profiler): Clear flag_inline_functions
7641 for the duration of the call to rest_of_compilation.
7642
ac52b80b
DE
7643Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
7644
7645 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
7646 Set extra_parts.
7647 (sparc*-*-*): Recognize --with-cpu=v9.
7648 * sparc/elf.h: New file.
7649 * sparc/t-elf: New file.
7650
f8912297
JL
7651Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
7652
7653 * mn10300.c (const_8bit_operand): New function.
7654 (mask_ok_for_mem_btst): New funtion.
7655 * mn10300.md (btst patterns with mem operands): Use new functions
7656 to avoid creating btst instructions with invalid operands.
7657
05ef204d
MM
7658Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
7659
7660 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
7661 are running on PowerPC Linux.
7662
feecabdf
GK
7663Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
7664
7665 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
7666 if not previously defined.
7667
de957303
DE
7668Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
7669
7670 * function.c (assign_parms): Correct mode of stack_parm if
7671 entry_parm underwent a mode conversion.
7672
ba3b3878
BK
76731997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
7674
7675 * global.c (global_alloc): Use xmalloc instead of alloca for
7676 CONFLICTS, since max_allocno * allocno_row_words alone can be more
7677 than 2.5Mb sometimes.
7678
d540ae2c
RH
7679Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
7680
7681 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
7682 DEST for the spill, adjust mode of SRC to compensate.
7683
42f4929d
RH
7684Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
7685
7686 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
7687 since any_memory_operand() allows pseudos during reload.
7688 (reload_inhi, reload_outqi, reload_outhi): Likewise.
7689
08417478
JW
7690Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
7691
7692 * m68k.md (btst patterns): Add 5200 support.
7693
750e8348
TM
7694Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
7695
7696 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
7697 optimizations, look inside dividend to determine if the expression
7698 can be simplified by using EXACT_DIV_EXPR.
7699
ede19932
JM
7700Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
7701
7702 From Brendan:
7703 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
7704
66d91cb9
RH
7705Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
7706
7707 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
7708
4f3f5e9f
RH
7709Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
7710
7711 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
7712 on a CLOBBER.
7713
f3352b9e
RH
7714Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
7715
7716 * alpha.md (movqi, movhi): Make sure new insns created during reload
7717 won't need reloading themselves.
7718 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
7719
0cecc190
JL
7720Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
7721
7722 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
7723
a09ba5a2
RH
7724Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
7725
7726 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
7727 Patch from Klaus Kaempf <kkaempf@progis.de>.
7728
7581a30f
JW
7729Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
7730
7731 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
7732 to an element in a constant string.
7733
d84e64d4
JM
7734Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
7735
7736 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
7737 bit PC-relative offset. The exception range table pointer is now in
7738 the CIE.
7739 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
7740 (count_fdes, add_fdes, get_cie): Adjust.
7741 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
7742
7743 From H.J. Lu:
7744 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
7745
96286722
RH
7746Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
7747
7748 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
7749 like stack_pointer_rtx.
7750
e85988b5
MH
7751Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
7752
361e618f
MH
7753 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
7754 targets using "$@" to provide support for similar but not identical
7755 targets without having to duplicate code.
7756 (bootstrap4): New goal.
7757
e85988b5
MH
7758 * Makefile.in (compare, compare-lean, compare3): Combined to one
7759 ruleset determining actions to be performed via $@.
7760 (compare4, compare4-lean): New targets.
7761 (gnucompare, gnucompare3): Combined to one ruleset determining
7762 actions to be performed via $@. Also, note which files failed
7763 the comparison test in .bad_compare.
7764 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
7765
91585c63
TM
7766Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
7767
7768 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
7769 if the dividend is a multiple of the divisor.
7770
da0af5a5
JL
7771Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
7772
7337c67f
JL
7773 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
7774
adb9effb 7775 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
6d849a2a 7776 and POS_DEC.
6d849a2a
JL
7777
7778 * alias.c (true_dependence): Fix typo.
7779
6d6d0fa0
JL
7780 * toplev.c (flag_rerun_loop_opt): New variable.
7781 (f_options): Handle -frerun-loop-opt.
7782 (rest_of_compilation): If -frerun-loop-opt, then run the loop
7783 optimizer twice.
7784 (main): Enable -frerun-loop-opt by default for -O2 or greater.
7785
da0af5a5
JL
7786 * loop.c (simplify_giv_expr): Adding two invariants results
7787 in an invariant.
7788
ca0f2220
RH
7789Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
7790
b57062ca 7791 * expr.c (get_inner_reference): Remove the array bias after
ca0f2220
RH
7792 converting the index to Pmode.
7793
a6f7ba17
JL
7794Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
7795
7796 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
7797 (TARGET_MULT_BUG): Define.
7798 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
7799 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
7800
17ad8a3b
JL
7801Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
7802
7803 * mn10200.c (indirect_memory_operand): Delete unused function.
7804 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
7805 * mn10200.md (bset, bclr insns): Handle output in a reg too.
7806
e16b49d3
RH
7807Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
7808
7809 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
7810 the callee's ldgp, we must do it ourselves, and we use the jsr tag
7811 for more than scheduling.
7812
27f65411
DE
7813Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
7814
7815 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
7816
e9ad4573
JL
7817Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
7818
7819 * mn10300.c (symbolic_operand, legitimize_address): New functions.
7820 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
7821 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
7822
66724f0a
JL
7823Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
7824
7825 * version.c: Bump for snapshot.
7826
c401498b
R
7827Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7828
7829 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
7830 for FILENAME.
7831
b22b9b3e
JL
7832Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
7833
56bf1fd9
JL
7834 * toplev.c (flag_exceptions): Default value is 2.
7835 (compile_file): If flag_exceptions still has the value 2, then
7836 set it to 0.
7837
a04232e5
JL
7838 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
7839 (rs6000_save_machine_status): Save pic_offset_table_rtx.
7840 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
7841
0bd83abd
JL
7842 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
7843 are shared.
7844
b22b9b3e
JL
7845 * rs6000.md (*movsi_got_internal_mem): New pattern.
7846 (*movsi_got_internal_mem splitter): New define_split.
7847
c1e385db
JW
7848Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
7849
7850 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
7851
1a986152
GK
7852Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
7853
7854 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
7855 only need to save LR.
7856
5d29a95f
JL
7857Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
7858
c6ee9150
JL
7859 * mn10300.md (movqi, movhi): Avoid using address registers as
7860 destinations unless absolutely necessary.
7861
d5255ba2
JL
7862 * mn10200.c (expand_prologue): Fix typo.
7863
9d2128b8
JL
7864 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
7865 addresses.
7866 * mn10200.md (neghi2): Provide an alternative which works if
7867 the input and output register are the same.
7868
576e5acc
JL
7869 * mn10300.c (print_operand): Handle 'S'.
7870 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
7871 shift amount in last alternative
7872
5d29a95f
JL
7873 * mn10300.c (expand_epilogue): Rework to handle register restores
7874 in "ret" and "retf" instructions correctly.
7875
3bf1b082
JW
7876Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
7877
7878 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
7879 extzv for memory operands.
7880
7881 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
7882 redundant conditional moves to single operand.
7883
ddbd8d36
NC
7884Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
7885
7886 * v850.h: Move define of __v850__ from CPP_PREDEFINES
7887 to CPP_SPEC.
b57062ca 7888
ddbd8d36
NC
7889 * xm-v850.h: Use __v850 rather than __v850__ to
7890 identify v850 port.
7891
a944a4eb
JW
7892Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
7893
7894 * mips/mips.c (compute_frame_size): Not a leaf function if
7895 profile_flag set.
7896
2d5b6dea
GK
7897Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
7898
7899 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
7900
f0a9fa6c
DE
7901Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
7902
7903 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
7904 (DEFAULT_ARCH32_P): New macro.
7905 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
7906 (enum cmodel): Declare.
7907 (sparc_cmodel_string,sparc_cmodel): Declare.
7908 (SPARC_DEFAULT_CMODEL): Provide default.
7909 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
7910 (TARGET_FULLANY): Deleted.
7911 (TARGET_CM_MEDMID): New macro.
7912 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
7913 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
7914 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
7915 (CPP_SPEC): Rewrite.
7916 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
7917 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
7918 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
7919 (ASM_SPEC): Add %(asm_arch).
7920 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
7921 Rename asm_default to asm_cpu_default.
7922 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
7923 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
7924 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
7925 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
7926 (MASK_INT64,MASK_LONG64): Delete.
7927 (MASK_ARCH64): Renamed to MASK_64BIT.
7928 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
7929 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
7930 (TARGET_SWITCHES): Always provide 64 bit options.
7931 (ARCH64_SWITCHES): Delete.
7932 (TARGET_OPTIONS): New option -mcmodel=.
7933 (INT_TYPE_SIZE): Always 32.
7934 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
7935 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
7936 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
7937 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
7938 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
7939 CPP_SPEC.
7940 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
7941 * sparc/linux.h: Likewise.
7942 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
7943 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
7944 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
7945 (SPARC_DEFAULT_CMODEL): Define.
7946 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
7947 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
7948 (LONG_DOUBLE_TYPE_SIZE): Define.
7949 (ASM_SPEC): Add %(asm_arch).
7950 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
7951 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
7952 (TARGET_CPU_DEFAULT): Add ultrasparc case.
7953 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
7954 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
7955 (SPARC_DEFAULT_CMODEL): Define.
7956 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
7957 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
7958 MASK_LONG64, MASK_MEDANY.
7959 (SPARC_DEFAULT_CMODEL): Define.
7960 (CPP_PREDEFINES): Delete.
7961 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
7962 (ASM_SPEC): Add %(asm_arch).
7963 (LONG_DOUBLE_TYPE_SIZE): Define.
7964 (DWARF2_DEBUGGING_INFO): Define.
7965 * sparc/splet.h (CPP_SPEC): Delete.
7966 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
7967 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
7968 (BLOCK_PROFILER): Likewise.
7969 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
7970 (sparc_override_options): Handle code model selection.
7971 (sparc_init_expanders): Renamed from sparc64_init_expanders.
7972 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
7973 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
7974 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
7975 (sethi_di_fullany): Delete.
7976
a3b0df2d
KK
7977Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
7978 Jeff Law <law@cygnus.com>
7979 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7980
3a133c72
KK
7981 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
7982 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
7983 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
7984 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
7985 * alpha/alpha.md (arg_home): Likewise.
7986
a3b0df2d
KK
7987 * alpha/alpha.c (vmskrunch): Delete
7988 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
7989 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
7990 truncate to 64 characters.
7991
7992 * make-l2.com: Support openVMS/Alpha.
7993
7994 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
7995
7d4f2e6c
R
7996Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7997
7998 * longlong.h (count_leading_zeros): Add missing casts to USItype.
7999
decd44ac
JL
8000Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
8001
8002 * i386/bsd386.h (ASM_COMMENT_START): Define.
8003
d1485032
JM
8004Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
8005
8006 * tree.c (restore_tree_status): Also free up temporary storage
8007 when we finish a toplevel function.
8008 (dump_tree_statistics): Print stats for backend obstacks.
8009
6bd35f86
DE
8010Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
8011
8012 * expr.c (use_group_regs): Don't call use_reg for MEMs.
8013
d1485032
JM
8014Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
8015
8016 * libgcc2.c (__throw): Don't copy the return address.
8017 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
8018
8019 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
8020 * toplev.c (main): Initialize exceptions_via_longjmp.
8021
8022 * tree.c: Add extra_inline_obstacks.
8023 (save_tree_status): Use it.
8024 (restore_tree_status): If this is a toplevel inline obstack and we
8025 didn't want to save anything on it, recycle it.
8026 (print_inline_obstack_statistics): New fn.
b57062ca 8027 * function.c (pop_function_context_from): Pass context to
d1485032
JM
8028 restore_tree_status.
8029 * obstack.h (obstack_empty_p): New macro.
8030
6981eacf
JL
8031Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
8032
8033 * i386/freebsd.h (ASM_COMMENT_START): Fix.
8034
1933ec7e
JW
8035Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
8036
8037 * v850.c (ep_memory_offset): New function.
8038 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
8039
8040 * v850.h (CONST_OK_FOR_*): Add and correct comments.
8041 (CONSTANT_ADDRESS_P): Add comment.
8042 (EXTRA_CONSTRAINT): Define 'U'.
8043 * v850.md: Add comments on bit field instructions.
8044 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
b57062ca 8045 (lshrsi3): Use N not J constraint.
1933ec7e
JW
8046
8047 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
8048
8049 * v850.c (reg_or_0_operand): Call register_operand.
8050 (reg_or_int5_operand): Likewise.
8051 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
8052 (TARGET_SWITCHES): Add "big-switch".
8053 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
8054 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
8055 (CASE_DROPS_THROUGH): Comment out.
8056 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
8057 * v850.md (cmpsi): Delete compare mode.
8058 (casesi): New pattern.
8059
8060 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
8061 * v850.md (ashlsi3): Use SImode not QImode for shift count.
8062 (lshrsi3): Likewise.
8063
8064 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
8065 unreachable switch statement after 'b' support. Remove "b" from
8066 strings for 'b' support.
8067 * v850.md (branch_normal, branch_invert): Change %b to b%b.
8068
13c2de98
JL
8069Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
8070
8071 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
8072 empty line if @inhibit_libc@ is empty.
8073
b2167bee
RL
8074Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
8075
8076 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
8077 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
8078 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
8079 (DWARF2_UNWIND_INFO): Let this track object file format.
8080 (EXTRA_SECTIONS): Add in_eh.
8081 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
8082 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
8083
bf2a2c6b
DM
8084Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
8085
8086 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
da2a90f7
DM
8087 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
8088 TARGET_MEDANY.
f4f8e370
DE
8089 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
8090 (output_double_int): Output DI mode values correctly when
8091 HOST_BITS_PER_WIDE_INT is 64.
9d162eb2
DE
8092 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
8093 fmovd so it works if a quad float ends up in one of the upper 32
8094 float regs.
7e37212e
DM
8095 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
8096 necessary for PIC support on sparc64.
bf2a2c6b 8097
9ff84e67
DE
8098Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
8099
8100 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
8101 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
8102 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
8103 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
8104 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
8105 (SPARC_FP_ARG_FIRST): New macro.
8106 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
8107 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
8108 (NPARM_REGS): There are 32 fp argument registers now.
8109 (FUNCTION_ARG_REGNO_P): Likewise.
8110 (FIRST_PARM_OFFSET): Update to new v9 abi.
8111 (REG_PARM_STACK_SPACE): Define for arch64.
8112 (enum sparc_arg_class): Delete.
8113 (sparc_arg_count,sparc_n_named_args): Delete.
8114 (struct sparc_args): Redefine and use for arch32 as well as arch64.
8115 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
8116 (FUNCTION_ARG_ADVANCE): Rewrite.
8117 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
8118 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
8119 (FUNCTION_ARG_CALLEE_COPIES): Delete.
8120 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
8121 (STRICT_ARGUMENT_NAMING): Define.
8122 (doublemove_string): Declare.
8123 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
8124 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
8125 (doublemove_string): New function.
8126 (output_move_quad): Clean up some of the arch64 support.
8127 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
8128 Don't add 8 bytes of reserved space if arch64.
8129 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
8130 (init_cumulative_args): New function.
8131 (function_arg_slotno): New static function.
8132 (function_arg,function_arg_partial_nregs): New functions.
8133 (function_arg_{pass_by_reference,advance}): New functions.
8134 (function_arg_padding): New function.
c1215820 8135 * ginclude/va-sparc.h: Rewrite v9 support.
9ff84e67 8136
b8fb2d72
CI
8137Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
8138
f22376c7
CI
8139 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
8140 for hard regs to determine base and index registers.
8141
b8fb2d72
CI
8142 * reload.c (debug_reload_to_stream): New function. Specify stream
8143 into which to write debug info.
8144 (debug_reload): Modify to call debug_reload_to_stream with stderr.
8145
b79ee7eb
RH
8146Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
8147
8148 * combine.c (can_combine_p): Don't combine with an asm whose
8149 output is a hard register.
8150
5c19a356
MS
8151Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
8152
8153 * c-decl.c (start_struct): Ensure that structs with forward
8154 declarations are in fact packed when -fpack-struct is given.
8155
8156 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
8157 we are packing a structure. This allows a structure with only
8158 bytes to be aligned on a byte boundary and have no padding on a
8159 m68k.
8160
02bef6da
RK
8161Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8162
8163 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
8164
9ecc37f0
RH
8165Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
8166
8167 * alpha.c (alpha_return_addr_rtx): New variable.
8168 (alpha_save_machine_status): New; save it.
8169 (alpha_restore_machine_status): New; restore it.
8170 (alpha_init_expanders): New; clear it.
8171 (alpha_return_addr): New; set it.
8172 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
8173 is overly conservative, so search the insns explicitly.
8174 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
8175 (alpha_sa_size [VMS && !VMS]): Likewise.
8176 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
8177 (INIT_EXPANDERS): New definition.
b57062ca 8178
9ecc37f0
RH
8179 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
8180 (output_prolog [!VMS]): Use them.
8181
8182 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
b57062ca 8183 (alpha_does_function_need_gp): ... a new function. Refine the
9ecc37f0
RH
8184 CALL_INSN test to just TYPE_JSR.
8185 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
8186
bda2ffef
JL
8187Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
8188
8189 * version.c: Bump for snapshot.
8190
96b63cd7
RK
8191Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8192
8193 * pa.c (move_operand): Respect -mdisable-indexing.
8194 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
8195
f192bf8b
DE
8196Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
8197
8198 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
8199 PPC601.
8200 (umulsidi3,umulsi3_highpart): Ditto.
8201 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
8202
2ea844d3
RH
8203Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
8204
8205 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
8206 (alpha_handle_trap_shadows): ... a new function. Handle the entire
8207 function in one go. Emit RTL for trapb, instead of printf directly.
8208 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
8209 (trap_pending): Kill global variable.
8210 (output_epilog): Don't call final_prescan_insn.
8211 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
8212 * alpha.h (FINAL_PRESCAN_INSN): Remove.
8213 (MACHINE_DEPENENT_REORG): Define.
8214 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
8215 (trapb): New insn.
8216
74835ed8
RH
8217Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
8218
8219 Tune Haifa scheduler for Alpha:
8220 * alpha.h (ISSUE_RATE): Define.
8221 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
8222 EV4 adjustments to EV5.
8223 * alpha.md: Remove all scaling from function unit delays. Rework
8224 EV5 function units to match the CPU.
8225 (umuldi3_highpart): EV5 added the IMULH insn class.
8226
cdc0de30
JL
8227Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
8228
8229 * pa.c (following_call): Fail if the CALL_INSN is an indirect
8230 call.
8231
041c97f2
MM
8232Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
8233
8234 * cplus-dem.c (demangle_signature): Don't look for return types on
8235 constructors. Handle member template constructors.
8236
f0632762
JM
8237Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
8238
8239 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
22ef8a13 8240 * tree.h: Declare them.
f0632762 8241
dec88383
DE
8242Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
8243
8244 * configure.in: Handle --with-newlib.
8245 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
8246
8247 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
8248
0e1f3f5e
JL
8249Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
8250
8251 * config/ptx4.h: Fix typo.
8252
12504ae0
JL
8253Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
8254
8255 * version.c: Bump for snapshot.
8256
5643c767
MH
8257Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
8258
8259 * aclocal.m4: Substitute INSTALL.
8260 * configure: Re-built.
8261
aa0c1401
JL
8262Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
8263
f644bd14
JL
8264 * integrate.c (save_for_inline_copying): Avoid undefined pointer
8265 operations.
8266 (expand_inline_function): Likewise.
8267
aa0c1401
JL
8268 * dwarf2out.c (output_call_frame_info): Reinstate last change
8269 using flag_debug_asm check instead of flag_verbose_asm.
8270
6c2df6c9
JW
8271Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
8272
8273 * dwarf2out.c (output_call_frame_info): Remove last change.
8274
13ab2b83
AS
82751997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8276
8277 * frame.c (__frame_state_for): Execute the FDE insns until the
8278 current pc value is strictly bigger than the target pc value.
8279
066c2fea
JM
8280Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
8281
b57062ca 8282 * regclass.c (init_reg_modes): If we can't find a mode for the
066c2fea
JM
8283 register, use the previous one.
8284
2f308fec
RH
8285Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
8286
8287 * haifa-sched.c (print_block_visualization): Call fprintf directly,
8288 don't sprintf through an alloca'ed buffer.
8289
43984e29
TK
8290Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
8291
8292 * reload.c (decompose): Always initialize val.base.
8293
e9e30253
MH
8294Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
8295
8296 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
8297 instead of aborting.
8298 * dwarf2out.c (output_call_frame_info): Call app_enable and
8299 app_disable to let GNU as accept the generated comments.
8300
496651db
MM
8301Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
8302
8303 * tree.h (get_file_function_name): Add declaration.
8304 * dwarf2out.c (output_call_frame_info): No need to cast
8305 get_file_function_name call anymore.
8306 * profile.c (toplevel): Remove get_file_function_name
8307 declaration.
8308 * c-lang.c (finish_file): Ditto.
8309
e6347456
CS
8310Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
8311
8312 * Makefile.in (program_transform_name): Let autoconf substitute
8313 the correct value.
8314
1447b516
JL
8315Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
8316
8317 * haifa-sched.c (schedule_block): If the first real insn in a
8318 block has any special notes attached to it, remove them.
8319
1a42ead7
RH
8320Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
8321
8322 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
8323
4b6140f1
MH
8324Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
8325
8326 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
8327
dc84d7bc
JL
8328Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
8329
8330 * Makefile.in (check-g77): New test target.
8331 (CHECK-TARGETS): Add check-g77.
8332
c0da11c4
JM
8333Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
8334
8335 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
8336
d8d64559
MM
8337Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
8338
8339 * flow.c (print_rtl_with_bb): Cast alloca return value for
8340 in_bb_p.
8341
e414ab29
RH
8342Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
8343
b57062ca 8344 * i386.h (RETURN_ADDR_RTX): New definition that works for
e414ab29
RH
8345 __builtin_return_address(0) and -fomit-frame-pointer.
8346
15039abe
JW
8347Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
8348
8349 Bring over from FSF.
8350 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
8351
b57062ca 8352 * mips.c (function_arg): Handle passing a struct
15039abe
JW
8353 containing a double in a DFmode register without the PARALLEL.
8354
281de624
ILT
8355Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
8356
d8d64559 8357 * pexecute.c: Use spawn if __CYGWIN32__.
281de624 8358
d8d64559 8359 * pexecute.c: Include "config.h" first, as per autoconf manual
281de624
ILT
8360 (from Paul Eggert <eggert@twinsun.com>).
8361
3cbdd5fc
PDM
8362Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
8363
8364 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
8365 optimisation for f/expr.o and f/stb.o.
8366
135d84b8
JL
8367Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
8368
8369 * cse.c (this_insn_cc0_mode): Initialize.
8370
55d89719
TK
8371Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
8372
d3878e49
TK
8373 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
8374
8375 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
55d89719 8376
e9d0757e
RH
8377Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
8378
8379 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
8380 that pair will dual-issue on the 21164 and plus+beq won't.
8381 (bne): Likewise for cmpeq+beq.
8382
3f34faec
JW
8383Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
8384
8385 * except.c (find_exception_handler_labels): Correct argument to free.
8386
3226dac5 8387Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
988cea7d
BK
8388
8389 * except.c (find_exception_handler_labels): Free LABELS when we're
8390 done.
8391
3a6eabfa
JL
8392Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
8393
8394 * version.c: Bump for snapshot.
8395
974c50f9
JM
8396Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
8397
8398 * flow.c (find_basic_blocks): Mark calls as potentially jumping
8399 to the EH labels.
8400
9b16d2c4
JL
8401Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
8402
8403 * configure.in: Substitute for "install" too.
8404 * configure: Rebuilt.
8405
b1e3ddfd
AJ
8406Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
8407
8408 * Makefile.in (bootstrap-lean, compare-lean): New targets.
8409
6662a38d
RH
8410Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
8411
c02f035f
RH
8412 * alias.c (base_alias_check): Two symbols can conflict if they
8413 are accessed via AND.
8414 (memrefs_conflict_p): Likewise.
8415
7a14fdc5
RH
8416 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
8417 after flushing argument registers to the stack.
8418
6662a38d
RH
8419 * Makefile.in (mostlyclean): Remove .regmove files.
8420
f3447109
JM
8421Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
8422
8423 * libgcc2.c (__throw): Fix thinko.
8424
37f6b6bf
MM
8425Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
8426
8427 * cplus-dem.c (demangle_template): Add new parameter. Handle new
8428 template-function mangling.
8429 (consume_count_with_underscores): New function.
8430 (demangle_signature): Handle new name-mangling scheme.
8431
adfc539e
PDM
8432Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
8433
8434 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
8435 start and end.
8436
92cbe4d2
JL
8437Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
8438
8439 * frame.c: Remove last change.
8440 * dwarf2.h: Remove last change.
8441 * tree.h: Add declarations of DWARF2 unwind info support
8442 functions.
8443
2f3ca9e7
JM
8444Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
8445
8446 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
8447 * tree.h (built_in_function): Likewise.
8448 * expr.c (expand_builtin): Likewise.
8449 * except.h: Likewise.
8450 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
8451 * libgcc2.c (copy_reg): New fn.
8452 (__throw): Use it.
8453
407cb092
PE
8454Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
8455
8456 * c-typeck.c (build_binary_op): Warn about comparing signed vs
8457 unsigned if -W is specified and -Wno-sign-compare is not.
8458 * c-decl.c (warn_sign_compare): Initialize to -1.
8459 (c_decode_option): -Wall no longer implies -Wsign-compare.
8460
3ba10494
AS
8461Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8462
a7cc7f29
AS
8463 * frame.c: Include gansidecl.h for PROTO.
8464 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
8465 defined. Don't declare dwarf2out_cfi_label here.
8466 * dwarf2.h: Add declarations of DWARF2 unwind info support
8467 functions.
8468 * m68k.c: Include dwarf2.h.
8469 (output_function_prologue): Add dwarf2 support.
8470 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
8471 (INCOMING_FRAME_SP_OFFSET): Likewise.
8472
3ba10494
AS
8473 * integrate.c (expand_inline_function): Make sure there is at
8474 least one insn that can be used as an insertion point.
8475
c5cec899
JM
8476Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
8477
8478 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
8479
e166cb18
JL
8480Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
8481
8482 * version.c: Bump for snapshot.
8483
01a94cba
DE
8484Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
8485
8486 Bring over from FSF.
8487
8488 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
8489
8490 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
8491 (get_pc_via_rdpc): Renamed from get_pc_sp64.
8492 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
8493
8494 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
8495
8496 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
8497 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
8498 -malign-functions=.
8499 (sparc_align_{loops,jumps,funcs}_string): Declare.
8500 (sparc_align_{loops,jumps,funcs}): Declare.
8501 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
8502 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
8503 (STACK_BIAS): Define.
8504 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
8505 test.
8506 (SPARC_SETHI_P): New macro.
8507 (CONST_OK_FOR_LETTER_P): Use it.
8508 (ASM_OUTPUT_ALIGN_CODE): Define.
8509 (ASM_OUTPUT_LOOP_ALIGN): Define.
8510 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
8511 (sparc_align_{loops,jumps,funcs}): New globals.
8512 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
8513 -malign-functions=.
8514 (move_operand): Use SPARC_SETHI_P.
8515 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
8516 perform test.
8517 (arith11_double_operand): Likewise.
8518 (arith10_double_operand): Likewise.
8519 (finalize_pic): Finish sparc64 support.
8520 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
8521 64 bit constants if able.
8522 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
8523 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
8524 ! TARGET_FPU.
8525 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
8526 (get_pc_sp32): Use for sparc64 as well.
8527 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
8528 (sethi_di_sp64_const): Likewise.
8529 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
8530 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
8531 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
8532
8533 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
8534
8535 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
8536 * sparc/linux.h (COMMENT_BEGIN): Likewise.
8537 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
8538
8539 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
8540
8541 Add sparc64 linux support.
8542 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
8543 to xm_file list on 32-bit sparc-linux.
8544 * sparc/xm-sp64.h: New file.
8545 * sparc/linux64.h: New file.
8546 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
8547 Don't include xm-sparc.h.
8548 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
8549 * glimits.h (LONG_MAX): Handle sparc64.
8550
8551 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
8552
8553 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
8554 * sparc.h (ASM_COMMENT_START): Define.
8555 * sparc.c (output_function_prologue): Use it.
8556 (sparc_flat_output_function_{epi,pro}logue): Likewise.
8557
8558 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
8559
8560 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
8561 use sparc.h's copies.
8562 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
8563 ascii form as well.
8564
8565 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8566
8567 * sparc.c (dwarf2out_cfi_label): Add declaration.
8568 (save_regs, output_function_prologue): Remove cast for it.
8569 (sparc_flat_{save_restore,output_function_prologue): Likewise.
8570 ({save,restore}_regs): No longer inline.
8571
ce2157a1
JL
8572Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8573
8574 * fold-const.c (make_range): Correctly handle cases of converting
8575 from unsigned to signed type.
8576
8577Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
8578
8579 * fold-const.c (merge_ranges): Make sure that if one range is subset
8580 of another, it will always be the second range. Correct (+,-) case to
8581 account for this.
8582
c5cec899
JM
8583Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
8584
8585 * final.c (final_end_function): Also do dwarf2 thing if
8586 DWARF2_DEBUGGING_INFO.
8587 (final_start_function): Likewise.
8588
c107334d
DM
8589Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
8590
e13a25d5
DM
8591 * expmed.c (expand_divmod): If compute_mode is not the same as
8592 mode, handle the case where convert_modes() causes op1 to no
8593 longer be a CONST_INT.
8594
c107334d
DM
8595 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
8596 note holding get_jump_flags() calculation to all JUMP_INSNs.
8597 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
8598 * rtl.c (reg_note_name): Add new note types.
8599
8d7532d9
JL
8600Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
8601
0774afd7 8602 * rtlanal.c (computed_jump_p): Fix typo in last change.
8d7532d9 8603
7019d00e
L
8604Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8605
8606 * loop.c (indirect_jump_in_function_p): Return 0
8607 by default.
8608
b9dfb357
JL
8609Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
8610
8611 * rs6000/xm-rs6000.h: Fix thinko in last change.
8612 * rs6000/xm-sysv4.h: Likewise.
8613
4b7e467b
JW
8614Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
8615
8616 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
8617
8c8e6faa
JL
8618Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
8619
8620 * reg-stack.c (find_blocks): Fix thinko in last change.
8621
078e983e
AS
86221997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8623
8624 * m68k.c (output_function_prologue): Add dwarf2 support.
8625
8626 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
8627 INCOMING_FRAME_SP_OFFSET): New definitions.
b57062ca 8628
d7027667
DM
8629Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
8630
9524f769
DM
8631 * combine.c (try_combine): Use NULL_RTX instead of '0' where
8632 appropriate in calls to gen_rtx().
8633 * cse.c (cse_main): Likewise.
8634 * emit-rtl.c (gen_label_rtx): Likewise.
8635 * expr.c (init_expr_once): Likewise.
8636 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
8637 sched_analyze, init_rgn_data_dependences,
8638 compute_block_backward_dependences): Likewise.
8639 * sched.c (schedule_insns): Likewise.
8640 * varasm.c (immed_double_const): Likewise.
8641
d7027667
DM
8642 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
8643 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
8644
fbf8b71c
KJ
8645Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
8646
8647 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
8648 (MULTILIB_DEFAULTS): Define.
8649 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
8650 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
8651 (LIBGCC_SPEC): Likewise.
8652 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
8653 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
8654 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
8655 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
8656 (EXTRA_PARTS, TAROUTOPTS): Delete.
8657 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
8658 (MULTILIB_OPTIONS): Define.
8659 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
8660 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
8661
c14a951f
JL
8662Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
8663
8664 * version.c: Bump for snapshot.
8665
7014927a
JL
8666Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
8667
37aa45a2
JL
8668 * loop.c (loop_number): Delete function. Change all references
8669 to use uid_loop_num array.
8670 * loop.h (loop_number): Delete declaration.
8671 * unroll.c (unroll_loop): Change "loop_number" references to
8672 use uid_loop_num instead.
8673
b47404d1
JL
8674 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
8675 conditional.
8676 (loop_unroll_iter): Remove unused variable and all references.
8677 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
8678 (insert_bct): Fix minor formatting problems.
8679 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
8680 (loop_unroll_iter): Removed unused decl.
8681 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
8682 Always record the unrolling factor.
8683
cb3bb2a7
JL
8684 * cse.c (simplify_relational_operation): Set h0u just like h0s.
8685 Similarly for h1u and h1s.
8686
d5ff3a2e 8687 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
2a1777af
JL
8688 (find_basic_blocks): Use computed_jump_p to determine if a
8689 particular JUMP_INSN is a computed jump.
8690 * reg-stack.c (find_blocks): Use computed_jump_p to determine
8691 if a particular JUMP_INSN is a computed jump.
8692 * rtlanal.c (jmp_uses_reg_or_mem): New function.
8693 (computed_jump_p): Likewise.
8694 * rtl.h (computed_jump_p): Declare.
8695 * genattrtab.c (pc_rtx): Define and initialize.
8696 * loop.c (loop_optimize): Always determine if the current
8697 function has a computed jump.
8698 (indirect_jump_in_function_p): Use computed_jump_p to determine
8699 if a particular JUMP_INSN is a computed jump.
8700
7014927a
JL
8701 * loop.c (fix_bct_param): Delete unused function.
8702 (check_bct_param): Likewise.
8703
6d53d7c2
JM
8704Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
8705
8706 * frame.c (__deregister_frame): Check properly for initialized object.
8707
5a5e9503 8708Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
71e4fbe6
L
8709
8710 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
8711
272299b9
R
8712Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8713
cc5e1642
R
8714 * jump.c (thread_jumps): check can_reverse_comparison_p before
8715 threading a reversed-condition jump.
8716
272299b9
R
8717 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
8718 * haifa-sched.c (update_flow_info): Likewise.
8719
18511014
JL
8720Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
8721
e6493727
JL
8722 * Makefile.in (BOOT_CFLAGS): Use -O2.
8723
1e467e19
JL
8724 * configure.in (strtoul, bsearch): Have autoconf check for these
8725 functions.
8726 * configure, config.in: Rebuilt.
8727
18511014
JL
8728 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
8729 * mips/mips.h (alloca): Likewise.
8730 * rs6000/xm-rs6000.h (alloca): Likewise.
8731 * rs6000/xm-sysv4.h: Likewise.
8732
6020d360
JM
8733Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
8734
8735 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
8736 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
8737 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
8738
8739 * except.c (end_eh_unwinder): Subtract 1 from return address.
8740 * libgcc2.c (__throw): Likewise.
8741 (find_exception_handler): Don't change PC here. Compare end with >.
8742
b24bcfb3 8743Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
b57062ca 8744
b24bcfb3
NC
8745 * v850.c (compute_register_save_size): Correct register
8746 number.
8747 * v850.md (save_interrupt, return_interrupt): Correct
8748 register number.
8749 * v850/lib1funcs.asm (save_interrupt): Correct register number.
8750 (return_interrupt): Use stack pointer, not element pointer.
8751
93cf819d
BK
87521997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
8753
8754 * configure.in, configure: Make sure to create the stage* and include
8755 symbolic links in each subdirectory.
8756
f0501149
JL
8757Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
8758
8759 * pa.md (reload_peepholes): Don't allow addresses with side
8760 effects for the memory operand.
8761
4f870c04
JM
8762Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
8763
8764 * libgcc2.c (find_exception_handler): Subtract one from our PC when
8765 looking for a handler, to avoid hitting the beginning of the next
8766 region.
8767
8768 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
8769
4eb66248
JL
8770Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
8771
8772 * mips/abi64.h (LONG_MAX_SPEC): Define.
8773 * mips.h (LONG_MAX_SPEC): Define.
8774 (CPP_SPEC): Include long_max_spec.
8775 (EXTRA_SPECS): Include long_max_spec.
8776
44158507
JL
8777Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
8778
8779 * v850.c (construct_save_jarl): Fix thinko in last change.
8780
bf520cd9
JL
8781Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
8782
8783 * version.c: Bump for snapshot.
8784
255fe733
JM
8785Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
8786
c0727e2a
JM
8787 * libgcc2.c (find_exception_handler): Not found is -1.
8788
255fe733
JM
8789 * integrate.c (expand_inline_function): Move expand_start_bindings
8790 after expanding the arguments.
8791
21002281
JW
8792Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
8793
8794 * expr.c (expand_expr): Remove previous incorrect change.
8795 If target and slot has no DECL_RTL, then call mark_addressable
8796 again for the slot after we give it RTL.
8797
e693cc28 8798Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
f633220c 8799
e693cc28
UD
8800 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
8801 again for the slot after we give it RTL.
f633220c 8802
145870b5
NC
8803Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
8804
84e75068 8805 * v850.c (register_is_ok_for_epilogue,
145870b5
NC
8806 pattern_is_ok_for_epilogue, construct_restore_jr,
8807 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
8808
84e75068 8809 * v850.h (pattern_is_ok_for_prologue,
145870b5
NC
8810 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
8811 predicates.
8812
84e75068 8813 * v850.md: Replace prologue and epilogue patterns with a
145870b5
NC
8814 match_parallel pattern.
8815
76143254
JL
8816Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
8817
8818 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
8819 * configure.in: Use EGCS_PROG_INSTALL.
8820
4401bf24
JL
8821Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
8822
8823 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
8824 extern inline function.
8825
8826Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
8827
8828 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
8829 (concat_loc_descriptor): New function.
8830 (loc_descriptor): Call it.
8831 (add_AT_location_description): Also elide the descriptor if both
8832 halves of a CONCAT are pseudos.
8833 (add_location_or_const_value_attribute): Recognize CONCAT too.
8834
0d24ff5d
RH
8835Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
8836
4bb43724
RH
8837 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
8838
0d24ff5d
RH
8839 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
8840 out-or-range reg_offset.
8841 (output_epilog): Likewise.
8842
05ef8897
JL
8843Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
8844
8845 * cse.c (simplify_relational_operation): If MODE specifies a
8846 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
8847 is derived from the sign bit of the low word.
8848
ca55abae
JM
8849Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
8850
8851 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
8852
8853 * dwarf2.h: Add DW_CFA_GNU_args_size.
8854 * frame.c (execute_cfa_insn): Likewise.
8855 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
8856 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
8857 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
8858 insn, hand it off to dwarf2out_stack_adjust.
8859 (dwarf2out_begin_prologue): Initialize args_size.
8860 * frame.h (struct frame_state): Add args_size.
8861 * libgcc2.c (__throw): Use args_size.
8862 * final.c (final_scan_insn): If we push args, hand off all insns
8863 to dwarf2out_frame_debug.
8864 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
8865
8866 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
8867 Handle epilogue restore of SP from FP.
b57062ca 8868 * emit-rtl.c (gen_sequence): Still generate a sequence if the
ca55abae
JM
8869 lone insn has RTX_FRAME_RELATED_P set.
8870
8871 * frame.c (extract_cie_info): Handle "e" augmentation.
8872 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
8873 absence of UNALIGNED_*_ASM_OP.
8874 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
8875 (output_call_frame_info): Use "e" instead of "z" for augmentation.
8876 Don't emit augmentation fields length.
8877 (dwarf2out_do_frame): Move outside of #ifdefs.
8878 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
8879 opcodes.
8880
8881 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
8882 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
8883 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
8884 * sparc/sun4gas.h: New file.
8885 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
8886
b57062ca 8887 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
ca55abae
JM
8888 __register_frame_table and __deregister_frame.
8889
1d77fa53
BK
88901997-09-15 Brendan Kehoe <brendan@cygnus.com>
8891
8892 * except.c (find_exception_handler_labels): Use xmalloc instead of
8893 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
8894 in some cases.
8895
8be52aaa
JL
8896Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
8897
8898 * Makefile.in: Various changes to build info files
8899 in the object tree rather than the source tree.
8900
a3ee3246
JL
8901Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
8902
8903 * fixinc.math: New file to fix math.h on some systems.
8904 * configure.in (freebsd, netbsd): Use fixinc.math on these
8905 systems.
8906 * configure: Rebuilt.
8907
124da275
JL
8908Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
8909
8910 * regmove.c (regmove_optimize): If we end up moving the
8911 original insn due to lifetime overlaps, make sure to move
8912 REG_NOTES too.
8913
fca9d4b0
MH
8914Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
8915
8916 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
8917
326ee7a3
JL
8918Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
8919
8920 * haifa-sched.c (add_branch_dependences): Make each insn in
8921 a SCHED_GROUP_P block explicitly depend on the previous insn.
8922
ca55abae
JM
8923Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
8924
8925 * except.h: Prototype dwarf2 hooks.
8926 * expr.c: Adjust.
8927
5188d2b2
JW
8928Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
8929
8930 * configure.in (native_prefix): Delete.
8931 (mips-dec-netbsd): Don't set prefix.
8932 (*linux*): Don't set prefix.
8933
2e384318
FF
8934Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
8935
70988851
FF
8936 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
8937 defined. If not defined, include <sys/varargs.h> if
8938 HAVE_SYS_VARARGS_H is defined.
8939 * configure.in: Test for varargs.h and sys/varargs.h.
8940 * configure: Regenerate with autoconf.
8941 * config.in: Regenerate with autoheader.
8942
2e384318
FF
8943 * cpplib.c (quote_string): Cast first arg of sprintf call
8944 from "unsigned char *" to "char *".
8945 (output_line_command): Ditto.
8946 (macroexpand): Ditto.
8947 (do_line): Cast atoi arg from "unsigned char *" to "char *".
8948
3fb2f401
JL
8949Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
8950
f2e4e16f
JL
8951 * version.c: Bump for snapshot.
8952
3fb2f401
JL
8953 * Makefile.in (compare): Exit with nonzero status if there
8954 are comparison failures. Note which files failed the
8955 comparison test in .bad_compare.
8956
d26cb668
L
8957Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8958
8959 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
8960
ac64120e
JW
8961Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
8962
8963 * Makefile.in (LN, LN_S): New macros, use where appropriate.
8964 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
8965 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
8966 * configure: Regenerated.
8967
8968Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
8969
8970 * loop.c (strength_reduce): Fix typo.
8971
db87ec0b
JW
8972Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
8973
8974 * m88k/m88k.c (struct option): Rename to struct options.
8975 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
8976 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
8977 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
8978 __DOLPHIN__ or sysV88.
8979
04395f96
JW
8980Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
8981
8982 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
8983 create new subreg.
8984
becdcf6d
JL
8985Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
8986
8987 * config.sub: Accept 'amigados' for backward compatability.
8988
04395f96 8989Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
3979dfb8
JW
8990
8991 * Makefile.in (testsuite/site.exp): New target.
8992 (check-gcc, check-g++): Depend on testsuite/site.exp.
8993 Don't stop for failure.
8994
ca55abae
JM
8995Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
8996
8997 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
8998 if DWARF2_UNWIND_INFO.
8999
9000Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
9001
9002 Add support for exception handling using DWARF 2 frame unwind info.
9003 Currently works on SPARC and MIPS, and almost on x86.
b57062ca 9004
ca55abae
JM
9005 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
9006 next_stack_level, in_reg_window): Helper fns.
9007 (__throw): Implement for DWARF2_UNWIND_INFO.
9008
9009 * expr.c (expand_builtin): Handle builtins used by __throw.
9010 * tree.h (enum built_in_function): Add builtins used by __throw.
9011 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
9012 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
9013 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
9014 (expand_builtin_extract_return_addr): Likewise.
9015 (expand_builtin_frob_return_addr): Likewise.
9016 (expand_builtin_set_return_addr_reg): Likewise.
9017 (expand_builtin_eh_stub): Likewise.
9018 (expand_builtin_set_eh_regs): Likewise.
9019 (eh_regs): Choose two call-clobbered registers for passing back values.
9020
9021 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
9022 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
9023 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
9024 (stmp-multilib): Likewise.
9025 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
9026
9027 * except.c: #include "defaults.h".
9028 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
9029 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
9030 (register_exception_table_p): New fn.
9031 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
9032 (end_eh_unwinder): Likewise.
9033
b57062ca 9034 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
ca55abae
JM
9035 call __register_frame and __deregister_frame as needed.
9036 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
9037 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
9038 EH_FRAME_SECTION_ASM_OP.
9039 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
9040 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
9041 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
9042
9043 * dwarf2out.c (output_call_frame_info): If no support for
9044 EXCEPTION_SECTION, mark the start of the frame info with a
9045 collectable tag.
9046 * collect2.c (frame_tables): New list.
9047 (is_ctor_dtor): Recognise frame entries.
9048 (scan_prog_file): Likewise.
9049 (main): Pass -fno-exceptions to sub-compile. Also do collection
9050 if there are any frame entries.
9051 (write_c_file_stat): Call __register_frame_table and
9052 __deregister_frame as needed.
9053 (write_c_file_glob): Likewise.
9054
b57062ca 9055 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
ca55abae
JM
9056 Also require unaligned reloc support.
9057 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9058 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
9059 * sparc/sysv4.h: Not here.
9060
9061 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
9062 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
9063 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
9064
9065 * libgcc2.c (L_eh): Reorganize, moving code shared by different
9066 EH implementations to the top.
9067 (find_exception_handler): Split out. Start from 0. Compare against
9068 end with >=.
9069 (__find_first_exception_table_match): Use it.
9070 * except.c (output_exception_table): Don't do anything if there's
9071 no table. Don't output a first entry of zeroes.
9072 (eh_outer_context): Adjust properly.
9073 (add_eh_table_entry): Use xrealloc.
9074 * toplev.c (compile_file): Just call output_exception_table.
9075
9076Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
9077
9078 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
9079
9080Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
9081
9082 * except.c (eh_outer_context): Do masking using expand_and.
9083
b4d940a2
JL
9084Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
9085
9086 Add port done awhile ago for the ARC cpu.
9087 * arc/arc.h: New file.
9088 * arc/arc.c: New file.
9089 * arc/arc.md: New file.
9090 * arc/initfini.c: New file.
9091 * arc/lib1funcs.asm: New file.
9092 * arc/t-arc: New file.
9093 * arc/xm-arc.h: New file.
9094 * ginclude/va-arc.h: New file.
9095 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
9096 * ginclude/varargs.h: Likewise.
9097 * Makefile.in (USER_H): Add va-arc.h.
9098 * configure.in (arc-*-elf*): Recognize.
9099 * longlong.h: Add ARC support.
9100
9101Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
9102
9103 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
9104 when clearing non-BLKmode data.
9105
10211581
JL
9106Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
9107
9dfc6eba
MH
9108 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
9109 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
9110
55259219
MH
9111 * xm-m88k.h (USG): Only define if it hasn't already been defined.
9112
9113 * Makefile.in (risky-stage1): Delete gratutious whitespace.
9114
ee291069
MH
9115 * Makefile.in (clean): Delete libgcc1-test.
9116
10211581
JL
9117 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
9118
9119Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
48f0be1b
SC
9120
9121 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
9122 template.
9123
ca55abae
JM
9124Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9125
9126 * dwarf2out.c (output_call_frame_info): Call named_section.
9127
8f3d79e0
JL
9128Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
9129
9130 * haifa-sched.c (print_value): Fix last change.
9131
ca55abae
JM
9132Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
9133
9134 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
9135 write_symbols.
9136
9137Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
9138
9139 * mips.c (function_prologue): Set up the CFA when ABI_32.
9140
9141 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
9142 for dwarf2 unwind info.
9143 (output_function_prologue, sparc_flat_output_function_prologue): Same.
9144
9145 * final.c (final_end_function): Check dwarf2out_do_frame instead
9146 of DWARF2_DEBUG for dwarf2 unwind info.
9147 (final_scan_insn): Likewise.
9148 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
9149 (final): Not here.
9150
9151 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
9152 count > 0.
9153
9154 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
9155
74aca74b
NC
9156Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
9157
9158 * v850.h (ASM_SPEC): Pass on target processor.
9159 (CPP_PREDEFINES): Only define if not already specified.
9160 (TARGET_VERSION): Only define if not already specified.
9161 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
9162 processor.
9163 (EXTRA_SWITCHES): Extra entries in the switches array.
9164 (TARGET_DEFAULT): Set default target processor.
9165
c0b04148
JW
9166Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
9167
9168 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
9169 cases, add %# and %/, and add : to make them into extended asms.
9170
52b7724b
WL
9171Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
9172
9173 * alias.c (init_alias_analysis): Clean up incompatible pointer
9174 type warning in bzero.
9175 * regmove.c (regmove_optimize): Ditto.
9176 * haifa-sched.c (find_rgns): Ditto.
9177
9178 * haifa-sched.c (print_value): Clean up ptr->int cast
9179 warnings.
9180
0c82f6bf
FF
9181Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
9182
9183 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
9184 * install.texi (Configurations): Ditto.
9185 * config.sub: Ditto.
9186
1fed1f51
WL
9187Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
9188
9189 * Makefile.in (sdbout.o): Depend on insn-config.h.
9190
239e68f6
JW
9191Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
9192
9193 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
9194 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
9195
267c09ab
JM
9196Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
9197
9198 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
9199 prologue insn, only the first elt is significant.
9200 (output_call_frame_info): For exception handling, always use 4-byte
9201 fields as specified by the dwarf2 spec.
9202 Don't skip trivial FDEs.
9203
db7cafb0
JL
9204Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
9205
9206 * version.c: Bump for snapshot.
9207
9208Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
9209
9210 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
9211 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
9212 when op1_is_pow2.
9213
9214Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
9215
bf520cd9
JL
9216 * final.c (shorten_branches): During first pass, assume worst
9217 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
db7cafb0
JL
9218
9219 * Makefile.in (distclean): Remove various things left around
9220 by running the testsuite.
9221
7ed46111
MH
9222Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
9223
9224 * configure.in (out_file): Emit definition to config.status in order
9225 to have a defined value for configure.lang.
9226 * configure: Re-built.
9227
e41cea70
JJH
9228Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
9229
bf520cd9 9230 * configure.in: Make symlink to as-new rather than as.new. Similarly
e41cea70
JJH
9231 for ld-new.
9232 * configure: Rebuilt.
9233
1aeb1f6f
JW
9234Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
9235
9236 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
9237
770a0113
CK
9238Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
9239
9240 * sparc/sparc.md: Add ultrasparc scheduling support.
9241 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
9242
f5ffa999
PDM
9243Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
9244
9245 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
9246 as initial value for real_label_map.
9247 (copy_for_inline): Likewise.
9248
acceac1a
R
9249Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9250
9251 * sched.c (update_flow_info) When looking if to set found_split_dest
9252 or found_orig_dest, look at all parts of a PARALLEL.
9253 * haifa-sched.c (update_flow_info): Likewise.
9254
f84271d9
JL
9255Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
9256
9257 * v850: New directory for v850 port.
9258 * v850/lib1funcs.asm: New file.
9259 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
9260 * ginclude/va-v850.h: New file.
9261 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
9262 * configure.in (mn10200-*-*): New target.
9263 * configure: Rebuilt.
9264 * config.sub: Handle v850-elf.
b57062ca 9265 * Makefile.in (USER_H): Add va-mn10200.h.
f84271d9
JL
9266 * invoke.texi: Document v850 stuff.
9267
89cc6098
JW
9268Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
9269
04940ba5
JW
9270 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
9271 has integer TYPE_{MAX,MIN}_VALUE before using them.
9272
89cc6098
JW
9273 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
9274 __HPUX_ASM__ versions.
9275
c74f7db8
JL
9276Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
9277
bf520cd9 9278 * install.sh: Delete duplicate install script.
c74f7db8 9279
914ec131
SC
9280Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
9281
9282 * reg-stack.c (subst_stack_regs): Pop the stack register for a
9283 computed goto which sets the same stack register.
9284
9285 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
9286 destination are both on the regstack.
9287 (subst_stack_regs_pat): Put the destination at the top of the regstack.
9288
c1090daa
JW
9289Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
9290
d5d1738a
JW
9291 * mips.md (nonlocal_goto_receiver): Define.
9292
f4da7881
JW
9293 * profile.c (output_arc_profiler): Check next_insert_after for non
9294 NULL before deferencing it.
9295
c1090daa
JW
9296 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
9297
da594c94
JL
9298Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
9299
9300 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
9301
3e28fe44
MM
9302Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
9303
9304 * toplev.c (rest_of_compilation): For passes starting with
9305 flow_analysis, use print_rtl_with_bb instead of print_rtl.
9306
9307 * print-rtl.c (print_rtl_single): Print a single rtl value to a
9308 file.
9309
9310 * flow.c (print_rtl_with_bb): Print which insns start and end
9311 basic blocks. For the start of a basic block, also print the live
9312 information.
9313
7053ca72
JW
9314Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
9315
417b0fa2
JW
9316 * toplev.c (main): Change #elif to #else/#ifdef
9317
7053ca72
JW
9318 * tlink.c: Include ctype.h.
9319 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
9320
f05a8b25
MM
9321Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
9322
9323 * bitmap.c: Conditionally include stdlib.h.
bf520cd9 9324 (free): Provide a declaration if NEED_DECLARATION_FREE.
f05a8b25 9325
02d7a569
JS
9326Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
9327
9328 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
9329
6030b6af
JW
9330Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
9331
9332 * profile.c (output_arc_profiler): Verify next_insert_after is an
9333 INSN before and after skipping a stack pop.
9334
04da53bd
R
9335Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9336
9337 * final.c (shorten_branches): Don't count the lengths of deleted
9338 instructions.
9339
780532a4
JL
9340Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
9341
9342 * version.c: Bump for snapshot.
9343
22fa5b8a
MM
9344Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
9345
9346 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
9347 two bitmaps ANDed together.
9348 (bitmap_print): Declare.
9349
9350 * bitmap.c (function_obstack): Don't declare any more.
9351 (bitmap_obstack): Obstack for allocating links from.
9352 (bitmap_obstack_init): New static to say whether to initialize
9353 bitmap_obstack.
9354 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
9355 (bitmap_release_memory): Free all memory allocated from
9356 bitmap_obstack.
9357
9358 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
9359 EXECUTE_IF_AND_IN_BITMAP.
9360
57163df0
JW
9361Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
9362
fa8b6024
JW
9363 * alias.c (true_dependence): Address with AND can alias scalars.
9364 (anti_dependence, output_dependence): Likewise.
b57062ca 9365
57163df0
JW
9366 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
9367
8aa4e786
JS
9368Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
9369
9370 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
9371 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
9372 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
9373 definitions. Use -qrtems instead of -mrtems.
9374
feb21122
RL
9375Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
9376
9377 * xm-sco5.h (sys_siglist): Define.
9378 (SYS_SIGLIST_DECLARED): Likewise.
9379
704af6a1
JL
9380Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
9381
9382 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
9383
127cd405
TG
9384Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
9385
9386 * except.c (eh_outer_context): Expand masking operation using
9387 expand_binop.
9388
8cf02b47
JW
9389Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
9390
9391 * alpha.md (floatdisf2-1): New pattern.
9392
49dad301
JL
9393Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
9394
068f1cb8
JL
9395 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
9396 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
f04e7122 9397 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
068f1cb8
JL
9398 * gcc.texi: Note that if you define sys_siglist that you should
9399 also define SYS_SIGLIST_DECLARED.
9400
49dad301
JL
9401 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
9402 are relative to the next instruction, not the current instruction.
9403
a1729519
JW
9404Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
9405
9406 * local-alloc.c (contains_replace_regs): New function.
9407 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
9408 verify that there is no existing REG_EQUIV note, and add a call to
9409 contains_place_regs.
9410
290c8b1f
L
9411Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9412
9413 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
9414 (STARTFILE_SPEC): Always use crtbegin.o%s
9415 (ENDFILE_SPEC): Always use crtend.o%s.
9416
a6a503ed
JW
9417Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
9418
9419 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
9420 is passed in.
9421 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
9422 SFmode for 64 bit hosts.
b57062ca 9423
a94729bc
PH
9424Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
9425
9426 * fixincludes: Permits spaces between # and define. Discard C++
9427 comments in sys/pci.h on HP/UX 10.20.
9428
c9e03727
JL
9429Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
9430
9431 * version.c: Bump for snapshot.
9432
2eddfed1
JL
9433 * pa.c (restore_unscaled_index_insn_codes): New function.
9434 (record_unscaled_index_insn_codes): Likewise.
9435 (output_function_prologue): Call restore_unscaled_index_insn_codes.
9436 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
9437 (pa_reorg): Call record_unscaled_index_insn_codes.
9438
c9e03727
JL
9439 * haifa-sched.c (move_insn): Handle notes correctly for insns
9440 with SCHED_GROUP_P set.
b57062ca 9441
a5d6a95b
L
9442Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9443
9444 * alpha/xm-linux.h (USE_BFD): Undef before define.
9445
bc4ddc77
JW
9446Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
9447
9448 * cse.c (cse_insn): Don't record BLKmode values.
9449
f3e0ca6c
SW
9450Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
9451
9452 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
9453
e3512ac2
JL
9454Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
9455
a63d08e6
JL
9456 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
9457 * collect2.c (sys_errlist): Likewise.
9458 * cpplib.c (sys_errlist): Likewise.
9459 * gcc.c (sys_errlist): Likewise.
9460 * protoize (sys_errlist): Likewise.
9461 * configure.in: Check for strerror.
9462 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
9463 * xm-gnu.h (HAVE_STRERROR): Likewise.
9464 * xm-linux.h (HAVE_STRERROR): Likewise.
9465 * xm-netbsd.h (HAVE_STRERROR): Likewise.
9466 * xm-bsd386.h (HAVE_STRERROR): Likewise.
9467 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
9468 * xm-dos.h (HAVE_STRERROR): Likewise.
9469 * xm-mingw32.h (HAVE_STRERROR): Likewise.
9470 * xm-pa.h (HAVE_STRERROR): Likewise.
9471 * xm-papro.h (HAVE_STRERROR): Likewise.
9472 * xm-sysv4.h (HAVE_STRERROR): Likewise.
9473 * configure, config.in: Rebuilt.
9474
db814993
JL
9475 * Makefile.in: Add several missing "else true" clauses.
9476
e3512ac2
JL
9477 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
9478 * mips-tfile.c: Likewise.
9479 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
9480 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
9481 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
9482 * configure.in: Check for sys_siglist declaration.
9483 * configure, config.in: Rebuilt.
9484
5d84b57e
JS
9485Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
9486
b57062ca 9487 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
5d84b57e
JS
9488 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
9489 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
9490 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
9491 * rs6000/sysv4.h (extra_subtarget_switches): Added new
9492 macro EXTRA_SUBTARGET_SWITCHES.
9493 * configure.in (sh*-*-rtems*): New target.
9494 * sh/rtems.h: New file.
9495 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
9496 * configure: Rebuilt.
9497
2599dcc7
JW
9498Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
9499
9500 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
9501
3b7e5ef4
DE
9502Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
9503
9504 * rs6000.md: Make DF fused-add operations pay attention to
9505 -mno-fused-add.
9506
5cd5f4a7
JW
9507Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
9508
9509 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
9510
63e7fe9b
JL
9511Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
9512
9513 * pa.md (reload_peepholes): Make sure operand is a REG before
9514 examining REGNO. Allow general registers too.
9515
eb7b11fd
JW
9516Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
9517
9518 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
9519
c760091a
PT
9520Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
9521
5cd5f4a7 9522 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
c760091a
PT
9523 to reallocate abbrev_die_table.
9524
57583338
JW
9525Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
9526
9527 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
9528
eae4b970
AS
95291997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9530
4f91a0f8
AS
9531 * Makefile.in (config.status): Depend on version.c
9532
eae4b970
AS
9533 * expr.h (insn_gen_function): Reenable prototype.
9534
9535 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
9536 first parameter.
9537
00fc09e1
JW
9538Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
9539
9540 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
9541
2601ebca
JL
9542Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
9543
9544 * version.c: Bump for latest snapshot.
9545
9546 * bc-optab.c: Conditionally include stdlib.h.
9547 (free): Provide a declaration if NEED_DECLARATION_FREE.
9548 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
9549 * rtl.h (free): Remove declaration.
9550 * tree.h (free): Remvoe declaration.
9551
9552 * configure: Rebuilt.
9553
e5eb27e5
JL
9554Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
9555
9556 * flags.h (flag_move_all_movables): Declare.
9557 (flag_reduce_all_givs): Likewise.
9558 * loop.c (move_movables): Handle flag_move_all_movables.
9559 (strength_reduce): Handle flag_reduce_all_givs.
9560 * toplev.c (flag_move_all_movables): Define.
9561 (flag_reduce_all_givs): Likewise.
9562 (f_options): Add -fmove-all-movables and -freduce-all-givs.
9563 * invoke.texi: Document new options, including alias stuff that
9564 wasn't included last time.
9565
d995a6dc
BM
9566Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
9567
9568 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
9569 * t-mn10200: Ditto.
9570 * t-vxsparc: Ditto.
9571 * t-vxworks68: Ditto.
9572 * t-vxworks960: Ditto.
9573 * t-vx29k: Ditto.
9574
ba64ca33
RH
9575Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
9576
9577 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
9578 if not already defined, and USE_C_ALLOCA not defined.
9579
ca20876d
JW
9580Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
9581
7818d6fc
JW
9582 * config.guess: Replace with script that uses ../config.guess.
9583
ca20876d
JW
9584 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
9585 if USE_GNULIBC_1 is not defined.
9586
704a6306
RH
9587Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
9588
9589 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
9590 * config.guess: Recognize alpha-linux-gnulibc1.
9591 * configure.in (alpha-*-linux-gnulibc1): New target.
9592 (alpha-*-linux-gnu*): Don't build crtbegin/end.
9593
67f68fd2
JW
9594Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
9595
9596 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
9597 last change.
9598
88016fb7
DE
9599Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
9600
9601 * loop.c (combine_movables): Earlier insns don't match later ones.
9602
bba17b29
L
9603Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9604
9605 * config/linux.h (CC1_SPEC): Define it only if not defined.
9606
9607 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
9608 <linux.h>
9609
9610 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
9611 USE_GNULIBC_1 is not defined.
9612
33d2808b 9613 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
bba17b29
L
9614
9615 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
9616 as 1 if USE_GNULIBC_1 is not defined.
9617
ed4044e0
JL
9618Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
9619
f345de42
JL
9620 * reorg.c (dbr_schedule): Allow current_function_return_rtx
9621 to be something other than a REG.
9622 * function.c (expand_function_end): Fix current_function_return_rtx
9623 if it was a pseudo.
9624
ed4044e0
JL
9625 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
9626 * x-netbsd: Likewise
9627 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
9628 (INSTALL_HEADERS): Delete.
9629 * x-dguxbcs: Likewise.
9630 * x-hp3bsd44: Likewise
9631 * x-pa: Likewise.
9632
47d36400
BS
9633Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
9634
9635 * i386.md (pop): pop increments the stack pointer.
9636 (prologue_set_stack_ptr): New pattern.
9637 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
9638 instead of subsi3.
9639
fc79eafe
JW
9640Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
9641
9642 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
9643 address where an offsettable address is required.
9644
c5da853f
MH
9645Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
9646
9647 * loop.c (check_final_value): Don't miss a biv increment in a
9648 parallel.
9649
d4ef15f2
JW
9650Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
9651
9652 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
9653 TYPE_DECL_IS_STUB instead of DECL_NAME.
9654
10549cbd
JW
9655Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9656
9657 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
9658
9659Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
9660
9661 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
9662
484df988
JL
9663Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
9664
9665 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
9666 (find_post_sched_live): Likewise.
9667
9668 * haifa-sched.c (schedule_block): Remove old code to get arguments
9669 from hard regs into pseudos early.
9670
39dfb55a
JL
9671Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
9672
9673 * version.c: Bump for new snapshot.
9674
9675 * local-alloc.c (update_equiv_regs): All the target to reject
9676 promotion of some REG_EQUAL to REG_EQUIV notes.
9677 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
9678
9679 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
9680 secondary reloads.
9681
9682 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
9683 store of the argument registers.
9684
9685Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
9686
9687 * fold-const.c (multiple_of_p): New function.
9688 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
9689
d78778eb
JL
9690Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
9691
9692 * expr.h (insn_gen_function): Temporarily remove prototype.
9693
feb9ea1a
JW
9694Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
9695
9696 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
9697 filenames. Use sed to extract base filename for install.
9698
b6ffe602
JC
9699Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
9700
9701 * unroll.c (find_splittable_givs): Only share if two givs have the
9702 same add and multiply values.
9703
2ebfd230
JW
9704Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
9705
9706 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
9707 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
9708
251ffdee
JL
9709Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
9710
9711 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
9712 around branch tables.
9713 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
9714 and .end_brtab directives if TARGET_GAS.
9715
19372aa1
JW
9716Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
9717
27314274
JW
9718 * alias.c (true_dependence): Pass x_addr not x to varies.
9719
19372aa1
JW
9720 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
9721 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
9722 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
9723 declarations.
9724 * config.in, configure: Regenerate.
9725
2a2c8203
JC
9726Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
9727
9728 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
9729 LO_SUM.
9730 (record_set): Handle LO_SUM like PLUS.
9731 (init_alias_analysis): When following chains of base addresses,
9732 do not stop on reaching a hard register.
9733
d80357b7
JL
9734Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
9735
9736 * version.c: Bump for new snapshot.
9737
b4f32d7b
JW
9738Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
9739
9740 * alpha.h (ARCH_ASM_FILE_START): Define.
9741 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
9742 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
9743
ca363bb6
JL
9744Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
9745
9746 * Makefile.in (install-common): Put gcov comment at start of line.
9747
7557aa98
JL
9748Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
9749
9750 * alias.c (init_alias_analysis): When simplifying the reg_base_value
9751 array, simplify entries for hard registers too.
9752
c34e3ae4
DL
9753Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
9754
9755 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
9756 list.
9757
e3eef942
JW
9758Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
9759
9760 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
9761 block_stack before dereferencing it.
9762
9763Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
246853b9
MM
9764
9765 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
9766
04f41951
JM
9767Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9768
9769 * cplus-dem.c: Add 'extern' to prepends_underscore.
9770
e933cbe0
JL
9771Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
9772
62d65906
JL
9773 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
9774 (get_issue_rate): Delete.
9775 * pa.h (ISSUE_RATE): Define.
9776
2da05a5b
JL
9777 * configure.in: Turn on haifa by default for the PA.
9778 * configure: Rebuilt.
9779 * pa.c (override_options): Accept -mschedule=7200 option.
9780 (pa_adjust_cost): No longer need to scale costs for newer
9781 processors.
9782 * pa.h (enum processor_type): Add PROCESSOR_7200.
9783 * pa.md: Revamp scheduling parameters to work better with
9784 haifa. Add scheduling parameters for the 7200.
9785
4f64eaca
JL
9786 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
9787 insns too.
9788 (schedule_block): When adjusting basic_block_{head,end}, account
9789 for movement of SCHED_GROUP_P insns too.
9790
9791 * haifa-sched.c (debug_dependencies): Fix thinko.
9792
e933cbe0
JL
9793 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
9794 (site.exp, check, check-g++, check-gcc): New targets.
9795
4f64eaca 9796 * haifa-sched.c: Make lots of variables static.
61822835 9797
e9576d2c
L
9798Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9799
9800 * expr.h, real.h: Finish prototyping.
9801
61822835
JL
9802Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
9803
9804 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
9805 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
9806 * reload1.c: Undo bugfix from Aug 11.
9807
f24b370a
MM
9808Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
9809
9810 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
9811 quotes around the name.
9812 * configure: Regenerate.
9813
1c4c5851
JW
9814Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
9815
9816 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
9817
71abb567
MH
9818Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
9819
9820 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
9821 to sub-makes to avoid building more passes than the user might have
9822 requested on the command line.
9823
6042434a
DL
9824Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
9825
9826 * configure.in: Expurgate `broken_install' (install is
9827 autoconfed).
9828
9829 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
9830 relevant).
9831
38ea060f
JL
9832Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
9833
9834 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
9835 functions and declarations.
9836 (analyze_loop_iterations): Use condjump_p.
9837 (insert_bct): Likewise. Use exact_log2.
b57062ca 9838
f187056f
JL
9839Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
9840
9841 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
9842 (schedule_region): Likewise.
9843 (schedule_insns): Likewise.
9844
9845 * PROJECTS: Update with Haifa stuff.
9846
9af06254
JL
9847Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
9848
9849 * version.c: Change the version string to look like:
11c21791 9850 egcs-2.90.00 970814 (gcc2-970802 experimental).
9af06254 9851
0945e937
JL
9852 * loop.c (is_conditional_branch): Make definition match declaration.
9853
9af06254
JL
9854 * gcc.c: Take out experimental snapshot warning message.
9855
ebc25a17
MM
9856Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
9857
9858 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
9859 print out the names of the notes. Print out the name of the insn
9860 that is not a note, and not an {,CALL_,JUMP_}INSN.
9861
610ce97e
JM
9862Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
9863
9864 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
9865 again for the slot after we give it RTL.
9866
992d1248
DE
9867Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
9868
9869 * configure.in (haifa configury): Fix typo.
9870 * configure: Regenerate.
9871
7bb6fbd1
JL
9872Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
9873
9874 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
9875
9876 * gcc.info*: Rebuilt.
9877
9878 * COPYING.g77, README.g77: New files.
9879 * real.c (ereal_unto_float, ereal_unto_double): New functions.
9880 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
9881 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
9882
8c660648
JL
9883Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
9884
9885 * Integrate Haifa instruction scheduler.
9886 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
9887 to sched with $(SCHED_CFLAGS.
9888 * configure.in: Handle --enable-haifa.
9889 * configure: Rebuilt.
9890 * flags.h: Add new flags for haifa instruction scheduler.
9891 * genattrtab.c (expand_units): For haifa, don't subtract one
9892 when computing blockage.
9893 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
9894 (flag_schedule_speculative): Ditto.
9895 (flag_schedule_speculative_load): Ditto.
9896 (flag_schedule_speculative_load_dangerous): Ditto.
9897 (flag_schedule_reverse_before_reload): Ditto.
9898 (flag_schedule_reverse_after_reload): Ditto.
9899 (flag_branch_on_count_reg): Ditto.
9900 (f_options): Add Haifa switches.
9901 (main): Turn off some Haifa options if appropriate macro is
9902 defined. Process Haifa switches.
9903 * unroll.c (iteration_info): No longer static, since Haifa
9904 scheduler uses it.
9905 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
9906 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
9907 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
9908 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
9909 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
9910 storage for the Haifa scheduler.
9911 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
9912 LABEL_NEXTREF.
9913 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
9914 are defined, call analyze_loop_iterations and insert_bct to use
9915 countdown loops.
9916 (record_giv): Refine test for jumps out of loops if HAIFA is
9917 defined.
9918 (analyze_loop_iterations): New function to identify if we can use
9919 a countdown loop.
9920 (insert_bct): Insert countdown loop.
9921 (instrument_loop_bct): Low level code to insert countdown loop.
9922 (loop_number): Calculate UID of loop.
9923 (indirect_jump_in_function_p): Return true if an indirect jump is
9924 in the function.
9925 (is_power_of_2): Return true if value is a power of 2.
9926 (is_conditional_branch): Return true if insn is a conditional
9927 jump.
9928 (fix_bct_param): Process -fbct-{min,max}-N switches.
9929 (check_bct_param): Return true if loop should be instrumented.
9930 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
9931 (loop_optimize): Initialize.
9932 (get_condition_for_loop): Ditto.
9933 * loop.c (strength_reduce): Inside of code that uses #ifdef
9934 HAVE_decrement_and_branch_on_count code, test it to make sure the
9935 condition is true.
9936 (instrument_loop_bct): Ditto.
9937 * haifa-sched.c: New file.
b57062ca 9938
8c660648
JL
9939
9940 * Integrate regmove pass.
9941 * Makefile.in (OBJS): Add regmove.o
9942 (regmove.o): Add dependencies.
9943 * flow.c (find_use_as_address): No longer static.
9944 * rtl.h (find_use_as_address): Declare.
9945 * toplev.c (regmove_dump, flag_regmove): Define.
9946 (f_options): Add -fregmove.
9947 (regmove_dump_file, regmove_time): Define.
9948 (fatal_insn): Close the regmove dump file.
9949 (compile_file): Initialize regmove_time; open/close the regmove dump
9950 file as needed. Print regmove time as needed.
9951 (rest_of_compilation): Run regmove pass if requested, dump
9952 RTL after regmove if requested.
9953 (main): If -O2 or more, turn on regmove. Handle dump switches.
9954 * regmove.c: New file.
b57062ca 9955
aa32d841
JL
9956Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
9957
9958 * Integrate tlink patch from jason@cygnus.com
9959 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
9960 (process_command): Increment n_switches for them. Don't discard
9961 their args. Validate them.
9962 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
9963 From Rohan Lenard.
9964 (process_command): Set include_prefixes from COMPILER_PATH.
9965 (main): Set COLLECT_GCC_OPTIONS sooner.
9966 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
9967 * tlink.c, hash.c, hash.h: New files.
9968 * Makefile.in (USE_COLLECT2): Always use collect2.
9969 (collect2): Depend on and link in hash.o and tlink.o.
9970 (tlink.o, hash.o): Add dependencies.
9971
5fa39bfe
JL
9972Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
9973
9ae8ffe7
JL
9974 * Integrate alias analysis changes from jfc@mit.edu
9975 * Makefile.in (OBJS): Add alias.o
9976 (alias.o): Add dependencies.
9977 * alias.c: New file.
9978 * sched.c: Remove alias analysis code. It lives in alias.c now.
9ae8ffe7 9979 (sched_analyze_2): Add new arguments to true_dependence.
9ae8ffe7
JL
9980 (schedule_insns): Always call init_alias_analysis.
9981 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
9982 mark return value from such functions as a pointer and keep track of
9983 them for alias analysis. If a return value from a function is a
9984 pointer, mark it as such.
9985 * combine.c (distribute_notes): Handle REG_NOALIAS.
9986 * cse.c (struct write_data): Delete. No longer needed.
9987 (invalidate): Don't call set_nonvarying_address_components anymore.
9988 Use true_dependence to decide if an entry should be removed from
9989 the hash table.
9990 (invalidate_memory): Remove WRITES argument, simplify appropriately.
9991 Fix all callers.
9992 (note_mem_written): Similarly for WRITE_PTR argument.
9993 (invalidate_from_clobbers): Similarly for W argument.
9994 (invalidate_for_call): Remove memory elements from the hash table.
9995 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
9996 (cse_rtx_varies_p): New function. Derived from old
9997 cse_rtx_addr_varies_p.
9998 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
9999 Don't call note_mem_written anymore. Stack pushes invalidate the stack
10000 pointer if PUSH_ROUNDING is defined. No longer need to call
10001 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
10002 (skipped_writes_memory): Remove variable.
10003 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
10004 (invalidate_skipped_block): Simplify for new alias analysis code.
10005 (cse_set_around_loop): Likewise.
10006 (cse_main): Call init_alias_analysis.
10007 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
10008 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
10009 (f_options): Add new alias checking arguments.
10010 (main): Set flag_alias_check when optimizing.
10011 * local_alloc (validate_equiv_mem_from_store): Add new arguments
10012 to true_dependence.
10013 (memref_referenced_p): Likewise.
10014 * loop.c (NUM_STORES): Increase to 30.
10015 (prescan_loop): Only non-constant calls set unknown_address_altered.
10016 (invariant_p): Add new arguments to true_dependence.
10017 (record_giv): Initialize unrolled and shared fields.
10018 (emit_iv_add_mult): Call record_base_value as needed.
10019 * loop.h (struct induction): Add unrolled and shared fields.
10020 * unroll.c (unroll_loop): Call record_base_value as needed.
10021 (copy_loop_body): Likewise.
10022 (final_biv_value): Likewise.
10023 (final_giv_value): Likewise.
10024 (find_splittable_regs): Likewise. Only create one new pseudo
10025 if we have multiple address GIVs that were combined with the same
10026 dst_reg GIV. Note when a new register is created due to unrolling.
10027 * rtl.c (reg_note_name): Add REG_NOALIAS.
10028 * rtl.h (enum reg_note): Similarly.
10029 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
10030 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
10031 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
10032 (true_dependence, read_dependence, anti_dependence): Likewise.
10033 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
10034 (mark_user_reg, mark_reg_pointer): Likewise.
10035
10036
10037 * Integrate reload bugfix from Wilon which enables the PA port
5fa39bfe 10038 to bootstrap again.
38e01259 10039 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
5fa39bfe
JL
10040 OPERAND_ADDRESS when computing how many registers an insn needs.
10041 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
10042 conflict.
10043 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
10044 OPADDR_ADDR reload.
10045 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
10046 in reload_reg_use_in_op_addr do not reach the end.
10047 do not reach the end.
10048 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
10049 RELOAD_FOR_OPERAND_ADDRESS.
10050
10051Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
10052
2dcfcb56 10053 * egcs project officially starts.
This page took 1.376966 seconds and 5 git commands to generate.