OSDN Git Service

* arm.c (arm_gen_constant): Rework to eliminate uninitialized variable
[pf3gnuchains/gcc-fork.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.