OSDN Git Service

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