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