OSDN Git Service

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