]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
arm.c (arm_gen_constant): Rework to eliminate uninitialized variable warnings.
[gcc.git] / gcc / ChangeLog
1 Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
2
3 * arm.c (arm_gen_constant): Rework to eliminate uninitialized
4 variable warnings. Don't generate scratch registers if only
5 counting insns.
6 (find_barrier): Eliminate unused variable SRC.
7
8 1998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
9
10 * toplev.h (rtx_def): Provide global declaration to avoid
11 `limited scope' warnings.
12
13 Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
14
15 * Makefile.in (gencheck.o): Use HOST_CC.
16 * i386/t-mingw32: New file.
17 * configure.in (i386-*-mingw32*): Use.
18
19 Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
20
21 * arm.c (bad_signed_byte_operand): New predicate function.
22 * arm.h (PREDICATE_CODES): Add it to the list.
23 * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
24 can't handle.
25 (define_split): Two new splits for above insns.
26
27 * arm.c: Include toplev.h.
28 (arm_override_options): Add parentheses around use of tune_flags.
29 (arm_split_constant): Remove unused variable.
30 (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
31 (output_func_prologue, arm_expand_prologue): Likewise.
32 (arm_canonicalize_comparison): Make I unsigned; rework constants
33 accordignly. Add missing paratheses around << operation.
34 (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT
35 clause.
36 ({load,store}_multiple_sequence): Initialize BASE_REG.
37 (select_dominance_cc_mode): Add DEFAULT clauses.
38 (broken_move): Return zero if the destination is not a register.
39 (arm_reorg): Move unused REGNO declaration into the dead code.
40 * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
41
42 Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com)
43
44 * version.c: Bump for snapshot.
45
46 Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com)
47
48 * version.c: Bump for snapshot.
49
50 Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
51
52 * cpperror.c (v_cpp_message): Remove static prototype.
53 * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
54 * cpplib.h (v_cpp_message): Add protoptype.
55 (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
56
57 Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com)
58
59 * version.c: Bump for snapshot.
60
61 Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com)
62
63 * version.c: Bump for snapshot.
64
65 1998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
66
67 * m68k.h: Declare more functions used in macros.
68 (REG_CLASS_CONTENTS): Completely embrace initializer.
69 * m68k.md (adddi3, subdi3): Add abort call to avoid warning
70 about returning no value.
71 * cse.c (find_best_addr): Declare p and found_better only if
72 needed.
73 * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
74 * dwarfout.c (string_length_attribute): #if 0 away.
75 * function.c (expand_function_end): Define varible blktramp only
76 if needed.
77 * jump.c (find_insert_position): Define only if !HAVE_cc0.
78 * loop.c (combine_givs_p): Define variable tem only if needed.
79 * real.c: Comment out unused functions eabs, eround,
80 e{24,53,64,113}toasc and eiinfin.
81
82
83 Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
84
85 * Makefile.in (boostrap2-lean, bootstrap3-lean,
86 bootstrap4-lean): New targets.
87
88 Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
89
90 * warn_summary, test_summary: Moved into the contrib directory.
91
92 1998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
93
94 * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
95 of the Makefile.
96 (FLOAT_H_TEST): Likewise.
97 (ENQUIRE): Likewise.
98 (float.h-nat): Likewise.
99 (float.h-cross): Likewise.
100 (enquire): Likewise.
101 (enquire.o): Likewise.
102 (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
103 (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
104 no-op.
105 (FLOAT_H): Remove old float.h-nat version; move current definition
106 to CROSS_FLOAT_H location.
107 (all.cross): Remove comments about enquire stuff.
108
109 * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
110 (rest.encap): Likewise.
111 (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
112
113 * toplev.h (tree_node): Provide global declaration to avoid
114 `limited scope' warnings.
115
116 Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
117
118 * test_summary: Display section breaks for each entry
119 in a multilibbed target's output.
120
121 1998-05-23 Richard Henderson <rth@cygnus.com>
122
123 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
124 offset's mode is not ptr_mode, convert it.
125
126 1998-05-22 Jason Merrill <jason@yorick.cygnus.com>
127
128 * fold-const.c (ssize_binop): New fn.
129 * tree.h: Declare it.
130
131 Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
132
133 * genextract.c (print_path): Handle zero-length path as a special
134 case.
135
136 Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
137
138 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
139
140 Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
141
142 * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
143 (shorten_branches, final_scan_insn): Test value of
144 JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
145 is defined.
146 * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
147 * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
148 * arm/tcoff.h: Likewise.
149 * i386/386bsd.h: Likewise.
150 * i386/freebsd-elf.h: Likewise.
151 * i386/freebsd.h: Likewise.
152 * i386/netbsd.h: Likewise.
153 * i386/ptx4-i.h: Likewise.
154 * i386/sysv4.h: Likewise.
155 * pa/pa.h: Likewise.
156 * rs6000/linux.h: Likewise.
157 * rs6000/rs6000.h: Likewise.
158 * sh/sh.h: Likewise.
159 * sparc/sp64-elf.h: Likewise.
160 * v850/v850.h: Likewise.
161 * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
162 * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
163
164 Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
165
166 * regmove.c (gen_add3_insn): New function.
167 (fixup_match_2): Use it instead of calling gen_addsi3.
168
169 Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
170
171 * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
172
173 * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
174 address.
175
176 Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
177
178 * Makefile.in (TREE_H): Add tree-check.h.
179 (tree-check.h, gencheck): New targets.
180 * gencheck.c: New file.
181 * tree.c (tree_check, tree_class_check): New functions.
182 * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
183 (TYPE_CHECK, DECL_CHECK): Define.
184 Modify all access macros to use generated checking macros.
185
186 Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com)
187
188 * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
189 * configure.in: Check for it.
190 * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
191 * final.c (uid_align, uid_shuid, label_align): Make static.
192 (label_align): Change type to struct label_alignment pointer.
193 (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
194 (LABEL_TO_MAX_SKIP): Define.
195 (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
196 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
197 (shorten_branches): Record the maximum bytes to skip when
198 aligning a label.
199 (final_scan_insn): Use the maximum bytes to skip when aligning a label
200 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
201 * i386.h (LOOP_ALIGN_MAX_SKIP,
202 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
203 * i386.c (override_options): i386_align_jumps and i386_align_loops
204 default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
205 * invoke.texi: Document new i386 align-loops and align-jumps behavior.
206
207 1998-05-21 Mark Mitchell <mmitchell@usa.net>
208
209 * cplus-dem.c (do_type): Handle volatile qualification.
210
211 Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
212
213 * function.c (init_function_start): Don't call emit_line_note if
214 lineno is 0. (Can happen when compiling Java .class files.)
215
216 Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
217
218 * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
219 end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
220
221 Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
222
223 * combine.c (nonzero_bits): For paradoxical subregs, take
224 LOAD_EXTENDED_OP into account.
225
226 Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
227
228 * configure.in (extra_c_objs): add prefix.o.
229 (extra_cxx_objs): extra objects for C++ with cpplib.
230 * configure: Regenerate.
231
232 * c-tree.h: (get_directive_line): Different prototype for cpplib.
233 (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
234
235 * c-lex.h: (get_directive_line): Not needed here for cpplib.
236
237 * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
238 (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
239
240 * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
241 (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
242
243 Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
244
245 * gengenrtl.c (type_from_format, accessor_from_format): Change
246 type of parameter `c' from `char' to `int'.
247
248 Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
249
250 * warn_summary, test_summary: New scripts from
251 Kaveh Ghazi and Alexandre Oliva respectively.
252
253 * gcse.c (current_function_calls_longjmp): Declare.
254
255 1998-05-20 Jason Merrill <jason@yorick.cygnus.com>
256
257 * dwarf2out.c (base_type_die): Use int_size_in_bytes.
258
259 Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
260 Jeff Law (law@cygnus.com)
261
262 * Global CSE and constant/copy propagation.
263 * Makefile.in (OBJS): Add gcse.o
264 (STAGESTUFF): Add *.gcse.
265 (gcse.o): Add dependencies.
266 (mostlyclean): Remove *.gcse and */*.gcse.
267 * gcse.c: New file.
268 * loop.c (loop_optimize): Move call to init_alias_analysis.
269 * recog.c (validate_replace_src): New function.
270 * toplev.c (gcse_dump): New global variable.
271 (flag_gcse, gcse_time): Likewise.
272 (compile_file): Initialize gcse_time and clean out the gcse dump
273 file if necessary.
274 (rest_of_compilation): Call gcse_main as requested. Dump RTL
275 after gcse if requested.
276 (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse
277 dumps for -da.
278 * gcc.texi: Add gcse related internal documentation.
279 * invoke.texi: Note new command line options for gcse.
280 * tm.texi: Document AVOID_CCMODE_COPIES.
281 * mips.h (AVOID_CCMODE_COPIES): Define.
282
283 Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
284
285 * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
286 exists.
287 (stmp-fixproto): Simlarly for running fixproto.
288 * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
289
290 Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
291
292 * config/mips/mips.c (double_memory_operand): Accept any MEM during
293 reload when TARGET_64BIT.
294
295 Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
296
297 Finish incomplete change started by Kenner.
298 * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
299 (powerpcle-*-cygwin32): Delete xm_defines.
300 * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
301 HAVE_STAB_H instead of NO_STAB_H.
302 * config/xm-linux.h (NO_STAB_H): Delete.
303 (HAVE_STAB_H): Undefine.
304 * config/i386/xm-go32.h (NO_STAB_H): Delete.
305
306 1998-05-19 Jim Wilson <wilson@cygnus.com>
307
308 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
309 LANG_TYPE trees with DECL_SOURCE_LINE of 0.
310
311 Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
312
313 * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
314
315 Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
316
317 * reload1.c (reload_reg_free_for_value_p): New function.
318 (allocate_reload_reg, choose_reload_regs): Use it.
319
320 Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
321
322 * except.c (expand_start_catch): Correct logic for when to
323 generate a new handler label, and when to use the old one.
324
325 Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
326
327 * Makefile.in (print-rtl.o): Depend on bitmap.h.
328 (dbxout.o): Depend on toplev.h.
329 ($(SCHED_PREFIX)sched.o): Likewise.
330 ($(out_object_file)): Likewise for system.h and toplev.h.
331 (cppmain.o): Depend on gansidecl.h.
332 (cpplib.o): Likewise.
333 (cpperror.o): Likewise.
334 (cppexp.o): Likewise.
335 (cpphash.o): Likewise.
336 (cppalloc.o): Likewise.
337 (fix-header.o): Depend on cpplib.h and cpphash.h.
338 (scan-decls.o): Depend on gansidecl.h.
339
340 * basic-block.h (free_regset_vector): Add prototype.
341
342 * cccp.c (check_precompiled): Mark parameter `fname' with
343 ATTRIBUTE_UNUSED.
344 (do_assert): Likewise for `op' and `keyword'.
345 (do_unassert): Likewise.
346 (do_line): Likewise for `keyword'.
347 (do_error): Likewise for `op' and `keyword'.
348 (do_warning): Likewise.
349 (do_ident): Likewise for `keyword'.
350 (do_pragma): Likewise for `limit', `op' and `keyword'.
351 (do_sccs): Likewise.
352 (do_if): Likewise for `keyword'.
353 (do_elif): Likewise.
354 (do_else): Likewise.
355 (do_endif): Likewise.
356
357 * collect2.c (getenv): Remove redundant prototype.
358 (collect_exit, collect_execute, dump_file): Likewise.
359 (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
360 (dump_prefix_list): Hide prototype and definition.
361
362 * sparc.c: Include toplev.h.
363 (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
364 (symbolic_memory_operand): Likewise.
365 (sp64_medium_pic_operand): Likewise.
366 (data_segment_operand): Likewise.
367 (text_segment_operand): Likewise.
368 (splittable_symbolic_memory_operand): Likewise.
369 (splittable_immediate_memory_operand): Likewise.
370 (eq_or_neq): Likewise.
371 (normal_comp_operator): Likewise.
372 (noov_compare_op): Likewise.
373 (v9_regcmp_op): Likewise.
374 (v8plus_regcmp_op): Likewise.
375 (extend_op): Likewise.
376 (cc_arithop): Likewise.
377 (cc_arithopn): Likewise.
378 (small_int): Likewise.
379 (uns_small_int): Likewise.
380 (clobbered_register): Likewise.
381 (legitimize_pic_address): Likewise.
382 (delay_operand): Likewise.
383 (sparc_builtin_saveregs): Remove unused variable `stdarg'.
384
385 * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
386 sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
387
388 * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
389
390 * cppalloc.c: Include gansidecl.h.
391
392 * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
393 (cpp_file_line_for_message): Mark parameter `pfile' with
394 ATTRIBUTE_UNUSED.
395 (v_cpp_message): New function.
396 (cpp_message): Use it. Also convert to variable arguments.
397 (cpp_fatal): Likewise.
398 (cpp_pfatal_with_name): Constify parameter `name'.
399
400 * cppexp.c: Move gansidecl.h before cpplib.h.
401 * cpphash.c: Likewise.
402 * cpphash.h (hashf, delete_macro): Add prototypes.
403
404 * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
405 cpplib.h. Don't include errno.h.
406 (update_path): Add arguments to prototype.
407 (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
408 cpp_print_containing_files): Remove redundant prototypes.
409 (cpp_hash_cleanup, add_import, append_include_chain,
410 make_assertion, path_include, initialize_builtins,
411 initialize_char_syntax, finclude, validate_else, comp_def_part,
412 lookup_import, redundant_include_p, is_system_include,
413 read_name_map, read_filename_string, open_include_file,
414 check_macro_name, compare_defs, compare_token_lists,
415 eval_if_expression, change_newlines): Add prototype arguments.
416 (hashf): Remove redundant prototype.
417 (read_token_list, free_token_list, safe_read, xcalloc, savestring,
418 conditional_skip, skip_if_group): Add prototype arguments.
419 (fdopen): Remove redundant prototype.
420 (do_define, do_line, do_include, do_undef, do_error, do_pragma,
421 do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
422 do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
423 (struct directive): Add prototype arguments to function pointer
424 member `func'.
425 (handle_directive): Add missing arguments to call to `do_line'.
426 (do_include): Mark parameters `unused1' and `unused2' with
427 ATTRIBUTE_UNUSED.
428 (do_line): Likewise for `keyword' and new parameters `unused1' and
429 `unused2'.
430 (do_error): Likewise for `keyword'.
431 (do_warning): Likewise. Also add missing argument `pfile' in call
432 to cpp_pedwarn.
433 (do_once): Mark parameter `keyword', `unused1' and `unused2' with
434 ATTRIBUTE_UNUSED.
435 (do_ident): Likewise for `keyword', `buf' and `limit'.
436 (do_pragma): Likewise. Also add missing arguments in call to do_once.
437 (do_sccs): Mark parameter `keyword', `buf' and `limit' with
438 ATTRIBUTE_UNUSED.
439 (do_if): Likewise for `keyword'.
440 (do_elif): Likewise.
441 (eval_if_expression): Likewise for `buf' and `length'.
442 (do_xifdef): Likewise for `unused1' and `unused2'.
443 (do_else): Likewise for `keyword', `buf' and `limit'.
444 (do_endif): Likewise.
445 (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
446 (cpp_handle_options): Remove superfluous NULL argument in call to
447 cpp_fatal.
448 (cpp_handle_options): Likewise.
449 (do_assert): Mark parameter `keyword', `buf' and `limit' with
450 ATTRIBUTE_UNUSED.
451 (do_unassert): Likewise.
452 (cpp_print_file_and_line): Add missing argument `pfile' in call to
453 cpp_file_line_for_message.
454 (v_cpp_error): New function.
455 (cpp_error): Use it. Also accept variable arguments.
456 (v_cpp_warning): New function.
457 (cpp_warning): Use it. Also accept variable arguments.
458 (cpp_pedwarn): Accept variable arguments.
459 (v_cpp_error_with_line): New function
460 (cpp_error_with_line): Use it. Accept variable arguments.
461 (v_cpp_warning_with_line): New function.
462 (cpp_warning_with_line): Use it. Accept variable arguments. Hide
463 definition.
464 (cpp_pedwarn_with_line): Accept variable arguments.
465 (cpp_pedwarn_with_file_and_line): Likewise.
466 (cpp_error_from_errno): Constify parameter `name'. Add missing
467 argument `pfile' in call to cpp_file_line_for_message.
468 (cpp_perror_with_name): Constify parameter `name'.
469
470 * cpplib.h: Define PARAMS() in terms of PROTO().
471 (fatal): Remove redundant prototype.
472 (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
473 cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
474 cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
475 cpp_fatal, cpp_message, cpp_pfatal_with_name,
476 cpp_file_line_for_message, cpp_print_containing_files): Add
477 arguments to prototypes.
478 (scan_decls, cpp_finish): Add prototypes.
479
480 * cppmain.c: Include gansidecl.h.
481 (main): Remove unused variable `i'.
482
483 * dbxout.c: Include toplev.h.
484
485 * demangle.h (do_tlink, collect_execute, collect_exit,
486 collect_wait, dump_file, file_exists): Add prototype.
487
488 * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
489 prototype and definition.
490 (gen_unspecified_parameters_die): Don't assign results of call to
491 function new_die() to unused variable `parm_die'.
492 (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
493 (dwarf2out_define): Likewise for `lineno' and `buffer'.
494
495 * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
496 prototype and definition.
497 (output_die): Add prototype arguments to function pointer arg.
498 (output_unspecified_parameters_die): Mark parameter `arg' with
499 ATTRIBUTE_UNUSED.
500
501 * except.c (output_exception_table_entry): Remove unused variable
502 `eh_entry'.
503
504 * except.h (expand_fixup_region_start, expand_fixup_region_end):
505 Add prototypes.
506
507 * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
508
509 * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
510
511 * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
512 before cpplib.h, include cpphash.h, remove redundant prototype of
513 cpp_fatal, don't define `const', add a prototype for `fatal'.
514 (cpp_file_line_for_message): Add missing arguments `pfile'.
515 (v_cpp_message): New function.
516 (cpp_message): Use it.
517 (v_fatal): New function.
518 (fatal, cpp_fatal): Use it.
519 (cpp_pfatal_with_name): Constify parameter `name'.
520
521 * flow.c (free_regset_vector): Remove redundant prototype.
522
523 * function.c (round_down): Wrap prototype and definition with
524 macro ARGS_GROW_DOWNWARD.
525 (record_insns): Wrap prototype and definition with
526 defined (HAVE_prologue) || defined (HAVE_epilogue).
527
528 * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
529
530 * gen-protos.c: Include gansidecl.h.
531 (hashf): Don't make it static, constify parameter `name'.
532
533 * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
534 specifier %s in calls to function `fatal'.
535
536 * haifa-sched.c: Include toplev.h.
537 (find_rgns): Remove unused variable `j'.
538
539 * integrate.c (note_modified_parmregs): Mark parameter `x' with
540 ATTRIBUTE_UNUSED.
541 (mark_stores): Likewise.
542
543 * jump.c (mark_modified_reg): Likewise.
544
545 * output.h (insn_current_reference_address): Add prototype.
546 (eh_frame_section): Likewise.
547
548 * print-rtl.c: Include bitmap.h.
549
550 * reload1.c (reload): Wrap variables `note' and `next' in macro
551 PRESERVE_DEATH_INFO_REGNO_P.
552 (forget_old_reloads_1): Mark parameter `ignored' with
553 ATTRIBUTE_UNUSED.
554 (choose_reload_regs): Remove unused variable `in'.
555 (reload_cse_invalidate_mem): Mark parameter `ignore' with
556 ATTRIBUTE_UNUSED.
557 (reload_cse_check_clobber): Likewise.
558
559 * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
560 (mark_elimination): Fix typo in prototype.
561
562 * scan-decls.c: Include gansidecl.h.
563
564 * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
565
566 Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
567
568 * function.c (identify_blocks): Fix thinko when setting the
569 block number for NOTE_INSN_BLOCK_END.
570
571 Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
572
573 * config/v850/lib1funcs.asm: Add .text pseudo op to start of
574 ___udivsi3.
575
576 * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
577 underscores for the prefixes to the names of the maths functions.
578
579 * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
580 comment explaining why.
581
582 Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
583
584 * tree.h (TYPE_SIZE_UNIT): New.
585 (struct tree_type): Add size_unit member.
586 * stor-layout.c (layout_type): Initialize it.
587 * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
588 * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
589
590 Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
591
592 * stor-layout.c (layout_record): Fix off-by-one error when checking
593 length of the TYPE_BINFO vector.
594
595 Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
596
597 * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
598 function parameter passed in memory.
599
600 Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
601
602 * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
603 Prototypes for externally used functions in respective C files.
604 * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
605 final.c: Include above files.
606 * Makefile.in (toplev.o): Add dependency for above four headers.
607 (final.o): Likewise.
608 (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
609 respective header files.
610
611 Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
612
613 * Makefile.in (TARGET_TOOLPREFIX): No longer define.
614 (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
615 the build tree if they exist.
616 (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
617 appropriately.
618 (objdir): Let configure substitute value.
619 (FLOAT_H): Let configure select a pre-built version from the
620 config subdir.
621 * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
622 * configure.in: Substitute for objdir.
623
624 * Makefile.in (build_canonical, host_canonical): Let configure
625 substitute values for these variables.
626 * configure.in: Substitute for build_canonical, host_canonical
627 and target_subdir in generated Makefile.
628
629 * output.h (find_basic_blocks): Declare.
630 (free_basic_block_vars, set_block_num, life_analysis): Likewise.
631
632 * Makefile.in (BISON): Use bison from the build tree if it exists.
633 (FLEX): Similarly.
634
635 Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
636
637 * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
638 (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
639 (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
640 command line arguments to see if an executable is not being
641 created, and if so - do not append the suffix.
642
643 * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
644 driver macro.
645
646 Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
647
648 * i386.h (ALIGN_DFmode): Delete.
649 (CONSTANT_ALIGNMENT): Define.
650 * varasm.c (force_const_mem): Use it.
651
652 Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
653
654 * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
655 using it with swap_condition, not before.
656
657 Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
658
659 * alias.c (mode_alias_check): Delete.
660 (true_dependence, anti_dependence, output_dependence): Revert April 21
661 change.
662
663 Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
664
665 * toplev.c (output_lang_identify): Enable prototype and definition.
666
667 Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com)
668
669 * version.c: Bump for snapshot.
670
671 Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
672
673 * alpha/osf.h (HAVE_STAMP_H): Define.
674 * alpha.c: Use it.
675 * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
676 * configure.in (alpha*-*-netbsd*): New.
677 Based on patches from Paul H. Anderson <pha@pdq.com>.
678
679 * configure.in (alpha*-*-linux-*): Kill xm_defines.
680 (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
681 * alpha/xm-linux.h: Remove file.
682
683 Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
684
685 * dbxout.c (dbxout_parms): If mode of type of parameter living
686 in memory doesn't match mode of DECL_RTL, make big endian correction.
687
688 Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
689
690 * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
691
692 Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
693
694 * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
695 * stor-layout.c (layout_record): Set it.
696
697 Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
698
699 * toplev.c (rest_of_compilation): Don't defer nested functions.
700
701 Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
702
703 * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
704 to an 8-byte boundary if info_ptr->fpmem_p.
705
706 Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
707
708 * loop.c (basic_induction_var): Added test preventing
709 CCmode parameter passed to convert_modes().
710
711 Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
712
713 * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
714 input_filename and lineno around expand_expr call. Set them to values
715 in WFL before expand_expr call.
716
717 Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
718
719 * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
720
721 Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
722
723 * fold-const.c (constant_boolean_node): New function.
724 (fold): Use it.
725
726 Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
727
728 * sh.c (gen_shl_and): Don't sign extend constant for kind two.
729 Abort if trying to split kind 3 or 4 outside of combine.
730
731 Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
732
733 * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
734
735 Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
736
737 * objc/Make-lang.in (OBJC_O): Add missing exeext.
738 (libobjc.a, runtime-info.h): Likewise.
739
740 Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
741
742 * i386.h (DATA_ALIGNMENT): Define.
743
744 Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
745
746 * reload1.c (delete_output_reload): Ignore single USE that
747 was emitted for the pseudo use of this INSN.
748 If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
749 remains, we can always delete OUTPUT_RELOAD_INSN.
750
751 Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
752
753 * reload.c (find_reloads): Don't penalize SCRATCH output reload.
754
755 Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
756
757 * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
758
759 Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
760
761 * eh-common.h: New file for basic EH data structures.
762 * except.h: Various prototypes and structures for NEW_EH_MODEL
763 * function.h (struct function): Add a struct eh_stack for the catch
764 clause stack.
765 * except.c (gen_exception_label): New function to generate an
766 exception label.
767 (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
768 (push_entry): New function to push an existing entry onto a stack.
769 (receive_exception_label): New function to emit the code required
770 at the start of all catch blocks.
771 (struct func_eh_entry): New structure for maintaining handlers
772 associated with EH regions.
773 (new_eh_region_entry): New function to register an EH region.
774 (add_new_handler): New function to register a handler with a region.
775 (get_new_handler): Creates anew handler entry for registering.
776 (find_func_region): New function to convert a NOTE eh region number
777 to an Eh region index.
778 (get_first_handler): New function to get the first handler in a region.
779 (clear_function_eh_region): New function to release memory.
780 (duplicate_handlers): New function to duplicate a list of handlers.
781 (expand_eh_region_end): Create a new region entry node as well.
782 (expand_leftover_cleanups): Call receive_exception_label() and
783 register the cleanup as a handler to the current region.
784 (expand_start_catch): New function to start a catch clause.
785 (expand_end_catch): New function to end a catch clause.
786 (expand_start_all_catch): restructure to not do the equivilent of
787 what expand_start_catch() does now. Push the exception region being
788 handled onto the catch stack.
789 (output_exception_table_entry): Issue an entry for each handler
790 associated with a region.
791 (set_exception_lang_code): New function for setting the language code.
792 (set_exception_version_code): New function to set the version number.
793 (output_exception_table): Output version and language codes.
794 (find_exception_handler_labels): Find handler labels using new scheme.
795 (is_exception_handler_label): New function, returns 1 if label is
796 present as a handler in some exception region.
797 (check_exception_handler_labels): Use the new scheme.
798 (init_eh_for_function): Initialize the catch stack.
799 (save_eh_status): Save the catch stack.
800 (restore_eh_status): Restore the catch stack.
801 (scan_region): Don't remove unreferenced handler label. Flow does it.
802 (get_reg_for_handler): New function to get the eh_context pointer
803 passed by __throw.
804 (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
805 * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
806 entry when processing END region rather that START region.
807 * flow.c (find_basic_blocks_1): Find all potential handler regions
808 now that we don't automatically know what the labels might be.
809 Let scan_region() remove unreferenced EH BEGIN/END labels.
810 * integrate.c (get_label_from_map): Put inlined labels onto the
811 permanent obstack since we dont know which ones might be exception
812 labels.
813 (save_for_inline_copying): Make new copies of all the handlers.
814 (expand_inline_function): Make new copies of all the handlers.
815 * libgcc2.c: Remove local struct decls, and include eh-common.h.
816 (find_exception_handler): With NEW_EH_MODEL the first matching
817 region we find is the right one. Add eh_info as a new parameter.
818 (__throw): Pass eh_info to find_exception_handler. Set handler
819 and pass use different regs under NEW_EH_MODEL.
820
821 Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com>
822
823 * i960.h (hard_regno_mode_ok): Changed to function from array of
824 unsigned.
825 (HARD_REGNO_MODE_OK): Call function instead of testing bit.
826 * i960.c (hard_regno_mode_ok): Changed to function from array of
827 unsigned.
828
829 Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
830
831 * reload.c (remove_replacements): New function.
832 * reload.h (remove_replacements): Declare.
833 * reload1.c (choose_reload_regs): Disable some reloads that
834 belong to inherited reloads.
835
836 Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
837
838 * loop.c (scan_loop): Don't call move_moveables for optimize_size.
839
840 * reload1.c (merge_assigned_reloads): When merging, reset
841 reload_spill_index for the eliminated reload.
842
843 Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com)
844
845 * haifa-sched.c (schedule_insns): Fix merge goof.
846
847 1998-05-13 Jim Wilson <wilson@cygnus.com>
848
849 * varasm.c (make_decl_rtl): Revert April 1 change.
850 * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
851 m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
852 Get function name from the SYMBOL_REF in the DECL_RTL, not from
853 DECL_ASSEMBLER_NAME.
854 * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
855 DECL_ASSEMBLER_NAME.
856
857 Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com>
858
859 * i386.c (notice_update_cc, output_float_compare): Disable
860 TARGET_CMOVE support.
861
862 Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com>
863 Jeff Law <law@cygnus.com>
864
865 * rtlanal.c (find_reg_note): Ignore notes that are not on on
866 insns of class 'i'.
867 (find_regno_note): Likewise.
868
869 * Makefile.in (stor-layout.o): Depend on except.h
870 (varasm.o, function.o): Likewise.
871 (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
872
873 * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
874 (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
875 ($(HOST_PREFIX_1)rtl.o): Likewise.
876 ($(HOST_PREFIX_1)bitmap.o): New host object.
877 * emit-rtl.c (toplevel): Include bitmap.h.
878 (gen_rtx): Handle 't' and 'b' nodes.
879 * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
880 Print block number for block begin/end notes. Print 't' type
881 nodes as a pointer. Know that the 3rd argument of live range
882 start/stop notes is really a range_info rtx. If type is 'b', print
883 out argument as a bitmap.
884 * rtl.c: Include bitmap.c.
885 (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'.
886 (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
887 * rtl.def (RANGE_LIVE): New node to hold live information while we
888 recalculate the basic blocks.
889 (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
890 (RANGE_VAR): New node, to hold information saved in symbol node for New
891 communicating live range information to the debug output functions.
892 * rtl.h (rtunion_def): Add rttree and rtbit fields.
893 (XBITMAP, XTREE): New accessor macros.
894 (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
895 (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
896 (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
897 (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
898 (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
899 (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
900 (RANGE_INFO_*): Likewise.
901 * sched.c (sched_analyze): Keep live range start/stop notes.
902 (unlink_other_notes): Likewise.
903 * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
904 (unlink_other_notes): Likewise.
905 * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
906 (BLOCK_LIVE_RANGE_FLAG): Likewise.
907 (DECL_LIVE_RANGE_RTL): Likewise.
908 (struct tree_block): Add live_range_flag, live_range_var_flag,
909 live_range_start and live_range_end.
910 (struct tree_decl): Add live_range_rtl field.
911 * gengenrtl.c (type_from_format): Handle 'b' and 't'.
912 (accessor_from_format): Likewise.
913
914 * haifa-sched.c (schedule_block): Make verbose output line up.
915 Also add a blank line in printing the individual ready lists.
916
917 Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
918
919 * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
920 (c-lex.o): Depend on output.h.
921 (c-common.o): Likewise.
922 (stmt.o): Likewise.
923 (calls.o): Likewise.
924 (integrate.o): Depend on toplev.h.
925 (regclass.o): Depend on output.h.
926 (final.o): Depend on reload.h.
927
928 * c-common.c: Include output.h.
929 (check_format_info): Remove unused variable `integral_format'.
930
931 * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
932 `indent' with ATTRIBUTE_UNUSED.
933 (print_lang_type): Likewise.
934 (maybe_build_cleanup): Likewise for parameter `decl'.
935 (copy_lang_decl): Likewise for parameter `node'.
936
937 * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
938 (lang_print_xnode): Mark parameters `file', `node' and `indent'
939 with ATTRIBUTE_UNUSED.
940 (lookup_interface): Likewise for parameter `arg'.
941 (is_class_name): Likewise.
942 (maybe_objc_check_decl): Likewise for parameter `decl'.
943 (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
944 `reflexive'.
945 (maybe_objc_method_name): Likewise for parameter `decl'.
946 (build_objc_string): Likewise for parameters `len' and `str'.
947
948 * c-lex.c: Include output.h.
949
950 * c-lex.h (position_after_white_space): Correct typo in prototype.
951
952 * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
953 c_expand_end_cond, init_iterators): Add prototypes.
954
955 * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
956 with ATTRIBUTE_UNUSED.
957
958 * calls.c: Include output.h.
959
960 * cccp.c (pipe_closed): Mark parameter `signo' with
961 ATTRIBUTE_UNUSED.
962
963 * combine.c: Move inclusion of expr.h to after insn-config.h.
964
965 * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
966 as empty, rather define as ((void)0).
967
968 * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
969 Add parentheses around assignment used as truth value.
970
971 * cplus-dem.c (squangle_mop_up): Change return type to void.
972 (internal_cplus_demangle): Remove unused parameter `options'.
973 All callers changed.
974 (cplus_demangle_opname): Remove function wide variable `int i' and
975 replace with `size_t i' at each location where it is used.
976 (cplus_demangle_opname): change type of `i' from int to size_t.
977
978 * cppexp.c (right_shift): Mark parameter `pfile' with
979 ATTRIBUTE_UNUSED.
980
981 * cpphash.c (cpp_lookup): Likewise.
982 (cpp_hash_cleanup): Likewise.
983
984 * cpplib.c (parse_name): Add a prototype and make it static.
985 (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
986 (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
987 (macro_cleanup): Likewise for parameter `pfile'.
988 (file_cleanup): Likewise.
989
990 * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
991 cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
992
993 * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
994 __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
995
996 * cse.c (cse_check_loop_start): Mark parameter `set' with
997 ATTRIBUTE_UNUSED.
998
999 * dbxout.c (flag_minimal_debug, have_used_extensions,
1000 source_label_number): Move inside macro wrapper check against
1001 defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
1002
1003 * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
1004
1005 * except.h (doing_eh): Provide prototype.
1006
1007 * expr.c: Move inclusion of expr.h to after insn-config.h.
1008
1009 * final.c: Include reload.h.
1010 (shorten_branches): Cast the first argument of bzero to char *.
1011
1012 * fix-header.c (cpp_print_containing_files): Mark parameter
1013 `pfile' with ATTRIBUTE_UNUSED.
1014 (cpp_fatal): Likewise.
1015
1016 * flow.c (find_basic_blocks_1): Cast the first argument of bzero
1017 to char *.
1018
1019 * genattrtab.c (make_length_attrs): Change the type of variable
1020 `i' from int to size_t.
1021 (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
1022 (one_fn): Likewise.
1023
1024 * genextract.c (main): When generating insn-extract.c, mark
1025 variable `junk' with ATTRIBUTE_UNUSED.
1026
1027 * gengenrtl.c (gencode): When generating genrtl.c, cast the first
1028 argument of bzero to char*.
1029
1030 * integrate.c: Include toplev.h.
1031
1032 * libgcc2.c: Wrap `struct exception_table' and
1033 `find_exception_handler' in macro DWARF2_UNWIND_INFO.
1034
1035 * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
1036
1037 * objc/objc-act.c: Include toplev.h.
1038 (lang_print_xnode): Mark parameters `file', `node' and `indent'
1039 with ATTRIBUTE_UNUSED.
1040 (finish_protocol): Likewise for parameter `protocol'.
1041
1042 * output.h (declare_weak): Add prototype.
1043 (decode_reg_name): Don't wrap with TREE_CODE macro.
1044 (assemble_alias): Add prototype.
1045
1046 * regclass.c: Include output.h.
1047
1048 * reload.h (reloads_conflict): Add prototype.
1049
1050 * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
1051 output_func_start_profiler): Add prototypes.
1052
1053 * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
1054 ATTRIBUTE_UNUSED.
1055
1056 * scan-decls.c: Include scan.h.
1057
1058 * scan.h (recognized_function, recognized_extern): Add prototypes.
1059
1060 * stmt.c: Include output.h.
1061
1062 * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
1063 (output_lang_identify): Hide prototype and definition.
1064 (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
1065 (pipe_closed): Likewise.
1066
1067 * toplev.h (count_error, strip_off_ending, error_for_asm,
1068 warning_for_asm): Add prototypes.
1069
1070 Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
1071
1072 * toplev.c (rest_of_compilation): "Charge" final for any time
1073 doing various cleanup operations after finishing compilation
1074 of a function.
1075
1076 * flow.c (dump_flow_info): Also print number of sets and
1077 whether or not the pseudo is a user variable.
1078
1079 * flow.c (reg_n_max): New global variable.
1080 * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
1081 Delete regno_max variable.
1082 * regs.h (REG_N_CHECK): Define.
1083 (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
1084 (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
1085 (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
1086
1087 Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
1088
1089 * acconfig.h (ENABLE_CHECKING): Undefine.
1090 * configure.in (--enable-checking): New option.
1091
1092 Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1093
1094 * reload1.c (merge_assigned_reloads): Can merge
1095 RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
1096 if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
1097
1098 Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
1099
1100 * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
1101
1102 Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1103
1104 * reload1.c (gen_reload): Create REG_EQUIV notes.
1105
1106 Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1107
1108 * reload1.c (reload): Fix check for USEs to use code of pattern.
1109 (choose_reload_regs): Remove dead variable use_insn.
1110
1111 Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
1112
1113 * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
1114
1115 Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
1116
1117 * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
1118 already defined.
1119 (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
1120 (insn_{unit,issue_delay}): Ditto.
1121 (blockage_range): Ditto.
1122 (actual_hazard{,_this_instance}): Ditto.
1123 (schedule_unit): Ditto.
1124 (potential_hazard): Ditto.
1125 (insn_cost): Ditto.
1126 (swap_sort): Ditto.
1127 (queue_insn): Ditto.
1128 (birthing_insn_p): Ditto.
1129 (adjust_priority): Ditto.
1130 (get_block_head_tail): Ditto.
1131 (init_rgn_data_dependences): Ditto.
1132
1133 Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
1134
1135 * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
1136
1137 Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
1138
1139 * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
1140
1141 Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
1142
1143 * config/mips/mips.md (dslot): Move after definition of "cpu"
1144 attribute. Handle r3900 case.
1145
1146 Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1147
1148 * system.h: Define the STRINGIFY macro here.
1149 * protoize.c: Not here.
1150 * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
1151
1152 Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
1153
1154 * varasm.c (assemble_variable): Compute the alignment of the data
1155 earlier so that both initialized and uninitialized variables are
1156 effected by DATA_ALIGNMENT.
1157 * tm.texi (DATA_ALIGNMENT): Updated appropriately.
1158
1159 Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
1160
1161 * mips.c: Prototype static functions.
1162
1163 Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
1164
1165 * regmove.c (fixup_match_2, find_matches, regmove_profitable):
1166 Add explanatory comments.
1167
1168 * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
1169
1170 Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
1171
1172 * sparc.md (ffsdi2): Disable. Simplify the expression as well.
1173
1174 Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
1175
1176 * varasm.c (make_decl_rtl): Disable April 1 change.
1177
1178 Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
1179
1180 * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
1181
1182 Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
1183
1184 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
1185 * alpha.c (print_operand): Handle it.
1186 * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
1187 related define_splits. Also add peepholes for SImode reload
1188 plus sign_extend lossage.
1189
1190 Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1191
1192 * genattr.c: Include stdarg.h/varargs.h. Change function
1193 `fatal' to use variable arguments instead of faking it with
1194 integer parameters. Provide a prototype which also
1195 checks the format specifiers using ATTRIBUTE_PRINTF_1.
1196
1197 * genattrtab.c: Likewise.
1198 * gencodes.c: Likewise.
1199 * genconfig.c: Likewise.
1200 * genemit.c: Likewise.
1201 * genextract.c: Likewise.
1202 * genflags.c: Likewise.
1203 * genopinit.c: Likewise.
1204 * genpeep.c: Likewise.
1205 * genrecog.c: Likewise.
1206 * genoutput.c: Likewise. Similarly for function `error'.
1207
1208 Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1209
1210 * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
1211 * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
1212 * configure.in: Use GCC_C_VOLATILE.
1213 * system.h (volatile): Define as empty if no volatile support is
1214 available.
1215
1216 Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
1217
1218 * genemit.c (output_add_clobbers): Removed unused variable 'i' from
1219 generated fucntion.
1220
1221 Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
1222
1223 * loop.c (get_condition): Don't combine when either compare is MODE_CC.
1224 * alpha.c (alpha_emit_conditional_branch): New function. Taken from
1225 the body of beq; additionally set the mode of the branch to CCmode for
1226 FP compares and not fast_math.
1227 (alpha_emit_conditional_move): Always use a compare insn for FP
1228 when not fast_math, as well as setting CCmode on the cmov.
1229 * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
1230
1231 * machmode.h (COMPLEX_MODE_P): New macro.
1232
1233 Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
1234
1235 * haifa-sched.c (print_exp): Fix typo.
1236
1237 Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com)
1238
1239 * version.c: Bump for snapshot.
1240
1241 Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
1242
1243 * final.c (final_scan_insn): Call fatal_insn instead of abort if
1244 we could not split an insn when required to.
1245
1246 * m32r.md ({add,sub}di3): Add define_splits and appropriate low
1247 level insns.
1248 (peepholes): Disable peepholes that call dead_or_set_p.
1249 (movsi): Rewrite to handle addresses better after last change.
1250 Add define_split to split load of addresses in large/medium modes.
1251 (prologue): Call m32r_expand_prologue.
1252 (movsi_{push,pop}): Generators for push/pop.
1253 (movsi): Support PRE_{INC,DEC}, POST_INC.
1254 (mov{di,df}): Rewrite. Always split the insns.
1255 (movsf): Add define_split to get register load in correct mode.
1256 (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
1257 (attributes): Rewrite attributes so that type indicates both the
1258 type and the length of the insn directly.
1259 (all insns): Change to use new type attributes.
1260 (debug): New attribute to convey whether -mdebug was used.
1261 (opt_space): New attribute to convey whether -Os was used.
1262 (function units): Loads are 3 cycles, not 2. Better classify all
1263 insns into short/long.
1264 (load/store/extend insns): Add separate case for load/store
1265 indirect operations without an offset.
1266 (divsi3): Division is a long operation, not short.
1267
1268 * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
1269 modes > 1 word.
1270 (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
1271 (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
1272 (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for
1273 operands with PRE_{INC,DEC}, POST_INC.
1274 (FUNCTION_PROFILER): Call abort instead of doing nothing.
1275 (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
1276 SImode variables.
1277 (gen_split_move_double): Declare.
1278 (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
1279
1280 * m32r.c (gen_split_move_double): Fix typo. Also, don't call
1281 emit_move_insn, build up SET's directly.
1282 (toplevel): Include system.h, not stdio.h.
1283 (move_double_src_operand): Allow any DF or DI mode constant.
1284 (gen_split_move_double): Split moves of DI or DF values into the
1285 appropriate moves, loads, or stores. Don't handle use of auto
1286 inc/dec if using dead index. Do handle overlapping moves, etc.
1287 (m32r_frame_info): Remove prologue_size field.
1288 (m32r_compute_frame_size): Don't calculate prologue size.
1289 (m32r_output_function_prologue): Change to pretty much a NOP.
1290 (m32r_expand_prologue): Expand prologue as a series of INSNs.
1291 (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
1292 (m32r_print_operand_address): Ditto.
1293
1294 Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
1295
1296 * reload1.c (emit_reload_insns): When performing expensive
1297 optimizations, do not output the last reload insn if OLD is
1298 not the dest of NSN and is in the src and is clobbered by INSN.
1299
1300 Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1301
1302 * Makefile.in (genrtl.o): Depend on system.h.
1303 * gengenrtl.c (gencode): When creating genrtl.c, have it
1304 include system.h.
1305
1306 Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1307
1308 * config/m68k/t-linux: Remove extra stuff already included in
1309 config/t-linux.
1310
1311 Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com>
1312
1313 * fixinc.wrap: Renamed from fixinc.math. Put wrapper around
1314 curses.h if it contains `typedef char bool;', as suggested by
1315 Manfred Hollstein <manfred@s-direktnet.de>.
1316
1317 * configure.in: Rename fixinc.math to fixinc.wrap.
1318
1319 Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
1320
1321 * gcc.c (read_specs): Handle missing blank line at end of specs file.
1322
1323 * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
1324 movdfcc_1): Disable.
1325
1326 Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
1327
1328 * configure.in (enable_threads): Rename to enable_threads_flag before
1329 main loop. Set enable_threads to enable_threads_flag inside main
1330 loop.
1331
1332 Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
1333
1334 * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
1335 multiple times.
1336
1337 Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1338
1339 * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
1340
1341 * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
1342 (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
1343 (AC_CHECK_FUNCS): Remove unused check for vprintf.
1344
1345 * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
1346 (cccp.o): Depend on gansidecl.h.
1347 (cexp.o): Likewise.
1348
1349 * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
1350 per the rest of gcc source.
1351 * cexp.y: Likewise. Include gansidecl.h and remove all code made
1352 redundant.
1353
1354 * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
1355 used when vfprintf is missing.
1356 * cexp.y: Likewise.
1357 * gcc.c: Likewise.
1358 * genattrtab.c: Likewise.
1359 * mips-tfile.c: Likewise.
1360 * toplev.c: Likewise.
1361
1362 * vfprintf.c: New file.
1363 * doprint.c: New file.
1364
1365 Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
1366
1367 * config/linux.h (ASM_COMMENT_START): Remove from here,
1368 * config/linux-aout.h (ASM_COMMENT_START): and here,
1369 * config/i386/linux.h (ASM_COMMENT_START): to here,
1370 * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
1371 * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
1372 here as '#' too.
1373
1374 Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1375
1376 * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
1377 constant.
1378
1379 Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
1380
1381 * Makefile.in (dwarfout.o) Add toplev.h dependency.
1382 * dwarfout.c, i386.c: Include toplev.h
1383 * toplev.h: (pfatal_with_name) Add prototype.
1384
1385 Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
1386
1387 * Makefile.in: Fix .SUFFIXES.
1388
1389 Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
1390
1391 * config/linux.h (ASM_COMMENT_START): Define as "#".
1392 * config/linux-aout.h (ASM_COMMENT_START): Likewise.
1393
1394 Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
1395
1396 * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
1397 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
1398
1399 * toplev.c: Include toplev.h.
1400 * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
1401 c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
1402 dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
1403 hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
1404 reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
1405 toplev.h dependency.
1406
1407 * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
1408 HARD_FRAME_POINTER_REGNUM.
1409
1410 * expr.c (target_temp_slot_level): Delete duplicate definition.
1411
1412 Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
1413
1414 * stmt.c (mark_seen_cases): Make it have external linkage again.
1415 * expr.h (mark_seen_cases): Add declaration, but only when tree.h
1416 has been included.
1417
1418 * haifa-sched.c (print_value, case SUBREG): Fix typo.
1419
1420 * i386.c (output_387_binary_op): Add some braces to avoid warnings.
1421 * i386.h (REG_CLASS_CONTENTS): Similarly.
1422
1423 * toplev.c (-fsched-max): Delete flag.
1424 (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
1425 * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
1426 and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG
1427 conditionals.
1428
1429 * haifa-sched.c (find_rgns): Correctly handle reducible loops with
1430 inner loops which are not reducible.
1431
1432 * loop.c (regs_match_p): Fix typo in prototype.
1433
1434 * regmove.c (try_auto_increment): Wrap declaration inside an
1435 #ifdef AUTO_INC_DEC.
1436
1437 Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
1438
1439 * final.c (output_operand_lossage): Call fatal with the operand
1440 lossage message instead of calling abort.
1441
1442 Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1443
1444 * c-common.c: Convert to using ctype macros defined in system.h.
1445 * c-lex.c: Likewise.
1446 * cccp.c: Likewise.
1447 * collect2.c: Likewise.
1448 * rs6000.c: Likewise.
1449 * cpplib.c: Likewise.
1450 * fix-header.c: Likewise.
1451 * gcc.c: Likewise.
1452 * gen-protos.c: Likewise.
1453 * pexecute.c: Likewise.
1454 * protoize.c: Likewise.
1455 * rtl.c: Likewise.
1456 * scan.c: Likewise.
1457 * stmt.c: Likewise.
1458 * tlink.c: Likewise.
1459 * toplev.c: Likewise.
1460
1461 Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
1462
1463 * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
1464 Replace -gdwarf-2 with -g0.
1465
1466 Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1467
1468 * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
1469 * mips-tdump.c: Include system.h, remove redundant headers.
1470 * mips-tfile.c: Likewise. Also, convert all ctype function calls
1471 to calls of the macro versions defined in system.h.
1472
1473 * objc/Make-lang.in (objc-act.o): Depend on system.h.
1474 * objc/objc-act.c: Include system.h, remove redundant headers.
1475
1476 Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1477
1478 * configure.in (AC_CHECK_FUNCS): Add isascii.
1479 (GCC_NEED_DECLARATIONS): Add atof.
1480
1481 * system.h: Provide prototypes for abort, atof, atol and sbrk here.
1482 * rtl.c, rtl.h, toplev.c, tree.h: Not here.
1483
1484 Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1485
1486 * system.h: Wrap time.h and sys/file.h in autoconf checks.
1487 Provide default definitions for O_RDONLY and O_WRONLY here.
1488
1489 * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
1490
1491 1998-05-06 Mark Mitchell <mmitchell@usa.net>
1492
1493 * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
1494
1495 Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
1496
1497 * toplev.h: New file. Protypes for functions in toplev.c.
1498 * tree.h, rtl.h: Deleted protos for functions in toplev.c.
1499 * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
1500 c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
1501 convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
1502 function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
1503 reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
1504 varasm.c: include it.
1505
1506 Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
1507 Jim Wilson (wilson@cygnus.com)
1508
1509 * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
1510 blocks. Check for 1 successor which is the EXIT_BLOCK.
1511
1512 * haifa-sched.c (find_rgns): Detect unreachable blocks, including
1513 unreachable loops with more than one block.
1514
1515 Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
1516
1517 * fix-header.c (write_rbrac): Add "abort" to functions which need to
1518 be protected.
1519
1520 Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
1521
1522 * Check in merge from gcc2. See ChangeLog.12 for details.
1523
1524 Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
1525
1526 * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not
1527 accept 'a' flag. 'S' does accept 'a' flag.
1528 (check_format_info): When pedantic, warn for m/C/S/a/A formats,
1529 and `a' flag.
1530
1531 * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
1532
1533 Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1534
1535 * config/m68k/m68k.h: Declare functions from m68k.c used in
1536 macros and machine description.
1537 (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
1538 long values.
1539 (ASM_OUTPUT_FLOAT): Likewise.
1540 (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1541
1542 Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com>
1543
1544 * tree.def: Add NAMESPACE_DECL.
1545 * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
1546 * dwarf2out.c (push_decl_scope): Likewise.
1547 (scope_die_for): Likewise.
1548 * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
1549 how to get next context level.
1550
1551 Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com>
1552
1553 * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
1554 case.
1555
1556 Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com)
1557
1558 * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
1559
1560 * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
1561 for any insns skipped at the start of a block because they were
1562 redundant.
1563
1564 Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com>
1565
1566 * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
1567
1568 1998-05-04 Ulrich Drepper <drepper@cygnus.com>
1569
1570 * c-common.c (format_char_info): Add new field hhlen.
1571 (print_char_table, scan_char_table, time_char_table): Initialize
1572 hhlen field appropriately.
1573 (char_format_info): Recognize hh modifier and lookup correct char
1574 table entry.
1575
1576 Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
1577
1578 * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
1579 reference if this is a store.
1580
1581 Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
1582
1583 * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
1584
1585 Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
1586
1587 Make UnixWare 7 bootstrap support work with final shipping product.
1588 * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
1589 Pick up xm-siglist and xm-alloca.
1590 (xm_defines): Add USG so dbxout will build.
1591 * configure: Regenerate.
1592
1593 Sun May 3 13:51:34 PDT 1998 Richard Henerson <rth@cygnus.com>
1594
1595 Support for official Sparc V9 ABI:
1596 * sparc.c (sparc_override_options): Force stack bias off for !arch64.
1597 Care for flag_pcc_struct_return default.
1598 (output_move_quad): Rewrite to move by halves on v9 and in the
1599 proper direction.
1600 (move_quad_direction): New function.
1601 (output_fp_move_quad): Use it to determine the direction of copy.
1602 (function_arg_slotno): Return -1 for FP reg overflow as well.
1603 (function_arg_record_value*): New functions.
1604 (function_arg): Use them. Streamline unprototyped parameter passing.
1605 (function_arg_pass_by_reference): Pass TCmode by reference.
1606 (function_value): New function.
1607 * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
1608 long long in 64-bit mode.
1609 (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
1610 (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
1611 (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
1612 (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
1613 (BASE_INCOMING_ARG_REG): Likewise.
1614 (FUNCTION_VALUE): Call function_value.
1615 (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
1616 * sparc.md (movdi_sp32_v9): Disable for arch64.
1617 (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
1618 (call_value_address_sp64): Remove register class constraints.
1619 (call_value_symbolic_sp64): Likewise.
1620 (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain
1621 v9 case to 32-bit constants.
1622 (goto_handler_and_restore_v9): Provide a version for arch64.
1623 * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
1624 * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
1625 (CPP_PREDEFINES): New.
1626 * sparc/sp64-elf.h: Likewise.
1627 (PREFERRED_DEBUGGING_TYPE): Dwarf2.
1628 (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
1629 * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
1630
1631 Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com)
1632
1633 * version.c: Bump for snapshot.
1634
1635 Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1636
1637 * reload.c (find_reloads): Emit USEs to mark where a pseudo
1638 is reloaded with the MEM of its stack slot.
1639 * reload1.c (cannot_omit_stores): Delete.
1640 (reload): Don't initialize it.
1641 Don't apply avoid_return_reg logic to USEs.
1642 When done, remove USEs that have a REG_EQUAL note on them.
1643 (emit_reload_insns): Handle case where we have inherited a MEM.
1644 (choose_reload_regs): Likewise.
1645 (delete_output_reload): Don't use cannot_omit_stores.
1646
1647 Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com>
1648
1649 * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
1650
1651 Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
1652
1653 * haifa-sched.c (print_{exp,value}): Various changes to make the
1654 debug output easier to read. Also, use only one buffer, and make
1655 sure the buffer we are passed in doesn't overflow.
1656 (safe_concat): Concatenate to a buffer without overflow.
1657
1658 Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1659
1660 * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
1661 with the prototype.
1662
1663 Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1664
1665 * sched.c (new_insn_dead_notes): Check if the register was
1666 used in the original instruction.
1667 * haifa-sched.c (new_insn_dead_notes): Likewise.
1668
1669 Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
1670
1671 * dwarf2out.c (scope_die_for): If could not find proper scope,
1672 check for and handle tagged type with incorrect TYPE_CONTEXT.
1673
1674 Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu>
1675
1676 * calls.c (expand_call): Fix recognition of C++ operator new.
1677
1678 * alias.c (mode_alias_check): Disable type based alias detection.
1679
1680 Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
1681
1682 * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
1683 ASM_OUTPUT_WEAK_ALIAS): Define.
1684 * config/mips/elf64.h: Same.
1685 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
1686 ASM_WEAKEN_LABEL): Removed.
1687
1688 Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1689
1690 * calls.c (expand_call): Bump the length limit on the specially
1691 recognized function names to 17.
1692
1693 Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com>
1694
1695 * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
1696 when undefining macros at the end.
1697
1698 * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
1699 val or len has TREE_SIDE_EFFECTS set.
1700
1701 * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
1702 (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
1703 (smuldi3_highpart): Call const v8plus routine.
1704 (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
1705 (const_smulsi3_highpart_v8plus): New pattern.
1706 (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
1707 (umulsidi3): Call const v8plus routine.
1708 (umulsi3_highpart): Handle const before v8plus. Call const v8plus
1709 routine.
1710 (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
1711 (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
1712
1713 Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
1714
1715 * m32r.c (*_oper{and|ator}): Change enum arguments and return
1716 values to int, so they can be prototyped even in files that don't
1717 include rtl.h.
1718 ({small,large}_insn_p): Ditto.
1719 (m32r_select_cc_mode): Ditto.
1720 (gen_compare): Ditto.
1721 (function_arg_partial_nregs): Ditto.
1722 (m32r_setup_incoming_varargs): Ditto.
1723 (init_reg_tables): Add prototype.
1724 (m32r_frame_info): Add prolog_size field.
1725 (m32r_compute_frame_size): Calculate the size of the prologue.
1726 (m32r_first_insn_address): Return prologue size.
1727 (m32r_output_function_prologue): Calculate frame size before
1728 printing out information. Print out the prologue size.
1729
1730 * m32r.h: Prototype all functions in m32r.c.
1731 (FIRST_INSN_ADDRESS): Declare, returning prologue size.
1732
1733 * m32r.md (bcc functions): Cast enum's to int.
1734
1735 * m32r.c (conditional_move_operand): Silence a debug message.
1736 ({small,long}_insn): New predicates.
1737
1738 * m32r.h (TARGET_M32R): New macro.
1739 (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
1740 (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
1741 was selected.
1742 (ISSUE_RATE): Define as 2.
1743
1744 * m32r.md (insn_size): New attribute.
1745 ({,rev_}branch_insn): Add .s qualifier to branches believed to be
1746 short.
1747 (m32r): New attribute.
1748
1749 * configure.in (enable_haifa): Switch m32r to Haifa by default.
1750 * configure: Regenerate.
1751
1752 (Changes from Nick Clifton <nickc@cygnus.com>)
1753 * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
1754 the equivalent of a negated 'I' constraint.
1755 (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
1756 optimisation to work.
1757
1758 * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
1759 than 'I' since the value is negated.
1760 (peephole): Add peephole optimisation to cope with optimization of
1761 divide and subtracts of the same operands.
1762
1763 * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
1764 * m32r.h: Ditto.
1765 * m32r.md: Ditto.
1766
1767 * m32r.h (PREDICATE_CODES): Add declaration of machine specific
1768 predicates.
1769
1770 Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
1771
1772 * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
1773
1774 Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
1775
1776 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
1777 frame_pointer_rtx not FRAME_POINTER_REGNUM.
1778
1779 Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
1780
1781 * reg-stack.c: Revert last patch (Apr 20).
1782 (convert_regs): Set insn to PREV_INSN (next) after do while loop.
1783
1784 * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
1785
1786 * loop.c (check_dbra_loop): New locals jump, first_compare, and
1787 compare_and_branch. Call get_condition to set first_compare.
1788 Set compare_and_branch to number of compare/branch instructions.
1789 Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
1790 Replace '2' with compare_and_branch.
1791
1792 Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1793
1794 * cplus-dem.c (demangle_qualified): Replace missing else.
1795
1796 Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1797
1798 * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
1799
1800 Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1801
1802 * sh.c (sh_expand_prologue, sh_expand_epilogue):
1803 If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
1804 * sh.h (STACK_BOUNDARY): Likewise.
1805
1806 Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1807
1808 * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
1809
1810 Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
1811
1812 * system.h (abort): If abort is not defined, and neither is
1813 USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
1814 reporting the line and filename of the error.
1815
1816 * .gdbinit: Add breakpoints on exit and fancy_abort.
1817
1818 * final.c (split_double): Avoid a compiler warning if
1819 BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
1820
1821 * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
1822 for calling jump_optimize.
1823
1824 * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
1825 macros, rather than 0/1's.
1826
1827 Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
1828
1829 * alpha.h (CONST_COSTS): Zero is always free.
1830 (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
1831
1832 Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1833
1834 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
1835 length in the name of a virtual table.
1836
1837 Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
1838
1839 * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
1840
1841 Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com)
1842
1843 * version.c: Bump for snapshot.
1844
1845 Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
1846
1847 * fold-const.c (fold_convert): Fix typo.
1848
1849 Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
1850
1851 * alias.c (alias_invariant): New variable.
1852 (record_base_value): New argument INVARIANT.
1853 (memrefs_conflict_p): If a register has an entry in the alias_invariant
1854 array, try substituting that value for the register.
1855
1856 * rtl.h: Declare record_base_value.
1857
1858 * loop.c, unroll.c: Update callers of record_base_value.
1859
1860 * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
1861 ZERO_EXTEND do not affect base values.
1862
1863 Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
1864
1865 * dbxout.c (dbxout_type): Fix typo.
1866 (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
1867
1868 * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
1869
1870 Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
1871
1872 * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
1873 if the argument is the address of a structure or array.
1874
1875 * configure.in: Enable Haifa scheduler by default for SPARC.
1876
1877 Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1878
1879 * cse.c (cse_set_around_loop): Don't do optimization when
1880 new pseudos are created.
1881
1882 Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
1883
1884 * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
1885 appropriately.
1886 (dbxout_type_method_1, dbxout_type): Likewise.
1887 (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
1888 (dbxout_type): Fix check for when to print a type range in
1889 octal vs decimal.
1890
1891 Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1892
1893 * (gen_shl_and, in case 1): Fix comparison with mask.
1894
1895 Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
1896
1897 * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
1898 pointer as second register in REG+REG pair.
1899
1900 Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1901
1902 * c-common.c (check_format_info): Don't check for the 'x' format
1903 character twice, instead check for 'x' and 'X'
1904
1905 Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
1906
1907 * Makefile.in (libgcc2.ready): Add explicit dependancy from
1908 $(STMP_FIXPROTO) to ensure all necessary include files have
1909 been created and to guarantee proper parallel builds.
1910
1911 Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1912
1913 * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
1914 register for stdarg functions.
1915 * sh.h (current_function_varargs): Declare.
1916 (FUNCTION_ARG): Ignore NAMED for stdarg functions.
1917
1918 1998-04-23 Jim Wilson <wilson@cygnus.com>
1919
1920 * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
1921 inhibit_libc is defined.
1922
1923 * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
1924
1925 Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
1926
1927 * profile.c (tablejump_entry_p): New function.
1928 (branch_prob): Add code to recognize MIPS tablejump entry branch.
1929 Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
1930
1931 Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
1932
1933 * config/arm/arm.c (find_barrier): Return as soon as a barrier is
1934 found, rather than at end of the loop, after the insn has been
1935 changed.
1936
1937 Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1938
1939 * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
1940 * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
1941
1942 Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
1943
1944 * loop.c (note_addr_stored): Correct function to take 2 arguments,
1945 instead of 1.
1946
1947 * rtl.def (MATCH_INSN2): Add new matching pattern.
1948 * genrecog.c (add_to_sequence): Support MATCH_INSN2.
1949
1950 Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
1951
1952 * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
1953 if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
1954
1955 * final.c (split_double): Sign extend both halves of a split CONST_INT.
1956
1957 Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
1958
1959 * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
1960
1961 Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
1962
1963 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
1964 (cplus_demangle_opname): Call mop_up_squangle.
1965 (cplus_demangle): Initialize squangle info, then call
1966 internal_cplus_demangle. (Most code moved there as well)
1967 (internal_cplus_demangle): New function, performs most of what use
1968 to be done in cplus_demangle, but is only called with this file.
1969 (squangle_mop_up): New function to clean up B and K code data.
1970 (mop_up): set pointers to NULL after freeing.
1971 (demangle_signature, demangle_template, demangle_class): Add
1972 switch elements to handle K and B codes.
1973 (demangle_prefix, gnu_special, demangle_qualified): Add
1974 code to handle K and B codes.
1975 (do_type, demangle_fund_type): Handle B and K codes.
1976 (remember_Ktype): New function to store K info.
1977 (register_Btype, remember_Btype): New functions for B codes.
1978 (forget_B_and_K_types): New function to destroy B and K info.
1979
1980 1998-04-21 Jim Wilson <wilson@cygnus.com>
1981
1982 * stmt.c (check_seenlabel): When search for line number note for
1983 warning, handle case where there is no such note.
1984
1985 Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
1986
1987 * genemit.c (gen_exp): Allow machine description to set mode of
1988 MATCH_OP_DUP.
1989
1990 Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
1991
1992 * alias.c (mode_alias_check): New function.
1993 (true_dependence, anti_dependence, output_dependence): Call
1994 mode_alias_check.
1995
1996 Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
1997
1998 * mips.h (STACK_BOUNDARY): Allow specific targets to override.
1999 (MIPS_STACK_ALIGN): Similarly.
2000
2001 * c-common.c (type_for_mode): Handle TI types.
2002 * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
2003 (init_decl_processing): Handle TI types.
2004 * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
2005
2006 * mips.c (block_move_loop): Test Pmode == DImode instead of
2007 TARGET_MIPS64.
2008 (expand_block_move, save_restore_insns): Likewise.
2009 (function_prologue, mips_expand_prologue): Likewise.
2010 (mips_expand_epilogue): Likewise.
2011 * mips.h (POINTER_SIZE): Allow specific targets to override.
2012 (Pmode): Allow specific targets to override.
2013 (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
2014 (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
2015 (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
2016 (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
2017 (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2018 (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2019 * mips.md (indirect, tablejump & casesi support): Test for
2020 Pmode == DImode instead of TARGET_MIPS64.
2021 (call patterns): Likewise.
2022
2023 Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2024
2025 * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
2026 for gen_rtx(MEM, ...).
2027
2028 Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
2029
2030 * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
2031 to not be so gross, and to properly function with PIC.
2032
2033 Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
2034
2035 * frame.c (heapsort): Rename to frame_heapsort.
2036
2037 * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
2038
2039 Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
2040
2041 * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
2042
2043 Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
2044
2045 * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
2046 operands during and after reload.
2047
2048 Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2049
2050 * final.c (shorten_branches, init_insn_lengths): Move code
2051 to free label_align, uid_shuid, insn_lengths, insn_addresses
2052 and uid_align from the former function into the latter one;
2053 Add code to clear these variables.
2054 * sh.h (label_align): Remove declaration.
2055
2056 Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
2057
2058 * gcc.c (lang_specific_driver): Declare prototype properly so
2059 fatal can be passed to it without error.
2060
2061 * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
2062 * configure: Regenerate.
2063 * config.in: Add #undef's for strchr and strrchr.
2064
2065 * protoize.c (toplevel): If we have rindex, but not strrchr, map
2066 rindex to strrchr.
2067 (file_could_be_converted): Use strrchr, not rindex since rindex is
2068 not defined on Linux systems when _POSIX_SOURCE is defined.
2069 (file_normally_convertible): Ditto.
2070 (process_aux_info_file): Ditto.
2071 (main): Ditto.
2072
2073 * rs6000.md (mov{sf,df} define_splits): When splitting a move of
2074 a constant to an integer register, don't split the insns that do
2075 the simple AND and OR operations, rather just split each word, and
2076 let the normal movsi define split handle it further.
2077
2078 Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2079
2080 * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
2081 (split_branches): Call init_insn_lengths.
2082
2083 Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
2084
2085 * i386.c: Include expr.h to get the change_address prototype
2086 declared.
2087
2088 Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
2089
2090 * reg-stack.c (subst_asm_stack_regs): Change to return the last
2091 new insn generated by this function.
2092 (subst_stack_regs): Likewise.
2093 (convert_regs): Record the last newly generated insn and use
2094 it for change_stack () instead of INSN.
2095
2096 Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
2097
2098 * fix-header.c (enum special_file): Undefine enumerators if they
2099 are already defined by include files.
2100 * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
2101 macro with '__' to not pollute user namespace.
2102
2103 Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
2104
2105 * haifa-sched.c (queue_to_ready): Fix typo in prototype.
2106
2107 Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com)
2108
2109 * version.c: Bump for snapshot.
2110
2111 Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
2112
2113 * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
2114
2115 * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
2116 Add missing -Dpentium* options.
2117 (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default
2118 instead of CPP_CPU_DEFAULT.
2119 (EXTRA_SPECS): Add entry for cpp_cpu_default.
2120
2121 Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
2122
2123 * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
2124 negative in a stackless frame.
2125 * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
2126 in stackless frame size. Support 64-bit stackless frame size.
2127 Combine fpmem offset calculations and don't add total_size to
2128 offset if not pushing a stack frame.
2129
2130 Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
2131
2132 * regmove.c (fixup_match_1): In three places, in flag_exceptions
2133 check, change p to q.
2134
2135 Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
2136
2137 * gcc.c (lang_specific_driver): Add new parm type to prototype.
2138 (added_libraries): New file scope static variable.
2139 (process_command): Initialize added_libraries. Pass it to
2140 lang_specific_driver.
2141 (main): Use added_libraries in check for no input files.
2142
2143 Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
2144
2145 * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
2146 code generation. Use 64 bit instructions in 32 bit mode when
2147 possible. Use V9 return instruction. UltraSPARC optimizations.
2148
2149 * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
2150
2151 Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
2152
2153 * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
2154 just pass zero. That will work regardless of the size of HARD_REG_SET.
2155
2156 * libgcc2.c (__floatdisf): Fix a couple typos.
2157
2158 Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
2159
2160 * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
2161
2162 Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
2163
2164 * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
2165
2166 Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
2167
2168 * emit-rtl.c (operand_subword_force): If a register can not be
2169 accessed by words, copy it to a pseudo register.
2170
2171 Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
2172
2173 * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
2174
2175 Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
2176
2177 * tree.h (mark_seen_cases): Delete declaration.
2178
2179 Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
2180
2181 * stmt.c (mark_seen_cases): Make static and add prototype.
2182
2183 Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2184
2185 * frame.c: Include stdlib.h and unistd.h to possibly get various
2186 function prototypes. The fixproto script guarantees these header
2187 files exist on the target system.
2188 * libgcc2.c: Likewise.
2189
2190 * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
2191 __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
2192 function parameters.
2193 * libgcc2.c (__udiv_w_sdiv): Likewise.
2194
2195 Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
2196
2197 * varasm.c (asm_output_bss): Add prototype.
2198 (asm_output_aligned_bss): Likewise.
2199
2200 * unroll.c (verify_addresses): Add prototype.
2201
2202 * toplev.c: Add many prototypes. Too many to mention here.
2203
2204 * stmt.c (check_seenlabel): Add prototype.
2205
2206 * rtlanal.c (reg_set_p_1): Add prototype.
2207 (reg_set_last_1): Likewise.
2208
2209 * reorg.c (find_dead_or_set_registers): Add prototype.
2210
2211 * regmove (try_auto_increment): Add prototype.
2212
2213 * reg-stack.c (pop_stack): Add prototype.
2214
2215 * recog.c (validate_replace_rtx_1): Add prototype.
2216 (find_cosntant_term_loc): Likewise.
2217
2218 * loop.c (regs_patch_p): Add prototype.
2219 (add_label_notes, count_nonfixed_reads): Likewise.
2220 (find_single_use_in_loop): Likewise.
2221 (express_from): Surround prototype with #ifdef.
2222 (giv_sort): Similarly.
2223
2224 * jump.c (mark_modified_reg): Add prototype.
2225
2226 * haifa-sched.c (is_prisky): Add prototype.
2227 (queue_to_ready): Likewise.
2228
2229 * genextract.c (gen_insn): Add prototype.
2230
2231 * genemit.c (max_operand_1): Add prototype.
2232 (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
2233 (gen_expand, gen_explit, output_add_clobbers): Likewise.
2234 (output_init_mov_optab): Likewise.
2235
2236 * genattrtab.c (attr_hash_add_rtx): Add prototype.
2237 (attr_hash_add_string, write_length_unit_log): Likewise.
2238
2239 * genattr.c (init_range): Add prototype.
2240
2241 * combine.c (sets_function_arg_p): Add prototype.
2242
2243 * expr.c (store_constructor_field): Add prototype.
2244 (get_memory_usage_from_modifier): Likewise
2245
2246 * expmed.c (synth_mult): Add prototype.
2247 (choose_multiplier, invert_mod2n): Likewise.
2248
2249 * except.c (push_eh_entry): Add prototype.
2250 (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
2251 (call_get_eh_context, start_dynamic_cleanup): Likewise.
2252 (start_dynamic_handler, can_throw): Likewise.
2253 (output_exception_table_entry, scan_region): Likewise.
2254 (eh_regs, set_insn_eh_region): Likewise.
2255
2256 * dwarfout.c (decl_class_context): Add prototype.
2257 (output_inheritance_die, type_ok_for_scope): Likewise.
2258
2259 * c-lex.c (skip_white_space_on_line): Add prototype.
2260
2261 * alias.c (record_set): Add prototype.
2262 (find_base_term, base_alias_check): Likewise.
2263
2264 * function.c (assign_outer_stack_local): Make static and add prototype.
2265
2266 * haifa-sched.c (build_control_flow): Accept raw data as inputs
2267 instead of computing it locally. Callers changed.
2268 (find_rgns): Several new arguments. Callers changed.
2269 Generally clean up and comment better. Use dominators to
2270 identify reducible loops. Convert some flag arrays to bitmaps.
2271 Convert most of the code to work on pred/succ lists instead of
2272 an edge table. Add comments for future improvements.
2273 (schedule_insns): Allocate temporary tables for flow data, call
2274 routines to compute flow data and pass it along to children as
2275 arguments.
2276 (debug_control_flow): Delete. Use dump_bb_data instead.
2277
2278 * basic-block.h (compute_dominators): Declare.
2279
2280 * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
2281 functions.
2282 * basic-block.h: Declare them.
2283
2284 Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
2285
2286 * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
2287 no operands.
2288
2289 Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
2290
2291 * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
2292 Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
2293 node is non NULL. Cache last file name and file name identifier node.
2294
2295 1998-04-15 Mark Mitchell <mmitchell@usa.net>
2296
2297 * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
2298 the length of an array, not TREE_TYPE.
2299
2300 Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
2301
2302 * flow.c (sbitmap_union_of_successors): New function.
2303 * basic-block.h (sbitmap_union_of_successors): Declare it.
2304
2305 Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
2306
2307 * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
2308 Set gnu_ld to gnu_ld_flag inside main loop.
2309 (gas): Likewise.
2310
2311 Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
2312
2313 * toplev.c (compile_file): Call init_parse using new interface.
2314 (init_lex): Remove declaration.
2315
2316 * c-lex.c (init_parse): Now returns char* containing filename.
2317
2318 Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
2319
2320 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
2321
2322 Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
2323
2324 * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
2325 (gen{extract,peep,opinit,output}): Ditto.
2326
2327 * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
2328 global definition so print-rtl.o can be linked in.
2329 * gen{peep,recog}.c (insn_attr_name): Ditto.
2330
2331 Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
2332
2333 * fixincludes: discard empty C++ comments, as found in sys/time.h
2334 on hpux-11.0.
2335
2336 Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2337
2338 * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
2339 operand.
2340
2341 Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
2342
2343 * emit-rtl.c (operand_subword): Rework slightly to avoid
2344 bogus warning from previous change.
2345
2346 Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
2347
2348 * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
2349 Nov 8 find_replacement change. Move decls of get_unaligned_address
2350 * alpha.h: ... here.
2351
2352 Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
2353
2354 * function.c (assign_parms): Initialize unsignedp before passing
2355 its pointer to promote_mode.
2356
2357 * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
2358 (write_test_expr): Allow MATCH_INSN.
2359
2360 Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
2361
2362 * install.texi: Update section on warnings that can be safely ignored.
2363
2364 Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
2365
2366 * mips.md (reload_outdi): Change the scratch mode from DImode to
2367 TImode. New variable scratch, used instead of operand[2] in template.
2368 Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
2369
2370 Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
2371
2372 * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
2373
2374 Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
2375
2376 * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
2377
2378 Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
2379
2380 * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
2381 (ASM_FINISH_DECLARE_OBJECT): Likewise.
2382
2383 * Idea and part of the patch from HJ.
2384 * Makefile.in: auto-host.h renamed from auto-config.h. All references
2385 changed.
2386 (distclean): Remove auto-build.h too.
2387 * configure.in: Rename host autoconf generated file to auto-host.h.
2388 If host != build, then run autoconf to generate auto-build.h for
2389 the build machine and include it in build_xm_files.
2390 Check for wait.h and sys/wait.h.
2391
2392 * combine.c (simplify_rtx, case TRUNCATE): Respect value of
2393 TRULY_NOOP_TRUNCATION.
2394
2395 Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
2396
2397 * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
2398
2399 Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
2400
2401 * invoke.texi (ld options) Include memset requirements
2402 for options -nodstdlib and -nodefaultlibs.
2403
2404 1998-04-12 Paul Eggert <eggert@twinsun.com>
2405
2406 This change is from an idea suggested by Arthur David Olson.
2407
2408 * c-common.c (decl_attributes, record_function_format,
2409 check_format_info, init_function_format_info):
2410 Add support for strftime format checking.
2411 (enum format_type): New type.
2412 (record_function_format): Now static, and takes value of type
2413 enum format_type instead of int.
2414 (time_char_table): New constant.
2415 (struct function_format_info): format_type member renamed from is_scan.
2416 (check_format_info): Use `warning' rather than sprintf followed by
2417 `warning', to avoid mishandling `%' in warnings.
2418 Change `pedwarn' to `warning', since these warnings do not necessarily
2419 mean the program does not conform to the C Standard, as the code
2420 need not be executed.
2421
2422 * c-tree.h (record_function_format): Remove decl; no longer extern.
2423
2424 * extend.texi: Add documentation for strftime format checking.
2425
2426 Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
2427
2428 * mips/ecoffl.h: Do not include mips.h.
2429 * mips/elf.h: Likewise.
2430
2431 * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
2432 * mips/ecoff.h: Include "mips/mips.h".
2433
2434 Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com)
2435
2436 * version.c: Bump for snapshot.
2437
2438 Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
2439
2440 * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
2441 (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
2442 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns
2443 between loop optimization passes.
2444 * rtl.h: Updated appropriately.
2445
2446 Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
2447
2448 Reinstall this patch from Jason.
2449 * function.c (push_function_context_to): Don't call init_emit.
2450
2451 Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
2452
2453 * rtl.c (read_skip_spaces): Prevent infinite loops upon
2454 encountering unterminated comments.
2455
2456 Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
2457
2458 * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
2459 64x32 cross builds.
2460
2461 * configure.in: Handle --with-fast-fixincludes.
2462 (fixincludes): If --with-fast-fixincludes, then use a different
2463 fixincludes program by default.
2464 * Makefile.in (fixinc.sh): New rule.
2465
2466 Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
2467
2468 * i386.md (movqi+1): Handle invalid QI register.
2469 (movsf_push-1): Likewise.
2470
2471 Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
2472
2473 * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
2474 addresses.
2475 symbolic_memort_operand(), call32_operand(), int8_operand(),
2476 int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
2477 Not used.
2478 uint16_operand(): Made static.
2479
2480 Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
2481
2482 * calls.c (expand_call): Fix typo.
2483
2484 Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
2485
2486 * c-lex.c (finput): New global.
2487 (init_parse): Always included. Handle !USE_CPPLIB using
2488 code originally in compile_file.
2489 (finish_parse): Update for CPPLIB.
2490 * toplev.c (init_parse, finish_parse): Declare.
2491 (finput): Delete variable. Now in front-ends.
2492 (compile_file): Remove code which is now handled by init_parse
2493 which is unconditionally called. Similarly for finish_parse.
2494
2495 Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
2496
2497 * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
2498 ASM_WEAKEN_LABEL): Add.
2499
2500 Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
2501
2502 * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
2503 * configure.in (alpha-*-linux*): Use them.
2504
2505 Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
2506
2507 * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
2508 * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
2509 COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
2510 (build_expr_wfl): New prototype declaration.
2511 * tree.c (build_expr_wfl): New function, to build
2512 EXPR_WITH_FILE_LOCATION nodes.
2513 (copy_node): Don't zero TREE_CHAIN if copying a
2514 EXPR_WITH_FILE_LOCATION node.
2515 * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
2516 * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
2517
2518 Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
2519
2520 * configure.in (v850): Use t-v850.
2521 (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
2522
2523 * protoize.c (creat, read, write): Do not declare.
2524
2525 * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
2526 refer to the CODE_LABEL before a dispatch table.
2527
2528 * invoke.texi: Add ARC options.
2529
2530 * gcc.c (proces_command): Improve error message for -o with
2531 either -c or -S.
2532
2533 * i386/x-cygwin32 (CLIB): Link in advapi32.
2534
2535 * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
2536 (ASM_IDENTIFY_LANGUAGE): Likewise.
2537
2538 * i386.md (movqi recognizer): Don't perfom byte increment into
2539 a NON_QI_REG_P.
2540
2541 * configure.in (x86-dg-dgux): Run fixinc.dgux.
2542
2543 * i370.h: Fix typo in GEN_INT changes.
2544
2545 * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
2546 of an empty arglist in prototype.
2547
2548 * Makefile.in: Remove bytecode crud that crept back in after the
2549 gcc2 merge.
2550
2551 1998-04-08 Brendan Kehoe <brendan@cygnus.com>
2552
2553 * c-lex.h (is_class_name): Fix arg type to be tree, not void.
2554 (make_pointer_declarator, reinit_parse_for_function): Fix typo.
2555
2556 Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
2557
2558 * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2559
2560 Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
2561
2562 * c-lex.c (is_class_name): Delete declaration.
2563 (whitespace_cr): Make static and add prototype.
2564 * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
2565 yylex, get_directive_line): Turn declarations into prototypes.
2566 (position_after_whitespace, check_newline, yyerror,, is_class_name,
2567 forget_protocol_qualifiers, remember_protocol_qualifiers): Add
2568 prototypes.
2569 * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
2570 prototypes.
2571 * gencodes.c (gen_insn): Add prototype.
2572 * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
2573 gen_peephole): Add prototypes.
2574 * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
2575 prototypes.
2576 * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
2577 special_format, find_formats, gendecl, genmacro, gendef, genlegend,
2578 genheader, gencode): Add prototypes.
2579 * genopinit.c (gen_insn): Add prototype.
2580 * genoutput.c (output_prologue, output_epilogue, scan_operands,
2581 process_template, validate_insn_alternatives, gen_insn, gen_peephole,
2582 gen_expand, gen_split, n_occurrences): Add prototypes.
2583 * genpeep.c (gen_peephole): Add prototype.
2584 * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
2585 reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
2586 labels_in_range_p, count_loop_regs_set, note_addr_stored,
2587 loop_reg_used_before_p, scan_loop, replace_call_address,
2588 skip_consec_insns, libcall_benefit, ignore_some_movables,
2589 force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
2590 strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
2591 check_final_value, record_giv, update_giv_derive, basic_induction_var,
2592 simplify_giv_expr, general_induction_var, consec_sets_giv,
2593 check_dbra_loop, express_from, combine_givs_p, combine_givs,
2594 product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
2595 last_use_this_basic_block, record_initial, update_reg_last_use,
2596 iteration_info, analyze_loop_iterations, insert_bct,
2597 instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
2598 into prototypes.
2599
2600 Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
2601
2602 * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2603
2604 1998-04-07 Ken Raeburn <raeburn@cygnus.com>
2605
2606 * config/mips/mips.c (siginfo): Deleted.
2607 (override_options): Don't install SIGINFO signal handler.
2608
2609 Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
2610
2611 * loop.c (check_dbra_loop): When normalize comparison_val, add check
2612 to verify it is non-negative.
2613
2614 Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
2615
2616 * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
2617 (alpha_expand_block_clear): Likewise.
2618
2619 Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
2620
2621 * tree.h (sizetype_tab): Fix previous change for K&R.
2622
2623 Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com)
2624
2625 * version.c: Bump for snapshot.
2626
2627 Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
2628
2629 * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
2630 Add USG and POSIX to xm_defines.
2631
2632 Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
2633
2634 * gcc.c: Add linker spec.
2635 (link_command_spec): Use %(linker) instead of ld.
2636 (main): If collect2 is requested as the linker, see if it exists;
2637 if not, use ld instead.
2638
2639 * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
2640 (ld:) Deleted.
2641 (install-collect2): Install as collect2, not ld.
2642
2643 * configure.in(will_use_collect2): It's named collect2 now.
2644
2645 * collect2: Remove checks to see if we were invoked recursively.
2646 (collect_execute): Use _spawnvp under cygwin32.
2647
2648 Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
2649
2650 * haifa-sched.c (build_control_flow): Set unreachable for block whose
2651 only predecessor is itself.
2652
2653 Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2654
2655 * c-parse.in: Include system.h, and remove stuff now made redundant.
2656 * cccp.c: Likewise.
2657 * cexp.y: Likewise.
2658 * protoize.c: Likewise. Properly check for cpp stringification.
2659
2660 * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
2661 Depend on system.h.
2662
2663 * objc/Make-lang.in (objc-parse.o): Likewise.
2664
2665 Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2666
2667 * gansidecl.h: Check if compiler supports __attribute__. Provide
2668 definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
2669 __attribute__ when its available. Also provide definitions for
2670 ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
2671 terms of ATTRIBUTE_PRINTF.
2672
2673 * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
2674 of __attribute__.
2675
2676 Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
2677
2678 * combine.c (can_combine_p): Include successor in volatile test.
2679
2680 Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2681
2682 * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
2683 offset_unsigned.
2684
2685 Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
2686
2687 * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
2688 in prototype and definition.
2689
2690 Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com)
2691
2692 * version.c: Bump for snapshot.
2693
2694 Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
2695
2696 * alpha.c (alpha_expand_block_clear): Add missing offset arg to
2697 alpha_expand_unaligned_store_words.
2698
2699 Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
2700
2701 * i386.md (movsf_push, movsf_mem): Remove.
2702 (movsf_push): Rename from movsf_push_nomove and move in front of
2703 movsf. Use nonmemory_operand predicate and don't bother checking
2704 TARGET_MOVE.
2705 (movsf_push_memory): New pattern.
2706 (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
2707 both operands refer to memory then force operand[1] into a register.
2708 (movsf_normal): Change to unnamed pattern.
2709 Likewise for movdf, movxf, and friends.
2710
2711 Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com)
2712
2713 * version.c: Bump for snapshot.
2714
2715 Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
2716
2717 * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
2718
2719 Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
2720
2721 * configure.in (mips-wrs-vxworks): New target.
2722
2723 Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com)
2724
2725 * expmed.c (synth_mult): The value -1, has no zeros, so it can
2726 never have the form ...011.
2727
2728 * version.c: Bump for snapshot.
2729
2730 Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
2731
2732 * i386.c (asm_output_function_prefix, load_pic_register):
2733 Use ASM_GENERATE_INTERNAL_LABEL properly.
2734 (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
2735 (print_operand): Ignore it.
2736 (load_pic_register): Use it for the got load call.
2737 * i386.md (prologue_set_got, prologue_get_pc): Likewise.
2738 (prologue_get_pc_and_set_got): Likewise.
2739 * i386.h: Update print_operand docs.
2740
2741 Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
2742
2743 * i386.md (ffssi, ffshi): Rewrite as define_expands.
2744 (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
2745 * i386.c (notice_update_cc): Recognize unspec 5.
2746
2747 Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
2748
2749 * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
2750 * alpha.c (print_operand): Handle it.
2751 * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern
2752 for ALPHA_TP_INSN.
2753 (fix_truncdfdi2): Likewise.
2754
2755 Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
2756
2757 * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
2758 of these into a single struct, with additional [us]sizetype entries.
2759 * stor-layout.c (set_sizetype): Initialize [us]sizetype.
2760 * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
2761 an array.
2762
2763 Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
2764
2765 * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
2766
2767 Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
2768
2769 * haifa-sched.c (split_block_insns): Don't supress insn splitting
2770 on subsequent passes.
2771
2772 * alpha.c (hard_fp_register_operand): New function.
2773 * alpha.h (PREDICATE_CODES): Add it.
2774 * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an
2775 f<-m case and accompanying define_split.
2776 (trapb): Use a unique unspec_volatile number.
2777
2778 Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
2779
2780 * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
2781 from gcc2 merge.
2782
2783 Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
2784
2785 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
2786 for details.
2787
2788 * haifa-sched.c: Mirror recent changes from gcc2.
2789
2790 Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
2791
2792 * Makefile.in (insn*.o): Depend on system.h.
2793
2794 * pa.c (output_global_address): Initialize base.
2795 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
2796
2797 1998-04-03 Mike Stump <mrs@wrs.com>
2798
2799 * gthr.h: Support systems that don't have weak, but have threads.
2800 * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
2801 * gthr-vxworks.h: New file.
2802 * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
2803
2804 Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
2805
2806 * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
2807
2808 1998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
2809
2810 * ginclude/va-i960.h (va_end): Change void * to void.
2811
2812 Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2813
2814 * Makefile.in (choose-temp.o): Depend on system.h.
2815
2816 * choose-temp.c: Include system.h when IN_GCC.
2817
2818 Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
2819 Richard Henderson <rth@cygnus.com>
2820
2821 * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
2822 (move_replacements): New function.
2823 * reload.h: Prototype it.
2824
2825 * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
2826
2827 Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
2828
2829 * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
2830 Run fixincludes.
2831
2832 * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
2833 (gen_highpart): Likewise.
2834 * final.c (alter_subreg): Allow the target to hook by-mode subreg
2835 hard register number changes.
2836
2837 Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
2838
2839 * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
2840 rnbitsize, rnmode and rinner.
2841 (make_range): Initialize type.
2842 (fold): Initialize arg0, arg1 and varop.
2843
2844 * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
2845 and regnor.
2846 (expand_function_start): Initialize last_ptr.
2847
2848 * stor-layout.c (layout_record): Initialize desired_align.
2849 (get_best_mode): Initialize unit.
2850
2851 * tree.c (copy_node): Initialize length.
2852
2853 * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
2854
2855 * caller-save.c (insert_save_restore): Initialize pat, code and
2856 numregs.
2857
2858 * emit-rtl.c (push_to_sequence): Initialize top.
2859 (push_topmost_sequence): Likewise.
2860
2861 * genattrtab.c (simplify_by_exploding): Initialize defval.
2862
2863 * profile.c (branch_prob): Initialize dest.
2864
2865 * rtl.h (note_stores): Remove duplicate prototype.
2866 (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
2867
2868 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
2869 strings that are not actually lengths.
2870
2871 * genattrtab.c: Make generated file use system.h, instead of
2872 including stdio.h, etc directly.
2873 * genextract.c, genopinit.c, genoutput.c: Likewise.
2874 * genpeep.c, genrecog.c: Likewise
2875
2876 * genoutput.c (process_template): Mark operands in the generated
2877 function as potentially unused if compiling with GNU CC.
2878
2879 * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
2880
2881 * pa.md (reload peepholes): Remove unused variable "mode".
2882
2883 Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
2884
2885 * config/arm/thumb.h: Add super interworking support.
2886 * config/arm/thumb.c: Add super interworking support.
2887 * config/arm/thumb.md: Add super interworking support.
2888 * config/arm/lib1funcs.asm: Add interworking support.
2889 * config/arm/lib1thumb.asm: Add super interworking support.
2890 * config/arm/t-semi: Add interworking support.
2891 * config/arm/t-thumb: Add interworking support.
2892 * config/arm/README-interworking: New file.
2893
2894 Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
2895
2896 * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
2897 (MD_STARTFILE_PREFIX): Unset.
2898
2899 1998-04-01 Mark Mitchell <mmitchell@usa.net>
2900
2901 * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
2902 entity in a local scope.
2903
2904 * fold-const.c (fold): Call truthvalue_conversion for values which
2905 are folded to boolean type.
2906
2907 Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
2908
2909 * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
2910 * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
2911 * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
2912 * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
2913 * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
2914 * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
2915 * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
2916 * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
2917 * md.texi: Likewise.
2918
2919 Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
2920
2921 * fixincludes (limits.h): Fix nested comments in Motorola's
2922 limits.h and sys/limits.h.
2923
2924 Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
2925
2926 * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
2927 as dest of expand_binop call.
2928
2929 * alpha.md (extzv): Correct check for valid operand[2] values.
2930
2931 * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
2932 branch.
2933
2934 * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
2935
2936 Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
2937
2938 * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
2939 For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
2940
2941 * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
2942 cygwin32 can override this to allow both unix and win32 style PATHs.
2943
2944 * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
2945 style environment paths.
2946
2947 Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2948
2949 * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
2950 cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
2951 gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
2952 system.h.
2953
2954 * cpphash.c: Include config.h.
2955 * cppalloc.c: Include system.h. Add parameters to various
2956 function prototypes.
2957 * cpperror.c: Likewise.
2958 * cppexp.c: Likewise.
2959 * cpphash.c: Likewise.
2960 * cpplib.c: Likewise.
2961 * cppmain.c: Likewise.
2962 * fix-header.c: Likewise.
2963 * gcov.c: Likewise.
2964 * gen-protos.c: Likewise.
2965 * gengenrtl.c: Likewise.
2966 * halfpic.c: Likewise.
2967 * hash.c: Likewise.
2968 * scan-decls.c: Likewise.
2969 * scan.c: Likewise.
2970
2971 Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
2972
2973 * README.gnat: Add lang_print_xnode definition.
2974
2975 Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2976
2977 * config/m68k/m68k.c (standard_68881_constant_p): Don't use
2978 fmovecr on the 68060.
2979
2980 Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
2981
2982 * genemit.c (DONE): Rework so that it works in the true arm if
2983 an if-else conditional.
2984 (FAIL): Likewise.
2985
2986 Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
2987
2988 * rs6000.c: Do not include stdioh or ctype.h anymore.
2989
2990 * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
2991 $(RTL_H).
2992 (stor-layout.o): Likewise.
2993 * c-typeck.c: Include rtl.h and expr.h.
2994 * stor-layout.c: Likewise.
2995
2996 * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
2997 All callers changed.
2998 (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
2999 * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
3000 All callers changed.
3001
3002 * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
3003
3004 * local-alloc.c (reg_classes_overlap_p): Delete dead function.
3005
3006 * tree.h (lang_print_xnode): Provide prototype.
3007
3008 Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com)
3009
3010 * version.c: Bump for snapshot.
3011
3012 Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
3013
3014 * objc/sendmsg.c (__objc_block_forward): Add braces for return
3015 value if INVISIBLE_STRUCT_RETURN.
3016
3017 * pa.c (arith_double_operand): Fix parens.
3018
3019 * haifa-sched.c (print_pattern): Correct arg to sprintf.
3020
3021 * Makefile.in (libgcc1.null): Make return type for __foo void.
3022
3023 Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
3024
3025 * pa.h: Add declarations for many functions defined in pa.c.
3026
3027 * genpeep.c (main): Remove unused variable 'i' from the generated
3028 file.
3029
3030 * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
3031 (gen_split): Likewise.
3032 (main): Rework generated definitions of DONE and FAIL so that they
3033 no longer use gotos. Avoids warnings about unused labels.
3034
3035 * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
3036 unused "junk" variable.
3037
3038 * genattrtab.c (write_complex_function): Add a default case in
3039 generated switch statement to keep -W -Wall quiet.
3040
3041 Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
3042
3043 * invoke.texi: Document more ARM and Thumb command line options.
3044
3045 * config/arm/xm-thumb.h: New file.
3046
3047 Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
3048
3049 * stmt.c (expand_expr_stmt): Must generate code for
3050 statements within an expression (gcc's `({ ... )}')
3051 even if -fsyntax-only.
3052
3053 Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3054 Jeffrey A Law (law@cygnus.com)
3055
3056 * basic-block.h (basic_block_computed_jump_target): Declare.
3057 * flags.h: (current_function_has_computed_jump): Declare.
3058 * flow.c: (basic_block_computed_jump_target): Define.
3059 (flow_analysis): Allocate it. Set current_function_has_computed_jump
3060 to 0.
3061 (find_basic_blocks): Set current_function_has_computed_jump and
3062 elements of basic_block_computed_jump_target to 1 as appropriate.
3063 * function.c: (current_function_has_computed_jump): Define.
3064 * global.c (global_conflicts): Don't allocate pseudos into stack regs
3065 at the start of a block that is reachable by a computed jump.
3066 * reg-stack.c (stack_reg_life_analysis): If must restart, do so
3067 immediately.
3068 (subst_stack_regs): Undo change from Sep 4 1997.
3069 (uses_reg_or_mem): Now unused, deleted.
3070 * stupid.c (stupid_life_analysis): Compute
3071 current_function_has_computed_jump.
3072 (stupid_find_reg): Don't allocate stack regs if the function has a
3073 computed goto.
3074 * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
3075 the current function has a computed jump. Use the global value
3076 instead.
3077
3078 Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
3079
3080 * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
3081 (DWARF2_UNWIND_INFO): Define to zero.
3082
3083 Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
3084
3085 * gcc.c (set_std_prefix): Add declaration.
3086 (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
3087 suffix, and update the standard prefix prefix.c uses.
3088
3089 * prefix.c (std_prefix): New global to hold default prefix value.
3090 (get_key_value): Change to use std_prefix instead of PREFIX.
3091 (translate_name): Ditto.
3092 (update_path): Ditto.
3093 (get_key_value): Release allocated scratch storage.
3094 (set_std_prefix): New function to reset the standard prefix.
3095
3096 Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3097
3098 * sh.c (find_barrier): Fix calculations for alignment increase.
3099
3100 Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
3101
3102 * Makefile.in (stmp-fixinc): If we're actually fixing include
3103 files, copy gcc's assert.h into the fixed include dir.
3104 * fixincludes (assert.h): Avoid any attempts to fix a probably
3105 broken system specific assert.h file.
3106 * fixproto (stdlib.h): Make sure, it'll contain a definition of
3107 size_t.
3108
3109 Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
3110
3111 * regclass.c (reg_scan_mark_refs): Be more selective about
3112 when we mark a register with REGNO_POINTER_FLAG.
3113
3114 Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3115
3116 reload inheritance improvement:
3117 * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
3118 Change meaning: index is now hard reg number.
3119 (reg_reloaded_valid, reg_reloaded_dead): New variables.
3120 (reload_spill_index): Content is now a hard reg number.
3121 (reload_as_needed): Change to fit new variable meaning.
3122 (forget_old_reloads_1, allocate_reload_reg): Likewise.
3123 (choose_reload_regs, emit_reload_insns): Likewise.
3124
3125 Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3126
3127 * regclass.c (record_reg_classes): '?' increases cost by two.
3128
3129 * reload.c (find_reloads): Double previous costs. Output
3130 reloads cost one unit extra.
3131
3132 * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
3133 boiled down to && ! 0.
3134
3135 * reload.c (find_equiv_reg): Also consider a goal offset from the
3136 frame pointer to be constant.
3137
3138 Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3139
3140 * sh.h (OPTIMIZATION_OPTIONS): Define.
3141
3142 Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
3143
3144 * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
3145
3146 Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
3147
3148 * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
3149
3150 Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
3151
3152 * c-common.c (check_format_info): Initialize type, is_type. New local
3153 integral_format. Don't warn for 'L' when pedantic. Do warn for 'L'
3154 when pedantic if used with integral format specifier.
3155
3156 Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
3157
3158 * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
3159 direction.
3160 (function_arg_padding): Declare.
3161
3162 * rs6000.c: Include system.h.
3163 (function_arg_padding): Change return type to int, cast enum's to
3164 int.
3165
3166 (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
3167 * collect2.c (scan_prog_file): Add explicit braces to avoid
3168 ambiguous `else'.
3169
3170 * dbxout.c (dbxout_type_fields): Add braces around empty body in
3171 an if-statement.
3172 (dbxout_type): Likewise.
3173
3174 * rs6000.c (rs6000_override_options): Change type of `i', `j' and
3175 `ptt_size' from int to size_t.
3176 (rs6000_file_start): Likewise for `i'.
3177 (rs6000_replace_regno): Add default case in enumeration switch.
3178 (output_epilog): Remove unused variable `i'.
3179 (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
3180 and `reg2'.
3181
3182 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
3183 initializer.
3184 (get_issue_rate, non_logical_cint_operand): Add prototype.
3185 (rs6000_output_load_toc_table): Ditto.
3186
3187 * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
3188 `else'.
3189
3190 Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
3191
3192 * config/arm/thumb.c: New File. Support for ARM's Thumb
3193 instruction set.
3194 * config/arm/thumb.h: New File. Thumb definitions.
3195 * config/arm/thumb.md: New File. Thumb machine description.
3196 * config/arm/tcoff.h: New File. Thumb COFF support.
3197 * config/arm/t-thumb: New File. Thumb makefile fragment.
3198 * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions.
3199
3200 * configure.in: Add Thumb-coff target.
3201 * configure: Add Thumb-coff target.
3202 * config.sub: Add Thumb-coff target.
3203
3204 Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
3205
3206 * loop.c (scan_loop): Initialize move_insn_first to zero.
3207
3208 Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
3209
3210 * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
3211 * config/i386/rtems.h: Likewise.
3212 * config/i960/rtems.h: Likewise.
3213 * config/m68k/rtems.h: Likewise.
3214 * config/mips/rtems64.h: Likewise.
3215 * config/pa/rtems.h: Likewise.
3216 * config/rs6000/rtems.h: Likewise.
3217 * config/sh/rtems.h: Likewise.
3218 * config/sparc/rtems.h: Likewise.
3219
3220 Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3221
3222 * pa.c (emit_move_sequence): If in reload, call find_replacement.
3223
3224 Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
3225
3226 * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
3227
3228 * collect2.c (find_a_file): Add debugging.
3229 (find_a_file): Test for win32 style absolute paths if
3230 DIR_SERPARATOR is defined.
3231 (prefix_from_string): Add debugging.
3232 (main): Test for debug command line switch at start of program
3233 execution.
3234 (main): Use GET_ENVIRONMENT rather than getenv().
3235 (prefix_from_env): Use GET_ENVIRONMENT.
3236
3237 1998-03-24 Mark Mitchell <mmitchell@usa.net>
3238
3239 * cplus-dem.c (optable): Add sizeof.
3240 (demangle_template_value_parm): New function containing code
3241 previously found in demangle_template.
3242 (demangle_integral_value): New function which handles complicated
3243 integral expressions.
3244 (demangle_template): Use them.
3245
3246 Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3247
3248 * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
3249 genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
3250 genattrtab.o, genoutput.o): Depend on system.h.
3251
3252 * genattr.c: Include system.h. Add arguments to various function
3253 prototypes. Remove redundant prototype of read_rtx().
3254 * genattrtab.c: Likewise.
3255 * gencodes.c: Likewise.
3256 * genconfig.c: Likewise.
3257 * genemit.c: Likewise.
3258 * genextract.c: Likewise.
3259 * genflags.c: Likewise.
3260 * genopinit.c: Likewise.
3261 * genoutput.c: Likewise.
3262 * genpeep.c: Likewise.
3263 * genrecog.c: Likewise.
3264
3265 1998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
3266
3267 * c-lang.c (lang_print_xnode): New function.
3268 * objc/objc-act.c (lang_print_xnode): Likewise.
3269 * print-tree.c (print_node): Call it
3270
3271 Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
3272
3273 * c-parse.in: Recognize protocol qualifiers in class
3274 definitions for objc.
3275 Include "output.h".
3276 (yyerror): Remove redundant decl.
3277 (yyprint): Fix prototype.
3278
3279 Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
3280
3281 * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
3282
3283 * stmt.c (unroll_block_trees): Free block_vector if needed.
3284
3285 Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
3286
3287 * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
3288 (zero_extendsidi2): Avoid useless copy.
3289 (iordi_zext): New pattern.
3290 (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
3291 operand 2.
3292 (iorsi_zext): New name for old unnamed pattern; indentation fixes.
3293
3294 * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
3295 (ashldi3): Allow constant shift count in range ]32,63].
3296 (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
3297
3298 1998-03-22 Mark Mitchell <mmitchell@usa.net>
3299
3300 * tree.h (IS_EXPR_CODE_CLASS): New macro.
3301
3302 Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
3303
3304 * h8300.h (CONST_COSTS): Remove definition.
3305 (DEFAULT_RTX_COSTS): Define.
3306
3307 Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
3308
3309 * config/sh/rtems.h: Switched from ELF to COFF.
3310
3311 Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3312
3313 * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
3314
3315 Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com)
3316
3317 * version.c: Bump for snapshot.
3318
3319 Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
3320 Geoff Noer <noer@cygnus.com>
3321
3322 * Makefile.in: Various fixes for building cygwin32 native toolchains.
3323
3324 * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
3325 * objc/Make-lang.in: Likewise.
3326
3327 * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
3328
3329 Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
3330
3331 * configure.in: Handle with-PACKAGE=no correctly
3332
3333 Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3334
3335 * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
3336 c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
3337 caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
3338 dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
3339 expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
3340 integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
3341 prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
3342 reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
3343 rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
3344 tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
3345 on system.h.
3346
3347 * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
3348 c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
3349 caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
3350 dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
3351 expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
3352 integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
3353 prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
3354 reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
3355 rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
3356 stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
3357 xcoffout.c: Include system.h. Organize include ordering so
3358 that stdarg/varargs comes before other system headers. Remove
3359 spurious casts of functions assured of a prototype in system.h.
3360
3361 Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
3362
3363 * reg-stack.c (pop_stack): Define. Pops any register on the
3364 regstack and adjusts regstack.
3365 (compare_for_stack_reg): Use pop_stack.
3366
3367 Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
3368
3369 * configure.in (hppa1.0-hp-hpux10): Handle threads for this
3370 config too.
3371
3372 Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
3373
3374 * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
3375
3376 * fold-const.c (fold): Replace sign-extension of a zero extended
3377 value by a single zero extension.
3378
3379 Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
3380
3381 * except.c (init_eh): Do nothing.
3382 (save_eh_status): Call init_eh_for_function, not init_eh.
3383 * function.c (push_function_context_to): Don't call init_emit.
3384
3385 Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
3386
3387 * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
3388 and EABI.
3389
3390 Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3391
3392 * final.c (shorten_branches): Add parentheses around +/- in
3393 operand of &.
3394
3395 * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
3396
3397 Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
3398
3399 * regclass.c (memory_move_secondary_cost): Wrap uses of
3400 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
3401 with #ifdef tests.
3402
3403 Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
3404
3405 * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
3406
3407 * flow.c (life_analysis): #include <sys/types.h> to make sure
3408 size_t is defined.
3409 * cplus-dem.c (demangle_function_name): Likewise.
3410
3411 Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
3412
3413 * final.c (insn_noperands): Change type to unsigned int.
3414 (final_scan_insn): Likewise for noperands;
3415 properly check operand number boundaries.
3416
3417 Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
3418
3419 * alpha.md (extzv): Don't reject register operands. Fix
3420 mode of operand 1.
3421
3422 Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
3423
3424 * dbxout.c (dbxout_function_end): Fix last change. The correct
3425 predicate is ASM_OUTPUT_SECTION_NAME.
3426
3427 Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
3428
3429 * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
3430 (ashlsi): Use match_dup 1 instead of match_operand 2.
3431
3432 Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3433
3434 * fold-const.c (operand_equal_for_comparison_p): See if equal
3435 when nop conversions are removed.
3436
3437 Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3438
3439 * expr.c (expand_expr, case COND_EXPR): If have conditional move,
3440 don't use ORIGINAL_TARGET unless REG.
3441
3442 Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3443
3444 * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
3445
3446 Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
3447
3448 * loop.c (struct movable): New field move_insn_first.
3449 (scan_loop): In consec sets code, set it. Clear it otherwise.
3450 (move_movables): In consec sets code, use it. Copy REG_NOTES from
3451 p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed
3452 out code.
3453
3454 Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
3455
3456 * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
3457 is large, and the system doesn't provide atoll or atoq.
3458 (atoll): New.
3459
3460 * alpha/xm-vms.h (HAVE_ATOLL): Define.
3461 Reported by Klaus Kaempf <kkaempf@progis.de>.
3462
3463 Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3464
3465 * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
3466 test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
3467
3468 * calls.c (emit_call_1): Wrap variable `already_popped' with macro
3469 test !ACCUMULATE_OUTGOING_ARGS.
3470
3471 * collect2.c (write_c_file_glob): Wrap function definition in
3472 macro test !LD_INIT_SWITCH.
3473
3474 * combine.c (try_combine): Wrap variables `cc_use' and
3475 `compare_mode' in macro test EXTRA_CC_MODES.
3476
3477 * cpplib.c (do_ident): Remove unused variable `len'.
3478 (skip_if_group): Remove unused variables `at_beg_of_line' and
3479 `after_ident'.
3480 (cpp_get_token): Remove unused variable `dummy'.
3481
3482 * dbxout.c (scope_labelno): Move static variable definition inside
3483 the one function scope where it is used.
3484 (dbxout_function_end): Wrap prototype and definition in
3485 macro test !NO_DBX_FUNCTION_END.
3486
3487 * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
3488 in macro test !MIPS_DEBUGGING_INFO.
3489
3490 * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
3491 into the scope where it is used. Wrap empty else-statement body
3492 in braces.
3493
3494 * fix-header.c: Fix typo in comment.
3495 (inf_skip_spaces): Cast results of INF_UNGET to (void).
3496 (check_protection, main): Likewise.
3497
3498 * flow.c (find_basic_blocks_1): Remove dangling comment text.
3499
3500 * function.c (contains): Wrap prototype and definition in macro
3501 test HAVE_prologue || HAVE_epilogue.
3502 (fixup_var_refs_1): Remove unused variable `width'.
3503
3504 * gen-protos.c (main): Remove unused variable `optr'.
3505
3506 * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
3507
3508 * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
3509 (__sjpopnthrow): Remove unused variable `jmpbuf'.
3510 (__throw): Remove unused variable `val'.
3511
3512 * protoize.c: Check for a previously existing definition before
3513 defining *_OK macros.
3514
3515 * scan-decls.c (scan_decls): Remove unused variable `old_written'.
3516
3517 Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3518
3519 * vax.h (ADDR_VEC_ALIGN): Define.
3520
3521 Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
3522
3523 * gcc.c (default_arg): Don't wander off the end of allocated
3524 memory.
3525
3526 (From Geoffrey Keating <geoffk@ozemail.com.au>)
3527 * rs6000.c (small_data_operand): Ensure that any address
3528 referenced relative to the small data area is inside the SDA.
3529
3530 Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
3531
3532 * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
3533
3534 Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
3535
3536 * except.h (in_same_eh_region): New prototype.
3537 (free_insn_eh_region, init_insn_eh_region): New prototypes.
3538 * except.c (insn_eh_region, maximum_uid): New static variables.
3539 (set_insn_eh_region): New static function to set region numbers.
3540 (free_insn_eh_region): New function to free EH region table.
3541 (init_insn_eh_region): New function to initialize EH region table.
3542 (in_same_eh_region): New function used to determine if two rtl
3543 instructions are in the same exception region or not.
3544 * final.c (final): Initialize the table indicating which instructions
3545 belong in which exception region.
3546 * genpeep.c (main): Add "except.h" to include file list in generated
3547 file insn-peep.c.
3548 * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
3549 peepholes involving calls and unconditional branches.
3550
3551 Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
3552
3553 * README.gnat: New file.
3554
3555 Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3556
3557 * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
3558 "recog.h" for offsettable_memref_p.
3559 (legitimize_pic_address): Remove unused variable `offset'.
3560 (notice_update_cc): Change return type to void. Add default label
3561 to switch.
3562 (standard_68881_constant_p): Remove unused variable mode.
3563 (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
3564 (const_int_cost): Explicitly declare as returning int.
3565 (output_dbcc_and_branch): Change return type to void.
3566
3567 * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
3568 config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
3569 (...). Use GEN_INT instead of gen_rtx_CONST_INT.
3570
3571 Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com)
3572
3573 * version.c: Bump for snapshot.
3574
3575 Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3576
3577 * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
3578 check for 'M' constraint.
3579
3580 Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
3581
3582 * cccp.c (create_definition): If pedantic, call pedwarn for macro
3583 varargs feature.
3584
3585 Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
3586
3587 * i386.c (ix86_logical_operator): New function.
3588 (split_di): Ensure that when a MEM is split, the resulting MEMs have
3589 SImode.
3590 * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
3591 to implement them.
3592
3593 Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3594 Richard Earnshaw <rearnsha@arm.com>
3595 Nick Clifton <nickc@cygnus.com>
3596
3597 * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
3598
3599 * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
3600
3601 * cse.c (rtx_cost): Provide a default case in an enumeration
3602 switch, and call DEFAULT_RTX_COSTS if it's defined.
3603
3604 Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
3605
3606 * basic-block.h (compute_preds_succs): Change return type in
3607 prototype to void.
3608 * flow.c (compute_preds_succs): Likewise in function definition.
3609
3610 * regmove.c (find_matches): Cast char used as array index to unsigned char
3611 to supress warning.
3612
3613 Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
3614
3615 * i386.h (RTX_COSTS): Insert braces around nested if.
3616 (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
3617 elements.
3618
3619 * gcc.c (default_compilers): Properly put brackets around array elements in
3620 initializer.
3621
3622 * getopt.c (_getopt_internal): Add explicit braces around nested if;
3623 reformatted.
3624
3625 * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
3626 (record_reg_life_pat): Add explicit parens around && and || in expression.
3627 (stack_reg_life_analysis): Add parens around assignment used as expression.
3628 (convert_regs): Likewise.
3629
3630 Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
3631
3632 * bitmap.c (bitmap_element_allocate): Remove unused parameter;
3633 change callers accordingly.
3634
3635 * cplus-dem.c (arm_special): Remove unused parameter work in prototype
3636 and definition; change all callers accordingly.
3637
3638 * except.c (init_eh): Avoid assignment of unused return value of
3639 build_pointer_type; cast it to void, instead, and remove unused
3640 variable type.
3641
3642 * gcc.c (lang_specific_driver): Define prototype only #ifdef
3643 LANG_SPECIFIC_DRIVER.
3644 (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
3645
3646 * genoutput.c (output_epilogue): Initialize next_name to 0.
3647
3648 * real.c (efrexp): #if 0 prototype and function definition.
3649 (eremain): Likewise.
3650 (uditoe): Likewise.
3651 (ditoe): Likewise.
3652 (etoudi): Likewise.
3653 (etodi): Likewise.
3654 (esqrt): Likewise.
3655
3656 * reload.c (push_secondary_reload): Define prototype only
3657 #ifdef HAVE_SECONDARY_RELOADS.
3658
3659 * varasm.c (assemble_static_space): Define rounded only
3660 #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
3661
3662 Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
3663
3664 * i386.md (andsi): Add default case in enumeration switch.
3665 (iorsi3): Likewise.
3666 (iorhi3): Likewise.
3667 (xorsi3): Likewise.
3668
3669 Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
3670
3671 * c-decl (finish_struct): Change type of min_align to unsigned.
3672
3673 * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
3674 remove unused variable len.
3675
3676 * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
3677 comment indicating this is proper behaviour.
3678 (reg_loc_descriptor): Remove redundant comparison of unsigned variable
3679 reg >= 0.
3680 (based_loc_descr): Likewise.
3681
3682 * enquire.c (bitpattern): Change type of variable i to unsigned.
3683
3684 * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
3685
3686 * flow.c (life_analysis): Change type of variable i to size_t;
3687 remove unused variable insn.
3688
3689 * gcc.c (translate_options): Change type of variables optlen, arglen and
3690 complen to size_t.
3691 (input_filename_length): Change type to size_t.
3692 (do_spec_1): Change type of variable bufsize to size_t.
3693 (main): Change type of variables i and j to size_t;
3694 remove subblock local definition of variable i.
3695 (lookup_compiler): Change type of second argument to size_t;
3696 change type of variable i to size_t.
3697
3698 * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
3699
3700 * genopinit.c (get_insn): Change type of variable pindex to size_t.
3701
3702 * genrecog.c (add_to_sequence): Change type of variable i to size_t.
3703
3704 * global.c (global_alloc): Change type of variable i to size_t.
3705
3706 * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
3707
3708 * stmt.c (expand_end_bindings): Change type of variable i to size_t.
3709 (expand_end_case): Change type of variable count to size_t.
3710
3711 * toplev.c (main): Change type of variable j to size_t.
3712 (set_target_switch): Change type of variable j to size_t.
3713 (print_switch_values): Change type of variable j to size_t;
3714 remove unused variable flags.
3715
3716 * varasm.c (assemble_variable): Change type of variable align to size_t.
3717 (const_hash_rtx): Change type of variable i to size_t.
3718
3719 1998-03-11 Mark Mitchell <mmitchell@usa.net>
3720
3721 * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
3722 TREE_VEC if that's what it really is.
3723
3724 Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
3725
3726 * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
3727 as per ISO C spec.
3728
3729 Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
3730
3731 * gthr.h: Changed the comment about return values.
3732 * gthr-solaris.h (__gthread_once): Do not use errno; return the
3733 error number instead of -1.
3734 (__gthread_key_create): Any non-zero return value is an error.
3735 * libgcc2.c (eh_context_initialize): Check for non-zero return
3736 value from __gthread_once.
3737 Check that the value of get_eh_context was really changed.
3738
3739 Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3740
3741 * sh.h (LOOP_ALIGN): Only align when optimizing.
3742 * sh.c (find_barrier): Clear inc for CODE_LABELs.
3743 When not optimizing, calculate alignment for BARRIERs directly.
3744
3745 Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3746
3747 * final.c (shorten_branches): Remove conditionalizing on
3748 SHORTEN_WITH_ADJUST_INSN_LENGTH
3749 * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
3750
3751 Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
3752
3753 * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
3754 an unconditional jump around deleted blocks.
3755
3756 Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
3757
3758 * profile.c (branch_prob): If see computed goto, call fatal instead of
3759 abort.
3760
3761 * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
3762
3763 * configure.in (alpha-dec-osf): Add default case for osf* to switch.
3764 Patch from Bruno Haible.
3765
3766 * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
3767 (assign_parms): Set aggregate if hide_last_arg and last_named.
3768
3769 Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3770
3771 * final.c (shorten_branches): Initialize insn_addresses.
3772
3773 Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3774
3775 * sh.h (MUST_PASS_IN_STACK): Define.
3776
3777 Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
3778
3779 * final.c (shorten_branches): Fix minor logic error in
3780 ADDR_DIFF_VEC shortening support.
3781
3782 Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com)
3783
3784 * version.c: Bump for snapshot.
3785
3786 Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
3787
3788 * haifa-sched.c (is_cfg_nonregular): Change return type to
3789 an int. No longer compute "estimated" number of edges. Use
3790 computed_jump_p instead of duplicating the code. Fixup/add
3791 some comments.
3792 (build_control_flow): Returns a value indicating an irregularity
3793 in the cfg was detected. Count the number of edges in the cfg.
3794 allocate various edge tables.
3795 (find_rgns): No longer look for unreachable blocks.
3796 (schedule_insns): Do not allocate memory for edge tables here.
3797 Free memory for edge tables before returning. Do not perform
3798 cross block scheduling if build_control_flow returns nonzero.
3799 * flow.c (compute_preds_succs): More accurately determine when
3800 a block drops in.
3801
3802 * basic-block.h (free_basic_block_vargs): Provide prototype.
3803
3804 * cccp.c (main): Fix dumb mistakes in last change.
3805
3806 Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3807
3808 * rtl.h (addr_diff_vec_flags): New typedef.
3809 (union rtunion_def): New member rt_addr_diff_vec_flags.
3810 (ADDR_DIFF_VEC_FLAGS): New macro.
3811
3812 * sh.c (output_branch): Fix offset overflow problems.
3813
3814 * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
3815 (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
3816 * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
3817 * stmt.c (expand_end_case): Supply new arguments to
3818 gen_rtx_ADDR_DIFF_VEC.
3819 * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
3820 * alpha.h, arc.h, clipper.h, convex.h : Likewise.
3821 * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
3822 * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
3823 * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
3824 * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
3825 * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
3826 * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
3827 * i386/freebsd.h, i386/linux.h : Likewise.
3828 * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
3829 * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
3830 * m68k/mot3300.h, m68k/sgs.h : Likewise.
3831 * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
3832 * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
3833 (CASE_VECTOR_SHORTEN_MODE): Define.
3834 (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
3835 (med_branch_p, braf_branch_p): Don't declare.
3836 (mdep_reorg_phase, barrier_align): Declare.
3837 (ADJUST_INSN_LENGTH): Remove alignment handling.
3838 * sh.c (uid_align, uid_align_max): Deleted.
3839 (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
3840 (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
3841 (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
3842 (output_far_jump): Don't use braf_branch_p.
3843 (output_branchy_insn): Don't use branch_offset.
3844 (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
3845 Remove paired barrier stuff.
3846 Don't use cache_align_p.
3847 Take alignment insns into account.
3848 (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
3849 the addr_diff_vec.
3850 (barrier_align, branch_dest): New function.
3851 (machine_dependent_reorg, split_branches): Remove infrastructure
3852 for branch shortening that is now provided in the backend.
3853 * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
3854 (braf_branch_p, braf_cbranch_p): Likewise.
3855 (attribute length): Use new attributes.
3856 (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
3857 (addr_diff_vec_adjust): Delete.
3858 (align_2): Now a define_expand.
3859 (align_log): Now length 0.
3860
3861 Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com>
3862
3863 * m32r.md (right): Correctly check for length == 2, not 1.
3864
3865 Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3866
3867 * mips/mips.h: Prototype `machine_dependent_reorg'.
3868 (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
3869
3870 Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk)
3871
3872 * final.c (shorten_branches): Restore accidentally removed code.
3873
3874 Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3875
3876 * configure.in: Remove duplicate uses of AC_PROG_CC and
3877 AC_PROG_MAKE_SET.
3878
3879 Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com>
3880
3881 * configure.in (target_cpu_default2): Correct typo for alphapca56.
3882
3883 Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com)
3884 Doug Evans (devans@cygnus.com)
3885
3886 * haifa-sched.c (build_jmp_edges): Delete dead function.
3887 (build_control_flow): Use cfg routines from flow.c
3888 (schedule_insns): Remove debugging code accidentally checked
3889 in earlier today.
3890
3891 * basic-block.h: Add external integer list structures, typdefs,
3892 accessor macros and function declarations. Simlarly for
3893 basic block pred/succ support and simple bitmap stuff.
3894 * flow.c: Add functions for integer list, basic block pred/succ
3895 support and simple bitmap support.
3896 (compute_dominators): New function to compute dominators and
3897 post dominators.
3898 (find_basic_blocks): Split into two functions.
3899 (life_analysis): Likewise.
3900 (flow_analysis): Removed. Now handled by calling find_basic_blocks,
3901 the life_analysis from toplev.c
3902 * toplev.c (rest_of_compilation): Call find_basic_blocks, then
3903 life_analysis instead of flow_analysis.
3904
3905 Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3906
3907 * jump.c (jump_optimize): Call mark_jump_label also for deleted
3908 insns.
3909 (mark_jump_label): Don't increment ref counts for deleted insns.
3910
3911 Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3912
3913 * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
3914
3915 * mips/mips.c: Include stdlib.h and unistd.h.
3916 (mips_asm_file_end): Add braces around empty body in an if-statement.
3917 (function_prologue): Wrap variable `fnname' in
3918 !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
3919 (mips_select_rtx_section, mips_select_section): Declare as void.
3920
3921 * mips/mips.h: Add prototypes for extern functions in mips.c.
3922 (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
3923 (ENCODE_SECTION_INFO): Add braces around empty body in an
3924 if-statement.
3925
3926 * mips/mips.md (movdi): Add parentheses around && within ||.
3927 (movsf, movdf): Likewise.
3928 (branch_zero, branch_zero_di): Add default case in
3929 enumeration switch.
3930
3931
3932 Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
3933
3934 * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
3935 real constants, since they can't be changed.
3936 (TARGET_AS_CAN_SUBTRACT_LABELS): New.
3937 * alpha/alpha.md (builtin_setjmp_receiver): Use it.
3938 * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
3939 * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
3940 * alpha/vms.h (TARGET_OPEN_VMS): New.
3941 * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
3942
3943 Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
3944
3945 * reload.c (find_reloads): Always force (subreg (mem)) to be
3946 reloaded if WORD_REGISTER_OPERATIONS.
3947
3948 Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
3949
3950 * haifa-sched.c (free_list): Rename from free_pnd_lst.
3951 (free_pending_lists): Rename free_pnd_lst uses.
3952 (remove_dependence): Place expunged element on unused_insn_list.
3953 (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
3954 gen_rtx_*_LIST and alloc_rtx to use them.
3955 (compute_block_backward_dependences): Free the reg_last_* lists.
3956
3957 Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
3958
3959 * cccp.c (main): Avoid undefined behavior when setting pend_includes
3960 and pend_files.
3961
3962 Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
3963
3964 * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
3965 USE_GNULIBC_1 is defined
3966 * configure.in: add a new case powerpc-*-linux-gnulibc1 which
3967 includes the t-linux-gnulibc1 fragment
3968
3969 Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
3970
3971 * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
3972
3973 Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3974
3975 * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
3976
3977 Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3978
3979 * final.c (shorten_branches): Tag the loop alignment onto the
3980 first label after NOTE_INSN_LOOP_BEG even if there is an
3981 intervening insn.
3982
3983 Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
3984
3985 * final.c (insn_current_reference_address):
3986 Use SEQ instead of BRANCH as argument to align_fuzz, to get a
3987 proper alignment chain.
3988
3989 * final.c (max_labelno): New static variable.
3990 (final_scan_insn): Check max_labelno before outputting an
3991 alignment for a label.
3992 (shorten_branches): Remove unused variable length_align.
3993
3994 Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3995
3996 * sparc.c (ultrasparc_adjust_cost): Add default case in
3997 enumeration switch.
3998
3999 * sparc.h: Add prototypes for extern functions defined in
4000 sparc.c.
4001
4002 Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
4003
4004 * toplev.c: Only generate <name>.dbr file when dumping RTL if
4005 DEALY_SLOTS is defined.
4006
4007 Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
4008
4009 * reorg.c (fill_eager_delay_slots): Add new argument delay_list
4010 in call to fill_slots_from_thread.
4011
4012 Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
4013
4014 * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
4015 to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
4016
4017 Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4018
4019 * final.c (insn_last_address, insn_current_align, uid_align):
4020 New variables.
4021 (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
4022 (insn_current_reference_address): Likewise.
4023 (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
4024 LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
4025 (label_to_alignment): New function.
4026 * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
4027 LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
4028 insn_current_reference_address instead of insn_current_address.
4029 (or_attr_value, write_length_unit_log): New functions.
4030 (main): Call write_length_unit_log.
4031 (write_const_num_delay_slots): Output extra '\n'.
4032 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
4033 replace with:
4034 (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
4035 * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
4036 * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
4037 (LOOP_ALIGN).
4038 * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
4039 (LABEL_ALIGN_AFTER_BARRIER).
4040 * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
4041 * ns32k/tek6000.h: Likewise.
4042 * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
4043 * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
4044 ASM_OUTPUT_ALIGN_CODE.
4045
4046 Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com)
4047
4048 * version.c: Bump for snapshot.
4049
4050 Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com)
4051
4052 * version.c: Bump for snapshot.
4053
4054 Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
4055
4056 * reorg.c (fill_slots_from_thread): Don't steal delay list from target
4057 if condition code of jump conflicts with opposite_needed.
4058
4059 * reorg.c (fill_slots_from_thread): Mark resources referenced in
4060 opposite_needed thread. Return delay_list even when cannot get
4061 any more delay insns from end of subroutine.
4062
4063 Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
4064
4065 * reorg.c (fill_slots_from_thread): New parameter, delay_list.
4066 All callers changed.
4067
4068 Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4069
4070 * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
4071 end_fde_sort): New functions for fast sorting of an FDE array.
4072 (fde_insert): Simplified.
4073 (add_fdes): Change argument list.
4074 (frame_init): Use the new functions.
4075
4076 Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
4077
4078 * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
4079
4080 * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
4081
4082 * fold-const.c (fold_range_test): Always return a value.
4083
4084 Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
4085
4086 * config/i386/winnt.c (i386_pe_unique_section): Put read-only
4087 data in the text section unless READONLY_DATA_SECTION is defined.
4088
4089 Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
4090
4091 * c-parse.in (undeclared variable error): Tweak error message to
4092 be clearer.
4093
4094 Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com)
4095
4096 * version.c: Bump for snapshot.
4097
4098 1998-02-28 Mark Mitchell <mmitchell@usa.net>
4099
4100 * final.c (final_scan_insn): Undo overzealous removal of `set'.
4101
4102 Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4103
4104 * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
4105 case, add parentheses to specify the proper order of precedence in
4106 the if-statement.
4107
4108
4109 * c-aux-info.c: Include string.h/strings.h.
4110
4111 * pa.c: Include stdlib.h.
4112 (pa_combine_instructions): Prototype the function.
4113 (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
4114 (reloc_needed): Add default case for enumeration switch.
4115 (remove_useless_addtr_insns): Remove unused variable `all'.
4116 (hppa_expand_prologue): Add explicit braces to avoid
4117 ambiguous `else'.
4118 (output_function_epilogue): Remove unused variable `i'.
4119 (output_millicode_call): Remove unused variable `link'.
4120 (shadd_constant_p, forward_branch_p): Make the function static.
4121 (following_call): Explicitly declare to return int.
4122 (pa_reorg): Declare as void.
4123 (pa_combine_instructions): Declare as static void. Add
4124 parentheses around && within ||.
4125
4126 * pa.h: Add prototypes for pa_reorg, symbolic_operand,
4127 following_call, function_label_operand, lhs_lshift_cint_operand
4128 and zdepi_cint_p.
4129
4130 * pa.md: Add parentheses around && within ||.
4131
4132 * cppalloc.c: Include stdlib.h.
4133
4134 * cpperror.c (cpp_print_containing_files): Remove unused variable
4135 `i'. Fix format specifier in fprintf.
4136
4137 * cse.c (cse_around_loop): Add explicit braces to avoid
4138 ambiguous `else'.
4139 (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
4140
4141 * expr.c (expand_expr): Add parentheses around && within ||.
4142
4143 * final.c (app_enable): Replace fprintf with fputs where there are
4144 no format specifiers and no trailing argument after the string.
4145 Eg, when printing ASM_APP_ON/ASM_APP_OFF.
4146 (app_disable): Likewise.
4147 (final_end_function): Likewise.
4148 (final_scan_insn): Likewise. Remove unused variable `set'.
4149 (profile_function): Wrap empty if-statement body in {} brackets.
4150
4151 * function.c: Include stdlib.h.
4152 (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
4153 (reposition_prologue_and_epilogue_notes): Add parentheses
4154 around assignment used as truth value.
4155
4156 * integrate.c (expand_inline_function): Wrap variable
4157 `cc0_insn' in macro HAVE_cc0.
4158
4159 * jump.c (jump_optimize): Wrap variable `q' in macro
4160 HAVE_cc0. Remove unused variable `prev1'.
4161
4162 * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
4163 within ||. Fix format specifier in fprintf.
4164 (__bb_init_prg): Add parentheses around assignment used as
4165 truth value.
4166
4167 * local-alloc.c: Include stdlib.h.
4168 (requires_inout): Add parentheses around assignment used
4169 as truth value.
4170
4171 * loop.c (analyze_loop_iterations): Wrap prototype and definition
4172 in macro HAVE_decrement_and_branch_on_count.
4173 (insert_bct, instrument_loop_bct): Likewise.
4174 (move_movables): Add parentheses around assignment used as
4175 truth value.
4176 (consec_sets_invariant_p): Likewise.
4177 (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
4178
4179 * objc/objc-act.c: Include stdlib.h.
4180 (lookup_method_in_protocol_list): Wrap empty else-statement body
4181 in braces.
4182 (lookup_protocol_in_reflist): Likewise.
4183 (objc_add_static_instance): Remove unused variables `decl_expr'
4184 and `decl_spec'.
4185 (get_objc_string_decl): Remove unused variable `decl'.
4186 (generate_static_references): Remove unused variables `idecl' and
4187 `instance'.
4188 (check_protocols): Wrap empty else-statement body in braces.
4189
4190 * protoize.c: Include stdlib.h.
4191 (substr): Add parentheses around assignment used as truth value.
4192 (abspath): Likewise.
4193 (shortpath): Likewise.
4194
4195 * regmove.c (fixup_match_1): Add parentheses around assignment
4196 used as truth value.
4197
4198 * reload.c (push_secondary_reload): Remove unused variable `i'.
4199 (find_reloads): Add parentheses around assignment used as truth
4200 value.
4201
4202 * reload1.c: Include stdlib.h.
4203
4204 * rtl.h: Correct typo in prototype of offsettable_memref_p.
4205
4206 * stmt.c (add_case_node): Add parentheses around assignment used
4207 as truth value.
4208 (case_tree2list): Likewise.
4209
4210 * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
4211 in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
4212 `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
4213 (merge_attributes): Add explicit braces to avoid ambiguous
4214 `else'.
4215
4216 * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
4217 macro HAVE_cc0.
4218
4219 * varasm.c: Include stdlib.h.
4220
4221
4222 * system.h: Remove sys/stat.h.
4223 * gcc.c: Add sys/stat.h.
4224
4225 * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
4226 * genattrtab.c: Likewise.
4227 * genconfig.c: Likewise.
4228 * genemit.c: Likewise.
4229 * genextract.c: Likewise.
4230 * genflags.c: Likewise.
4231 * genopinit.c: Likewise.
4232 * genoutput.c: Likewise.
4233 * genpeep.c: Likewise.
4234 * genrecog.c: Likewise.
4235 * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
4236
4237 Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4238
4239 * invoke.texi: Use @itemx for a secondary item in a @table.
4240
4241 * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
4242 zero.
4243
4244 Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
4245
4246 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
4247
4248 Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
4249
4250 * i386.c (struct machine_function): Add new fields for PIC stuff.
4251 (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
4252 and pic_label_name.
4253 (restore_386_machine_status): Corresponding changes.
4254 (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
4255
4256 Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
4257
4258 * c-parse.y (undeclared variable error): Tweak error message
4259 to be clearer.
4260
4261 Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
4262
4263 * flags.h (g_switch_value, g_switch_set): Declare.
4264 * alpha.c (override_options): Set g_switch_value=8 if not set.
4265 * alpha/elf.h (CC1_SPEC): New.
4266 (ASM_SPEC): New.
4267 (LINK_SPEC): Pass along the -G value we were given.
4268 (LOCAL_ASM_OP): Remove.
4269 (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
4270 (MAX_OFILE_ALIGNMENT): New.
4271 (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
4272 (EXTRA_SECTIONS): Add sbss and sdata.
4273 (SECTION_FUNCTION_TEMPLATE): New.
4274 (EXTRA_SECTION_FUNCTIONS): Use it.
4275 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
4276 (SELECT_SECTION): Use sdata when small enough.
4277 * alpha/linux.h (ASM_SPEC): Remove.
4278
4279
4280 Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4281 * config.sub (sco5): Fix typo.
4282
4283 Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
4284
4285 * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
4286 set to empty.
4287 * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
4288 * config/alpha/t-linux: Remove file.
4289 * config/sparc/t-linux: Remove file.
4290 * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
4291 * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
4292 * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
4293 for tmake_file.
4294 (alpha*-*-linux-gnu*): Likewise.
4295 (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
4296 (sparc-*-linux-gnu*): Likewise.
4297
4298 Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com>
4299 * collect2.c (ldd_file_name): Bracket declaration with same
4300 manifests as use.
4301 (full_real_ld_suffix): Deleted. Variable was calloced and
4302 written into, but never read.
4303
4304 1998-02-23 Mike Stump <mrs@wrs.com>
4305
4306 * configure.in: Add support for i386-wrs-vxworks configuration.
4307 * i386/vxi386.h: New file.
4308
4309 Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4310
4311 * tree.c (contains_placeholder_p): Ensure function always returns
4312 a value.
4313 * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
4314 (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
4315
4316 Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
4317
4318 * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
4319
4320 1998-02-22 Paul Eggert <eggert@twinsun.com>
4321
4322 * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
4323 Define this new symbol.
4324 (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
4325 * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
4326 LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
4327
4328 Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
4329
4330 * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
4331 * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
4332
4333 Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
4334
4335 * objc/Object.m (-error): Call objc_verror with our va_list.
4336
4337 Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4338
4339 * collect2.c (scan_prog_file): Completely cover uses of variable
4340 `exports' with macro COLLECT_EXPORT_LIST.
4341
4342 Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
4343
4344 * version.c: Bump for snapshot.
4345
4346 Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
4347
4348 * sched.c (schedule_block): Remove code to get arguments from hard
4349 regs into pseudos early. Same as Aug 25, 1997 change to
4350 haifa-sched.c.
4351
4352 1998-02-20 Jason Merrill <jason@yorick.cygnus.com>
4353
4354 * collect2.c (main): Still handle !do_collecting for non-AIX targets.
4355
4356 1998-02-16 Mark Mitchell <mmitchell@usa.net>
4357
4358 * toplev.c (rest_of_compilation): Do not defer the output of a
4359 nested function.
4360
4361 Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
4362
4363 * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
4364 continuation character (line 243).
4365
4366 Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4367
4368 * genrecog.c (main): Remove duplicated sentence in emitted comment.
4369
4370 Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
4371 David Edelsohn <edelsohn@mhpcc.edu>
4372
4373 * collect2.c (XCOFF_SCAN_LIBS): Remove.
4374 (export_flag): New variable.
4375 (export_file): #ifdef COLLECT_EXPORT_LIST.
4376 (import_file, exports, imports, undefined): New variables.
4377 (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
4378 (dump_list, dump_prefix_list, is_in_list): New functions.
4379 (write_export_file): $ifdef COLLECT_EXPORT_LIST.
4380 (write_import_file, resolve_lib_name): New functions.
4381 (use_import_list, ignore_library): Same.
4382 (collect_exit): maybe_unlink import_file and #ifdef.
4383 (handler): Same.
4384 (main): New variable importf, #ifdef exportf. Move parsing of
4385 -shared before general argument parsing. Resolve AIX library
4386 paths and import libgcc.a symbols. Treat .so shared libraries the
4387 same as objects and .a libraries. Create alias for object_lst and
4388 increment it instead of original pointer. Scan AIX libraries as
4389 objects earlier instead of using scan_libraries. Perform AIX
4390 tlink later to resolve templates instead of forking ld.
4391 (GCC_OK_SYMBOL): Ensure symbol not in undef section.
4392 (GCC_UNDEF_SYMBOL): New macro.
4393 (scan_prog_file): Loop for members of AIX libraries. Handle
4394 export/import of ctors/dtors.
4395 (aix_std_libs): New variable.
4396 (scan_libraries, XCOFF): Delete.
4397
4398 Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
4399
4400 * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
4401
4402 1998-02-19 Mike Stump <mrs@wrs.com>
4403
4404 * Makefile.in: Use $tooldir for sys-include to match toplevel
4405 configure.
4406
4407 Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
4408 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4409
4410 * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
4411
4412 * emit-rtl.c (hard-reg-set.h): Include.
4413 (get_lowpart_common): Don't make new REG for hard reg in a
4414 class that cannot change size.
4415 * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
4416
4417 * combine.c: Revert previous patch.
4418
4419 1998-02-19 Paul Eggert <eggert@twinsun.com>
4420
4421 * config/sparc/sol2-sld.h: New file.
4422 * configure.in (sparc-*-solaris2*): Use it when using the
4423 system linker.
4424
4425 Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
4426
4427 * loop.c (force_movables): Fix typo.
4428
4429 Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
4430
4431 * m88k.h: Change file pattern to match reality.
4432
4433 Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
4434
4435 * varasm.c (output_constant_pool): Fix dumb thinko in last
4436 change.
4437
4438 * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
4439 a function name to a section name.
4440
4441 1998-02-18 Doug Evans <devans@cygnus.com>
4442
4443 * tree.h (merge_machine_{type,decl}_attributes): Declare.
4444 (split_specs_attrs, strip_attrs): Add prototypes.
4445 * tree.c (merge_machine_{type,decl}_attributes): New functions.
4446 * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
4447 Update olddecl's attributes too.
4448 * c-common.c (strip_attrs): New function.
4449 * c-typeck.c (common_type): Call merge_machine_type_attributes.
4450 * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
4451 (make_decl_rtl): Likewise.
4452
4453 1998-02-18 Jim Wilson <wilson@cygnus.com>
4454
4455 * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
4456
4457 Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
4458
4459 Remove this change until we can fix it correctly.
4460 * collect2.c: Bracket declaration of 'exportf' and
4461 'full_real_ld_suffix'.
4462
4463 Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
4464
4465 * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
4466
4467 Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
4468
4469 * c-common.c (c_expand_start_cond, c_expand_end_cond,
4470 c_expand_start_else): Don't warn about non-ambiguous else even if
4471 braces are missing.
4472
4473 Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
4474
4475 * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
4476 ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
4477 instead.
4478
4479 Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
4480
4481 * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
4482 simplifying a subreg of a hard reg.
4483 (expand_compound_operation): Likewise.
4484 (force_to_mode): Likewise.
4485
4486 Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4487
4488 * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
4489 (lshift_double): Add parentheses around + or - inside shift.
4490 (rshift_double): Likewise.
4491 (size_int_wide): Explicitly set type of `bit_p' to `int'.
4492
4493 * Makefile.in (fold-const.o): Depend on system.h.
4494
4495 * Makefile.in (gcc.o): Depend on system.h, in accordance with last
4496 change to gcc.c.
4497
4498 * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
4499 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
4500 (sched_note_set): Remove unused parameter `b', all callers changed.
4501 (schedule_block): Likewise for `rgn'.
4502 (split_hard_reg_notes): Likewise for `orig_insn'.
4503 (check_live): Likewise for `trg'.
4504 (update_live): Likewise.
4505 (check_live_1): Explcitly declare variable `i' as int.
4506 (update_live_1): Likewise.
4507 (insn_issue_delay): Remove unused variable `link'.
4508 (sched_analyze_2): Add default case in enumeration switch.
4509 (schedule_insns): Remove unused variable `i'.
4510
4511 * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
4512
4513 Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
4514
4515 * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
4516 a dangling else clause.
4517
4518 Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
4519
4520 * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
4521 pointer for the stack pointer in MIPS16 and 64BIT.
4522
4523 Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
4524
4525 * rtl.h (force_line_numbers, restore_line_number_status): Declare.
4526 * emit-rtl.c (force_line_numbers, restore_line_number_status):
4527 New functions.
4528 * stmt.c (struct nesting): Replace seenlabel with line_number_status.
4529 (expand_start_case): Adjust to this change.
4530 (check_seenlabel): New function.
4531 (pushcase, pushcase_range, expand_endcase): Use it.
4532
4533 Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4534
4535 * i386.md (adddi3): Add =!r,0,0,X alternative.
4536
4537 Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
4538
4539 * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
4540 * x-aix31 (INSTALL): Delete.
4541
4542 Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
4543
4544 * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
4545 tsize changes to something other than zero.
4546
4547 Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
4548
4549 * ginclude/va-mips.h: Replace casts of pointers to int with
4550 casts of pointers to __PTRDIFF_TYPE__.
4551
4552 Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
4553
4554 * loop.c (strength_reduce, record_biv, record_giv): Use
4555 HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
4556
4557 1998-02-16 Jason Merrill <jason@yorick.cygnus.com>
4558
4559 * tree.c (first_rtl_op): New fn.
4560 (unsave_expr_now): Use it.
4561 * print-tree.c (print_node): Likewise.
4562 * tree.c (has_cleanups): New fn.
4563 * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more
4564 conservative about pushing the cleanup point down.
4565 * tree.h: Declare them.
4566
4567 Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
4568
4569 * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
4570 (flag_schedule_reverse_after_reload): Likewise.
4571 (f_options): Remove reverse scheduling support.
4572 * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
4573 (flag_schedule_reverse_after_reload): Likewise.
4574 * haifa-sched.c (rank_for_schedule): Remove support for reverse
4575 scheduling.
4576
4577 Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4578
4579 * gcc.c: Get system includes, prototypes and macros via "system.h"
4580 instead of doing it manually. Change all calls of the ctype
4581 macros to custom versions defined in "system.h".
4582
4583 * system.h: Fix return type of bcmp prototype from `void' to `int'.
4584 Make bcopy, bcmp and bzero prototypes explicitly `extern'.
4585 Add a prototype for getenv.
4586
4587 Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
4588
4589 * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
4590
4591 Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
4592
4593 * alias.c: Include <stdlib.h> and <string.h>.
4594 (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
4595
4596 Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com)
4597
4598 * version.c: Bump for snapshot.
4599
4600 Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
4601
4602 * arm.md (movsfcc): Also validate operands[3] when compiling hard
4603 float.
4604 (movdfcc): Only accept fpu_add_operand for operands[3].
4605
4606 * arm/t-semi (STMP_FIXPROTO): Define to nothing.
4607 * arm/t-semiaof (STMP_FIXPROTO): Likewise.
4608
4609 Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
4610
4611 * varasm.c (output_constant_pool): Bring back 'done' label inside
4612 an appropriate #ifdef.
4613
4614 * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
4615 appropriate #ifdef.
4616 (bitmap_copy, bitmap_operation): Likewise.
4617 * combine.c (combinable_i3pat): Similarly for 'src'.
4618 * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
4619 (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
4620 * regclass.c (copy_cost): Similarly for 'secondary_class'.
4621 * reload.c (make_memloc): Simliarly for 'i'.
4622 (find_reloads_address_1): Similarly for 'link'.
4623 * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
4624 (emit_reload_insns): Similarly for 'second_reloadreg'.
4625 * unroll.c (iteration_info): Similarly for 'v'.
4626
4627 * caller-save.c (insert_save_restore): Remove unused variable 'i'.
4628 * calls.c (expand_call): Similarly for 'i'.
4629 (emit_library_call, emit_library_call_value): Similarly for 'mode'.
4630 * fold-const.c (strip_compund_expr): Similarly for 'type'.
4631 * function.c (fixup_var_refs_1): Similarly for 'width'.
4632 (fixup_memory_subreg): Similarly for 'saved'.
4633 (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
4634 (setjmp_protect): Similarly for 'sub'.
4635 (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
4636 * loop.c (record_giv): Similarly for 'p'.
4637 (combine_givs): Similarly for 'temp_iv'.
4638 (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
4639 * recog.c (validate_replace_rtx_1): Similarly for 'width'.
4640 * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
4641 * unroll.c (unroll_loop): Similarly for 'copy'.
4642 (iteration_info): Similarly for 'b'.
4643 * varasm.c (assemble_string): Similarly for 'i'.
4644 * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
4645
4646 1998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
4647
4648 * c-lang.c (lang_print_xnode): New function.
4649 * objc/objc-act.c (lang_print_xnode): Likewise.
4650 * print-tree.c (print_node): Call it
4651
4652 Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
4653
4654 * dwarf2out.c (decl_scope_node): New type.
4655 (decl_scope_table): Change type to use it.
4656 (decl_scope_table_allocated, decl_scope_depth): Change type to int.
4657 (push_decl_scope): Use new type. New locals containing_scope, i.
4658 Add code to handle setting previous field.
4659 (scope_die_for): Change type of local i to int. Add code to use
4660 previous field.
4661 (dwarf2out_init): Use new type.
4662
4663 1998-02-13 Jason Merrill <jason@yorick.cygnus.com>
4664
4665 * except.c (emit_throw): Lose throw_used.
4666
4667 Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4668
4669 * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
4670 was deleted.
4671 * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
4672
4673 Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
4674
4675 * genextract.c (main): Fix typo.
4676
4677 Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
4678
4679 * c-lang.c (finish_file): Bracket declaration of static_ctors,
4680 static_dtors.
4681
4682 * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
4683 'old_stack_arg_under_construction'
4684 (emit_library_call): Bracket declaration of 'upper_bound',
4685 'lower_bound', 'i', 'reg_parm_stack_space'
4686 (emit_library_call_value): Likewise.
4687 (store_one_arg):
4688
4689 * collect2.c: include <unistd.h> when appropriate.
4690 Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
4691
4692 * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
4693
4694 * explow.c (plus_constant_for_output_wide): Remove unused variable
4695 'code'.
4696 (memory_address): Remove unused variable 'orig_x'.
4697
4698 * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
4699 (write_const_num_delay_slots): Remove unused variable 'i'.
4700
4701 * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
4702 (gen_insn): Remove unused variable 'obstack_ptr'.
4703
4704 * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
4705 'j', 'tmp', 'i'.
4706 (__bb_exit_trace_func): Remove unused variable 'e'.
4707
4708 * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
4709 'funexp'.
4710 (expand_unop): Remove unused variable 'funexp'.
4711 (expand_complex_abs): Remove unused variable 'funexp'.
4712 (init_optabs): Bracket declaration of 'j'.
4713 (init_complex_libfuncs): Deleted. Dead static function.
4714
4715 * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
4716
4717 * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
4718 (reg_to_stack): 'initialized', 'before_function_beg'
4719 explictly type as ints instead of defaulting.
4720 (emit_swap_insn): Remove unused variable 'i2'.
4721 (compare_for_stack_reg): Remove unused variable 'src_note'.
4722
4723 * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
4724
4725 * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
4726
4727 * stmt.c (add_case_node): Add parens for assignment used as truth.
4728 (all_cases_count): Remove unused variable 'count_high'.
4729 (mark_seen_cases): Remove unused variable 'i'.
4730 (check_for_full_enumeration_handling): Remove unused variable 't'.
4731 Bracket declaration of 'all_values', 'l'.
4732
4733 * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
4734
4735 * varasm.c (assemble_string): Remove unused variable 'i'.
4736 (immed_double_const): Remove unused variable 'in_current_obstack'.
4737 (immed_real_const_1): Likewise.
4738 (output_constant_pool): Remove unreferenced label 'done'.
4739 (output_constant): Remove unused variable 'x'.
4740
4741 * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
4742 a string.
4743
4744 * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
4745 as truth.
4746
4747 Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4748
4749 * combine.c (can_combine_p): Handle USEs in PARALLELs.
4750
4751 Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
4752
4753 * config/linux.h (LIB_SPEC): Add -lc for -shared if
4754 USE_GNULIBC_1 is not defined.
4755 * config/sparc/linux.h; Ditto.
4756
4757 * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
4758
4759 * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
4760 USE_GNULIBC_1 is not defined.
4761
4762 Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
4763
4764 * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
4765 for -mcall-linux
4766
4767 Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4768
4769 * system.h: New file to get common systems includes and various
4770 definitions and declarations based on autoconf macros.
4771
4772 Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
4773
4774 * cccp.c (new_include_prefix): Correctly handle -I./.
4775
4776 Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
4777
4778 * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
4779
4780 Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
4781
4782 * expr.c (expand_assignment): Correct typo exposed by -Wall.
4783 offset should have been a truth value, not an assignment.
4784
4785 Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
4786
4787 * cse.c (delete_dead_from_cse): If a libcall produces a constant
4788 result and that result can be substituted into SET_SRC of the
4789 insn with the REG_RETVAL note, then perform the substitution
4790 and delete the libcall.
4791
4792 Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
4793
4794 * mips.md (trucndihi2,truncdiqi2): Change these to support
4795 mips16.
4796
4797 Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
4798
4799 * mips/mips.c (movdi_operand): Direct referances to symbols
4800 that arn't mips16 consts in mips16 mode arn't valid operands.
4801
4802 * mips/mips.c (mips_move_2words): Add gprel handling.
4803
4804 Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
4805
4806 * mips.md (extendsidi2): Allow extension to/from a non-mips16
4807 register.
4808
4809 Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
4810
4811 * i386.c: Conditionally include <stdlib.h>, <string.h>, and
4812 <strings.h>.
4813
4814 Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4815
4816 * Makefile.in (WARN_CFLAGS): New variable.
4817 (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
4818
4819 1998-02-11 Mark Mitchell <mmitchell@usa.net>
4820
4821 * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
4822 falling through default case in switch.
4823 (i386_aligned_p): Likewise.
4824
4825 Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
4826
4827 * mips/mips.h (mips_abi_string): Correct typo in comment.
4828
4829 Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
4830
4831 * mips/mips.md (movdi): These PLUS's need to be Pmode.
4832
4833 Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4834
4835 * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
4836 reorg.o, regmove.o): Depend on insn-codes.h, it gets included
4837 indirectly via expr.h.
4838
4839 Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
4840
4841 * stor-layout.c (layout_type): Do upper - lower in the native type,
4842 so as to properly handle negative indices.
4843
4844 Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
4845
4846 * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
4847 (expand_eh_region_start_tree): Remove unused variable 'note'.
4848 (exception_optimize): Remove unused variable 'regions'.
4849 (expand_builtin_eh_stub): Remove unused variable 'temp'.
4850 (copy_eh_entry): Deleted. Dead function.
4851
4852 * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
4853 'last' with same #if HAVE_load_multiple as use of it.
4854 (move_block_from_reg): Likewise.
4855 (emit_move_insn_1): Remove unused variable 'insns'.
4856 (store_constructor): Bracket declaration of startb, endb with
4857 #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size'
4858 'target', and 'xtarget'.
4859 (expand_builtin_setjmp): Remove unused variables 'op0',
4860 'next_arg_reg', 'old_inhibit_defer_pop'.
4861 (expand_builtin): Remove unused variable 'offset'.
4862 (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
4863 (emit_queue): Add parens for assignment used as conditional.
4864 (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
4865
4866 Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
4867
4868 * i386.c: Added include for recog.h.
4869 (override_options): Removed unused variable p. Initialized regno to
4870 avoid warning.
4871 (order_regs_for_local_alloc): Initialized regno to avoid warning.
4872 (legitimize_address): Likewise for 'other'.
4873 (i386_aligned_reg_p): Added default case with abort ().
4874 (print_operand): Likewise.
4875 (reg_mentioned_in_mem): Likewise.
4876 (ix86_expand_binary_operator): Removed unused variables i & insn.
4877 (ix86_expand_unary_operator): Removed unused variable insn.
4878 (output_fp_cc0_set): Removed unused variable unordered_label.
4879
4880 Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
4881
4882 * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
4883 Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
4884 and format string match.
4885
4886 Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
4887
4888 * flow.c (life_analysis): Do not conside the stack pointer live at
4889 the end of a function if the fucntio ncalls alloca.
4890 (mark_used_regs): Similarly.
4891
4892 1998-02-10 John F Carr <jfc@mit.edu>
4893
4894 * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
4895 1, fzero on alternative 8.
4896
4897 Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4898
4899 * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
4900
4901 Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
4902
4903 * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
4904 SUBREGs of CONST_INTs.
4905
4906 Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
4907
4908 * mips.c (print_operand, function_prologue): Make printf format
4909 match argument type.
4910
4911 Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4912
4913 * alpha.c (alpha_return_addr): Remove unused variable `first'.
4914 (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
4915 (output_epilog): Remove unused variable `frame_size_from_reg_save'.
4916
4917 Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4918
4919 * loop.c (strength_reduce): When placing increment for auto-inc
4920 case, do comparison in loop order.
4921
4922 Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
4923
4924 * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
4925 not a HOST_WIDE_INT.
4926
4927 * calls.c (expand_call): Change test of expand_inline_function
4928 return value to stop compiler warning.
4929
4930 * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
4931
4932 Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
4933 Jeff Law (law@cygnus.com)
4934
4935 * regmove.c: Fix various minor formatting problems.
4936 (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
4937 is true. Make end of basic block tests consistent through regmove.c.
4938 (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
4939 (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
4940
4941 Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4942
4943 * gansidecl.h: Check for a conflicting macro definition before
4944 attempting to prototype bcopy, bcmp or bzero.
4945
4946 Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
4947
4948 * expr.c (clear_pending_stack_adjust): Handle case where a function
4949 calls alloca, but the user has specified -fomit-fframe-pointer.
4950
4951 * function.c (assign_parms): Fix typo in last change.
4952
4953 Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
4954
4955 * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
4956 <fcntl.h>.
4957 (free_path_suffix): Remove unreferenced static function.
4958 (process_command): Remove unused variable temp.
4959 (default_arg): Remove unused variable i.
4960 (do_spec_1): Add parens for assignment used as truth value.
4961 (main): Likewise.
4962 (validate_all_switches): Likewise.
4963 (main): Remove unused variables i, first_time>
4964
4965 * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
4966
4967 * calls.c (expand_call): Remove unused variables funtree,
4968 n_regs, and tmpmode.
4969
4970 * dbxout.c, except.c: Include <string.h>/<strings.h>.
4971
4972 * explow.c: (plus_constant_for_output_wide) Removed unused
4973 variable all_constant.
4974
4975 * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
4976 genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
4977 genrecog.c, global.c, integrate.c , stupid.c : Include
4978 <stdlib.h>.
4979
4980 * genextract.c: (walk_rtx) Remove unused variable link.
4981
4982 * genrecog.c: (concat) Remove unreferenced static function.
4983
4984 * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
4985
4986 * stmt.c: Include <stdlib.h>.
4987 (expand_asm_operands): Remove unused variable val1.
4988 (expand_return): Remove unused variable block.
4989 (pushcase): Remove unused variables l and n.
4990 (pushcaserange): Likewise.
4991
4992 * unroll.c (unroll_loop): Remove unused variable temp.
4993
4994 Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
4995
4996 * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
4997
4998 Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4999
5000 * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
5001 functions for whether they support the %p format specifier.
5002 * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
5003 * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
5004 * configure, config.in: Rebuild.
5005
5006 Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
5007
5008 * function.c (assign_parms): New variable named_arg, with value
5009 depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
5010
5011 Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
5012
5013 * mips/t-r3900: New - same as t-ecoff but eliminate
5014 multilibs: mips1 and mips3.
5015 * configure.in (tx39*): Use new mips/t-r3900.
5016 * configure: Rebuild.
5017 * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
5018
5019 1998-02-06 Jason Merrill <jason@yorick.cygnus.com>
5020
5021 * dwarf2out.c: Add old_args_size.
5022 (dwarf2out_args_size): Use it.
5023 (dwarf2out_begin_prologue): Initialize it.
5024 (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
5025 pushed args until we see a call.
5026 * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
5027 before outputting them.
5028
5029 1998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
5030
5031 * cplus-dem.c (demangle_template_template_parm): New function.
5032 (demangle_template): Handle template template parameters.
5033
5034 1998-02-02 Mark Mitchell <mmitchell@usa.net>
5035
5036 * calls.c (expand_call): Don't confuse member functions named
5037 realloc, setjmp, and so forth with the standard library
5038 functions of the same names.
5039
5040 Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
5041
5042 * stmt.c (expand_asm_operands): Correctly identify asm statements
5043 no output operands.
5044
5045 Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
5046
5047 * c-common.c (decl_attributes): Flag unrecognized attribute
5048 functions as warnings instead of as errors.
5049
5050 1998-02-05 Marc Lehmann <pcg@goof.com>
5051
5052 * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
5053 when -Os is specified.
5054 * toplev.c (main): Don't disable flag_inline_functions anymore when
5055 -Os is in effect.
5056
5057 Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5058
5059 * regmove.c: Update.
5060 * flags.h (flag_regmove): Declare.
5061 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
5062 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
5063 Moved into regmove; changed caller.
5064 * toplev.c (rest_of_compilation): Call regmove_optimize also for
5065 expensive_optimizations.
5066
5067 Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com)
5068
5069 * version.c: Bump for snapshot.
5070
5071 Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5072 Undo this change (the problem was actually in reload):
5073 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5074
5075 * sh.md (movqi_i+1): New peephole.
5076
5077 Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
5078
5079 * jump.c (jump_optimize): Lose calls to modified_in_p they are
5080 not needed anymore due to changes elsewhere in jump.c.
5081
5082 * jump.c (jump_optimize): Fix first arg to modified_in_p in
5083 previous change.
5084
5085 Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
5086
5087 * expr.c (expand_builtin_setjmp): Accept two new arguments for
5088 the labels to branch to on first and subsequent executions. Don't
5089 play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup',
5090 and provide it with the jmp_buf. Use only one of
5091 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
5092 and provide the former with the target label.
5093 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
5094 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
5095 (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp'
5096 insn to replace all of the normal nonlocal_goto code. Don't play
5097 with __dummy. Correct arguments to nonlocal_goto.
5098 * expr.h (expand_builtin_setjmp): Update prototype.
5099 * except.c (start_dynamic_handler): When using builtin_setjmp,
5100 generate more accurate flow information.
5101
5102 * alpha.md (nonlocal_goto_receiver_osf): Delete.
5103 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
5104 (builtin_longjmp, builtin_setjmp_receiver): New.
5105 * sparc.md (update_return): Disambiguate unspec number.
5106 (nonlocal_goto): Rearrange arguments to match caller in except.c.
5107 (builtin_setjmp_setup): Rename from setjmp. Match and ignore the
5108 jmp_buf operand.
5109 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
5110 (builtin_setjmp_setup*, builtin_longjmp): New.
5111
5112 Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
5113
5114 * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
5115
5116 Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
5117
5118 * vmsconfig.com: Remove bytecode references.
5119
5120 1998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5121
5122 * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
5123 -fno-sjlj-exceptions works for a target that defines
5124 DWARF2_UNWIND_INFO as zero.
5125
5126 * regmove.c (fixup_match_1): Undo last change which removed some
5127 "useless" code, and add a comment explaining this.
5128
5129 Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
5130
5131 * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
5132 to TARGET_LONG64.
5133
5134 Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
5135
5136 * makefile.vms: Remove bytecode references.
5137 Create genrtl files.
5138
5139 Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
5140
5141 * jump.c (jump_optimize): Allow conditional loading of floating point
5142 constants and constants from memory. Reinstalled modified_in_p tests.
5143
5144 Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5145
5146 * loop.c (get_condition): Handle sign-extended constants.
5147
5148 Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
5149
5150 * expr.c (emit_push_insn): Add code to use movstrti if present.
5151
5152 * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
5153 and movstrqi as in emit_block_move ().
5154
5155 Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
5156
5157 * config/m68k/x-next: Remove /NextDeveloper/Headers from
5158 the directories to fixinclude - /usr/include is a link
5159 to it and hence its contents are fixed by default.
5160
5161 Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5162
5163 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
5164
5165 Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
5166
5167 * cccp.c (main): Predefine __VMS_VER on VMS.
5168
5169 Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5170
5171 * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
5172 * fold-const.c (size_int): Replace with
5173 (size_int_wide).
5174 (make_bit_field_ref): Use bitsize_int for bit position.
5175 * stor-layout.c (sizetype): Delete.
5176 (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
5177 (layout_record, layout_union, layout_type):
5178 Use bitsize_int for bit size.
5179 (set_sizetype): New function.
5180 (make_signed_type, make_unsigned_type): Use it.
5181 * c-decl.c (init_decl_processing): Likewise.
5182 * tree.h (size_int): Don't delcare, #define.
5183 (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
5184 (set_sizetype): Declare.
5185 (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
5186 Define.
5187 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
5188 Convert result to sizetype.
5189 (really_start_incremental_init, push_init_level):
5190 Set type of constructor_bit_index to sbitsizetype.
5191 (push_init_level): Use unsigned arithmetic to determine padding.
5192 (output_init_element): Likewise.
5193
5194 Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
5195
5196 * combine.c (simplify_shift_const): Fix typo in last change.
5197
5198 Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
5199
5200 * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
5201 is (truncate (lshiftrt)).
5202
5203 Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
5204
5205 * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
5206 Make sure result winds up in TGT.
5207 (alpha_expand_unaligned_store): Use expand_binop properly. Allow
5208 src to be other than DImode.
5209 (alpha_expand_unaligned_load_words): Tidy. Take an offset argument.
5210 (alpha_expand_unaligned_store_words): Likewise.
5211 (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so
5212 that source and destination are separately optimized for alignment.
5213 (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
5214
5215 Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
5216
5217 * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
5218 with handling of -32768.
5219
5220 Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5221
5222 * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
5223 shell variable argument instead of only hard coded functions.
5224 (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
5225
5226 * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
5227 call. Collapse multiple calls to GCC_NEED_DECLARATION into one
5228 call to GCC_NEED_DECLARATIONS (new macro.) Check if we need
5229 declarations for bcopy, bcmp and bzero.
5230
5231 * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
5232
5233 * gansidecl.h: If we have bcopy but don't declare it, then do so.
5234 Likewise for bcmp and bzero. Only define macros for bcopy, bcmp,
5235 bzero, index and rindex if they aren't already present.
5236
5237 Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
5238
5239 * toplev.c (close_dump_file): Wrap function prototype for
5240 argument "func" in PROTO.
5241 (dump_rtl): Likewise.
5242
5243 Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
5244
5245 * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
5246 MASK_V8PLUS.
5247 (output_function_epilogue): Omit epilogue if nothing drops through.
5248 (output_move_double): Supress int ldd usage on ultrasparc and v9.
5249 (registers_ok_for_ldd_peep): Likewise.
5250 (print_operand): Supress b,a on ultrasparc. Let Y accept a constant.
5251 (ultrasparc_adjust_cost): New function.
5252 (sparc_issue_rate): New function.
5253 * sparc.h (MASK_VIS, TARGET_VIS): New
5254 (MASK_V8PLUS, TARGET_V8PLUS): New.
5255 (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
5256 (TARGET_SWITCHES): Add vis and v8plus.
5257 (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
5258 (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
5259 (RTX_COSTS): Use TARGET_HARD_MUL
5260 (ADJUST_COST): Call ultrasparc_adjust_cost.
5261 (ISSUE_RATE): New.
5262 * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users
5263 of load & fp appropritely.
5264 (supersparc function units): Adjust for Haifa.
5265 (ultrasparc function units): Likewise.
5266 (get_pc_via_rdpc): All v9, not just arch64.
5267 (movdi_v8plus, movdi_v8plus+1): New.
5268 (adddi3_sp32+1): New.
5269 (subdi3_sp32+1): New.
5270 (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
5271 (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
5272 (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
5273 (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
5274 (one_cmpldi2_sp32, one_cmplsi2): Likewise.
5275 (ldd peepholes): Suppress for v9.
5276 (return_adddi): Kill redundant test. Arg1 may be arith_operand.
5277 (return_subsi): Revmove.
5278
5279 Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
5280
5281 * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
5282 save/restore MEM rtl.
5283
5284 Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
5285
5286 * configure.in: Check for declaration of abort.
5287 * acconfig.h: Corresponding changes.
5288 * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
5289 be declared.
5290
5291 Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
5292
5293 * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
5294 uses it.
5295
5296 Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com)
5297
5298 * version.c: Bump for snapshot.
5299
5300 Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
5301
5302 * configure.in: Check for atoq and atoll.
5303 * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
5304 proper routine for converting ascii into long long values.
5305
5306 Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
5307
5308 * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
5309
5310 * vmsconfig.com: Remove bytecode references.
5311
5312 * alpha/vms.h (PREFIX): Define.
5313
5314 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
5315
5316 * am-alpha.h: Don't include alloca for OPEN_VMS.
5317
5318 * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
5319
5320 * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
5321 (GCC_INCLUDE_DIR): Define
5322
5323 * make-cc.com, make-cccp.com, make-cc1.com: Removed.
5324 * makefile.vms: New file.
5325
5326 * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
5327
5328 * alpha.c (output_prolog): Output '.name' directive
5329 for minimal traceback information.
5330
5331 * alpha.c (output_prolog): Don't prepend entry point symbols
5332 with '$' on OPEN_VMS.
5333
5334 Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
5335 Jeffrey A Law (law@cygnus.com)
5336
5337 * rtl.c (read_rtx): Use atol/atoq based upon disposition of
5338 HOST_WIDE_INT.
5339
5340 * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
5341 as needed.
5342 * genemit.c (gen_exp): Likewise.
5343 * genpeep.c (match_rtx): Likewise.
5344 * genrecog.c (write_tree_1): Likewise.
5345
5346 * c-lex.c (yyprint): Use proper format string based upon
5347 disposition of HOST_BITS_PER_WIDE_INT.
5348 (yylex): Put casts in right place for args to build_int_2.
5349
5350 Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
5351
5352 * combine.c: Fix typos in Jan27 changes.
5353
5354 Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
5355
5356 * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
5357 (LINK_SPEC): Likewise.
5358 (STARTFILE_SPEC): Likewise.
5359
5360 1998-01-28 Mike Stump <mrs@wrs.com>
5361
5362 * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
5363 reload completes.
5364 * genattrtab.c (reload_completed): Define.
5365
5366 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
5367 comments.
5368
5369 Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5370
5371 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
5372 SUBREG_REG if the word count is unchanged, also in the input reload
5373 case. Disable non-applicable sanity checks.
5374
5375 Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com)
5376
5377 * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
5378
5379 Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com>
5380
5381 * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
5382
5383 Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com>
5384
5385 * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
5386 is a TREE_VEC before trying to use it for baseclasses.
5387 (Chill uses the same field for a different purpose.)
5388
5389 * toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
5390
5391 Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi>
5392
5393 * config.sub: More accurate determination of HP processor types.
5394
5395 Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5396
5397 * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add
5398 prototype for `handle_sysv_pragma', and make it static. Add
5399 parentheses around assignment used as truth value.
5400
5401 * combine.c (combine_instructions): Protect variable `prev' with
5402 macro HAVE_cc0.
5403 (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
5404 (extract_left_shift): Add parentheses around operand of &.
5405 (merge_outer_ops): Avoid an empty body in an else-statement.
5406 (gen_rtx_combine): Remove unused variable `i'.
5407
5408 * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of
5409 function monstartup `void'. Likewise for internal_mcount. Add
5410 `static void' prototype for moncontrol. Reconcile sprintf format
5411 vs. args.
5412
5413 * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
5414 Make return type of function_arg_slotno explicitly `int'.
5415 (reg_unused_after): Add parentheses around assignment used as
5416 truth value.
5417 (save_regs): Add explicit braces to avoid ambiguous `else'.
5418 (function_arg_slotno): Add parentheses around && within ||.
5419 (function_arg_pass_by_reference): Likewise.
5420 (sparc_flat_output_function_prologue): Reconcile fprintf format
5421 vs. args.
5422
5423 * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
5424 assignment used as truth value.
5425
5426 * cplus-dem.c: Include <stdlib.h>.
5427 (demangle_signature): Avoid an empty body in an else-statement.
5428 (do_type): Remove unused variable `lvl'.
5429
5430 * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
5431 Include <string.h>/<strings.h>.
5432 (cpp_lex): Remove unused variable `namelen'.
5433 (cpp_lex): Explicitly declare `num_chars' as an int.
5434
5435 * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
5436 <unistd.h> instead. Explicitly declare is_system_include
5437 returning int.
5438 (make_assertion): Remove unused variable `kt'.
5439 (cpp_expand_to_buffer): Hide variable `obuf'.
5440 (output_line_command): Remove unused variables, `line_end',
5441 `line_cmd_buf' and `len'.
5442 (macarg): Remove unused variable `arg_start'.
5443 (special_symbol): Remove unused variable `i'. Add parentheses
5444 around assignment used as truth value.
5445 (do_include): Remove unused variables `pcfname' and `retried',
5446 hide `pcf' and `pcfbuflimit'.
5447 (do_line): Remove unused variable `i'.
5448 (finclude): Hide variable `missing_newline'.
5449 (cpp_handle_options): Remove unused variable `j'.
5450 (read_token_list): Remove unused variable `eofp'.
5451 (cpp_error_with_line): Remove unused variable `i'.
5452 (cpp_warning_with_line): Likewise.
5453 (cpp_pedwarn_with_line): Explicitly declare `column' as int.
5454 (cpp_error_from_errno): Remove unused variable `i'.
5455
5456 * cse.c (invalidate): Add parentheses around assignment used as
5457 truth value.
5458 (find_best_addr): Move declaration of variable `our_cost' inside
5459 the conditional macro where its used.
5460 (fold_rtx): Avoid an empty body in an if-statement.
5461 (cse_insn): Wrap variables `this_insn_cc0_mode' and
5462 `this_insn_cc0' in macro HAVE_cc0.
5463
5464 * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
5465 (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
5466 (output_uleb128): Likewise.
5467 (output_sleb128): Likewise.
5468 (output_cfi): Likewise.
5469 (output_call_frame_info): Remove unused variables `j', `fde_size'
5470 and `fde_pad'.
5471 (comp_unit_has_inlines): Hide declaration as per rest of file.
5472 (size_of_line_prolog): Correct typo in prototype.
5473 (add_arange): Likewise.
5474 (output_aranges): Likewise.
5475 (add_name_and_src_coords_attributes): Likewise.
5476 (gen_array_type_die): Likewise.
5477 (gen_inlined_subroutine_die): Likewise.
5478 (equate_decl_number_to_die): Remove unused variable `i'.
5479 (print_die): Reconcile format vs. args in fprintf's.
5480 (print_dwarf_line_table): Likewise.
5481 (output_die): Likewise.
5482 (output_line_info): Likewise.
5483 (add_subscript_info): Avoid an empty body in an else-statement.
5484 (gen_subprogram_die): Remove unused variable `fp_loc'.
5485
5486 * dwarfout.c: Explicitly declare `next_pubname_number' as int.
5487 Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
5488 macro. Protect `src_coords_attribute' prototype with
5489 DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die'
5490 prototype as in the rest of the file. Likewise for
5491 `output_pointer_type_die' and `output_reference_type_die'. Remove
5492 prototype for `type_of_for_scope'.
5493 (output_unsigned_leb128): Reconcile format vs. args in fprintf.
5494 (type_attribute): Add explicit braces to avoid ambiguous `else'.
5495
5496 * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
5497 (shorten_branches): Protect declaration of tmp_length with
5498 SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
5499 (profile_function): Protect declaration of `sval' and `cxt'
5500 variables with appropriate macros.
5501 (final_scan_insn): Likewise for `note' variable. Add explicit
5502 braces to avoid empty body in an if-statement.
5503 (output_asm_insn): Move variable `i' inside macro conditional
5504 where it is used. Add parentheses around assignment used as truth
5505 value.
5506 (asm_fprintf) Likewise, likewise.
5507
5508 * fix-header.c (main): Remove unused variable `done'. Protect
5509 declaration of `i' with FIXPROTO_IGNORE_LIST.
5510
5511 * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
5512
5513 * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
5514 `ind'.
5515
5516 * profile.c: Include <string.h>/<strings.h>.
5517 (instrument_arcs): Remove unused variables `note', `inverted',
5518 `zero' and `neg_one'.
5519 (branch_prob): Avoid empty body in an if-statement.
5520
5521 * regclass.c: Include <stdlib.h>.
5522 (reg_alternate_class): Explicitly declare parameter `regno'.
5523
5524 * regmove.c (regmove_optimize): Remove unused variable `p'. Add
5525 parentheses around assignment used as truth value.
5526 (find_matches): Remove unused variables `output_operand' and
5527 `matching_operand'.
5528 (fixup_match_1): Remove statement with no effect: "if (0) ;".
5529
5530 * scan.c (sstring_append): Explicitly declare `count' as int.
5531 (scan_string): Explicitly declare parameter `init' as int.
5532
5533 * sched.c: Include <stdlib.h>.
5534 (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
5535 (rank_for_schedule): Add parentheses around assignment used as
5536 truth value.
5537 (schedule_block): Likewise.
5538 (regno_use_in): Likewise.
5539 (schedule_insns): Remove unused variable `i'.
5540
5541 * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
5542 (v_message_with_decl): Remove unused variable `n'.
5543 (botch): Explicitly declare parameter `s' as char *.
5544 (main): Add parentheses around assignment used as truth value.
5545
5546 * tree.c (make_node): Protect the variable `kind' with the
5547 GATHER_STATISTICS macro.
5548 (real_value_from_int_cst): Move variable `e' inside conditional
5549 macro area where it is used.
5550 (tree_last): Add parentheses around assignment used as truth value.
5551 (build1): Protect the variable `kind' with the GATHER_STATISTICS
5552 macro.
5553 (print_obstack_statistics): Reconcile format vs. args in fprintf.
5554 Protect variables `i', `total_nodes', and `total_bytes' with the
5555 GATHER_STATISTICS macro.
5556
5557 Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com)
5558
5559 * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
5560 some comments regarding use of dead_or_set_p.
5561
5562 Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
5563
5564 * fixincludes: Tweak fix for struct exception in math.h
5565
5566 Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
5567
5568 * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
5569 Change mode of registers used to add/sub from
5570 hard_frame_pointer_rtx from word_mode to Pmode.
5571
5572 Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
5573
5574 * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
5575 asm_output_aligned_bss() instead of asm_output_bss().
5576
5577 * toplev.c (rest_of_compilation): Replace references to
5578 stack_reg_dump_file and dbr_sched_dump_file with references to
5579 rtl_dump_file.
5580
5581 Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
5582
5583 * tlink.c (scan_linker_output): Call fclose() for opened files.
5584
5585 Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
5586
5587 * alpha.c (output_epilog [!VMS]): Don't tag global functions if
5588 compiling with -fpic -- we want to be able to override symbols
5589 properly.
5590 (alpha_expand_block_move): Fix thinko in last change.
5591
5592 * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
5593 * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
5594 * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
5595
5596 Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
5597
5598 * alpha.md (abssf, absdf): Revert last change.
5599
5600 Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
5601
5602 * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
5603 * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
5604
5605 Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
5606
5607 * emit-rtl.c (gen_lowpart_common): Handle more case where converting
5608 a CONST_INT into SFmode.
5609
5610 Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
5611
5612 * flags.h: New flag (optimize_size).
5613 * toplev.c (main): Parse -Os option and set optimize_space
5614 accordingly.
5615 * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
5616 __OPTIMIZE_SIZE__ when compiling with -Os.
5617 * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
5618 config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
5619 config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
5620 to macro.
5621 * config/i386/i386.c (optimization_options): Accept new SIZE argument.
5622
5623 Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
5624
5625 * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
5626 stuff only if MCT_TEXT is #define'd.
5627
5628 Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
5629
5630 * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
5631 configurations.
5632
5633 Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
5634
5635 * toplev.c: Add -dM command line option to dump RTL after the
5636 machine dependent reorganisation pass, if there is one.
5637 Reorganise RTL dump code, so that only one file handle is
5638 needed.
5639
5640 Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
5641
5642 * except.c (check_exception_handler_labels): Disable warning when
5643 flag_syntax_only.
5644
5645 Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
5646
5647 * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
5648
5649 Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5650
5651 * c-decl.c (grokdeclarator): Get parameter tags from
5652 last_function_parm_tags.
5653 * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
5654 traversing the parameter types.
5655 (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
5656
5657 Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
5658
5659 * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
5660 the default case.
5661 (get_shift_alg): Fix typo.
5662
5663 Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
5664
5665 * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
5666
5667 Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
5668
5669 * toplev.c (get_run_time): Make sure each case gets its variables.
5670
5671 Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
5672
5673 * configure.in (build_xm_file): Add auto-config.h if host=build.
5674 (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
5675 (build_xm_file_list): Likewise.
5676 * configure: Rebuild.
5677
5678 Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
5679
5680 * recog.c (validate_replace_rtx_1): Only perform substitutions
5681 of arguments to commutative and comparison operators once.
5682
5683 Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5684
5685 * sparc.c (output_cbranch): Add default case in
5686 enumeration switch.
5687
5688 * reorg.c (insn_sets_resource_p): Correct typo in prototype.
5689 (emit_delay_sequence): Eliminate unused parameter, all callers
5690 changed.
5691 (fill_simple_delay_slots): Likewise.
5692 (fill_slots_from_thread): Likewise.
5693 (fill_eager_delay_slots): Likewise.
5694 (mark_referenced_resources): Add default case in enumeration switch.
5695 (mark_set_resources): Likewise.
5696 (rare_destination): Likewise.
5697 (mostly_true_jump): Likewise.
5698 (find_dead_or_set_registers): Likewise.
5699 (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
5700 (update_reg_unused_notes): Remove unused variable `p'.
5701 (mark_target_live_regs): Remove unused variables `next' and
5702 `jump_count'.
5703 (fill_simple_delay_slots): Remove unused variable `j'.
5704 (fill_slots_from_thread): Add parentheses around assignment used
5705 as truth value.
5706 (dbr_schedule): Likewise.
5707
5708 * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
5709 (objc.stage2, objc.stage3, objc.stage4): Likewise.
5710
5711 Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
5712
5713 * cse.c (simplify_ternary_operation): Don't try to simplify
5714 IF_THEN_ELSE expressions (created by combine) that don't use
5715 relational operators.
5716
5717 Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
5718
5719 * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
5720 simplifications.
5721
5722 * crtstuff.c (init_dummy): Keep the epilogue in the init
5723 section for non-ELF systems.
5724
5725 Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
5726
5727 * sh.md (movqi_i+1): New peephole.
5728
5729 Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
5730
5731 * Makefile.in: Remove remaining bytecode stuff.
5732 * emit-rtl.c, expr.c: Likewise.
5733
5734 Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
5735
5736 * toplev.c (lang_options): Add unknown-pragma options.
5737
5738 Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
5739
5740 * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
5741 special (and incomplete) handling for Chill arrays.
5742
5743 Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
5744
5745 * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
5746 to get clock rate.
5747
5748 Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
5749
5750 * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
5751
5752 1998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
5753
5754 * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
5755 .frame directive instead of FRAME_POINTER_REGNUM.
5756
5757 Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
5758
5759 * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
5760 (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
5761 * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
5762 (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
5763 (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
5764 * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
5765 (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
5766 (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
5767 mcpu32 or m5200.
5768 * longlong.h: Replace __mc68332__ with __mcpu32__.
5769
5770 Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com)
5771
5772 * version.c: Bump for snapshot.
5773
5774 Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
5775
5776 * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
5777 to require the SUBREG mode to be smaller than the SUBREG_REG mode.
5778 * reload1.c (eliminate_regs): Likewise.
5779
5780 Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
5781
5782 * regmove.c (find_matches): Initialize matches->earlyclobber too.
5783
5784 Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
5785
5786 * alpha.md (abssf2, absdf2): Disable in IEEE mode.
5787 (negsf2, negdf2): Use proper subtract in IEEE mode.
5788
5789 Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com)
5790
5791 * Makefile.in: Remove more bytecode stuff.
5792 * expr.c, stmt.c, config/msdos/top.sed: Likewise.
5793 * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
5794 * f/install.texi, objc/Make-lang.in: Likewise.
5795
5796 * Makefile.in: Remove all bytecode support.
5797 (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
5798 * emit-rtl.c: Remove all bytecode support.
5799 * expr.c, expr.h function.c, integrate.c: Likewise.
5800 * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
5801 * tree.h, varasm.c: Likewise.
5802 * config/m68k/m68k.h: Likewise.
5803 * bi-*, bc-*, bytecode*: Delete bytecode related files.
5804 * modemap.def: Likewise.
5805
5806 Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
5807
5808 * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
5809 umodsi3,umoddi3): Handle mips16 div/mod by a constant.
5810
5811 Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
5812
5813 * i386.md (push): Prohibit symbolic constants if flag_pic.
5814 (movsi+1): Likewise for move to non-register.
5815
5816 Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
5817
5818 * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
5819 (print_operand): Handle 0xffffffff on 32 bit host.
5820
5821 * configure.in (thread_file): Rename uses before main loop to
5822 target_thread_file. Initialize to empty in main loop. Set thread_file
5823 to target_thread_file after main loop if not set.
5824 * configure: Rebuild.
5825
5826 * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
5827 (add_values_to_cover): Revert last change (which had no ChangeLog
5828 entry).
5829 (simplify_with_current_value_aux): Handle CONST_INT.
5830
5831 Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5832
5833 * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
5834
5835 Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
5836
5837 * configure.in: Add cpp stringify test.
5838 * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
5839 * gengenrtl.c: Use it.
5840 * configure, config.in: Rebuild.
5841
5842 Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
5843
5844 * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
5845
5846 Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
5847
5848 * configure.in: Find declaration for sbrk.
5849 * acconfig.h (NEED_DECLARATION_SBRK): New tag.
5850 * config.in, configure: Rebuild.
5851 * mips-tfile.c: Properly protect declaration of sbrk and free.
5852 * toplev.c: Properly protect declaration of sbrk.
5853
5854 Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
5855
5856 * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
5857
5858 Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
5859
5860 * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
5861
5862 Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com)
5863
5864 * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
5865
5866 Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
5867
5868 * combine.c (force_to_mode, nonzero_bits): Correctly optimize
5869 constant offset computations from objects with known alignment in
5870 the presence of STACK_BIAS.
5871
5872 * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
5873 necessary.
5874 (const_hash): Hash val is unsigned long.
5875 (SYMHASH): Likewise.
5876
5877 * tree.c (TYPE_HASH): Type of hash val is unsigned long.
5878
5879 * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
5880 char pointer, not HOST_WIDE_INT.
5881 (print_node): Likewise. Also hash is unsigned long not
5882 HOST_WIDE_INT.
5883
5884 * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
5885
5886 * explow.c (optimize_save_area_alloca): New function for targets
5887 where SETJMP_VIA_SAVE_AREA is true.
5888 (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
5889 compute the amount of stack space needed should we find later that
5890 setjmp is never called by this function, stuff rtl for this inside
5891 a REG_NOTE of the final SET of stack_pointer_rtx.
5892 * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
5893 current_function_calls_alloca, call optimize_save_area_alloca.
5894
5895 Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
5896
5897 * i386.md: Remove redundant integer push patterns.
5898 Don't bother checking for TARGET_PUSH_MEMORY when
5899 pushing constants or registers.
5900
5901 Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
5902 J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
5903
5904 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
5905 (pwait): New function for mingw32.
5906
5907 * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
5908 pipe support is broken for now.
5909
5910 1998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM>
5911
5912 * emit_rtl.c (init_emit_once): Ensure that potential aliasing
5913 between frame_pointer_rtx, hard_frame_pointer_rtx, and
5914 arg_pointer_rtx is respected in initialization.
5915 (init_emit_once): Use gen_rtx_raw_REG() to create
5916 return_address_pointer_rtx.
5917
5918 * reorg.c: #include "expr.h" for rtx prototypes.
5919 * Makefile.in (reorg.o): Depend on expr.h
5920
5921 Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
5922
5923 * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
5924 local_prefix to sub-make invocations.
5925
5926 Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
5927
5928 * objc-parse.c: Recognize protocol qualifiers in class definitions.
5929
5930 Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
5931
5932 * rtl.h: Fix typos.
5933
5934 * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
5935 * configure.in: Check for atol.
5936 * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
5937
5938 * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
5939
5940 * loop.c (find_and_verify_loops): When attempting to move insns from
5941 inside the loop outside the loop, create a BARRIER if no suitable
5942 one was found.
5943
5944 * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
5945 favor of an equivalent change from gcc-2.8.
5946
5947 * i386/x-sco5 (CC): Remove trailing whitespace.
5948
5949 Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5950
5951 * gengenrtl.c (type_from_format): De-ANSIfy function signature.
5952 (accessor_from_format): Likewise.
5953 (xmalloc): New function for use when linking with alloca.o.
5954
5955 Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
5956
5957 * frame.c (find_fde): Correct FDE's upper bound.
5958
5959 Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
5960
5961 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
5962
5963 Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
5964
5965 * calls.c (expand_call): Move #ifdef code out of macro argument
5966 lists.
5967 (emit_library_call, emit_library_call_value): Likewise.
5968
5969 Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
5970
5971 * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
5972
5973 Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
5974
5975 * version.c: Bump for snapshot.
5976
5977 Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
5978
5979 * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
5980 change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
5981 * caller-save.c, calls.c, combine.c, cse.c: Likewise.
5982 * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
5983 * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
5984 * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
5985 * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
5986 * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
5987 * unroll.c, varasm.c: Likewise.
5988 * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
5989
5990 Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
5991
5992 * mips.h: Fix some type-o's from a previous change.
5993
5994 Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
5995
5996 * loop.c (check_dbra_loop): Make sure initial value is a
5997 CONST_INT before trying to normalize it.
5998
5999 Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
6000
6001 * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
6002
6003 Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
6004
6005 * cppexp.c: Include gansidecl.h
6006
6007 Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
6008
6009 * svr4.h (LINK_SPEC): Never specify -h.
6010 * ptx4.h (LINK_SPEC): Likewise.
6011 * rs6000/sysv4.h (LINK_SPEC): Likewise.
6012 * sparc/sol2.h (LINK_SPEC): Likewise.
6013
6014 Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
6015
6016 * c-typeck.c (comptypes): Exit early on NULL input.
6017
6018 * haifa-sched.c (schedule_insns): Correctly remove inter-block
6019 dependencies after reload.
6020
6021 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6022
6023 * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
6024
6025 Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
6026
6027 * alpha/vms.h (DIR_SEPARATOR): define
6028
6029 Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
6030
6031 * Makefile.in (stamp-proto): Remove.
6032 (protoize.o, unprotoize.o): Straightforward compile.
6033 * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
6034
6035 Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
6036
6037 * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
6038 off the trailing @[NUM] added by ENCODE_SECTION_INFO.
6039
6040 Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
6041
6042 * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
6043 * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
6044 * sparc/netbsd.h, vax/netbsd.h: Likewise.
6045
6046 Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
6047
6048 * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
6049
6050 Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
6051
6052 * configure.in (target_cpu_default, target_cpu_default2): Use double
6053 quotes around them when testing their value.
6054 * configure: Rebuilt.
6055
6056 Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
6057
6058 * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
6059 to allocate rtx.
6060 (gendef): Call obstack_alloc_rtx.
6061
6062 Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
6063
6064 * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
6065 for now.
6066
6067 Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
6068
6069 * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
6070 of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
6071 (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
6072
6073 Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
6074
6075 * mips.md (return_internal): Change mode from SImode to VOIDmode.
6076
6077 Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
6078
6079 * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
6080 "-static".
6081
6082 Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
6083
6084 * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode
6085 suffix from operand 3.
6086
6087 Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
6088 Jeffrey A Law (law@cygnus.com)
6089
6090 * regmove.c: New implementation of regmove pass.
6091 * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
6092 decls, make them have external linkage. Return a value from
6093 optimize_reg_copy_1.
6094 * reload.h (count_occurrences): Add decl.
6095 * reload1.c (count_occurrences): Delete decl, make it have external
6096 linkage.
6097 * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
6098
6099 Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
6100
6101 * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
6102 if it is not defined.
6103
6104 Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com>
6105
6106 * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
6107 * emit-rtl.c (gen_rtx): Move special code to ...
6108 (gen_rtx_CONST_INT): New function.
6109 (gen_rtx_REG): New function.
6110 (*): Update all calls to gen_rtx.
6111 * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
6112 * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
6113 (GEN_INT): Call gen_rtx_CONST_INT.
6114 * gengenrtl.c: New file.
6115
6116 Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
6117
6118 * alias.c (*_dependence): Call base_alias_check before canon_rtx.
6119 (base_alias_check): If no base found for address call canon_rtx and
6120 try again.
6121
6122 Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
6123
6124 * mips.c (mips_expand_prologue): Handle large frame with no outgoing
6125 arguments for mips16.
6126 (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
6127 Don't lose if tsize is zero after handling large stack for mips16.
6128 * mips.md (return): For trivial return, return address is in $31.
6129
6130 Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
6131
6132 * mips/mips16.S: Various changes to make it work with -msingle-float
6133 and -EL.
6134
6135 Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
6136 Ian Lance Taylor <ian@cygnus.com>
6137 Jeff Law <law@cygnus.com>
6138
6139 * mips.c, mips.h, mips.md: First cut at merging in mips16
6140 support. Major modifications throughout all three files.
6141
6142 Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
6143
6144 * configure.in: Make gthr-default.h a forwarding header instead of
6145 a symlink.
6146
6147 Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6148
6149 * gcov-io.h: Include sys/types.h to ensure we get size_t.
6150
6151 * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
6152
6153 Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
6154 Jeffrey A Law (law@cygnus.com)
6155
6156 * crtstuff.c (__frame_dummy): New function for irix6.
6157 (__do_global_ctors): Call __frame_dummy for irix6.
6158 * iris6.h (LINK_SPEC): Hide __frame_dummy too.
6159
6160 Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu>
6161
6162 * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
6163
6164 Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com>
6165
6166 * c-decl.c (init_decl_processing): Provide proper fallback symbol
6167 for __builtin_memset.
6168 * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
6169 not INTEGER_CST. Assert arg 3 is a constant.
6170
6171 * alpha.c (mode_width_operand): Accept 64-bit modes.
6172 (mode_mask_operand): Likewise.
6173 (print_operand): Likewise for 'M' and 'U' codes.
6174 (alpha_expand_unaligned_load): New function.
6175 (alpha_expand_unaligned_store): Likewise.
6176 (alpha_expand_unaligned_load_words): Likewise.
6177 (alpha_expand_unaligned_store_words): Likewise.
6178 (alpha_expand_block_move): Likewise.
6179 (alpha_expand_block_clear): Likewise.
6180 * alpha.h (MOVE_RATIO): New define.
6181 * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
6182 (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
6183
6184 * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
6185 (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
6186
6187 Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com>
6188
6189 * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
6190 * configure: Update.
6191
6192 Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com)
6193
6194 * emit-rtl.c (operand_subword): Correctly handle extracting a word
6195 from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
6196
6197 * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
6198 for first argument.
6199
6200 Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com>
6201
6202 * configure.in: Set and subsitute host_exeext. Use it when creating
6203 the assembler and linker symlinks.
6204 * configure: Rebuild.
6205 * Makefile.in (exeext): Set to @host_exeext@.
6206 (build_exeext): New variable, set to @build_exeext@.
6207 (FLAGS_TO_PASS): Pass down build_exeext.
6208 (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
6209 programs.
6210
6211 Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com)
6212
6213 * mn10200.md (addsi3, subsi3): Fix thinkos.
6214
6215 Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com>
6216
6217 * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
6218 save+restore. Fix pic+big_offset delay slot. Use "pic" case for
6219 unix always, since we want to be able to thunk to functions in a
6220 shared library from an application.
6221
6222 Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com>
6223
6224 * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
6225 (LIB1ASMSRC, LIB1ASMFUNCS): Define.
6226
6227 Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com)
6228
6229 * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
6230 offset's mode is not ptr_mode, convert it.
6231
6232 Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com>
6233
6234 * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
6235 compiling if it was already defined.
6236
6237 Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com)
6238
6239 * flow.c (find_basic_blocks): Don't create a new basic block
6240 for calls in a LIBCALL block.
6241
6242 Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu>
6243
6244 * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
6245
6246 Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com)
6247
6248 * cse.c (rtx_cost): Remove conflicting default case.
6249
6250 Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com>
6251
6252 * configure.in: Move default enabling of Haifa out of for loop.
6253 * configure: Rebuild.
6254
6255 Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com)
6256
6257 * version.c: Bump for snapshot.
6258
6259 1997-12-25 Teemu Torma <tot@trema.com>
6260
6261 * Makefile.in (GTHREAD_FLAGS): New var.
6262 (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
6263 (distclean): Remove gthr-default.h.
6264
6265 * configure.in: Accept dce as a thread package.
6266 Check for thread.h and pthread.h.
6267 Link gthr-default.h to appropriate thread file and set
6268 gthread_flags.
6269 (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
6270 include multilib definitions from pa/t-dce-thr.
6271 (sparc-*-solaris2*): Enable threads by default, if thread.h or
6272 pthread.h is found, preferring posix threads over solaris ones.
6273
6274 * config/pa/t-dce-thr: New file.
6275 * config/pa/t-pa: Removed multilibs.
6276 * config/sparc/t-sol2: Ditto.
6277
6278 * gthr.h: New file.
6279 * gthr-single.h: New file.
6280 * gthr-posix.h: New file.
6281 * gthr-solaris.h: New file.
6282 * gthr-dce.h: New file.
6283 * libgcc-thr.h: Removed.
6284 * objc/thr-dce.c: New file copied from thr-decosf1.c.
6285
6286 * frame.c: Include gthr.h instead of libgcc-thr.h.
6287 * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
6288 (eh_context_initialize): If __gthread_once fails, use static eh
6289 context.
6290 (eh_context_free): Call __gthread_key_dtor.
6291
6292 Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com)
6293
6294 * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
6295
6296 Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com>
6297
6298 * cse.c (max_insn_uid): New variable.
6299 (cse_around_loop): Use max_insn_uid.
6300 (cse_main): Set max_insn_uid.
6301
6302 * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
6303 and define __LONG_MAX__ appropriately. Add support for -mabi=X,
6304 -mlong64, and -mgp{32,64} options.
6305 * mips.c (mips_abi): Change type to int.
6306 * mips.h (enum mips_abi_type): Delete.
6307 (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
6308 (mips_abi): Change type to int.
6309
6310 Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu>
6311
6312 * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
6313 optimization is now always enabled.
6314
6315 * calls.c (expand_call): Recognize C++ operator new as malloc-like
6316 function.
6317
6318 * alias.c (memrefs_conflict_p): Eliminate tests now done by
6319 base_alias_check.
6320 (*_dependence): Call canon_rtx before base_alias_check.
6321 (init_alias_once): New function to precompute set of registers which
6322 can hold Pmode function arguments.
6323
6324 * rtl.h: Declare init_alias_once.
6325
6326 * toplev.c (compile_file): Call init_alias_once.
6327
6328 Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com)
6329
6330 * tree.c (restore_tree_status): Do not dereference a null pointer.
6331
6332 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
6333
6334 * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
6335 RLIMIT_STACK. This maintains consistency with the recent, similar
6336 patch to cccp.c and toplev.c.
6337
6338 Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com>
6339
6340 * genattrtab.c (expand_units): For large nr opclasses, expand
6341 function_units_used with ORX to prevent blowups. Tag with FFS.
6342 (num_unit_opclasses): New variable.
6343 (gen_unit): Update it.
6344 (enum operator): Add ORX_OP.
6345 (operate_exp): Treat ORX as or, except don't expand across an if.
6346 Reuse number rtx's after operating on them.
6347 (check_attr_value): Accept IOR, AND, & FFS.
6348 (write_test_expr): Transmute `in_comparison' to `flags'. Allow
6349 for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE.
6350 (write_expr_attr_cache, write_toplevel_expr): New functions.
6351 (write_attr_get): Handle FFS-tagged expressions.
6352 (make_canonical): Don't expand const attributes.
6353 (convert_const_symbol_ref): Dike out.
6354 (evaluate_eq_attr): Handle SYMBOL_REF.
6355 (main): Don't emit get_attr_foo for const attributes.
6356
6357 * alpha.c (override_options): Reinstate PROCESSOR_EV6.
6358 (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
6359 * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
6360 * alpha.md: Redo all of the scheduling, adding EV6 support, and
6361 combining function units where possible.
6362 (attr "type"): Split loads, stores, cmov into int/fp. Combine
6363 multiplies and divides. Add EV6 sqrt, ftoi, itof.
6364 (attr "opsize"): New attribute.
6365 (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
6366 (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
6367 to control register allocation.
6368 (movsi2-1, movdi2-1): Likewise.
6369
6370 Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com>
6371
6372 * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
6373 MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
6374 Move OSF/1 specific defines out.
6375 * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
6376 Move Linux specific defines out.
6377 (LINK_SPEC): Genericize.
6378 (ASM_FILE_START): Emit .arch if using more than the base insn set.
6379 (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
6380 (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
6381 (HANDLE_SYSV_PRAGMA): Define.
6382 * alpha/osf.h: New file.
6383 * alpha/linux.h: Split. Retain file-format independant defines.
6384 Import Linux bits from elf.h.
6385 (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
6386 (FUNCTION_PROFILER): _mcount takes its address in $28.
6387 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
6388 * alpha/linux-ecoff.h: New file.
6389 * alpha/linux-elf.h: New file.
6390 * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
6391 * alpha/win-nt.h (TARGET_DEFAULT): Define.
6392 * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
6393 Add new headers as appropriate.
6394
6395 * configure.in (alpha*): Enable Haifa by default.
6396 (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
6397 * configure: Rebuild.
6398
6399 Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com>
6400
6401 * Makefile.in (clean): Remove the stages with their objects here ...
6402 (distclean): ... instead of here.
6403
6404 Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6405
6406 * cse.c (rtx_cost): Add default case in enumeration switch.
6407 * fix-header.c (recognized_macro): Likewise.
6408 (recognized_extern): Likewise.
6409 (write_rbrac): Likewise.
6410 * objc/objc-act.c (encode_aggregate): Likewise.
6411 (gen_declarator): Likewise.
6412 (gen_declspecs): Likewise.
6413
6414 Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com)
6415
6416 * haifa-sched.c (create_reg_dead_note): Detect and handle another
6417 case where we kill more regs after sched than were killed before
6418 sched.
6419 * sched.c (create_reg_dead_note): Similarly.
6420
6421 Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com)
6422
6423 * c-pragma.c: Include flags.h.
6424
6425 Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu>
6426
6427 * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
6428 about system headers.
6429 (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
6430 and also to resolve symbols in prefix.c.
6431
6432 * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
6433 between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
6434 when the definitions in auto-config.h is not visible.
6435 (HAVE_BZERO): Likewise.
6436 (HAVE_BCMP): Likewise.
6437 (HAVE_RINDEX): Likewise.
6438 (HAVE_INDEX): Likewise.
6439
6440 Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com)
6441
6442 * pa.c (emit_move_sequence): Handle a function label source
6443 operand.
6444
6445 Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com
6446
6447 * c-pragma.c (handle_pragma_token): Generate warning messages
6448 about unknown pragmas if warn_unknown_pragmas is set.
6449
6450 * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
6451 line option to set variable: warn_unknown_pragmas.
6452
6453 Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de>
6454
6455 * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
6456 definition.
6457 (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
6458
6459 Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com)
6460
6461 * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
6462 (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to
6463 generate more fine grained floating point emulation libraries.
6464 * config/fp-bit.c: Add protecting #ifdef to all functions so
6465 that they can be compiled separately. If !FINE_GRAINED_LIBRARIES,
6466 then compile all suitable functions.
6467 (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
6468 underscores to avoid namespace pollution.
6469 * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
6470 (FPBIT): Define.
6471 * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
6472 (FPBIT): Define.
6473 (DPBIT): Define.
6474
6475 Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6476 Jeff Law <law@cygnus.com>
6477
6478 * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
6479 of the declaration.
6480 * c-decl.c (finish_decl): Use parentheses around && within ||.
6481 * rtl.c: Include stdlib.h.
6482 (read_skip_spaces): Add parentheses around assignments used as
6483 truth values.
6484 (read_rtx): Initialize list_rtx.
6485 * cppexp.c (parse_number): Use || when operands are truth values.
6486 * alias.c (find_base_value): Add default case.
6487 (memrefs_conflict): Likewise.
6488 * combine.c (sets_function_arg_p): Likewise.
6489 * genemit.c (gen_exp): Likewise.
6490 * local-alloc.c (contains_replace_regs): Likewise.
6491 * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
6492 * fold-const.c (fold_convert): Use "&&" for truth values.
6493 (fold): Add default case.
6494 * sdbout.c (sdbout_field_types): Fix typo in declaration.
6495 (sdbout_one_type): Add default case.
6496 * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
6497 (some_operand): Add default case.
6498 (input_operand): Likewise.
6499 (signed_comparison_operator): Likewise.
6500 (divmod_operator): Likewise.
6501 (alpha_set_memflags_1): Likewise.
6502 * reload1.c (reload_cse_simplify_operands): Ensure function
6503 always returns a value.
6504 * scan-decls.c (scan_decls): Likewise.
6505 * c-lex.c (skip_white_space): Fix typo in declaraion.
6506 * c-typeck.c (comp_target_types): Add parentheses around assignment
6507 used as truth value.
6508 (print_spelling): Likewise.
6509 (constructor_implicit, constructor_result): Remove unused variables.
6510 * collect2.c (scan_library): Protect prototype with
6511 #ifdef SCAN_LIBRARIES.
6512 * emit-rtl.c (find_line_note): Fix typo in declaration.
6513 * final.c (asm_insn_count): Protect prototype with
6514 #ifdef HAVE_ATTR_length.
6515 * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
6516 (try_pre_increment_1, try_pre_increment): Likewise.
6517 * regclass.c (auto_inc_dec_reg_p): Protect prototype with
6518 #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit.
6519 * gcov-io.h (__store_long, __write_long, __read_long): Fix
6520 unsigned/signed comparisons.
6521 * gcov.c (read_files): Remove unused "first_type" variable.
6522 (scan _for_source_files): Initialize s_ptr.
6523 (function_summary): Eliminate "%lf" formatting, use %ld for
6524 longs.
6525 (output_data): Initialize branch_probs and last_line_num.
6526 Eliminate "%lf" formatting, use "%ld" for longs.
6527
6528 Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com>
6529
6530 * mips16.S: New file.
6531
6532 * libgcc2.c (varargs): Handle mips16.
6533
6534 * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
6535 expression.
6536 * stmt.c (expand_end_case): Likewise.
6537 * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
6538 * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
6539 * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
6540
6541 Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6542
6543 * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
6544 the build directory.
6545 (libobjc.a): Update dependency list.
6546 (libobjc.dll): Likewise. Use libobjc_entry.o from the build
6547 directory.
6548 (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
6549 (objc.mostlyclean): Remove runtime-info.h.
6550
6551 Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com>
6552
6553 * tree.c (build_range_type): Allow creation of ranges with no maximum.
6554 * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
6555 * dwarf2out.c (add_subscript_info): Likewise.
6556 * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
6557 * sdbout.c (plain_type_1): Likewise.
6558 * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
6559 Likewise.
6560 * fold-const.c (int_const_binop, fold_convert, make_range, fold):
6561 Likewise.
6562
6563 Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6564
6565 * mips.c (fatal): Remove declaration.
6566
6567 1997-12-18 Mark Mitchell <mmitchell@usa.net>
6568
6569 * integrate.c (get_label_from_map): New function.
6570 (expand_inline_function): Use it. Initialize the label_map to
6571 NULL_RTX instead of gen_label_rtx.
6572 (copy_rtx_and_substitute): Use get_label_from_map.
6573 * integrate.h (get_label_from_map): New function.
6574 (set_label_from_map): New macro.
6575 * unroll.c (unroll_loop): Use them.
6576 (copy_loop_body): Ditto.
6577
6578 Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com>
6579
6580 * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
6581 (INIT_TARGET_OPTABS): Define.
6582 * mips/ecoff.h: Include gofast.h before mips.h.
6583 (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
6584 * mips/elf64.h: Likewise.
6585 * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
6586
6587 Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com>
6588
6589 * except.c: Remove register_exception_table{,_p}.
6590
6591 Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com>
6592
6593 * unroll.c (calculate_giv_inc): Handle constant increment found in
6594 a MEM with an appropriate REG_EQUAL note.
6595
6596 * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
6597
6598 * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
6599 frame pointer in the prologue.
6600
6601 Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com>
6602
6603 * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added.
6604 * i386/xm-sco5.h (USE_C_ALLOCA) Added.
6605
6606 Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com>
6607
6608 * config/m68k/m68k.c (output_function_prologue): Typecast
6609 dwarf2out_cfi_label to (char *).
6610 * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
6611
6612 Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com>
6613
6614 * sparc.md (jump): Don't use the annul bit around an empty loop.
6615 Patch from Kevin.Kelly@East.Sun.COM.
6616
6617 Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com)
6618
6619 * jump.c: (jump_optimize): Don't use the return register as a
6620 source1 of a conditional move.
6621
6622 Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com>
6623
6624 * sparc.c (DF_MODES): Or the mask not the bit number.
6625 (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
6626
6627 Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
6628
6629 * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
6630
6631 Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de>
6632
6633 * fixincludes (size_t): Add support for Motorola's stdlib.h
6634 which fails to provide a definition for size_t.
6635 (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
6636 (strlen,strspn,strcspn return value): Handle different layout on sysV88.
6637 (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
6638
6639 * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
6640 prevent unresolved externals in libio.
6641 * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
6642
6643 Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org)
6644
6645 * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
6646 (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
6647 (LIB_SPEC): Updated for glibc 2.
6648
6649 Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com)
6650
6651 * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
6652 * ginclude/varargs.h: Likewise.
6653
6654 Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com)
6655
6656 * version.c: Bump for snapshot.
6657
6658 Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org)
6659
6660 * frame.h (__register_frame, __register_frame_table,
6661 __deregister_frame): New.
6662 * frame.c (__register_frame, __register_frame_table,
6663 __deregister_frame): New.
6664 * frame.c (__deregister_frame_info): Return void *.
6665 * frame.h (__deregister_frame_info): Ditto.
6666 * collect2.c (__deregister_frame_info): Ditto.
6667
6668 Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com>
6669
6670 * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
6671
6672 Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com>
6673
6674 * alpha.c (alpha_cpu_name): New variable.
6675 (alpha_mlat_string): Likewise.
6676 (alpha_memory_latency): Likewise.
6677 (override_options): Handle -mmemory-latency.
6678 (alpha_adjust_cost): Adjust load cost for latency.
6679 * alpha.h (TARGET_OPTIONS): Add meory-latency.
6680 (REGISTER_MOVE_COST): Define in terms of memory_latency. Take
6681 TARGET_CIX into account.
6682 (MEMORY_MOVE_COST): Define in terms of memory_latency.
6683 * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
6684
6685 * alpha.h (ASM_COMMENT_START): New macro.
6686
6687 Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com>
6688
6689 * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
6690 dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
6691
6692 * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
6693 SUBREG_REG if the word count is unchanged.
6694 * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
6695 subregs of identical word size for push_reload.
6696
6697 Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997
6698
6699 * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
6700 if all we're doing is dealing with -Wreturn-type.
6701
6702 Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com>
6703
6704 * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
6705 Use and 255 instead of zapnot 1, since it schedules better.
6706
6707 Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com)
6708
6709 * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
6710 it as volatile.
6711
6712 Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com)
6713
6714 * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
6715 dependency we delete. Properly update prev for multiple consecutive
6716 deletions.
6717 (priority): Skip deleted dependence.
6718
6719 Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com>
6720
6721 * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
6722
6723 Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com>
6724
6725 * flow.c (flow_analysis): Be consistent with find_basic_blocks in
6726 determining when a new basic block starts.
6727
6728 * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
6729
6730 * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
6731 * pa.md (iorsi3): Add missing args to *_operand calls.
6732
6733 * except.c (call_get_eh_context): Don't mess with sequences.
6734 (emit_eh_context): Include the call in the sequence here.
6735
6736 1997-12-11 Paul Eggert <eggert@twinsun.com>
6737
6738 * collect2.c (write_c_file_glob): Allocate initial frame object
6739 in static storage and pass its address.
6740
6741 Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com>
6742
6743 * except.c (call_get_eh_context): Don't take a parm.
6744 Put the call at the top of the function.
6745 (emit_eh_context): Adjust.
6746 (get_eh_context): Replace with former use_eh_context.
6747 (get_eh_context_once, get_saved_pc_ref): Remove.
6748 (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
6749 * except.h: Adjust.
6750 * integrate.c (expand_inline_function): Adjust.
6751 * toplev.c (rest_of_compilation): Don't call emit_unwinder.
6752
6753 Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com>
6754
6755 * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
6756 (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
6757
6758 Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de>
6759
6760 * fixincludes (strlen,strspn,strcspn return value): Handle different
6761 layout on sysV88.
6762 (hypot): Provide a fake for hypot which is broken on
6763 m88k-motorola-sysv3.
6764
6765 Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu>
6766
6767 * tree.c, tree.h: Change tree_code_type, tree_code_length, and
6768 tree_code_name from pointers to arrays.
6769 * tree.c: Remove standard_tree_code_* variables, no longer used.
6770 * print-tree.c: Remove declaration of tree_code_name.
6771
6772 * cp/lex.c (init_lex): Update for tree_code_* changes.
6773 * objc/objc-act.c (init_objc): Likewise.
6774
6775 * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
6776 changes.
6777
6778 Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com>
6779
6780 * config.sub: Add support for BeOS target.
6781 * configure.in: Likewise.
6782 * ginclude/stdarg.h: Likewise.
6783 * ginclude/stddef.h: Likewise.
6784 * ginclude/varargs.h: Likewise.
6785 * rs6000/beos.h: New file for BeOS.
6786 * rs6000/t-beos: Likewise.
6787 * rs6000/x-beos: Likewise.
6788 * rs6000/xm-beos.h: Likewise.
6789 * toplev.c (get_run_time): Just return 0 on BeOS.
6790
6791 Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com)
6792 Toon Moene (toon@moene.indiv.nluug.nl)
6793
6794 * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
6795 old and broken Sun3 assemblers. Newer versions handle large
6796 offsets correctly as does the GNU assembler.
6797
6798 Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
6799
6800 * objc/objc-act.c (lang_report_error_function): Disable.
6801 * objc/objc-parse.y: Include "output.h".
6802 (yyerror): Remove redundant decl.
6803 (yyprint): Fix prototype.
6804 (apply_args_register_offset): Remove redundant decl.
6805 (get_file_function_name): Likewise.
6806
6807 Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com>
6808
6809 * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
6810 a new basic block.
6811 (find_basic_blocks_1): Likewise.
6812
6813 Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com>
6814
6815 * except.c (use_eh_context): Don't copy_rtx a REG.
6816 (emit_throw): Lose old unwinder support.
6817 (expand_internal_throw): Likewise.
6818 * libgcc2.c (struct eh_context): Likewise.
6819 (new_eh_context): Likewise.
6820 (__get_eh_info): Lose redundant cast.
6821 (__get_dynamic_handler_chain): Likewise.
6822 (__get_saved_pc): Lose.
6823 Lose all old unwinder support code.
6824
6825 Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>
6826
6827 Thread-safe EH support for pthreads, DCE threads and Solaris threads.
6828
6829 * integrate.c (expand_inline_function): If the inline fn uses eh
6830 context, make sure that the current fn has one.
6831 * toplev.c (rest_of_compilation): Call emit_eh_context.
6832 * except.c (use_eh_context): New fn.
6833 (get_eh_context_once): New fn.
6834 (call_get_eh_context): New fn.
6835 (emit_eh_context): New fn.
6836 (get_eh_context): Call either get_eh_context_once or
6837 call_get_eh_context, depending on what we have.
6838 (get_dynamic_handler_chain): Call get_eh_context_once.
6839 * except.h: Prototypes for fns above.
6840 * optabs.c (get_eh_context_libfunc): Removed.
6841 (init_optabs): Don't initialize it.
6842 * expr.h (get_eh_context_libfunc): Removed.
6843 * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
6844 * config/pa/pa.h (CPP_SPEC): Support for -threads.
6845 * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
6846 * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
6847 New multilib for -threads.
6848 * config/sparc/t-sol2: Added multilibs for -threads and
6849 made -pthreads alias to it.
6850 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
6851 Added -threads and -pthreads options.
6852 * libgcc-thr.h: New file.
6853 * libgcc2.c: (__get_cpp_eh_context): Removed.
6854 (struct cpp_eh_context): Removed.
6855 (struct eh_context): Replaced cpp_eh_context with generic language
6856 specific pointer.
6857 (__get_eh_info): New function.
6858 (__throw): Check eh_context::info.
6859 (__sjthrow): Ditto.
6860 * libgcc2.c: Include libgcc-thr.h.
6861 (new_eh_context, __get_eh_context,
6862 eh_pthread_initialize, eh_context_initialize, eh_context_static,
6863 eh_context_specific, eh_context_free): New functions.
6864 (get_eh_context, eh_context_key): New variables.
6865 (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
6866 get_eh_context to get the context.
6867 (longjmp): Move the declaration inside
6868 #ifdef DONT_USE_BUILTIN_SETJMP.
6869 * frame.c: Include libgcc-thr.h.
6870 (object_mutex): Mutex to protect the object list.
6871 (find_fde, __register_frame, __register_frame_table,
6872 __deregister_frame): Hold the lock while accessing objects.
6873 * except.h (get_eh_context): Declare.
6874 * except.c (current_function_ehc): Define.
6875 (current_function_dhc, current_function_dcc): Removed.
6876 (get_eh_context): New function.
6877 (get_dynamic_handler_chain): Use get_eh_context.
6878 (get_saved_pc_ref): Ditto.
6879 (get_dynamic_cleanup_chain): Removed references to
6880 current_function_dcc.
6881 (save_eh_status, restore_eh_status): Save and restore
6882 current_function_ehc instead.
6883 * optabs.c (get_eh_context_libfunc): New variable.
6884 (init_optabs): Initialize it.
6885 * expr.h: Declare get_eh_context_libfunc.
6886 * function.h (struct function): Replaced dhc and dcc with ehc.
6887 * except.c (get_saved_pc_ref): New functions.
6888 (eh_saved_pc_rtx, eh_saved_pc): Deleted.
6889 (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
6890 of eh_saved_pc.
6891 (end_eh_unwinder): Likewise.
6892 (init_eh): Remove initialization of eh_saved_pc.
6893 * optabs.c (get_saved_pc_libfunc): New variable.
6894 (init_optabs): Initialize it.
6895 * expr.h: Declare get_saved_pc_libfunc.
6896 * except.h (eh_saved_pc_rtx): Deleted.
6897 (get_saved_pc_ref): Declared.
6898
6899 From Scott Snyder <snyder@d0sgif.fnal.gov>:
6900 * libgcc2.c (__get_saved_pc): New.
6901 (__eh_type, __eh_pc): Deleted.
6902 (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
6903 (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
6904 this fcn.
6905
6906 Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu>
6907
6908 * sparc/sol2.h: Use 64 bit multiply and divide functions in
6909 Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
6910 as 0.
6911
6912 * rtl.h (global_rtl): New variable, replacing separate variables for
6913 commonly used rtl.
6914 (const_int_rtx): Now array of rtx_def, not rtx.
6915 * emit-rtl.c: Update for new rtl data structures.
6916 * genattrtab.c: Define global_rtl.
6917
6918 Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu>
6919
6920 * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
6921 default.
6922
6923 Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com>
6924
6925 * crtstuff.c (__do_global_ctors): Fix typo.
6926
6927 Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
6928
6929 * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
6930 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
6931
6932 Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
6933
6934 * rs6000.h (FUNCTION_ARG_PADDING): Define.
6935 * rs6000.c (function_arg_padding): New function.
6936
6937 Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
6938
6939 * m68k.c: Include tree.h only once.
6940
6941 Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6942
6943 * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
6944
6945 Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
6946
6947 * Partially cleaned up prototyping code from HJ.
6948 * tree.h: Add many prototypes.
6949 * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
6950 All references changed.
6951 * rtl.h: Protect from multiple inclusions. Add many prototypes.
6952
6953 Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
6954
6955 * libgcc2.c (string.h): Hoist inclusion to occur before first use of
6956 string functions like strlen.
6957
6958 Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
6959
6960 * configure.in: Check for functions getrlimit and setrlimit.
6961 * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
6962 to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
6963
6964 Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
6965
6966 * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
6967
6968 Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
6969
6970 * alpha.c (REG_RA, alpha_return_addr, output_epilog):
6971 Fix merge problems.
6972
6973 * alpha.c (override_options): Don't know about scheduling for EV6.
6974 * alpha.md (ev5 function units): Don't overload as ev6.
6975
6976 * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case.
6977 * alpha.md (define_attr type): Add mvi.
6978 (ev5_e0): Define sceduling parameters for it.
6979 (TARGET_MAX insns): Type is mvi not shift.
6980
6981 Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
6982
6983 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
6984
6985 Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
6986
6987 * cstamp-h, auto-config.h: Delete.
6988
6989 Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
6990
6991 * version.c: Bump for snapshot.
6992
6993 Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
6994
6995 * cccp.c: Fix typo brought over in merge.
6996
6997 * Merge in changes from gcc-2.8.
6998
6999 Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
7000
7001 * m68k.c: Include tree.h for dwarf2out_cfi_label.
7002
7003 * gcc.c (process_command): Do not take address of function fatal when
7004 calling lang_specific_driver.
7005
7006 Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
7007
7008 * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
7009 doesn't work with it yet, so set it to 0.
7010 * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
7011
7012 Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
7013
7014 * cse.c (cse_insn): Check for invalid entries when taking references.
7015
7016 Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7017
7018 * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
7019 (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
7020 * toplev.c (rest_of_compilation): Pass it. Remove code to
7021 save / clear / restore flag_unroll_{,all_}loops.
7022
7023 Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
7024
7025 * i386.c (notice_update_cc): Remove bogus pentium GCC code.
7026
7027 Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
7028
7029 * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
7030
7031 Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
7032
7033 * except.c (get_dynamic_handler_chain): Only make the call once per
7034 function.
7035
7036 * except.c (expand_end_all_catch): Fix for sjlj exceptions.
7037
7038 Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7039
7040 * sh.c (final_prescan_insn): Use local label prefix
7041 when emitting .uses pseudo-ops.
7042
7043 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
7044
7045 * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
7046 * except.c: Lose outer_context_label_stack.
7047 (expand_eh_region_end): Rethrow from outer_context here.
7048 (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
7049 (expand_internal_throw): Take no args.
7050 (expand_internal_throw_indirect): Lose.
7051 (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
7052 (expand_start_all_catch): Start a rethrow region.
7053 (expand_end_all_catch): End it.
7054 (expand_rethrow): New fn.
7055 * except.h: Reflect above changes.
7056 * flow.c: Revert change of Nov 27.
7057
7058 Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
7059
7060 * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
7061
7062 Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
7063
7064 * except.c (expand_fixup_region_end): New fn.
7065 (expand_fixup_region_start): Likewise.
7066 (expand_eh_region_start_tree): Store cleanup into finalization here.
7067 * stmt.c (expand_cleanups): Use them to protect fixups.
7068
7069 Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
7070
7071 * mips/mips.md (muldi3_r4000): Broaden the output template
7072 and attribute assignments to handle three operand dmult;
7073 rename to muldi3_internal2.
7074 (muldi3): Call the new muldi3_internal2 for R4000, and
7075 any GENERATE_MULT3 chip.
7076
7077 Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
7078
7079 * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
7080
7081 Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
7082
7083 * unroll.c (find_splittable_givs): Remove last change. Handle givs
7084 with a dest_reg that was created by loop.
7085
7086 Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
7087
7088 * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
7089
7090 * rs6000/aix41.h (ASM_CPU_SPEC): Define.
7091
7092 Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
7093
7094 * configure.in: Fix NCR entries.
7095
7096 Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
7097
7098 * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
7099 nested exceptions correctly.
7100
7101 * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
7102 that was created by loop.
7103
7104 Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
7105
7106 * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
7107
7108 * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
7109
7110 Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
7111
7112 * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
7113 (print_operand): Use SMALL_DATA_REG for the register involved in
7114 small data relocations.
7115 (print_operand_address): Ditto.
7116
7117 * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
7118 -dynamic linker is not used.
7119
7120 * rs6000.md (call insns): For local calls, use @local suffix under
7121 System V. Don't use @plt under Solaris.
7122
7123 * rs6000.c (output_function_profiler): Put label address in r0, and
7124 store LR in 4(sp) for System V/eabi.
7125
7126 * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
7127 byte boundary, and maintain stack backchain.
7128
7129 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
7130
7131 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7132 fix_truncsfdi2): Change *.
7133
7134 Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
7135
7136 * toplev.c (main): Complain about -gdwarfn.
7137
7138 Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
7139
7140 * dwarfout.c (output_type): If finalizing, write out nested types
7141 of types we've already written.
7142
7143 Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com>
7144
7145 (patches originally from Geoffrey Keating)
7146 * rs6000.c (function_arg): Excess floating point arguments don't
7147 go into GPR registers after exhausting FP registers under the
7148 System V.4 ABI.
7149 (function_arg_partial_nregs): Ditto.
7150
7151 * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
7152 suffix to calls.
7153
7154 Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
7155
7156 * integrate.c (output_inline_function): Just unset DECL_INLINE.
7157
7158 Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
7159
7160 * dwarf2out.c (outout_call_frame_info): Ensure that the info has
7161 proper alignment.
7162
7163 * libgcc2.c (__throw): Initialize HANDLER.
7164
7165 Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
7166
7167 * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7168 fix_truncsfdi2): Change *X to ?*X.
7169
7170 Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
7171
7172 * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
7173
7174 Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
7175
7176 * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
7177
7178 Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
7179
7180 * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
7181
7182 Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com>
7183
7184 * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
7185 * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
7186 * expr.h: Likewise.
7187
7188 Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com)
7189
7190 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
7191 * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
7192 gas and not using the new HP assembler.
7193
7194 Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com)
7195
7196 * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
7197 (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
7198
7199 Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
7200
7201 * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
7202 TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
7203 definition.
7204
7205 Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
7206
7207 * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
7208
7209 Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com>
7210
7211 * except.h: Add outer_context_label_stack.
7212 * except.c: Likewise.
7213 (expand_start_all_catch): Push the outer_context for the try block
7214 onto outer_context_label_stack.
7215 (expand_end_all_catch): Use it and pop it.
7216
7217 Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com)
7218
7219 * i386/sco5.h (HAVE_ATEXIT): Revert last change.
7220
7221 Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com>
7222
7223 * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
7224
7225 Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de>
7226
7227 * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
7228 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
7229
7230 Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com>
7231
7232 * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
7233 * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
7234 __builtin_delete, and __builtin_vec_delete.
7235
7236 * except.c (output_exception_table): Don't bother with
7237 __EXCEPTION_END__.
7238
7239 Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com)
7240
7241 * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
7242 is an in/out operand.
7243 (zero extended variants of stwm/stwm patterns): Similarly.
7244
7245 * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
7246
7247 Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com>
7248
7249 * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
7250 Use assemble_name.
7251 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
7252 (output_call_frame_info): Emit a \n after using it.
7253
7254 Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk>
7255
7256 * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
7257
7258 Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be>
7259
7260 * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
7261 (ASM_OUTPUT_DWARF_VALUE4): New macro.
7262 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
7263 defined.
7264 (output_call_frame_info): Do not output forward label differences
7265 if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
7266 * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
7267
7268 Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7269
7270 * sh.md (attribute "type"): Add nil.
7271 (movsi_ie): y/y alternative is type nil.
7272 (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
7273 alternatives.
7274 (movsf_ie+1): Delete.
7275
7276 Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com>
7277
7278 * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
7279 large_int, emit two insns instead of one splitable insn.
7280 * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
7281 from cfa_temp_value, use cfa_offset. Add assert checking that
7282 cfa_reg is SP.
7283
7284 Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com>
7285
7286 * cccp.c (deps_output): Properly quote file names for make.
7287
7288 Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com)
7289
7290 * t-h8300 (MULTILIB_EXCEPTIONS): Define.
7291
7292 Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com)
7293
7294 * i386/sco5.h (HAVE_ATEXIT): Delete definition.
7295
7296 Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com)
7297
7298 * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
7299 return.
7300 (cse_end_of_basic_block): Similarly.
7301
7302 Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com>
7303
7304 * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
7305 (SELECT_RTX_SECTION): Define.
7306 (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
7307
7308 Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de>
7309
7310 * Makefile.in (compare, compare-lean): Define $stage for each
7311 shell command.
7312 (gnucompare, gnucompare-lean): Likewise.
7313
7314 Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com)
7315
7316 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
7317
7318 * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
7319 to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
7320
7321 Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com)
7322
7323 * dwarfout.c (byte_size_attribute): Add local var upper_bound
7324 and add case to handle STRING_TYPE.
7325 * dwarfout.c (output_string_type_die): Fix code to generate
7326 correct string length attribute for fixed length strings.
7327 Still needs support for varying length strings.
7328
7329 Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com)
7330
7331 * toplev.c (get_run_time): Do something sensible for cygwin32.
7332
7333 Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com>
7334
7335 * expr.c (expand_builtin_setjmp): Set
7336 current_function_has_nonlocal_label.
7337 * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
7338 call-saved registers across calls.
7339
7340 * alpha.md (exception_receiver): Remove.
7341 (nonlocal_goto_receiver_osf): New
7342 (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
7343 (nonlocal_goto_receiver): New, select _osf or _vms.
7344
7345 * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
7346 keep them from being propogated to the object file.
7347 (alpha_write_linkage): Likewise.
7348 * alpha.md (call_vms): Likewise.
7349 (call_value_vms): Likewise.
7350 (unnamed osf call insns): Likewise.
7351
7352 * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
7353 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
7354
7355 * alpha.c (call_operand): Any reg is valid for WinNT.
7356 * alpha.md (call_nt, call_value_nt): Don't force address into $27.
7357 (anon nt calls): Add 'R' alternative.
7358 * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
7359 INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
7360
7361 Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com)
7362
7363 * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
7364
7365 * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
7366 * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
7367 * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
7368
7369 Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com>
7370
7371 * reload1.c (new_spill_reg): Improve fixed or forbidden register
7372 spill error message.
7373
7374 Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7375
7376 * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise,
7377 use varargs.h. Wrap header with <>, not "".
7378
7379 Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com)
7380
7381 * integrate.c (save_for_inline_copying): Add return value from
7382 savealloc.
7383
7384 Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com>
7385
7386 * fixincludes: Be a little more restrictive on what we will
7387 substitute to replace definitions of MAXINT for HPUX.
7388
7389 Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
7390
7391 * dbxout.c (dbxout_symbol_location): Don't assume that variables
7392 whose address is the stack or argument pointers are indirect
7393 pointers.
7394
7395 1997-11-13 Paul Eggert <eggert@twinsun.com>
7396
7397 * cccp.c, cpplib.c (compare_defs):
7398 Don't complain about arg name respellings unless pedantic.
7399 * cpplib.c (compare_defs): Accept pfile as new arg.
7400 All callers changed.
7401
7402 Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7403
7404 * fold-const.c (fold_truthop): Fix bug in last change.
7405
7406 1997-11-13 Paul Eggert <eggert@twinsun.com>
7407
7408 Fix some confusion with IEEE minus zero.
7409
7410 * real.h (REAL_VALUES_IDENTICAL): New macro.
7411
7412 * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
7413 * fold-const.c (operand_equal_p): Don't consider -0.0 to be
7414 identical to 0.0.
7415 * tree.c (simple_cst_equal): Don't consider -0.0 to have the
7416 same tree structure as 0.0.
7417
7418 * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
7419 macro instead of doing it by hand.
7420
7421 Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com)
7422
7423 * v850/lib1funcs.asm: Minor whitespace changes.
7424 * v850.c: Fix minor formatting problems in many places.
7425 (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
7426
7427 Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com>
7428
7429 * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
7430 xplus1 when xplus0 is not a register.
7431
7432 Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com)
7433
7434 * flow.c (find_basic_blocks): During marking phase, if we encounter
7435 an insn with a REG_LABEL note, make the target block live and
7436 create an edge from the insn to the target block. Do not make
7437 edges from all blocks to the target block.
7438
7439 * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
7440
7441 * confiugre.in: Tweak NCR entries.
7442 * configure: Rebuilt.
7443
7444 Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com>
7445
7446 * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
7447 pick apart floating point values, instead of using CONST_DOUBLE_LOW
7448 and CONST_DOUBLE_HIGH.
7449
7450 * rs6000.md (define_splits for DF constants): Use the appropriate
7451 REAL_VALUE_* interface to pick apart DF floating point constants in
7452 a machine independent fashion.
7453
7454 Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7455
7456 * fold-const.c (fold_truthop): When changing a one-bit comparison
7457 against zero into a comparison against mask, do a proper sign
7458 extension.
7459
7460 Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com)
7461
7462 * except.c: Do not include "assert.h".
7463 (save_eh_status): Turn asserts into conditional aborts.
7464 (restore_eh_status, scan_region): Likewise.
7465 * dwarfout.c: Do not include "assert.h".
7466 (bit_offset_attribute): Turn asserts into conditional aborts.
7467 (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
7468 (output_inlined_structure_type_die): Likewise.
7469 (output_inlined_union_type_die): Likewise
7470 (output_tagged_type_instantiation): Likewise.
7471 (dwarfout_file_scope_decl): Likewise.
7472 * dwarf2out.c: Do not include "assert.h"
7473 (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
7474 (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
7475 (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
7476 (add_bit_size_attribute, scope_die_for): Likewise.
7477 (output_pending_types_for_scope): Likewise.
7478 (get_inlined_enumeration_type_die): Likewise.
7479 (get_inlined_structure_type_die): Likewise.
7480 (get_inlined_union_type_die, gen_subprogram_die): Likewise.
7481 (gen_tagged_type_instantiation_die): Likewise.
7482
7483 * flow.c (find_basic_blocks): Refine further to get a more correct
7484 cfg, especially in the presense of exception handling, computed
7485 gotos, and other non-trivial cases. Call abort if an inaccuracy
7486 is detected in the cfg.
7487
7488 Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7489
7490 * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
7491
7492 * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
7493 (skip_white_space): Use whitespace_cr.
7494 (check_newline): Handle whitespace more consistently.
7495
7496 Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com>
7497
7498 * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
7499 * i386/xm-cygwin32.h (POSIX): Define.
7500
7501 Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com>
7502
7503 * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
7504 is available elsewhere.
7505
7506 Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com>
7507
7508 * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
7509 what the instruction can handle.
7510
7511 Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com>
7512
7513 * stmt.c (expand_decl_cleanup_no_eh): New fn.
7514
7515 * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
7516
7517 Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com)
7518
7519 * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
7520 (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
7521
7522 Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu>
7523
7524 * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
7525 swap instruction order.
7526
7527 Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com)
7528
7529 * fixinc.svr4 (__STDC__): Add another case.
7530
7531 Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7532
7533 * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
7534 addresses in the epilogue delay slot.
7535
7536 Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de)
7537
7538 * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
7539 in generated `specs' file.
7540
7541 Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com)
7542
7543 * flags.h (flag_rerun_loop_opt): Declare.
7544 * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
7545 * toplev.c (flag_rerum_loop_opt): Delete static.
7546
7547 Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7548
7549 Bring over from FSF:
7550
7551 Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7552
7553 * va-sh.h (__va_arg_sh1): Define.
7554 (va_arg): Use it.
7555 SH3E doesn't use any integer registers for subsequent arguments
7556 once a non-float value was passed in the stack.
7557 * sh.c (machine_dependent_reorg): If optimizing, put explicit
7558 alignment in front label for ADDR_DIFF_VEC.
7559 * sh.h (PASS_IN_REG_P): Fix SH3E case.
7560 (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
7561
7562 Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7563
7564 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
7565 svr4.h.
7566
7567 Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7568
7569 * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
7570 put an use_sfunc_addr before each sfunc.
7571 * sh.md (use_sfunc_addr, dummy_jump): New insns.
7572 (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
7573
7574 Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7575
7576 * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
7577
7578 Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
7579
7580 * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
7581 linked once FDEs.
7582
7583 Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com)
7584
7585 * alias.c (find_base_value): Only return the known base value for
7586 pseudo registers.
7587
7588 Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com>
7589
7590 * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
7591 * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
7592 to pattern.
7593 (prologue_get_pc_and_set_got): New pattern.
7594
7595 Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com)
7596
7597 * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse
7598 for SUBREG, just fall through.
7599
7600 * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
7601
7602 * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
7603
7604 Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
7605
7606 * fixincludes: Fix "hypot" prototype in NeXT math.h.
7607
7608 * Makefile.in (USE_ALLOCA): Always include alloca.o.
7609 (USE_HOST_ALLOCA): Likewise.
7610
7611 * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
7612 and LABEL_REFS fields.
7613 * rtl.h (LABEL_REFS): Update.
7614
7615 Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
7616
7617 * combine.c (try_combine): When setting elim_i2, check whether newi2pat
7618 sets i2dest. When calling distribute_notes for i3dest_killed, pass
7619 elim_i2 and elim_i1. When setting elim_i1, check if newi2pat
7620 sets i1dest.
7621
7622 * mips.md (insv, extzv, extv): Add change_address call.
7623 (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
7624
7625 * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
7626
7627 * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
7628
7629 * mips.c (mips_expand_epilogue): Emit blockage insn before call to
7630 save_restore_insns if no FP and GP will be restored.
7631
7632 * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
7633 Convert CCmode to word_mode before calling GET_MODE_SIZE.
7634
7635 * acconfig.h (HAVE_INTTYPES_H): Undef.
7636 * configure.in (inttypes.h): Check for conflicts between sys/types.h
7637 and inttypes.h, and verify that intmax_t is defined.
7638 * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
7639 * config/mips/x-iris3: Likewise.
7640
7641 Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com)
7642
7643 * alias.c (find_base_value): When copying arguments, return the
7644 tenative value for a hard register.
7645
7646 Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com>
7647
7648 * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
7649 (yylex): Record wide strings using target endianness, not host.
7650
7651 Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com)
7652
7653 * mn10200.h (ASM_OUTPUT_BSS): Delete.
7654 (ASM_OUTPUT_ALIGNED_BSS): New macro
7655 * mn10300.h (ASM_OUTPUT_BSS): Delete.
7656 (ASM_OUTPUT_ALIGNED_BSS): New macro.
7657 * v850.h (ASM_OUTPUT_BSS): Delete.
7658 (ASM_OUTPUT_ALIGNED_BSS): New macro.
7659
7660 Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7661
7662 * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
7663
7664 Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com)
7665
7666 * configure.in (sco5): Use cpio to install header files.
7667
7668 Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de>
7669
7670 * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
7671 14 char length.
7672 * configure: Rebuild.
7673
7674 Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com)
7675
7676 * i386/sco5.h: enable -gstabs once again.
7677
7678 Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com)
7679
7680 * arm.c (output_move_double): Allocate 3 entries in otherops array.
7681
7682 Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com)
7683
7684 * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
7685 notes for sjlj exceptions too.
7686 (expand_eh_region_end): Similarly for EH_REGION_END notes.
7687 (exception_optimize): Optimize EH regions for sjlj exceptions too.
7688 * final.c (final_scan_insn): Don't output labels for EH REGION
7689 notes if doing sjlj exceptions.
7690
7691 Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com)
7692
7693 * alias.c (init_alias_analysis): Handle -fno-alias-check when
7694 optimizing correctly.
7695
7696 * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
7697 or set current_function_calls_setjmp anymore.
7698
7699 * flow.c (find_basic_blocks): If we delete the label for an
7700 exception handler, remove it from the EH label list and remove
7701 the EH_BEGIN/EH_END notes for that EH region.
7702
7703 Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com)
7704
7705 * flow.c (find_basic_blocks): Generate correct flow control
7706 information when exception handling notes are present.
7707
7708 Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com)
7709
7710 * dwarf2out.c (output_call_frame_info): Fix length argument
7711 to ASM_OUTPUT_ASCII.
7712 (output_die, output_pubnames, output_line_info): Likewise.
7713
7714 Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com)
7715
7716 * version.c: Bump for snapshot.
7717
7718 * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
7719 output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if
7720 flag_debug_asm is on.
7721 (output_die, output_pubnames, output_line_info): Likewise.
7722
7723 * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
7724 and static_chain_rtx into the potential base values array if
7725 they are registers.
7726
7727 * alias.c (new_reg_base_value): New array of potential base values.
7728 (unique_id): Now file scoped static.
7729 (find_base_value, case REG): Return the value in reg_base_value
7730 array for the REG if it exists. Else, return the value from
7731 new_reg_base_value if copying args and REG is a hard register.
7732 (find_base_value, case PLUS): If either operand of the PLUS is
7733 a REG, try to get its base value. Handle base + index and
7734 index + base.
7735 (record_set): Use new_reg_base_value instead of reg_base_value.
7736 (init_alias_analysis): Allocate space for new_reg_base_value too.
7737 Rework code to iterate over the insns propagating base value
7738 information until nothing changes.
7739
7740 * global.c (global_alloc): Free the conflict matrix after
7741 reload has finished.
7742
7743 Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com>
7744
7745 * libgcc2.c (L_eh): Define __eh_pc.
7746 Replace __eh_type with generic pointer __eh_info.
7747
7748 Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk>
7749
7750 * expr.c (expand_increment): When enqueing a postincrement for a MEM,
7751 use copy_to_reg if address is not a general_operand.
7752
7753 Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7754
7755 * profile.c (output_func_start_profiler): Clear flag_inline_functions
7756 for the duration of the call to rest_of_compilation.
7757
7758 Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
7759
7760 * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
7761 Set extra_parts.
7762 (sparc*-*-*): Recognize --with-cpu=v9.
7763 * sparc/elf.h: New file.
7764 * sparc/t-elf: New file.
7765
7766 Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com)
7767
7768 * mn10300.c (const_8bit_operand): New function.
7769 (mask_ok_for_mem_btst): New funtion.
7770 * mn10300.md (btst patterns with mem operands): Use new functions
7771 to avoid creating btst instructions with invalid operands.
7772
7773 Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com>
7774
7775 * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
7776 are running on PowerPC Linux.
7777
7778 Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com>
7779
7780 * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
7781 if not previously defined.
7782
7783 Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com)
7784
7785 * function.c (assign_parms): Correct mode of stack_parm if
7786 entry_parm underwent a mode conversion.
7787
7788 1997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com>
7789
7790 * global.c (global_alloc): Use xmalloc instead of alloca for
7791 CONFLICTS, since max_allocno * allocno_row_words alone can be more
7792 than 2.5Mb sometimes.
7793
7794 Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com>
7795
7796 * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
7797 DEST for the spill, adjust mode of SRC to compensate.
7798
7799 Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
7800
7801 * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
7802 since any_memory_operand() allows pseudos during reload.
7803 (reload_inhi, reload_outqi, reload_outhi): Likewise.
7804
7805 Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
7806
7807 * m68k.md (btst patterns): Add 5200 support.
7808
7809 Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl>
7810
7811 * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
7812 optimizations, look inside dividend to determine if the expression
7813 can be simplified by using EXACT_DIV_EXPR.
7814
7815 Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com>
7816
7817 From Brendan:
7818 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
7819
7820 Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com>
7821
7822 * alpha.c (summarize_insn [SUBREG]): Propogate SET.
7823
7824 Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com>
7825
7826 * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
7827 on a CLOBBER.
7828
7829 Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com>
7830
7831 * alpha.md (movqi, movhi): Make sure new insns created during reload
7832 won't need reloading themselves.
7833 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
7834
7835 Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
7836
7837 * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
7838
7839 Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
7840
7841 * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
7842 Patch from Klaus Kaempf <kkaempf@progis.de>.
7843
7844 Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com)
7845
7846 * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
7847 to an element in a constant string.
7848
7849 Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com>
7850
7851 * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
7852 bit PC-relative offset. The exception range table pointer is now in
7853 the CIE.
7854 * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
7855 (count_fdes, add_fdes, get_cie): Adjust.
7856 (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
7857
7858 From H.J. Lu:
7859 * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
7860
7861 Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com>
7862
7863 * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
7864 like stack_pointer_rtx.
7865
7866 Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de>
7867
7868 * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
7869 targets using "$@" to provide support for similar but not identical
7870 targets without having to duplicate code.
7871 (bootstrap4): New goal.
7872
7873 * Makefile.in (compare, compare-lean, compare3): Combined to one
7874 ruleset determining actions to be performed via $@.
7875 (compare4, compare4-lean): New targets.
7876 (gnucompare, gnucompare3): Combined to one ruleset determining
7877 actions to be performed via $@. Also, note which files failed
7878 the comparison test in .bad_compare.
7879 (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
7880
7881 Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
7882
7883 * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
7884 if the dividend is a multiple of the divisor.
7885
7886 Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
7887
7888 * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
7889
7890 * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
7891 and POS_DEC.
7892
7893 * alias.c (true_dependence): Fix typo.
7894
7895 * toplev.c (flag_rerun_loop_opt): New variable.
7896 (f_options): Handle -frerun-loop-opt.
7897 (rest_of_compilation): If -frerun-loop-opt, then run the loop
7898 optimizer twice.
7899 (main): Enable -frerun-loop-opt by default for -O2 or greater.
7900
7901 * loop.c (simplify_giv_expr): Adding two invariants results
7902 in an invariant.
7903
7904 Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com>
7905
7906 * expr.c (get_inner_reference): Remove the array bias after
7907 converting the index to Pmode.
7908
7909 Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com)
7910
7911 * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
7912 (TARGET_MULT_BUG): Define.
7913 (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
7914 * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
7915
7916 Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com)
7917
7918 * mn10200.c (indirect_memory_operand): Delete unused function.
7919 * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
7920 * mn10200.md (bset, bclr insns): Handle output in a reg too.
7921
7922 Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com>
7923
7924 * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
7925 the callee's ldgp, we must do it ourselves, and we use the jsr tag
7926 for more than scheduling.
7927
7928 Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com>
7929
7930 * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
7931
7932 Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com)
7933
7934 * mn10300.c (symbolic_operand, legitimize_address): New functions.
7935 * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
7936 (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
7937
7938 Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com)
7939
7940 * version.c: Bump for snapshot.
7941
7942 Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
7943
7944 * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
7945 for FILENAME.
7946
7947 Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
7948
7949 * toplev.c (flag_exceptions): Default value is 2.
7950 (compile_file): If flag_exceptions still has the value 2, then
7951 set it to 0.
7952
7953 * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
7954 (rs6000_save_machine_status): Save pic_offset_table_rtx.
7955 (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
7956
7957 * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
7958 are shared.
7959
7960 * rs6000.md (*movsi_got_internal_mem): New pattern.
7961 (*movsi_got_internal_mem splitter): New define_split.
7962
7963 Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com>
7964
7965 * obstack.h (obstack_empty_p): Fix spurious space after backslash.
7966
7967 Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
7968
7969 * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
7970 only need to save LR.
7971
7972 Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com)
7973
7974 * mn10300.md (movqi, movhi): Avoid using address registers as
7975 destinations unless absolutely necessary.
7976
7977 * mn10200.c (expand_prologue): Fix typo.
7978
7979 * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
7980 addresses.
7981 * mn10200.md (neghi2): Provide an alternative which works if
7982 the input and output register are the same.
7983
7984 * mn10300.c (print_operand): Handle 'S'.
7985 * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
7986 shift amount in last alternative
7987
7988 * mn10300.c (expand_epilogue): Rework to handle register restores
7989 in "ret" and "retf" instructions correctly.
7990
7991 Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com>
7992
7993 * expmed.c (extract_bit_field): Don't make flag_force_mem disable
7994 extzv for memory operands.
7995
7996 * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
7997 redundant conditional moves to single operand.
7998
7999 Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com>
8000
8001 * v850.h: Move define of __v850__ from CPP_PREDEFINES
8002 to CPP_SPEC.
8003
8004 * xm-v850.h: Use __v850 rather than __v850__ to
8005 identify v850 port.
8006
8007 Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com>
8008
8009 * mips/mips.c (compute_frame_size): Not a leaf function if
8010 profile_flag set.
8011
8012 Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au>
8013
8014 * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
8015
8016 Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com>
8017
8018 * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
8019 (DEFAULT_ARCH32_P): New macro.
8020 (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
8021 (enum cmodel): Declare.
8022 (sparc_cmodel_string,sparc_cmodel): Declare.
8023 (SPARC_DEFAULT_CMODEL): Provide default.
8024 (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
8025 (TARGET_FULLANY): Deleted.
8026 (TARGET_CM_MEDMID): New macro.
8027 (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
8028 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
8029 (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
8030 (CPP_SPEC): Rewrite.
8031 (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
8032 (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
8033 (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
8034 (ASM_SPEC): Add %(asm_arch).
8035 (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
8036 Rename asm_default to asm_cpu_default.
8037 Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
8038 cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
8039 (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
8040 ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
8041 (MASK_INT64,MASK_LONG64): Delete.
8042 (MASK_ARCH64): Renamed to MASK_64BIT.
8043 (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
8044 (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
8045 (TARGET_SWITCHES): Always provide 64 bit options.
8046 (ARCH64_SWITCHES): Delete.
8047 (TARGET_OPTIONS): New option -mcmodel=.
8048 (INT_TYPE_SIZE): Always 32.
8049 (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
8050 (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
8051 (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
8052 (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
8053 * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
8054 CPP_SPEC.
8055 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8056 * sparc/linux.h: Likewise.
8057 * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
8058 (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
8059 (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
8060 (SPARC_DEFAULT_CMODEL): Define.
8061 (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8062 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8063 (LONG_DOUBLE_TYPE_SIZE): Define.
8064 (ASM_SPEC): Add %(asm_arch).
8065 * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8066 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8067 (TARGET_CPU_DEFAULT): Add ultrasparc case.
8068 * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
8069 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
8070 (SPARC_DEFAULT_CMODEL): Define.
8071 * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
8072 (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete
8073 MASK_LONG64, MASK_MEDANY.
8074 (SPARC_DEFAULT_CMODEL): Define.
8075 (CPP_PREDEFINES): Delete.
8076 (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8077 (ASM_SPEC): Add %(asm_arch).
8078 (LONG_DOUBLE_TYPE_SIZE): Define.
8079 (DWARF2_DEBUGGING_INFO): Define.
8080 * sparc/splet.h (CPP_SPEC): Delete.
8081 * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8082 (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
8083 (BLOCK_PROFILER): Likewise.
8084 * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
8085 (sparc_override_options): Handle code model selection.
8086 (sparc_init_expanders): Renamed from sparc64_init_expanders.
8087 * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
8088 TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
8089 (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
8090 (sethi_di_fullany): Delete.
8091
8092 Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de>
8093 Jeff Law <law@cygnus.com>
8094 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8095
8096 * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
8097 (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
8098 (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
8099 (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
8100 * alpha/alpha.md (arg_home): Likewise.
8101
8102 * alpha/alpha.c (vmskrunch): Delete
8103 * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
8104 * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
8105 truncate to 64 characters.
8106
8107 * make-l2.com: Support openVMS/Alpha.
8108
8109 * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
8110
8111 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8112
8113 * longlong.h (count_leading_zeros): Add missing casts to USItype.
8114
8115 Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com)
8116
8117 * i386/bsd386.h (ASM_COMMENT_START): Define.
8118
8119 Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com>
8120
8121 * tree.c (restore_tree_status): Also free up temporary storage
8122 when we finish a toplevel function.
8123 (dump_tree_statistics): Print stats for backend obstacks.
8124
8125 Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com>
8126
8127 * expr.c (use_group_regs): Don't call use_reg for MEMs.
8128
8129 Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com>
8130
8131 * libgcc2.c (__throw): Don't copy the return address.
8132 * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
8133
8134 * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
8135 * toplev.c (main): Initialize exceptions_via_longjmp.
8136
8137 * tree.c: Add extra_inline_obstacks.
8138 (save_tree_status): Use it.
8139 (restore_tree_status): If this is a toplevel inline obstack and we
8140 didn't want to save anything on it, recycle it.
8141 (print_inline_obstack_statistics): New fn.
8142 * function.c (pop_function_context_from): Pass context to
8143 restore_tree_status.
8144 * obstack.h (obstack_empty_p): New macro.
8145
8146 Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com)
8147
8148 * i386/freebsd.h (ASM_COMMENT_START): Fix.
8149
8150 Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com)
8151
8152 * v850.c (ep_memory_offset): New function.
8153 (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
8154
8155 * v850.h (CONST_OK_FOR_*): Add and correct comments.
8156 (CONSTANT_ADDRESS_P): Add comment.
8157 (EXTRA_CONSTRAINT): Define 'U'.
8158 * v850.md: Add comments on bit field instructions.
8159 (addsi3): Delete &r/r/r alternative. Add r/r/U alternative.
8160 (lshrsi3): Use N not J constraint.
8161
8162 * v850.md (v850_tst1+1): New define_split for tst1 instruction.
8163
8164 * v850.c (reg_or_0_operand): Call register_operand.
8165 (reg_or_int5_operand): Likewise.
8166 * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
8167 (TARGET_SWITCHES): Add "big-switch".
8168 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
8169 ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
8170 (CASE_DROPS_THROUGH): Comment out.
8171 (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
8172 * v850.md (cmpsi): Delete compare mode.
8173 (casesi): New pattern.
8174
8175 * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
8176 * v850.md (ashlsi3): Use SImode not QImode for shift count.
8177 (lshrsi3): Likewise.
8178
8179 * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete
8180 unreachable switch statement after 'b' support. Remove "b" from
8181 strings for 'b' support.
8182 * v850.md (branch_normal, branch_invert): Change %b to b%b.
8183
8184 Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com)
8185
8186 * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
8187 empty line if @inhibit_libc@ is empty.
8188
8189 Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com)
8190
8191 * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj.
8192 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
8193 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
8194 (DWARF2_UNWIND_INFO): Let this track object file format.
8195 (EXTRA_SECTIONS): Add in_eh.
8196 (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
8197 (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
8198
8199 Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu>
8200
8201 * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
8202 * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
8203 TARGET_MEDANY.
8204 * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
8205 (output_double_int): Output DI mode values correctly when
8206 HOST_BITS_PER_WIDE_INT is 64.
8207 (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
8208 fmovd so it works if a quad float ends up in one of the upper 32
8209 float regs.
8210 * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
8211 necessary for PIC support on sparc64.
8212
8213 Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com>
8214
8215 * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
8216 * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
8217 (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
8218 (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
8219 (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
8220 (SPARC_FP_ARG_FIRST): New macro.
8221 (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
8222 (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
8223 (NPARM_REGS): There are 32 fp argument registers now.
8224 (FUNCTION_ARG_REGNO_P): Likewise.
8225 (FIRST_PARM_OFFSET): Update to new v9 abi.
8226 (REG_PARM_STACK_SPACE): Define for arch64.
8227 (enum sparc_arg_class): Delete.
8228 (sparc_arg_count,sparc_n_named_args): Delete.
8229 (struct sparc_args): Redefine and use for arch32 as well as arch64.
8230 (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
8231 (FUNCTION_ARG_ADVANCE): Rewrite.
8232 (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
8233 (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
8234 (FUNCTION_ARG_CALLEE_COPIES): Delete.
8235 (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
8236 (STRICT_ARGUMENT_NAMING): Define.
8237 (doublemove_string): Declare.
8238 * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
8239 (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
8240 (doublemove_string): New function.
8241 (output_move_quad): Clean up some of the arch64 support.
8242 (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
8243 Don't add 8 bytes of reserved space if arch64.
8244 (sparc_builtin_saveregs): Combine arch32/arch64 versions.
8245 (init_cumulative_args): New function.
8246 (function_arg_slotno): New static function.
8247 (function_arg,function_arg_partial_nregs): New functions.
8248 (function_arg_{pass_by_reference,advance}): New functions.
8249 (function_arg_padding): New function.
8250 * ginclude/va-sparc.h: Rewrite v9 support.
8251
8252 Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
8253
8254 * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
8255 for hard regs to determine base and index registers.
8256
8257 * reload.c (debug_reload_to_stream): New function. Specify stream
8258 into which to write debug info.
8259 (debug_reload): Modify to call debug_reload_to_stream with stderr.
8260
8261 Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com>
8262
8263 * combine.c (can_combine_p): Don't combine with an asm whose
8264 output is a hard register.
8265
8266 Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com)
8267
8268 * c-decl.c (start_struct): Ensure that structs with forward
8269 declarations are in fact packed when -fpack-struct is given.
8270
8271 * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
8272 we are packing a structure. This allows a structure with only
8273 bytes to be aligned on a byte boundary and have no padding on a
8274 m68k.
8275
8276 Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8277
8278 * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
8279
8280 Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com>
8281
8282 * alpha.c (alpha_return_addr_rtx): New variable.
8283 (alpha_save_machine_status): New; save it.
8284 (alpha_restore_machine_status): New; restore it.
8285 (alpha_init_expanders): New; clear it.
8286 (alpha_return_addr): New; set it.
8287 (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
8288 is overly conservative, so search the insns explicitly.
8289 (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
8290 (alpha_sa_size [VMS && !VMS]): Likewise.
8291 * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
8292 (INIT_EXPANDERS): New definition.
8293
8294 * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
8295 (output_prolog [!VMS]): Use them.
8296
8297 * alpha.c (output_prolog [!VMS]): Move gp detection to ...
8298 (alpha_does_function_need_gp): ... a new function. Refine the
8299 CALL_INSN test to just TYPE_JSR.
8300 * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
8301
8302 Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
8303
8304 * version.c: Bump for snapshot.
8305
8306 Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8307
8308 * pa.c (move_operand): Respect -mdisable-indexing.
8309 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
8310
8311 Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
8312
8313 * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
8314 PPC601.
8315 (umulsidi3,umulsi3_highpart): Ditto.
8316 (smulsi3_highpart_no_mq): Add !TARGET_POWER.
8317
8318 Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
8319
8320 * alpha.c (final_prescan_insn): Gut, remove and transform to ...
8321 (alpha_handle_trap_shadows): ... a new function. Handle the entire
8322 function in one go. Emit RTL for trapb, instead of printf directly.
8323 (alpha_reorg): New function. Call alpha_handle_trap_shadows.
8324 (trap_pending): Kill global variable.
8325 (output_epilog): Don't call final_prescan_insn.
8326 (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
8327 * alpha.h (FINAL_PRESCAN_INSN): Remove.
8328 (MACHINE_DEPENENT_REORG): Define.
8329 * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
8330 (trapb): New insn.
8331
8332 Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
8333
8334 Tune Haifa scheduler for Alpha:
8335 * alpha.h (ISSUE_RATE): Define.
8336 * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
8337 EV4 adjustments to EV5.
8338 * alpha.md: Remove all scaling from function unit delays. Rework
8339 EV5 function units to match the CPU.
8340 (umuldi3_highpart): EV5 added the IMULH insn class.
8341
8342 Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
8343
8344 * pa.c (following_call): Fail if the CALL_INSN is an indirect
8345 call.
8346
8347 Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
8348
8349 * cplus-dem.c (demangle_signature): Don't look for return types on
8350 constructors. Handle member template constructors.
8351
8352 Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
8353
8354 * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
8355 * tree.h: Declare them.
8356
8357 Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
8358
8359 * configure.in: Handle --with-newlib.
8360 * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
8361
8362 * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
8363
8364 Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
8365
8366 * config/ptx4.h: Fix typo.
8367
8368 Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
8369
8370 * version.c: Bump for snapshot.
8371
8372 Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
8373
8374 * aclocal.m4: Substitute INSTALL.
8375 * configure: Re-built.
8376
8377 Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
8378
8379 * integrate.c (save_for_inline_copying): Avoid undefined pointer
8380 operations.
8381 (expand_inline_function): Likewise.
8382
8383 * dwarf2out.c (output_call_frame_info): Reinstate last change
8384 using flag_debug_asm check instead of flag_verbose_asm.
8385
8386 Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
8387
8388 * dwarf2out.c (output_call_frame_info): Remove last change.
8389
8390 1997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8391
8392 * frame.c (__frame_state_for): Execute the FDE insns until the
8393 current pc value is strictly bigger than the target pc value.
8394
8395 Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
8396
8397 * regclass.c (init_reg_modes): If we can't find a mode for the
8398 register, use the previous one.
8399
8400 Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
8401
8402 * haifa-sched.c (print_block_visualization): Call fprintf directly,
8403 don't sprintf through an alloca'ed buffer.
8404
8405 Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
8406
8407 * reload.c (decompose): Always initialize val.base.
8408
8409 Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
8410
8411 * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
8412 instead of aborting.
8413 * dwarf2out.c (output_call_frame_info): Call app_enable and
8414 app_disable to let GNU as accept the generated comments.
8415
8416 Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
8417
8418 * tree.h (get_file_function_name): Add declaration.
8419 * dwarf2out.c (output_call_frame_info): No need to cast
8420 get_file_function_name call anymore.
8421 * profile.c (toplevel): Remove get_file_function_name
8422 declaration.
8423 * c-lang.c (finish_file): Ditto.
8424
8425 Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
8426
8427 * Makefile.in (program_transform_name): Let autoconf substitute
8428 the correct value.
8429
8430 Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
8431
8432 * haifa-sched.c (schedule_block): If the first real insn in a
8433 block has any special notes attached to it, remove them.
8434
8435 Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
8436
8437 * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
8438
8439 Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
8440
8441 * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
8442
8443 Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
8444
8445 * Makefile.in (check-g77): New test target.
8446 (CHECK-TARGETS): Add check-g77.
8447
8448 Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
8449
8450 * toplev.c (rest_of_compilation): Defer all non-nested inlines.
8451
8452 Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
8453
8454 * flow.c (print_rtl_with_bb): Cast alloca return value for
8455 in_bb_p.
8456
8457 Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
8458
8459 * i386.h (RETURN_ADDR_RTX): New definition that works for
8460 __builtin_return_address(0) and -fomit-frame-pointer.
8461
8462 Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
8463
8464 Bring over from FSF.
8465 Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
8466
8467 * mips.c (function_arg): Handle passing a struct
8468 containing a double in a DFmode register without the PARALLEL.
8469
8470 Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
8471
8472 * pexecute.c: Use spawn if __CYGWIN32__.
8473
8474 * pexecute.c: Include "config.h" first, as per autoconf manual
8475 (from Paul Eggert <eggert@twinsun.com>).
8476
8477 Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
8478
8479 * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
8480 optimisation for f/expr.o and f/stb.o.
8481
8482 Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
8483
8484 * cse.c (this_insn_cc0_mode): Initialize.
8485
8486 Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
8487
8488 * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
8489
8490 * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
8491
8492 Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
8493
8494 * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
8495 that pair will dual-issue on the 21164 and plus+beq won't.
8496 (bne): Likewise for cmpeq+beq.
8497
8498 Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
8499
8500 * except.c (find_exception_handler_labels): Correct argument to free.
8501
8502 Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
8503
8504 * except.c (find_exception_handler_labels): Free LABELS when we're
8505 done.
8506
8507 Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
8508
8509 * version.c: Bump for snapshot.
8510
8511 Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
8512
8513 * flow.c (find_basic_blocks): Mark calls as potentially jumping
8514 to the EH labels.
8515
8516 Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
8517
8518 * configure.in: Substitute for "install" too.
8519 * configure: Rebuilt.
8520
8521 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
8522
8523 * Makefile.in (bootstrap-lean, compare-lean): New targets.
8524
8525 Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
8526
8527 * alias.c (base_alias_check): Two symbols can conflict if they
8528 are accessed via AND.
8529 (memrefs_conflict_p): Likewise.
8530
8531 * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
8532 after flushing argument registers to the stack.
8533
8534 * Makefile.in (mostlyclean): Remove .regmove files.
8535
8536 Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
8537
8538 * libgcc2.c (__throw): Fix thinko.
8539
8540 Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
8541
8542 * cplus-dem.c (demangle_template): Add new parameter. Handle new
8543 template-function mangling.
8544 (consume_count_with_underscores): New function.
8545 (demangle_signature): Handle new name-mangling scheme.
8546
8547 Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
8548
8549 * flow.c (print_rtl_with_bb): Cast alloca return values for variables
8550 start and end.
8551
8552 Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
8553
8554 * frame.c: Remove last change.
8555 * dwarf2.h: Remove last change.
8556 * tree.h: Add declarations of DWARF2 unwind info support
8557 functions.
8558
8559 Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com>
8560
8561 * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
8562 * tree.h (built_in_function): Likewise.
8563 * expr.c (expand_builtin): Likewise.
8564 * except.h: Likewise.
8565 * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
8566 * libgcc2.c (copy_reg): New fn.
8567 (__throw): Use it.
8568
8569 Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
8570
8571 * c-typeck.c (build_binary_op): Warn about comparing signed vs
8572 unsigned if -W is specified and -Wno-sign-compare is not.
8573 * c-decl.c (warn_sign_compare): Initialize to -1.
8574 (c_decode_option): -Wall no longer implies -Wsign-compare.
8575
8576 Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8577
8578 * frame.c: Include gansidecl.h for PROTO.
8579 * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
8580 defined. Don't declare dwarf2out_cfi_label here.
8581 * dwarf2.h: Add declarations of DWARF2 unwind info support
8582 functions.
8583 * m68k.c: Include dwarf2.h.
8584 (output_function_prologue): Add dwarf2 support.
8585 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
8586 (INCOMING_FRAME_SP_OFFSET): Likewise.
8587
8588 * integrate.c (expand_inline_function): Make sure there is at
8589 least one insn that can be used as an insertion point.
8590
8591 Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
8592
8593 * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
8594
8595 Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
8596
8597 * version.c: Bump for snapshot.
8598
8599 Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
8600
8601 Bring over from FSF.
8602
8603 Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com>
8604
8605 * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
8606 (get_pc_via_rdpc): Renamed from get_pc_sp64.
8607 * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
8608
8609 Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
8610
8611 * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
8612 (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
8613 -malign-functions=.
8614 (sparc_align_{loops,jumps,funcs}_string): Declare.
8615 (sparc_align_{loops,jumps,funcs}): Declare.
8616 (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
8617 (FUNCTION_BOUNDARY): Use sparc_align_funcs.
8618 (STACK_BIAS): Define.
8619 (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
8620 test.
8621 (SPARC_SETHI_P): New macro.
8622 (CONST_OK_FOR_LETTER_P): Use it.
8623 (ASM_OUTPUT_ALIGN_CODE): Define.
8624 (ASM_OUTPUT_LOOP_ALIGN): Define.
8625 * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
8626 (sparc_align_{loops,jumps,funcs}): New globals.
8627 (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
8628 -malign-functions=.
8629 (move_operand): Use SPARC_SETHI_P.
8630 (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
8631 perform test.
8632 (arith11_double_operand): Likewise.
8633 (arith10_double_operand): Likewise.
8634 (finalize_pic): Finish sparc64 support.
8635 (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
8636 64 bit constants if able.
8637 (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
8638 (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
8639 ! TARGET_FPU.
8640 * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
8641 (get_pc_sp32): Use for sparc64 as well.
8642 (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
8643 (sethi_di_sp64_const): Likewise.
8644 (movtf_cc_sp64): Check TARGET_HARD_QUAD.
8645 (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
8646 (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
8647
8648 Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
8649
8650 * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
8651 * sparc/linux.h (COMMENT_BEGIN): Likewise.
8652 * sparc/linux64.h (COMMENT_BEGIN): Likewise.
8653
8654 Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
8655
8656 Add sparc64 linux support.
8657 * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
8658 to xm_file list on 32-bit sparc-linux.
8659 * sparc/xm-sp64.h: New file.
8660 * sparc/linux64.h: New file.
8661 * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
8662 Don't include xm-sparc.h.
8663 * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
8664 * glimits.h (LONG_MAX): Handle sparc64.
8665
8666 Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
8667
8668 * sparc/sysv4.h (ASM_COMMENT_START): Delete.
8669 * sparc.h (ASM_COMMENT_START): Define.
8670 * sparc.c (output_function_prologue): Use it.
8671 (sparc_flat_output_function_{epi,pro}logue): Likewise.
8672
8673 Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
8674
8675 * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
8676 use sparc.h's copies.
8677 * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
8678 ascii form as well.
8679
8680 Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8681
8682 * sparc.c (dwarf2out_cfi_label): Add declaration.
8683 (save_regs, output_function_prologue): Remove cast for it.
8684 (sparc_flat_{save_restore,output_function_prologue): Likewise.
8685 ({save,restore}_regs): No longer inline.
8686
8687 Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8688
8689 * fold-const.c (make_range): Correctly handle cases of converting
8690 from unsigned to signed type.
8691
8692 Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
8693
8694 * fold-const.c (merge_ranges): Make sure that if one range is subset
8695 of another, it will always be the second range. Correct (+,-) case to
8696 account for this.
8697
8698 Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com>
8699
8700 * final.c (final_end_function): Also do dwarf2 thing if
8701 DWARF2_DEBUGGING_INFO.
8702 (final_start_function): Likewise.
8703
8704 Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu>
8705
8706 * expmed.c (expand_divmod): If compute_mode is not the same as
8707 mode, handle the case where convert_modes() causes op1 to no
8708 longer be a CONST_INT.
8709
8710 * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
8711 note holding get_jump_flags() calculation to all JUMP_INSNs.
8712 * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
8713 * rtl.c (reg_note_name): Add new note types.
8714
8715 Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com)
8716
8717 * rtlanal.c (computed_jump_p): Fix typo in last change.
8718
8719 Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8720
8721 * loop.c (indirect_jump_in_function_p): Return 0
8722 by default.
8723
8724 Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com)
8725
8726 * rs6000/xm-rs6000.h: Fix thinko in last change.
8727 * rs6000/xm-sysv4.h: Likewise.
8728
8729 Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
8730
8731 * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
8732
8733 Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
8734
8735 * reg-stack.c (find_blocks): Fix thinko in last change.
8736
8737 1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
8738
8739 * m68k.c (output_function_prologue): Add dwarf2 support.
8740
8741 * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
8742 INCOMING_FRAME_SP_OFFSET): New definitions.
8743
8744 Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
8745
8746 * combine.c (try_combine): Use NULL_RTX instead of '0' where
8747 appropriate in calls to gen_rtx().
8748 * cse.c (cse_main): Likewise.
8749 * emit-rtl.c (gen_label_rtx): Likewise.
8750 * expr.c (init_expr_once): Likewise.
8751 * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
8752 sched_analyze, init_rgn_data_dependences,
8753 compute_block_backward_dependences): Likewise.
8754 * sched.c (schedule_insns): Likewise.
8755 * varasm.c (immed_double_const): Likewise.
8756
8757 * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
8758 SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
8759
8760 Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com>
8761
8762 * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
8763 (MULTILIB_DEFAULTS): Define.
8764 (ASM_SPEC, CPP_SPEC): Handle -mcoff.
8765 (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
8766 (LIBGCC_SPEC): Likewise.
8767 (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
8768 (SUBTARGET_SWITCHES): Add -mcoff and -melf.
8769 * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
8770 (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
8771 (EXTRA_PARTS, TAROUTOPTS): Delete.
8772 (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
8773 (MULTILIB_OPTIONS): Define.
8774 (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
8775 (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
8776
8777 Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
8778
8779 * version.c: Bump for snapshot.
8780
8781 Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com)
8782
8783 * loop.c (loop_number): Delete function. Change all references
8784 to use uid_loop_num array.
8785 * loop.h (loop_number): Delete declaration.
8786 * unroll.c (unroll_loop): Change "loop_number" references to
8787 use uid_loop_num instead.
8788
8789 * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
8790 conditional.
8791 (loop_unroll_iter): Remove unused variable and all references.
8792 (loop_optimize): Always allocate and clear space for loop_unroll_factor.
8793 (insert_bct): Fix minor formatting problems.
8794 * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
8795 (loop_unroll_iter): Removed unused decl.
8796 * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
8797 Always record the unrolling factor.
8798
8799 * cse.c (simplify_relational_operation): Set h0u just like h0s.
8800 Similarly for h1u and h1s.
8801
8802 * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
8803 (find_basic_blocks): Use computed_jump_p to determine if a
8804 particular JUMP_INSN is a computed jump.
8805 * reg-stack.c (find_blocks): Use computed_jump_p to determine
8806 if a particular JUMP_INSN is a computed jump.
8807 * rtlanal.c (jmp_uses_reg_or_mem): New function.
8808 (computed_jump_p): Likewise.
8809 * rtl.h (computed_jump_p): Declare.
8810 * genattrtab.c (pc_rtx): Define and initialize.
8811 * loop.c (loop_optimize): Always determine if the current
8812 function has a computed jump.
8813 (indirect_jump_in_function_p): Use computed_jump_p to determine
8814 if a particular JUMP_INSN is a computed jump.
8815
8816 * loop.c (fix_bct_param): Delete unused function.
8817 (check_bct_param): Likewise.
8818
8819 Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
8820
8821 * frame.c (__deregister_frame): Check properly for initialized object.
8822
8823 Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
8824
8825 * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
8826
8827 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8828
8829 * jump.c (thread_jumps): check can_reverse_comparison_p before
8830 threading a reversed-condition jump.
8831
8832 * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
8833 * haifa-sched.c (update_flow_info): Likewise.
8834
8835 Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
8836
8837 * Makefile.in (BOOT_CFLAGS): Use -O2.
8838
8839 * configure.in (strtoul, bsearch): Have autoconf check for these
8840 functions.
8841 * configure, config.in: Rebuilt.
8842
8843 * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
8844 * mips/mips.h (alloca): Likewise.
8845 * rs6000/xm-rs6000.h (alloca): Likewise.
8846 * rs6000/xm-sysv4.h: Likewise.
8847
8848 Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
8849
8850 * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
8851 * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
8852 (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
8853
8854 * except.c (end_eh_unwinder): Subtract 1 from return address.
8855 * libgcc2.c (__throw): Likewise.
8856 (find_exception_handler): Don't change PC here. Compare end with >.
8857
8858 Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com>
8859
8860 * v850.c (compute_register_save_size): Correct register
8861 number.
8862 * v850.md (save_interrupt, return_interrupt): Correct
8863 register number.
8864 * v850/lib1funcs.asm (save_interrupt): Correct register number.
8865 (return_interrupt): Use stack pointer, not element pointer.
8866
8867 1997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
8868
8869 * configure.in, configure: Make sure to create the stage* and include
8870 symbolic links in each subdirectory.
8871
8872 Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
8873
8874 * pa.md (reload_peepholes): Don't allow addresses with side
8875 effects for the memory operand.
8876
8877 Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
8878
8879 * libgcc2.c (find_exception_handler): Subtract one from our PC when
8880 looking for a handler, to avoid hitting the beginning of the next
8881 region.
8882
8883 * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
8884
8885 Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
8886
8887 * mips/abi64.h (LONG_MAX_SPEC): Define.
8888 * mips.h (LONG_MAX_SPEC): Define.
8889 (CPP_SPEC): Include long_max_spec.
8890 (EXTRA_SPECS): Include long_max_spec.
8891
8892 Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
8893
8894 * v850.c (construct_save_jarl): Fix thinko in last change.
8895
8896 Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
8897
8898 * version.c: Bump for snapshot.
8899
8900 Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
8901
8902 * libgcc2.c (find_exception_handler): Not found is -1.
8903
8904 * integrate.c (expand_inline_function): Move expand_start_bindings
8905 after expanding the arguments.
8906
8907 Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
8908
8909 * expr.c (expand_expr): Remove previous incorrect change.
8910 If target and slot has no DECL_RTL, then call mark_addressable
8911 again for the slot after we give it RTL.
8912
8913 Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
8914
8915 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
8916 again for the slot after we give it RTL.
8917
8918 Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
8919
8920 * v850.c (register_is_ok_for_epilogue,
8921 pattern_is_ok_for_epilogue, construct_restore_jr,
8922 pattern_is_ok_for_prologue, construct_save_jarl): New functions.
8923
8924 * v850.h (pattern_is_ok_for_prologue,
8925 pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
8926 predicates.
8927
8928 * v850.md: Replace prologue and epilogue patterns with a
8929 match_parallel pattern.
8930
8931 Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
8932
8933 * aclocal.m4: Add replacement for AC_PROG_INSTALL.
8934 * configure.in: Use EGCS_PROG_INSTALL.
8935
8936 Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
8937
8938 * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
8939 extern inline function.
8940
8941 Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com)
8942
8943 * dwarf2out.c (reg_loc_descriptor): Fix prototype.
8944 (concat_loc_descriptor): New function.
8945 (loc_descriptor): Call it.
8946 (add_AT_location_description): Also elide the descriptor if both
8947 halves of a CONCAT are pseudos.
8948 (add_location_or_const_value_attribute): Recognize CONCAT too.
8949
8950 Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com>
8951
8952 * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
8953
8954 * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for
8955 out-or-range reg_offset.
8956 (output_epilog): Likewise.
8957
8958 Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com)
8959
8960 * cse.c (simplify_relational_operation): If MODE specifies a
8961 mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
8962 is derived from the sign bit of the low word.
8963
8964 Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com>
8965
8966 Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
8967
8968 * dwarf2.h: Add DW_CFA_GNU_args_size.
8969 * frame.c (execute_cfa_insn): Likewise.
8970 * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
8971 (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
8972 (dwarf2out_frame_debug): If this isn't a prologue or epilogue
8973 insn, hand it off to dwarf2out_stack_adjust.
8974 (dwarf2out_begin_prologue): Initialize args_size.
8975 * frame.h (struct frame_state): Add args_size.
8976 * libgcc2.c (__throw): Use args_size.
8977 * final.c (final_scan_insn): If we push args, hand off all insns
8978 to dwarf2out_frame_debug.
8979 * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
8980
8981 * dwarf2out.c dwarf2out_frame_debug): Fix typo.
8982 Handle epilogue restore of SP from FP.
8983 * emit-rtl.c (gen_sequence): Still generate a sequence if the
8984 lone insn has RTX_FRAME_RELATED_P set.
8985
8986 * frame.c (extract_cie_info): Handle "e" augmentation.
8987 * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
8988 absence of UNALIGNED_*_ASM_OP.
8989 (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
8990 (output_call_frame_info): Use "e" instead of "z" for augmentation.
8991 Don't emit augmentation fields length.
8992 (dwarf2out_do_frame): Move outside of #ifdefs.
8993 * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
8994 opcodes.
8995
8996 * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
8997 * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
8998 * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
8999 * sparc/sun4gas.h: New file.
9000 * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
9001
9002 * collect2.c (write_c_file_stat, write_c_file_glob): Declare
9003 __register_frame_table and __deregister_frame.
9004
9005 1997-09-15 Brendan Kehoe <brendan@cygnus.com>
9006
9007 * except.c (find_exception_handler_labels): Use xmalloc instead of
9008 alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
9009 in some cases.
9010
9011 Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com)
9012
9013 * Makefile.in: Various changes to build info files
9014 in the object tree rather than the source tree.
9015
9016 Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com)
9017
9018 * fixinc.math: New file to fix math.h on some systems.
9019 * configure.in (freebsd, netbsd): Use fixinc.math on these
9020 systems.
9021 * configure: Rebuilt.
9022
9023 Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com)
9024
9025 * regmove.c (regmove_optimize): If we end up moving the
9026 original insn due to lifetime overlaps, make sure to move
9027 REG_NOTES too.
9028
9029 Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de>
9030
9031 * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
9032
9033 Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com)
9034
9035 * haifa-sched.c (add_branch_dependences): Make each insn in
9036 a SCHED_GROUP_P block explicitly depend on the previous insn.
9037
9038 Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com>
9039
9040 * except.h: Prototype dwarf2 hooks.
9041 * expr.c: Adjust.
9042
9043 Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com>
9044
9045 * configure.in (native_prefix): Delete.
9046 (mips-dec-netbsd): Don't set prefix.
9047 (*linux*): Don't set prefix.
9048
9049 Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com>
9050
9051 * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
9052 defined. If not defined, include <sys/varargs.h> if
9053 HAVE_SYS_VARARGS_H is defined.
9054 * configure.in: Test for varargs.h and sys/varargs.h.
9055 * configure: Regenerate with autoconf.
9056 * config.in: Regenerate with autoheader.
9057
9058 * cpplib.c (quote_string): Cast first arg of sprintf call
9059 from "unsigned char *" to "char *".
9060 (output_line_command): Ditto.
9061 (macroexpand): Ditto.
9062 (do_line): Cast atoi arg from "unsigned char *" to "char *".
9063
9064 Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com)
9065
9066 * version.c: Bump for snapshot.
9067
9068 * Makefile.in (compare): Exit with nonzero status if there
9069 are comparison failures. Note which files failed the
9070 comparison test in .bad_compare.
9071
9072 Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9073
9074 * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
9075
9076 Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com>
9077
9078 * Makefile.in (LN, LN_S): New macros, use where appropriate.
9079 * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
9080 * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
9081 * configure: Regenerated.
9082
9083 Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com)
9084
9085 * loop.c (strength_reduce): Fix typo.
9086
9087 Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com>
9088
9089 * m88k/m88k.c (struct option): Rename to struct options.
9090 * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
9091 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
9092 * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
9093 __DOLPHIN__ or sysV88.
9094
9095 Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com>
9096
9097 * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
9098 create new subreg.
9099
9100 Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com)
9101
9102 * config.sub: Accept 'amigados' for backward compatability.
9103
9104 Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9105
9106 * Makefile.in (testsuite/site.exp): New target.
9107 (check-gcc, check-g++): Depend on testsuite/site.exp.
9108 Don't stop for failure.
9109
9110 Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com>
9111
9112 * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
9113 if DWARF2_UNWIND_INFO.
9114
9115 Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com>
9116
9117 Add support for exception handling using DWARF 2 frame unwind info.
9118 Currently works on SPARC and MIPS, and almost on x86.
9119
9120 * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
9121 next_stack_level, in_reg_window): Helper fns.
9122 (__throw): Implement for DWARF2_UNWIND_INFO.
9123
9124 * expr.c (expand_builtin): Handle builtins used by __throw.
9125 * tree.h (enum built_in_function): Add builtins used by __throw.
9126 * c-decl.c (init_decl_processing): Declare builtins used by __throw.
9127 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
9128 * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
9129 (expand_builtin_extract_return_addr): Likewise.
9130 (expand_builtin_frob_return_addr): Likewise.
9131 (expand_builtin_set_return_addr_reg): Likewise.
9132 (expand_builtin_eh_stub): Likewise.
9133 (expand_builtin_set_eh_regs): Likewise.
9134 (eh_regs): Choose two call-clobbered registers for passing back values.
9135
9136 * frame.c, frame.h: New files for parsing dwarf 2 frame info.
9137 * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c.
9138 (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
9139 (stmp-multilib): Likewise.
9140 ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
9141
9142 * except.c: #include "defaults.h".
9143 (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
9144 (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
9145 (register_exception_table_p): New fn.
9146 (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
9147 (end_eh_unwinder): Likewise.
9148
9149 * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
9150 call __register_frame and __deregister_frame as needed.
9151 * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
9152 * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check
9153 EH_FRAME_SECTION_ASM_OP.
9154 * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
9155 * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
9156 (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
9157
9158 * dwarf2out.c (output_call_frame_info): If no support for
9159 EXCEPTION_SECTION, mark the start of the frame info with a
9160 collectable tag.
9161 * collect2.c (frame_tables): New list.
9162 (is_ctor_dtor): Recognise frame entries.
9163 (scan_prog_file): Likewise.
9164 (main): Pass -fno-exceptions to sub-compile. Also do collection
9165 if there are any frame entries.
9166 (write_c_file_stat): Call __register_frame_table and
9167 __deregister_frame as needed.
9168 (write_c_file_glob): Likewise.
9169
9170 * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
9171 Also require unaligned reloc support.
9172 * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9173 UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
9174 * sparc/sysv4.h: Not here.
9175
9176 * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
9177 * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
9178 (dwarf2out_finish): Don't call dwarf2out_frame_finish.
9179
9180 * libgcc2.c (L_eh): Reorganize, moving code shared by different
9181 EH implementations to the top.
9182 (find_exception_handler): Split out. Start from 0. Compare against
9183 end with >=.
9184 (__find_first_exception_table_match): Use it.
9185 * except.c (output_exception_table): Don't do anything if there's
9186 no table. Don't output a first entry of zeroes.
9187 (eh_outer_context): Adjust properly.
9188 (add_eh_table_entry): Use xrealloc.
9189 * toplev.c (compile_file): Just call output_exception_table.
9190
9191 Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com>
9192
9193 * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
9194
9195 Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se>
9196
9197 * except.c (eh_outer_context): Do masking using expand_and.
9198
9199 Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com>
9200
9201 Add port done awhile ago for the ARC cpu.
9202 * arc/arc.h: New file.
9203 * arc/arc.c: New file.
9204 * arc/arc.md: New file.
9205 * arc/initfini.c: New file.
9206 * arc/lib1funcs.asm: New file.
9207 * arc/t-arc: New file.
9208 * arc/xm-arc.h: New file.
9209 * ginclude/va-arc.h: New file.
9210 * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
9211 * ginclude/varargs.h: Likewise.
9212 * Makefile.in (USER_H): Add va-arc.h.
9213 * configure.in (arc-*-elf*): Recognize.
9214 * longlong.h: Add ARC support.
9215
9216 Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
9217
9218 * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
9219 when clearing non-BLKmode data.
9220
9221 Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
9222
9223 * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
9224 * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
9225
9226 * xm-m88k.h (USG): Only define if it hasn't already been defined.
9227
9228 * Makefile.in (risky-stage1): Delete gratutious whitespace.
9229
9230 * Makefile.in (clean): Delete libgcc1-test.
9231
9232 * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
9233
9234 Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com>
9235
9236 * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
9237 template.
9238
9239 Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9240
9241 * dwarf2out.c (output_call_frame_info): Call named_section.
9242
9243 Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com)
9244
9245 * haifa-sched.c (print_value): Fix last change.
9246
9247 Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com>
9248
9249 * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
9250 write_symbols.
9251
9252 Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com>
9253
9254 * mips.c (function_prologue): Set up the CFA when ABI_32.
9255
9256 * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
9257 for dwarf2 unwind info.
9258 (output_function_prologue, sparc_flat_output_function_prologue): Same.
9259
9260 * final.c (final_end_function): Check dwarf2out_do_frame instead
9261 of DWARF2_DEBUG for dwarf2 unwind info.
9262 (final_scan_insn): Likewise.
9263 (final_start_function): Likewise. Initialize dwarf2 frame debug here.
9264 (final): Not here.
9265
9266 * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
9267 count > 0.
9268
9269 * varasm.c (exception_section): Check EXCEPTION_SECTION first.
9270
9271 Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com>
9272
9273 * v850.h (ASM_SPEC): Pass on target processor.
9274 (CPP_PREDEFINES): Only define if not already specified.
9275 (TARGET_VERSION): Only define if not already specified.
9276 (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
9277 processor.
9278 (EXTRA_SWITCHES): Extra entries in the switches array.
9279 (TARGET_DEFAULT): Set default target processor.
9280
9281 Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com>
9282
9283 * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
9284 cases, add %# and %/, and add : to make them into extended asms.
9285
9286 Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu>
9287
9288 * alias.c (init_alias_analysis): Clean up incompatible pointer
9289 type warning in bzero.
9290 * regmove.c (regmove_optimize): Ditto.
9291 * haifa-sched.c (find_rgns): Ditto.
9292
9293 * haifa-sched.c (print_value): Clean up ptr->int cast
9294 warnings.
9295
9296 Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com>
9297
9298 * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
9299 * install.texi (Configurations): Ditto.
9300 * config.sub: Ditto.
9301
9302 Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu)
9303
9304 * Makefile.in (sdbout.o): Depend on insn-config.h.
9305
9306 Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com>
9307
9308 * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
9309 For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
9310
9311 Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com>
9312
9313 * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
9314 prologue insn, only the first elt is significant.
9315 (output_call_frame_info): For exception handling, always use 4-byte
9316 fields as specified by the dwarf2 spec.
9317 Don't skip trivial FDEs.
9318
9319 Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com)
9320
9321 * version.c: Bump for snapshot.
9322
9323 Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se)
9324
9325 * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
9326 for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
9327 when op1_is_pow2.
9328
9329 Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com)
9330
9331 * final.c (shorten_branches): During first pass, assume worst
9332 possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
9333
9334 * Makefile.in (distclean): Remove various things left around
9335 by running the testsuite.
9336
9337 Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de>
9338
9339 * configure.in (out_file): Emit definition to config.status in order
9340 to have a defined value for configure.lang.
9341 * configure: Re-built.
9342
9343 Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
9344
9345 * configure.in: Make symlink to as-new rather than as.new. Similarly
9346 for ld-new.
9347 * configure: Rebuilt.
9348
9349 Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com>
9350
9351 * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
9352
9353 Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
9354
9355 * sparc/sparc.md: Add ultrasparc scheduling support.
9356 * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
9357
9358 Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
9359
9360 * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
9361 as initial value for real_label_map.
9362 (copy_for_inline): Likewise.
9363
9364 Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9365
9366 * sched.c (update_flow_info) When looking if to set found_split_dest
9367 or found_orig_dest, look at all parts of a PARALLEL.
9368 * haifa-sched.c (update_flow_info): Likewise.
9369
9370 Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com)
9371
9372 * v850: New directory for v850 port.
9373 * v850/lib1funcs.asm: New file.
9374 * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
9375 * ginclude/va-v850.h: New file.
9376 * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
9377 * configure.in (mn10200-*-*): New target.
9378 * configure: Rebuilt.
9379 * config.sub: Handle v850-elf.
9380 * Makefile.in (USER_H): Add va-mn10200.h.
9381 * invoke.texi: Document v850 stuff.
9382
9383 Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com)
9384
9385 * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
9386 has integer TYPE_{MAX,MIN}_VALUE before using them.
9387
9388 * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
9389 __HPUX_ASM__ versions.
9390
9391 Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com)
9392
9393 * install.sh: Delete duplicate install script.
9394
9395 Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com)
9396
9397 * reg-stack.c (subst_stack_regs): Pop the stack register for a
9398 computed goto which sets the same stack register.
9399
9400 * reg-stack.c (compare_for_stack_reg): Swap only if the source and
9401 destination are both on the regstack.
9402 (subst_stack_regs_pat): Put the destination at the top of the regstack.
9403
9404 Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com>
9405
9406 * mips.md (nonlocal_goto_receiver): Define.
9407
9408 * profile.c (output_arc_profiler): Check next_insert_after for non
9409 NULL before deferencing it.
9410
9411 * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
9412
9413 Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com)
9414
9415 * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
9416
9417 Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
9418
9419 * toplev.c (rest_of_compilation): For passes starting with
9420 flow_analysis, use print_rtl_with_bb instead of print_rtl.
9421
9422 * print-rtl.c (print_rtl_single): Print a single rtl value to a
9423 file.
9424
9425 * flow.c (print_rtl_with_bb): Print which insns start and end
9426 basic blocks. For the start of a basic block, also print the live
9427 information.
9428
9429 Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
9430
9431 * toplev.c (main): Change #elif to #else/#ifdef
9432
9433 * tlink.c: Include ctype.h.
9434 * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
9435
9436 Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
9437
9438 * bitmap.c: Conditionally include stdlib.h.
9439 (free): Provide a declaration if NEED_DECLARATION_FREE.
9440
9441 Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
9442
9443 * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
9444
9445 Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
9446
9447 * profile.c (output_arc_profiler): Verify next_insert_after is an
9448 INSN before and after skipping a stack pop.
9449
9450 Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9451
9452 * final.c (shorten_branches): Don't count the lengths of deleted
9453 instructions.
9454
9455 Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
9456
9457 * version.c: Bump for snapshot.
9458
9459 Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
9460
9461 * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
9462 two bitmaps ANDed together.
9463 (bitmap_print): Declare.
9464
9465 * bitmap.c (function_obstack): Don't declare any more.
9466 (bitmap_obstack): Obstack for allocating links from.
9467 (bitmap_obstack_init): New static to say whether to initialize
9468 bitmap_obstack.
9469 (bitmap_element_allocate): Use bitmap_obstack to allocate from.
9470 (bitmap_release_memory): Free all memory allocated from
9471 bitmap_obstack.
9472
9473 * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
9474 EXECUTE_IF_AND_IN_BITMAP.
9475
9476 Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
9477
9478 * alias.c (true_dependence): Address with AND can alias scalars.
9479 (anti_dependence, output_dependence): Likewise.
9480
9481 * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
9482
9483 Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com)
9484
9485 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
9486 mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
9487 sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
9488 definitions. Use -qrtems instead of -mrtems.
9489
9490 Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
9491
9492 * xm-sco5.h (sys_siglist): Define.
9493 (SYS_SIGLIST_DECLARED): Likewise.
9494
9495 Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
9496
9497 * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
9498
9499 Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
9500
9501 * except.c (eh_outer_context): Expand masking operation using
9502 expand_binop.
9503
9504 Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
9505
9506 * alpha.md (floatdisf2-1): New pattern.
9507
9508 Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
9509
9510 * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
9511 * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
9512 * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
9513 * gcc.texi: Note that if you define sys_siglist that you should
9514 also define SYS_SIGLIST_DECLARED.
9515
9516 * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
9517 are relative to the next instruction, not the current instruction.
9518
9519 Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
9520
9521 * local-alloc.c (contains_replace_regs): New function.
9522 (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
9523 verify that there is no existing REG_EQUIV note, and add a call to
9524 contains_place_regs.
9525
9526 Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9527
9528 * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
9529 (STARTFILE_SPEC): Always use crtbegin.o%s
9530 (ENDFILE_SPEC): Always use crtend.o%s.
9531
9532 Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
9533
9534 * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
9535 is passed in.
9536 * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
9537 SFmode for 64 bit hosts.
9538
9539 Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
9540
9541 * fixincludes: Permits spaces between # and define. Discard C++
9542 comments in sys/pci.h on HP/UX 10.20.
9543
9544 Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
9545
9546 * version.c: Bump for snapshot.
9547
9548 * pa.c (restore_unscaled_index_insn_codes): New function.
9549 (record_unscaled_index_insn_codes): Likewise.
9550 (output_function_prologue): Call restore_unscaled_index_insn_codes.
9551 (output_function_epilogue): Free memory for unscaled_index_insn_codes.
9552 (pa_reorg): Call record_unscaled_index_insn_codes.
9553
9554 * haifa-sched.c (move_insn): Handle notes correctly for insns
9555 with SCHED_GROUP_P set.
9556
9557 Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9558
9559 * alpha/xm-linux.h (USE_BFD): Undef before define.
9560
9561 Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
9562
9563 * cse.c (cse_insn): Don't record BLKmode values.
9564
9565 Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
9566
9567 * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
9568
9569 Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
9570
9571 * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
9572 * collect2.c (sys_errlist): Likewise.
9573 * cpplib.c (sys_errlist): Likewise.
9574 * gcc.c (sys_errlist): Likewise.
9575 * protoize (sys_errlist): Likewise.
9576 * configure.in: Check for strerror.
9577 * xm-freebsd.h (HAVE_STRERROR): Remove definition.
9578 * xm-gnu.h (HAVE_STRERROR): Likewise.
9579 * xm-linux.h (HAVE_STRERROR): Likewise.
9580 * xm-netbsd.h (HAVE_STRERROR): Likewise.
9581 * xm-bsd386.h (HAVE_STRERROR): Likewise.
9582 * xm-cygwin32.h (HAVE_STRERROR): Likewise.
9583 * xm-dos.h (HAVE_STRERROR): Likewise.
9584 * xm-mingw32.h (HAVE_STRERROR): Likewise.
9585 * xm-pa.h (HAVE_STRERROR): Likewise.
9586 * xm-papro.h (HAVE_STRERROR): Likewise.
9587 * xm-sysv4.h (HAVE_STRERROR): Likewise.
9588 * configure, config.in: Rebuilt.
9589
9590 * Makefile.in: Add several missing "else true" clauses.
9591
9592 * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
9593 * mips-tfile.c: Likewise.
9594 * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
9595 * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
9596 * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
9597 * configure.in: Check for sys_siglist declaration.
9598 * configure, config.in: Rebuilt.
9599
9600 Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
9601
9602 * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
9603 m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
9604 sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
9605 * i960/i960.h: Added SUBTARGET_SWITCHES macro.
9606 * rs6000/sysv4.h (extra_subtarget_switches): Added new
9607 macro EXTRA_SUBTARGET_SWITCHES.
9608 * configure.in (sh*-*-rtems*): New target.
9609 * sh/rtems.h: New file.
9610 * sh/sh.h: Added SUBTARGET_SWITCHES macro.
9611 * configure: Rebuilt.
9612
9613 Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
9614
9615 * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
9616
9617 Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
9618
9619 * rs6000.md: Make DF fused-add operations pay attention to
9620 -mno-fused-add.
9621
9622 Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
9623
9624 * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
9625
9626 Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com)
9627
9628 * pa.md (reload_peepholes): Make sure operand is a REG before
9629 examining REGNO. Allow general registers too.
9630
9631 Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com>
9632
9633 * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
9634
9635 Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de)
9636
9637 * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
9638 to reallocate abbrev_die_table.
9639
9640 Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com>
9641
9642 * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
9643
9644 1997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9645
9646 * Makefile.in (config.status): Depend on version.c
9647
9648 * expr.h (insn_gen_function): Reenable prototype.
9649
9650 * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
9651 first parameter.
9652
9653 Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com>
9654
9655 * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
9656
9657 Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com)
9658
9659 * version.c: Bump for latest snapshot.
9660
9661 * bc-optab.c: Conditionally include stdlib.h.
9662 (free): Provide a declaration if NEED_DECLARATION_FREE.
9663 * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
9664 * rtl.h (free): Remove declaration.
9665 * tree.h (free): Remvoe declaration.
9666
9667 * configure: Rebuilt.
9668
9669 Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com)
9670
9671 * flags.h (flag_move_all_movables): Declare.
9672 (flag_reduce_all_givs): Likewise.
9673 * loop.c (move_movables): Handle flag_move_all_movables.
9674 (strength_reduce): Handle flag_reduce_all_givs.
9675 * toplev.c (flag_move_all_movables): Define.
9676 (flag_reduce_all_givs): Likewise.
9677 (f_options): Add -fmove-all-movables and -freduce-all-givs.
9678 * invoke.texi: Document new options, including alias stuff that
9679 wasn't included last time.
9680
9681 Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com)
9682
9683 * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
9684 * t-mn10200: Ditto.
9685 * t-vxsparc: Ditto.
9686 * t-vxworks68: Ditto.
9687 * t-vxworks960: Ditto.
9688 * t-vx29k: Ditto.
9689
9690 Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com>
9691
9692 * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
9693 if not already defined, and USE_C_ALLOCA not defined.
9694
9695 Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com>
9696
9697 * config.guess: Replace with script that uses ../config.guess.
9698
9699 * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
9700 if USE_GNULIBC_1 is not defined.
9701
9702 Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com>
9703
9704 * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
9705 * config.guess: Recognize alpha-linux-gnulibc1.
9706 * configure.in (alpha-*-linux-gnulibc1): New target.
9707 (alpha-*-linux-gnu*): Don't build crtbegin/end.
9708
9709 Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com>
9710
9711 * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
9712 last change.
9713
9714 Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com>
9715
9716 * loop.c (combine_movables): Earlier insns don't match later ones.
9717
9718 Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9719
9720 * config/linux.h (CC1_SPEC): Define it only if not defined.
9721
9722 * config/m68k/linux.h (CC1_SPEC): Undefine it before include
9723 <linux.h>
9724
9725 * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
9726 USE_GNULIBC_1 is not defined.
9727
9728 * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1.
9729
9730 * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
9731 as 1 if USE_GNULIBC_1 is not defined.
9732
9733 Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com)
9734
9735 * reorg.c (dbr_schedule): Allow current_function_return_rtx
9736 to be something other than a REG.
9737 * function.c (expand_function_end): Fix current_function_return_rtx
9738 if it was a pseudo.
9739
9740 * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
9741 * x-netbsd: Likewise
9742 * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
9743 (INSTALL_HEADERS): Delete.
9744 * x-dguxbcs: Likewise.
9745 * x-hp3bsd44: Likewise
9746 * x-pa: Likewise.
9747
9748 Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
9749
9750 * i386.md (pop): pop increments the stack pointer.
9751 (prologue_set_stack_ptr): New pattern.
9752 * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
9753 instead of subsi3.
9754
9755 Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com>
9756
9757 * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
9758 address where an offsettable address is required.
9759
9760 Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz>
9761
9762 * loop.c (check_final_value): Don't miss a biv increment in a
9763 parallel.
9764
9765 Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com)
9766
9767 * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
9768 TYPE_DECL_IS_STUB instead of DECL_NAME.
9769
9770 Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9771
9772 * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
9773
9774 Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com>
9775
9776 * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
9777
9778 Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com)
9779
9780 * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
9781 (find_post_sched_live): Likewise.
9782
9783 * haifa-sched.c (schedule_block): Remove old code to get arguments
9784 from hard regs into pseudos early.
9785
9786 Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com)
9787
9788 * version.c: Bump for new snapshot.
9789
9790 * local-alloc.c (update_equiv_regs): All the target to reject
9791 promotion of some REG_EQUAL to REG_EQUIV notes.
9792 * pa.h (DONT_RECORD_EQUIVALENCE): Define.
9793
9794 * pa.c (secondary_reload_class): (mem (mem ... )) does not need
9795 secondary reloads.
9796
9797 * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
9798 store of the argument registers.
9799
9800 Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu)
9801
9802 * fold-const.c (multiple_of_p): New function.
9803 (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
9804
9805 Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com)
9806
9807 * expr.h (insn_gen_function): Temporarily remove prototype.
9808
9809 Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com>
9810
9811 * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to
9812 filenames. Use sed to extract base filename for install.
9813
9814 Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu>
9815
9816 * unroll.c (find_splittable_givs): Only share if two givs have the
9817 same add and multiply values.
9818
9819 Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com>
9820
9821 * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
9822 * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
9823
9824 Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com)
9825
9826 * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
9827 around branch tables.
9828 * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
9829 and .end_brtab directives if TARGET_GAS.
9830
9831 Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
9832
9833 * alias.c (true_dependence): Pass x_addr not x to varies.
9834
9835 * acconfig.h (NEED_DECLARATION_CALLOC): Add.
9836 * configure.in: Add GCC_NEED_DECLARATION call for calloc.
9837 * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
9838 declarations.
9839 * config.in, configure: Regenerate.
9840
9841 Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
9842
9843 * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
9844 LO_SUM.
9845 (record_set): Handle LO_SUM like PLUS.
9846 (init_alias_analysis): When following chains of base addresses,
9847 do not stop on reaching a hard register.
9848
9849 Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
9850
9851 * version.c: Bump for new snapshot.
9852
9853 Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
9854
9855 * alpha.h (ARCH_ASM_FILE_START): Define.
9856 (ASM_FILE_START): Use ARCH_ASM_FILE_START.
9857 * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
9858
9859 Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
9860
9861 * Makefile.in (install-common): Put gcov comment at start of line.
9862
9863 Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
9864
9865 * alias.c (init_alias_analysis): When simplifying the reg_base_value
9866 array, simplify entries for hard registers too.
9867
9868 Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
9869
9870 * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
9871 list.
9872
9873 Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
9874
9875 * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
9876 block_stack before dereferencing it.
9877
9878 Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
9879
9880 * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
9881
9882 Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
9883
9884 * cplus-dem.c: Add 'extern' to prepends_underscore.
9885
9886 Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
9887
9888 * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
9889 (get_issue_rate): Delete.
9890 * pa.h (ISSUE_RATE): Define.
9891
9892 * configure.in: Turn on haifa by default for the PA.
9893 * configure: Rebuilt.
9894 * pa.c (override_options): Accept -mschedule=7200 option.
9895 (pa_adjust_cost): No longer need to scale costs for newer
9896 processors.
9897 * pa.h (enum processor_type): Add PROCESSOR_7200.
9898 * pa.md: Revamp scheduling parameters to work better with
9899 haifa. Add scheduling parameters for the 7200.
9900
9901 * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
9902 insns too.
9903 (schedule_block): When adjusting basic_block_{head,end}, account
9904 for movement of SCHED_GROUP_P insns too.
9905
9906 * haifa-sched.c (debug_dependencies): Fix thinko.
9907
9908 * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
9909 (site.exp, check, check-g++, check-gcc): New targets.
9910
9911 * haifa-sched.c: Make lots of variables static.
9912
9913 Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
9914
9915 * expr.h, real.h: Finish prototyping.
9916
9917 Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
9918
9919 * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
9920 reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
9921 * reload1.c: Undo bugfix from Aug 11.
9922
9923 Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
9924
9925 * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
9926 quotes around the name.
9927 * configure: Regenerate.
9928
9929 Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
9930
9931 * Makefile.in (stmp-multilib-sub): Fix typo in last change.
9932
9933 Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
9934
9935 * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
9936 to sub-makes to avoid building more passes than the user might have
9937 requested on the command line.
9938
9939 Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
9940
9941 * configure.in: Expurgate `broken_install' (install is
9942 autoconfed).
9943
9944 * configure.lang: Substitute autoconfed ${INSTALL} (not currently
9945 relevant).
9946
9947 Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
9948
9949 * loop.c (is_power_of_2, is_conditional_branch): Delete unused
9950 functions and declarations.
9951 (analyze_loop_iterations): Use condjump_p.
9952 (insert_bct): Likewise. Use exact_log2.
9953
9954 Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
9955
9956 * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
9957 (schedule_region): Likewise.
9958 (schedule_insns): Likewise.
9959
9960 * PROJECTS: Update with Haifa stuff.
9961
9962 Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
9963
9964 * version.c: Change the version string to look like:
9965 egcs-2.90.00 970814 (gcc2-970802 experimental).
9966
9967 * loop.c (is_conditional_branch): Make definition match declaration.
9968
9969 * gcc.c: Take out experimental snapshot warning message.
9970
9971 Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com>
9972
9973 * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
9974 print out the names of the notes. Print out the name of the insn
9975 that is not a note, and not an {,CALL_,JUMP_}INSN.
9976
9977 Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com>
9978
9979 * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
9980 again for the slot after we give it RTL.
9981
9982 Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com>
9983
9984 * configure.in (haifa configury): Fix typo.
9985 * configure: Regenerate.
9986
9987 Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com)
9988
9989 * version.c: Bump version to "gcc-3.0.0 970802 experimental".
9990
9991 * gcc.info*: Rebuilt.
9992
9993 * COPYING.g77, README.g77: New files.
9994 * real.c (ereal_unto_float, ereal_unto_double): New functions.
9995 * real.h (ereal_unto_float, ereal_unto_double): Declare them.
9996 (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
9997
9998 Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com)
9999
10000 * Integrate Haifa instruction scheduler.
10001 * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references
10002 to sched with $(SCHED_CFLAGS.
10003 * configure.in: Handle --enable-haifa.
10004 * configure: Rebuilt.
10005 * flags.h: Add new flags for haifa instruction scheduler.
10006 * genattrtab.c (expand_units): For haifa, don't subtract one
10007 when computing blockage.
10008 * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
10009 (flag_schedule_speculative): Ditto.
10010 (flag_schedule_speculative_load): Ditto.
10011 (flag_schedule_speculative_load_dangerous): Ditto.
10012 (flag_schedule_reverse_before_reload): Ditto.
10013 (flag_schedule_reverse_after_reload): Ditto.
10014 (flag_branch_on_count_reg): Ditto.
10015 (f_options): Add Haifa switches.
10016 (main): Turn off some Haifa options if appropriate macro is
10017 defined. Process Haifa switches.
10018 * unroll.c (iteration_info): No longer static, since Haifa
10019 scheduler uses it.
10020 (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
10021 * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
10022 * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
10023 * loop.h (loop_initial_value,loop_unroll_iter): New globals.
10024 * loop.c (loop_optimize): If HAIFA is defined, allocate additional
10025 storage for the Haifa scheduler.
10026 (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
10027 LABEL_NEXTREF.
10028 (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
10029 are defined, call analyze_loop_iterations and insert_bct to use
10030 countdown loops.
10031 (record_giv): Refine test for jumps out of loops if HAIFA is
10032 defined.
10033 (analyze_loop_iterations): New function to identify if we can use
10034 a countdown loop.
10035 (insert_bct): Insert countdown loop.
10036 (instrument_loop_bct): Low level code to insert countdown loop.
10037 (loop_number): Calculate UID of loop.
10038 (indirect_jump_in_function_p): Return true if an indirect jump is
10039 in the function.
10040 (is_power_of_2): Return true if value is a power of 2.
10041 (is_conditional_branch): Return true if insn is a conditional
10042 jump.
10043 (fix_bct_param): Process -fbct-{min,max}-N switches.
10044 (check_bct_param): Return true if loop should be instrumented.
10045 * loop.c (loop_initial_value,loop_unroll_iter): New globals.
10046 (loop_optimize): Initialize.
10047 (get_condition_for_loop): Ditto.
10048 * loop.c (strength_reduce): Inside of code that uses #ifdef
10049 HAVE_decrement_and_branch_on_count code, test it to make sure the
10050 condition is true.
10051 (instrument_loop_bct): Ditto.
10052 * haifa-sched.c: New file.
10053
10054
10055 * Integrate regmove pass.
10056 * Makefile.in (OBJS): Add regmove.o
10057 (regmove.o): Add dependencies.
10058 * flow.c (find_use_as_address): No longer static.
10059 * rtl.h (find_use_as_address): Declare.
10060 * toplev.c (regmove_dump, flag_regmove): Define.
10061 (f_options): Add -fregmove.
10062 (regmove_dump_file, regmove_time): Define.
10063 (fatal_insn): Close the regmove dump file.
10064 (compile_file): Initialize regmove_time; open/close the regmove dump
10065 file as needed. Print regmove time as needed.
10066 (rest_of_compilation): Run regmove pass if requested, dump
10067 RTL after regmove if requested.
10068 (main): If -O2 or more, turn on regmove. Handle dump switches.
10069 * regmove.c: New file.
10070
10071 Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com)
10072
10073 * Integrate tlink patch from jason@cygnus.com
10074 * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
10075 (process_command): Increment n_switches for them. Don't discard
10076 their args. Validate them.
10077 (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
10078 From Rohan Lenard.
10079 (process_command): Set include_prefixes from COMPILER_PATH.
10080 (main): Set COLLECT_GCC_OPTIONS sooner.
10081 * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
10082 * tlink.c, hash.c, hash.h: New files.
10083 * Makefile.in (USE_COLLECT2): Always use collect2.
10084 (collect2): Depend on and link in hash.o and tlink.o.
10085 (tlink.o, hash.o): Add dependencies.
10086
10087 Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com)
10088
10089 * Integrate alias analysis changes from jfc@mit.edu
10090 * Makefile.in (OBJS): Add alias.o
10091 (alias.o): Add dependencies.
10092 * alias.c: New file.
10093 * sched.c: Remove alias analysis code. It lives in alias.c now.
10094 (sched_analyze_2): Add new arguments to true_dependence.
10095 (schedule_insns): Always call init_alias_analysis.
10096 * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
10097 mark return value from such functions as a pointer and keep track of
10098 them for alias analysis. If a return value from a function is a
10099 pointer, mark it as such.
10100 * combine.c (distribute_notes): Handle REG_NOALIAS.
10101 * cse.c (struct write_data): Delete. No longer needed.
10102 (invalidate): Don't call set_nonvarying_address_components anymore.
10103 Use true_dependence to decide if an entry should be removed from
10104 the hash table.
10105 (invalidate_memory): Remove WRITES argument, simplify appropriately.
10106 Fix all callers.
10107 (note_mem_written): Similarly for WRITE_PTR argument.
10108 (invalidate_from_clobbers): Similarly for W argument.
10109 (invalidate_for_call): Remove memory elements from the hash table.
10110 (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
10111 (cse_rtx_varies_p): New function. Derived from old
10112 cse_rtx_addr_varies_p.
10113 (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
10114 Don't call note_mem_written anymore. Stack pushes invalidate the stack
10115 pointer if PUSH_ROUNDING is defined. No longer need to call
10116 cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
10117 (skipped_writes_memory): Remove variable.
10118 (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
10119 (invalidate_skipped_block): Simplify for new alias analysis code.
10120 (cse_set_around_loop): Likewise.
10121 (cse_main): Call init_alias_analysis.
10122 * flags.h (flag_alias_check, flag_argument_noalias): Declare.
10123 * toplev.c (flag_alias_check, flag_argument_noalias): Define.
10124 (f_options): Add new alias checking arguments.
10125 (main): Set flag_alias_check when optimizing.
10126 * local_alloc (validate_equiv_mem_from_store): Add new arguments
10127 to true_dependence.
10128 (memref_referenced_p): Likewise.
10129 * loop.c (NUM_STORES): Increase to 30.
10130 (prescan_loop): Only non-constant calls set unknown_address_altered.
10131 (invariant_p): Add new arguments to true_dependence.
10132 (record_giv): Initialize unrolled and shared fields.
10133 (emit_iv_add_mult): Call record_base_value as needed.
10134 * loop.h (struct induction): Add unrolled and shared fields.
10135 * unroll.c (unroll_loop): Call record_base_value as needed.
10136 (copy_loop_body): Likewise.
10137 (final_biv_value): Likewise.
10138 (final_giv_value): Likewise.
10139 (find_splittable_regs): Likewise. Only create one new pseudo
10140 if we have multiple address GIVs that were combined with the same
10141 dst_reg GIV. Note when a new register is created due to unrolling.
10142 * rtl.c (reg_note_name): Add REG_NOALIAS.
10143 * rtl.h (enum reg_note): Similarly.
10144 (rtx_varies_p, may_trap_p, side_effects_p): Declare.
10145 (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
10146 (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
10147 (true_dependence, read_dependence, anti_dependence): Likewise.
10148 (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
10149 (mark_user_reg, mark_reg_pointer): Likewise.
10150
10151
10152 * Integrate reload bugfix from Wilon which enables the PA port
10153 to bootstrap again.
10154 * reload1.c (reload): Sum needs for both OPADDR_ADDR and
10155 OPERAND_ADDRESS when computing how many registers an insn needs.
10156 (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
10157 conflict.
10158 (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
10159 OPADDR_ADDR reload.
10160 (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
10161 in reload_reg_use_in_op_addr do not reach the end.
10162 do not reach the end.
10163 (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
10164 RELOAD_FOR_OPERAND_ADDRESS.
10165
10166 Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com)
10167
10168 * egcs project officially starts.
This page took 0.509218 seconds and 5 git commands to generate.