OSDN Git Service

Bump for snapshot
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Mon Jun 8 02:09:47 PDT 1998 Jeff Law  (law@cygnus.com)
2
3         * version.c: Bump for snapshot.
4
5 Mon Jun  8 02:55:56 1998  Graham  <grahams@rcp.co.uk>
6
7         * tree.c (tree_class_check): Add braces to eliminate ambigious
8         else warning.
9         (tree_check): Likewise.
10
11 Mon Jun  8 02:49:23 1998  H.J. Lu  (hjl@gnu.org)
12
13         * reg-stack.c (subst_stack_regs_pat): Make sure the top of
14         stack is the destination for conditional move insn.
15
16 Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
17
18         * tree.h (TREE_VEC_END): Cast unused value to void.
19
20         * i386.c (print_operand): Use %lx for long operand.
21
22 Mon Jun  8 00:04:07 1998  Richard Henderson  <rth@cygnus.com>
23
24         * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
25
26 Sun Jun  7 14:15:45 1998  John Carr  <jfc@mit.edu>
27
28         * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
29         conversion functions.
30
31 Sun Jun  7 14:02:58 1998  Richard Henderson  <rth@cygnus.com>
32
33         * toplev.c (flag_exceptions): Default to 0.
34         (compile_file): Remove flag_exceptions == 2 hack.
35         (main): Call lang_init_options.
36         * tree.h: Declare it.
37         * c-lang.c: Implement it.
38         * objc/objc-act.c: Likewise.
39         
40 Sun Jun  7 12:27:30 1998  David Edelsohn  <edelsohn@mhpcc.edu>
41
42         * rs6000.md (restore_stack_block): Generate MEM and specify mode.
43         * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
44         * rs6000.c (rs6000_output_load_toc_table): Use fputs.
45         (output_function_profiler): Use asm_fprintf and fputs.
46
47 Sat Jun  6 12:17:12 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
48
49         * gencheck.c: Remove redundant stdio.h include.  Add a definition
50         of xmalloc for when we are forced to link with alloca.o.
51
52         * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
53         instead of `1U'.
54
55         * fold-const.c (constant_boolean_node): Make definition static to
56         match the prototype.
57
58 Fri Jun  5 15:53:17 1998  Per Bothner  <bothner@cygnus.com>
59
60         * gcc.c (lang_specific_pre_link):  New LANG_SPECIFIC_DRIVER function.
61         (lang_specific_extra_outfiles):  New LANG_SPECIFIC_DRIVER variable.
62         (do_spec, input_filename, input_filename_length):  Make public.
63         (main):  Adjust outfiles allocation by lang_specific_extra_outfiles.
64         Call lang_specific_pre_link befor elinking.
65
66 Fri Jun  5 12:29:28 1998  Jeffrey A Law  (law@cygnus.com)
67
68         * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
69         the insn which has the most insns dependent on it.
70
71 Fri Jun  5 09:03:22 1998  John Carr  <jfc@mit.edu>
72
73         * alias.c (find_base_value): Avoid reading past end of reg_base_value.
74
75 Fri Jun  5 03:05:34 1998  Richard Henderson  <rth@cygnus.com>
76
77         * alpha.md (insxh-1): New insxl pattern for combine.
78
79 Fri Jun  5 01:12:15 1998  H.J. Lu  (hjl@gnu.org)
80
81         * i386/i386.c (output_fp_conditional_move): New function
82         to output floating point conditional move.
83         (output_int_conditional_move): New function to output integer
84         conditional move.
85
86         * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
87         output_int_conditional_move () to output int conditional move.
88         (movsfcc+5, movdfcc+5, movxfcc+5): Call
89         output_fp_conditional_move () to output floating point
90         conditional move.
91
92         * i386/i386.c (put_condition_code): In INT mode, check
93         cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
94
95 Thu Jun  4 16:09:51 1998  Dave Brolley  <brolley@cygnus.com>
96
97         * dbxout.c (dbxout_type): Output arrays of bits as if
98         they were bitstrings for Chill
99
100 Thu Jun  4 14:35:27 1998  David Edelsohn  <edelsohn@mhpcc.edu>
101
102         * tree.c (get_inner_array_type): New function.
103         * tree.h (get_inner_array_type): Prototype.
104         * expr.h (STACK_SAVEAREA_MODE): New macro.
105         * expr.c (expand_builtin_setjmp): Initialize sa_mode using
106         STACK_SAVEAREA_MODE.
107         (expand_builtin_longjmp): Likewise.
108         * explow.c (emit_stack_save): Likewise.
109         (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
110
111         * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
112         (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
113         * rs6000/aix43.h: New file.
114         * rs6000/t-aix43: New file.
115         * rs6000/x-aix41: New file.
116         * rs6000/x-aix43: New file.
117         * configure.in (rs6000-ibm-aix*): Use them.
118         * rs6000/powerpc.h: Delete.
119         * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
120         * rs6000/netware.h: and here.
121         * rs6000/win-nt.h: and here.
122
123         * rs6000/rs6000.c (processor_target_table, 620): Do not affect
124         MASK_POWERPC64.
125         (rs6000_override_options): Ignore flag_pic for AIX.
126         (rs6000_immed_double_const): Delete.
127         (u_short_cint_operand): Don't assume 32-bit CONST_INT.
128         (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
129         (num_insns_constant): mask64_operand() is 2 insns.
130         (logical_operand): Don't assume 32-bit CONST_INT.
131         (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
132         (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
133         (mask_constant): HOST_WIDE_INT parameter.
134         (non_and_cint_operand): Delete.
135         (mask64_operand): New function.
136         (and64_operand): New function.
137         (function_arg_advance): DImode arguments do not need special
138         alignment when 64-bit.
139         (function_arg): Likewise.
140         (setup_incoming_varargs): Reverse reg_size assignment.
141         (print_operand): HOST_WIDE_INT second parameter.
142         (print_operand, 'B'): New case.
143         (print_operand, 'M'): Fix typo in lossage string.
144         (print_operandm 'S'): New case.
145         (rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
146         to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
147         (rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
148         TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
149         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
150         (rs6000_allocate_stack_space): Use {cal|la}.
151         (output_epilog): Use {cal|la}
152         (output_function_profiler): Add call glue to mcount call.
153         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
154
155         * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
156         (STACK_BOUNDARY): Depend on TARGET_32BIT.
157         (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
158         (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
159         (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'.  Replace 'S' with
160         64-bit mask operand.
161         (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
162         (STACK_SAVEAREA_MODE): New macro.
163         (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
164         (LEGITIMIZE_RELOAD_ADDRESS): New macro.
165         (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
166         (ASM_FILE_START): Emit 64-bit ABI directive.
167         (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
168         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
169         (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
170         Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
171
172         * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
173         Restore define_splits.
174         (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
175         (floatsidf2_internal, floatunssidf2_internal2): Likewise.
176         Do not specify base register operand mode.
177         (floatsidf2_loadaddr): Do not specify base register operand mode.
178         (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
179         register; do not specify mode.  Remove !TARGET_POWERPC64 final
180         constraint.
181         (floatsidf2_load): Do not specify base register operand mode.  Remove
182         !TARGET_POWERPC64 final constraint.
183         (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
184         base register operand mode.
185         (adddi3): Split large constants early.
186         (absdi3): Shift by 63, not 31.
187         (*mulsidi3_ppc64): New pattern.
188         (rotldi3): Add masking combiner patterns.
189         (anddi3): Add rldic{r,l} masking.  Remove split of large constants
190         because PPC insns zero-extend.
191         (iordi3, xordi3): Split large constants early.
192         (movsi matcher): Remove S and T constraints.
193         (movsf const_double): create SImode constant from TARGET_DOUBLE.
194         (movdf_hardfloat32): Add default abort() case.
195         (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
196         (movdi): Remove 64-bit constant generator.  Try to convert
197         CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
198         (movdi_32): Add default abort() case.
199         (movdi_64): Add numerous ways to split 64-bit constants.
200         Make catch-all define_split more optimal and never FAIL.
201         (movti_ppc64): Add default abort() case.
202         (allocate_stack): Remove operand modes.  Use Pmode.
203         (restore_stack_block): Remove operand modes.  Generate Pmode
204         temporary.
205         (save_stack_nonlocal, restore_stack_nonlocal):  Generate Pmode
206         temporary.  Save area is double Pmode.
207         (call_indirect_aix64, call_value_indirect_aix64): New patterns.
208         (call, call_value): Do not specify address operand mode.  Choose
209         appropriate AIX ABI.
210         (*call_local64, *ret_call_local64): New patterns.
211         (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
212         (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
213         (compare): Materialize DImode truthvalues.
214
215 Thu Jun  4 01:26:57 1998  Craig Burley  <burley@gnu.org>
216
217         * expr.c (safe_from_p): Avoid combinatorial explosion
218         over duplicate SAVE_EXPRs by ensuring we never recurse
219         on one that has already been visited.
220
221 Thu Jun  4 00:54:21 1998  Graham  <grahams@rcp.co.uk>
222
223         * loop.c (check_dbra_loop): Initialise final_value before
224         normalizing the loop.
225
226 Wed Jun  3 20:00:04 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
227
228         * reload1.c (reload_reg_free_for_value_p): New arguments out and
229         reloadnum.  Changed all callers.
230
231 1998-06-03  Ulrich Drepper  <drepper@cygnus.com>
232
233         * system.h: Add _() and N_() macros in preparation for gettext.
234
235 Wed Jun  3 11:02:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
236
237         * c-common.c (check_format_info): Put back check for C9x `hh'
238         length modifier.  Warn about %n format writing into const.  Remove
239         obsolete comment.
240         (format_char_info): Fix comments.
241
242         * configure.in: Set float_format to m68k for all m68k targets that
243         do not override LONG_DOUBLE_TYPE_SIZE.
244         * config/float-m68k.h: New file.
245
246 Tue Jun  2 23:14:01 1998  Richard Henderson  <rth@cygnus.com>
247
248         * jump.c (jump_optimize): Remove debug messages accidentally left in
249         with the previous change.
250
251 Tue Jun  2 22:46:08 1998  Richard Henderson  <rth@cygnus.com>
252
253         * expr.c (store_expr): Revert stray patch associated with
254         1998-05-23 commit.
255
256 Tue Jun  2 21:59:01 1998  Richard Henderson  <rth@cygnus.com>
257
258         * jump.c (rtx_unsafe_p): New function.
259         (jump_optimize): Use it on if/then/else transformations and
260         conditional move transformations.
261
262 Tue Jun  2 22:50:10 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
263
264         * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
265         or VAR-- == CONST construct a proper mask if VAR is a bitfield.
266         Cope with CONST being out of range for the bitfield.
267
268 Tue Jun  2 22:28:31 1998  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
269
270         * expr.c (emit_move_insn_1): When moving complex values in several
271         steps, emit a CLOBBER to show the destination dies.
272
273 Tue Jun  2 22:17:26 1998  Jeffrey A Law  (law@cygnus.com)
274
275         * Makefile.in (site.exp): Use the object testsuite directory as
276         the temporary directory.
277
278         * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
279         address of an ADDRESSOF rtx.
280
281 1998-06-02  Mike Stump  <mrs@wrs.com>
282
283         * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
284         * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
285         * i960.md (ret, flush_register_windows): Define.
286         (nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
287         work yet.
288         * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
289
290 Tue Jun  2 14:02:38 1998  Richard Henderson  <rth@cygnus.com>
291
292         * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
293         around an OSF/1 library bug wrt sign-extension of inputs.
294
295 Tue Jun  2 13:02:44 1998  Richard Henderson  <rth@cygnus.com>
296
297         * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
298
299 Mon Jun  1 03:44:03 1998  Catherine Moore <clm@cygnus.com>
300
301         * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
302
303         * varasm.c (assemble_variable): Augment alignment warning.
304
305 Mon Jun  1 12:14:28 1998  Michael Meissner  <meissner@cygnus.com>
306
307         * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
308         in the presence of IEEE negative 0's.
309
310 Sun May 31 16:11:41 1998  John Wehle  (john@feith.com)
311
312         * reload.c (find_reloads): Record the existing mode if
313         operand_mode == VOIDmode before replacing a register with
314         a constant.
315         * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
316         i386_compare_op1 to const0_rtx for the benefit of the
317         conditional move patterns.
318         (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
319         based on suggestions from Jim Wilson.
320
321 Sun May 31 00:44:02 PDT 1998 Jeff Law  (law@cygnus.com)
322
323         * version.c: Bump for snapshot.
324
325 Sun May 31 00:34:17 1998  Bruce Korb <korbb@datadesign.com>
326
327         * Makefile.in (fixinc.sh): Update rules again.
328
329 Sun May 31 00:27:47 1998  Jeffrey A Law  (law@cygnus.com)
330
331         * extend.texi: Bring back reference to trampoline paper.
332
333 Sun May 31 00:22:34 1998  Ulrich Drepper  <drepper@cygnus.com>
334
335         * Makefile.in (USER_H): Add stdbool.h.
336         * ginclude/stdbool.h: New file.
337
338 Fri May 29 01:48:25 1998  Jeffrey A Law  (law@cygnus.com)
339
340         * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
341         of a non-note insn.
342
343         * gcse.c (pre_delete): Fix code to determine the mode of
344         the reaching pseudo register.
345
346 Fri May 29 01:07:28 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
347
348         * Makefile.in (GEN): Add gencheck
349         (STAGESTUFF): Add tree-check.h and gencheck.
350
351 Fri May 29 00:57:37 1998  Bruce Korb <korbb@datadesign.com>
352
353         * Makefile.in (cstamp-h.in): Remove before trying to recreate.
354         (fixinc.sh): Set some additional environment variables before
355         calling mkfixinc.sh.
356
357 Thu May 28 12:57:05 1998  Jeffrey A Law  (law@cygnus.com)
358
359         * reload.c (find_reloads): Do not force a reloads of match_operators.
360
361 Thu May 28 10:22:22 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
362
363         * except.h (remove_handler): Add new prototype.
364         * except.c (remove_handler): New function to remove handlers
365         from an exception region.
366         * flow.c (find_basic_blocks_1): Remove handlers from regions when
367         handler label is deleted; remove exception regions with no handlers.
368
369 Thu May 28 09:36:39 1998  Michael Meissner  <meissner@cygnus.com>
370
371         * except.h (rtx): Define rtx type correctly if needed.
372         * function.h (rtx): Ditto.
373         (tree): Define tree type correctly if needed.
374
375         * c-pragma.c (toplevel): Include rtl.h.
376
377         * stor-layout.c (toplevel): Move include of rtl.h before
378         except.h.
379
380         * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
381         (tree.o): Add except.h dependency.
382
383 Wed May 27 22:02:40 1998  Jeffrey A Law  (law@cygnus.com)
384
385         * reload1.c: Revert accidental checkin.
386
387         * configure.lang: Fix thinko when adding a definition for
388         target_alias to the Makefile.
389
390 Wed May 27 02:50:00 1998  Catherine Moore (clm@cygnus.com)
391
392         * config/sparc/lb1spc.asm (.rem and .urem):  Replace
393         routines.
394
395 Wed May 27 02:48:31 1998  Richard Earnshaw (rearnsha@arm.com)
396
397         * arm.c (arm_gen_constant): Rework to eliminate uninitialized
398         variable warnings.  Don't generate scratch registers if only
399         counting insns.
400         (find_barrier): Eliminate unused variable SRC.
401
402 1998-05-27  Manfred Hollstein  <manfred@s-direktnet.de>
403
404         * toplev.h (rtx_def): Provide global declaration to avoid
405         `limited scope' warnings.
406
407 Tue May 26 23:47:52 1998  Mumit Khan <khan@xraylith.wisc.edu>
408
409         * Makefile.in (gencheck.o): Use HOST_CC.
410         * i386/t-mingw32: New file.
411         * configure.in (i386-*-mingw32*): Use.
412
413 Tue May 26 07:31:04 1998  Richard Earnshaw (rearnsha@arm.com)
414
415         * arm.c (bad_signed_byte_operand): New predicate function.
416         * arm.h (PREDICATE_CODES): Add it to the list.
417         * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
418         can't handle.
419         (define_split): Two new splits for above insns.
420
421         * arm.c: Include toplev.h.
422         (arm_override_options): Add parentheses around use of tune_flags.
423         (arm_split_constant): Remove unused variable.
424         (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
425         (output_func_prologue, arm_expand_prologue): Likewise.
426         (arm_canonicalize_comparison): Make I unsigned; rework constants
427         accordignly.  Add missing paratheses around << operation.
428         (arm_rtx_costs): Correctly parenthesise MULT costs.  Add a DEFAULT
429         clause.
430         ({load,store}_multiple_sequence): Initialize BASE_REG.
431         (select_dominance_cc_mode): Add DEFAULT clauses.
432         (broken_move): Return zero if the destination is not a register.
433         (arm_reorg): Move unused REGNO declaration into the dead code.
434         * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
435
436 Mon May 25 22:49:56 PDT 1998 Jeff Law  (law@cygnus.com)
437
438         * version.c: Bump for snapshot.
439
440 Mon May 25 11:56:24 PDT 1998 Jeff Law  (law@cygnus.com)
441
442         * version.c: Bump for snapshot.
443
444 Mon May 25 14:00:13 1998  Dave Brolley  <brolley@cygnus.com>
445
446         * cpperror.c (v_cpp_message): Remove static prototype.
447         * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
448         * cpplib.h (v_cpp_message): Add protoptype.
449         (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
450
451 Sun May 24 20:36:15 PDT 1998 Jeff Law  (law@cygnus.com)
452
453         * version.c: Bump for snapshot.
454
455 Sun May 24 02:08:57 PDT 1998 Jeff Law  (law@cygnus.com)
456
457         * version.c: Bump for snapshot.
458
459 1998-05-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
460
461         * m68k.h: Declare more functions used in macros.
462         (REG_CLASS_CONTENTS): Completely embrace initializer.
463         * m68k.md (adddi3, subdi3): Add abort call to avoid warning
464         about returning no value.
465         * cse.c (find_best_addr): Declare p and found_better only if
466         needed.
467         * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
468         * dwarfout.c (string_length_attribute): #if 0 away.
469         * function.c (expand_function_end): Define varible blktramp only
470         if needed.
471         * jump.c (find_insert_position): Define only if !HAVE_cc0.
472         * loop.c (combine_givs_p): Define variable tem only if needed.
473         * real.c: Comment out unused functions eabs, eround,
474         e{24,53,64,113}toasc and eiinfin.
475
476
477 Sat May 23 23:44:53 1998  Alexandre Oliva <oliva@dcc.unicamp.br>
478
479         * Makefile.in (boostrap2-lean, bootstrap3-lean,
480         bootstrap4-lean): New targets.
481
482 Sat May 23 23:35:14 1998  Jeffrey A Law  (law@cygnus.com)
483
484         * warn_summary, test_summary: Moved into the contrib directory.
485
486 1998-05-23  Manfred Hollstein  <manfred@s-direktnet.de>
487
488         * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
489         of the Makefile.
490         (FLOAT_H_TEST): Likewise.
491         (ENQUIRE): Likewise.
492         (float.h-nat): Likewise.
493         (float.h-cross): Likewise.
494         (enquire): Likewise.
495         (enquire.o): Likewise.
496         (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
497         (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
498         no-op.
499         (FLOAT_H): Remove old float.h-nat version; move current definition
500         to CROSS_FLOAT_H location.
501         (all.cross): Remove comments about enquire stuff.
502
503         * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
504         (rest.encap): Likewise.
505         (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
506
507         * toplev.h (tree_node): Provide global declaration to avoid
508         `limited scope' warnings.
509
510 Sat May 23 23:23:35 1998   Robert Lipe  <robertl@dgii.com>
511
512         * test_summary: Display section breaks for each entry
513         in a multilibbed target's output.
514
515 1998-05-23  Richard Henderson  <rth@cygnus.com>
516
517         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
518         offset's mode is not ptr_mode, convert it.
519
520 1998-05-22  Jason Merrill  <jason@yorick.cygnus.com>
521
522         * fold-const.c (ssize_binop): New fn.
523         * tree.h: Declare it.
524
525 Fri May 22 03:42:05 1998  Richard Earnshaw (rearnsha@arm.com)
526
527         * genextract.c (print_path): Handle zero-length path as a special
528         case.
529
530 Fri May 22 01:38:07 1998  Hans-Peter Nilsson  <hp@axis.se>
531
532         * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
533
534 Fri May 22 00:57:00 1998  Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
535
536         * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
537         (shorten_branches, final_scan_insn): Test value of
538         JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
539         is defined.
540         * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
541         * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
542         * arm/tcoff.h: Likewise.
543         * i386/386bsd.h: Likewise.
544         * i386/freebsd-elf.h: Likewise.
545         * i386/freebsd.h: Likewise.
546         * i386/netbsd.h: Likewise.
547         * i386/ptx4-i.h: Likewise.
548         * i386/sysv4.h: Likewise.
549         * pa/pa.h: Likewise.
550         * rs6000/linux.h: Likewise.
551         * rs6000/rs6000.h: Likewise.
552         * sh/sh.h: Likewise.
553         * sparc/sp64-elf.h: Likewise.
554         * v850/v850.h: Likewise.
555         * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
556         * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
557
558 Thu May 21 19:50:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
559
560         * regmove.c (gen_add3_insn): New function.
561         (fixup_match_2): Use it instead of calling gen_addsi3.
562
563 Thu May 21 23:09:50 1998  Jeffrey A Law  (law@cygnus.com)
564
565         * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
566
567         * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
568         address.
569
570 Thu May 21 20:18:13 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
571
572         * Makefile.in (TREE_H): Add tree-check.h.
573         (tree-check.h, gencheck): New targets.
574         * gencheck.c: New file.
575         * tree.c (tree_check, tree_class_check): New functions.
576         * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
577         (TYPE_CHECK, DECL_CHECK): Define.
578         Modify all access macros to use generated checking macros.
579
580 Wed May 20 23:44:28 EDT 1998  John Wehle  (john@feith.com)
581
582         * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
583         * configure.in: Check for it.
584         * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
585         * final.c (uid_align, uid_shuid, label_align): Make static.
586         (label_align): Change type to struct label_alignment pointer.
587         (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
588         (LABEL_TO_MAX_SKIP): Define.
589         (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
590         LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
591         (shorten_branches): Record the maximum bytes to skip when
592         aligning a label.
593         (final_scan_insn): Use the maximum bytes to skip when aligning a label
594         if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
595         * i386.h (LOOP_ALIGN_MAX_SKIP,
596         LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
597         * i386.c (override_options): i386_align_jumps and i386_align_loops
598         default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
599         * invoke.texi: Document new i386 align-loops and align-jumps behavior.
600
601 1998-05-21  Mark Mitchell  <mmitchell@usa.net>
602
603         * cplus-dem.c (do_type): Handle volatile qualification.
604
605 Thu May 21 12:23:17 1998  Per Bothner  <bothner@cygnus.com>
606
607         * function.c (init_function_start):  Don't call emit_line_note if
608         lineno is 0.  (Can happen when compiling Java .class files.)
609
610 Thu May 21 19:50:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
611
612         * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
613         end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
614
615 Thu May 21 19:32:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
616
617         * combine.c (nonzero_bits): For paradoxical subregs, take
618         LOAD_EXTENDED_OP into account.
619
620 Thu May 21 11:51:15 1998  Dave Brolley  <brolley@cygnus.com>
621
622         * configure.in (extra_c_objs): add prefix.o.
623         (extra_cxx_objs): extra objects for C++ with cpplib.
624         * configure: Regenerate.
625
626         * c-tree.h: (get_directive_line): Different prototype for cpplib.
627         (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
628
629         * c-lex.h: (get_directive_line): Not needed here for cpplib.
630
631         * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
632         (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
633
634         * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
635         (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
636
637 Thu May 21 09:04:42 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
638
639         * gengenrtl.c (type_from_format, accessor_from_format): Change
640         type of parameter `c' from `char' to `int'.
641
642 Wed May 20 22:28:34 1998  Jeffrey A Law  (law@cygnus.com)
643
644         * warn_summary, test_summary: New scripts from
645         Kaveh Ghazi and Alexandre Oliva respectively.
646
647         * gcse.c (current_function_calls_longjmp): Declare.
648
649 1998-05-20  Jason Merrill  <jason@yorick.cygnus.com>
650
651         * dwarf2out.c (base_type_die): Use int_size_in_bytes.
652
653 Wed May 20 01:11:02 1998  Doug Evans (devans@cygnus.com)
654                           Jeff Law (law@cygnus.com)
655
656         * Global CSE and constant/copy propagation.
657         * Makefile.in (OBJS): Add gcse.o
658         (STAGESTUFF): Add *.gcse.
659         (gcse.o): Add dependencies.
660         (mostlyclean): Remove *.gcse and */*.gcse.
661         * gcse.c: New file.
662         * loop.c (loop_optimize): Move call to init_alias_analysis.
663         * recog.c (validate_replace_src): New function.
664         * toplev.c (gcse_dump): New global variable.
665         (flag_gcse, gcse_time): Likewise.
666         (compile_file): Initialize gcse_time and clean out the gcse dump
667         file if necessary.
668         (rest_of_compilation): Call gcse_main as requested.  Dump RTL
669         after gcse if requested.
670         (main): Enable gcse for -O2 and above.  Handle -dG.  Enable gcse
671         dumps for -da.
672         * gcc.texi: Add gcse related internal documentation.
673         * invoke.texi: Note new command line options for gcse.
674         * tm.texi: Document AVOID_CCMODE_COPIES.
675         * mips.h (AVOID_CCMODE_COPIES): Define.
676
677 Tue May 19 22:31:20 1998  Jeffrey A Law  (law@cygnus.com)
678
679         * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
680         exists.
681         (stmp-fixproto): Simlarly for running fixproto.
682         * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
683
684 Tue May 19 19:08:52 1998  Jim Wilson  <wilson@cygnus.com>
685
686         * config/mips/mips.c (double_memory_operand): Accept any MEM during
687         reload when TARGET_64BIT.
688
689 Tue May 19 18:21:25 1998  Jim Wilson  <wilson@cygnus.com>
690
691         Finish incomplete change started by Kenner.
692         * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
693         (powerpcle-*-cygwin32): Delete xm_defines.
694         * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
695         HAVE_STAB_H instead of NO_STAB_H.
696         * config/xm-linux.h (NO_STAB_H): Delete.
697         (HAVE_STAB_H): Undefine.
698         * config/i386/xm-go32.h (NO_STAB_H): Delete.
699
700 1998-05-19  Jim Wilson  <wilson@cygnus.com>
701
702         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
703         LANG_TYPE trees with DECL_SOURCE_LINE of 0.
704
705 Tue May 19 15:07:54 1998  Todd Vierling  <tv@netbsd.org>
706
707         * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
708
709 Tue May 19 17:19:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
710
711         * reload1.c (reload_reg_free_for_value_p): New function.
712         (allocate_reload_reg, choose_reload_regs): Use it.
713
714 Tue May 19 11:51:00 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
715
716         * except.c (expand_start_catch): Correct logic for when to
717         generate a new handler label, and when to use the old one.
718
719 Tue May 19 11:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
720
721         * Makefile.in (print-rtl.o): Depend on bitmap.h.
722         (dbxout.o): Depend on toplev.h.
723         ($(SCHED_PREFIX)sched.o): Likewise.
724         ($(out_object_file)): Likewise for system.h and toplev.h.
725         (cppmain.o): Depend on gansidecl.h.
726         (cpplib.o): Likewise.
727         (cpperror.o): Likewise.
728         (cppexp.o): Likewise.
729         (cpphash.o): Likewise.
730         (cppalloc.o): Likewise.
731         (fix-header.o): Depend on cpplib.h and cpphash.h.
732         (scan-decls.o): Depend on gansidecl.h.
733
734         * basic-block.h (free_regset_vector): Add prototype.
735
736         * cccp.c (check_precompiled): Mark parameter `fname' with
737         ATTRIBUTE_UNUSED.
738         (do_assert): Likewise for `op' and `keyword'.
739         (do_unassert): Likewise.
740         (do_line): Likewise for `keyword'.
741         (do_error): Likewise for `op' and `keyword'.
742         (do_warning): Likewise.
743         (do_ident): Likewise for `keyword'.
744         (do_pragma): Likewise for `limit', `op' and `keyword'.
745         (do_sccs): Likewise.
746         (do_if): Likewise for `keyword'.
747         (do_elif): Likewise.
748         (do_else): Likewise.
749         (do_endif): Likewise.
750
751         * collect2.c (getenv): Remove redundant prototype.
752         (collect_exit, collect_execute, dump_file): Likewise.
753         (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
754         (dump_prefix_list): Hide prototype and definition.
755
756         * sparc.c: Include toplev.h.
757         (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
758         (symbolic_memory_operand): Likewise.
759         (sp64_medium_pic_operand): Likewise.
760         (data_segment_operand): Likewise.
761         (text_segment_operand): Likewise.
762         (splittable_symbolic_memory_operand): Likewise.
763         (splittable_immediate_memory_operand): Likewise.
764         (eq_or_neq): Likewise.
765         (normal_comp_operator): Likewise.
766         (noov_compare_op): Likewise.
767         (v9_regcmp_op): Likewise.
768         (v8plus_regcmp_op): Likewise.
769         (extend_op): Likewise.
770         (cc_arithop): Likewise.
771         (cc_arithopn): Likewise.
772         (small_int): Likewise.
773         (uns_small_int): Likewise.
774         (clobbered_register): Likewise.
775         (legitimize_pic_address): Likewise.
776         (delay_operand): Likewise.
777         (sparc_builtin_saveregs): Remove unused variable `stdarg'.
778
779         * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
780         sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
781
782         * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
783
784         * cppalloc.c: Include gansidecl.h.
785
786         * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
787         (cpp_file_line_for_message): Mark parameter `pfile' with
788         ATTRIBUTE_UNUSED.
789         (v_cpp_message): New function.
790         (cpp_message): Use it.  Also convert to variable arguments.
791         (cpp_fatal): Likewise.
792         (cpp_pfatal_with_name): Constify parameter `name'.
793
794         * cppexp.c: Move gansidecl.h before cpplib.h.
795         * cpphash.c: Likewise.
796         * cpphash.h (hashf, delete_macro): Add prototypes.
797
798         * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
799         cpplib.h.  Don't include errno.h.
800         (update_path): Add arguments to prototype.
801         (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
802         cpp_print_containing_files): Remove redundant prototypes.
803         (cpp_hash_cleanup, add_import, append_include_chain,
804         make_assertion, path_include, initialize_builtins,
805         initialize_char_syntax, finclude, validate_else, comp_def_part,
806         lookup_import, redundant_include_p, is_system_include,
807         read_name_map, read_filename_string, open_include_file,
808         check_macro_name, compare_defs, compare_token_lists,
809         eval_if_expression, change_newlines): Add prototype arguments.
810         (hashf): Remove redundant prototype.
811         (read_token_list, free_token_list, safe_read, xcalloc, savestring,
812         conditional_skip, skip_if_group): Add prototype arguments.
813         (fdopen): Remove redundant prototype.
814         (do_define, do_line, do_include, do_undef, do_error, do_pragma,
815         do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
816         do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
817         (struct directive): Add prototype arguments to function pointer
818         member `func'.
819         (handle_directive): Add missing arguments to call to `do_line'.
820         (do_include): Mark parameters `unused1' and `unused2' with
821         ATTRIBUTE_UNUSED.
822         (do_line): Likewise for `keyword' and new parameters `unused1' and
823         `unused2'.
824         (do_error): Likewise for `keyword'.
825         (do_warning): Likewise.  Also add missing argument `pfile' in call
826         to cpp_pedwarn.
827         (do_once): Mark parameter `keyword', `unused1' and `unused2' with
828         ATTRIBUTE_UNUSED.
829         (do_ident): Likewise for `keyword', `buf' and `limit'.
830         (do_pragma): Likewise.  Also add missing arguments in call to do_once.
831         (do_sccs): Mark parameter `keyword', `buf' and `limit' with
832         ATTRIBUTE_UNUSED.
833         (do_if): Likewise for `keyword'.
834         (do_elif): Likewise.
835         (eval_if_expression): Likewise for `buf' and `length'.
836         (do_xifdef): Likewise for `unused1' and `unused2'.
837         (do_else): Likewise for `keyword', `buf' and `limit'.
838         (do_endif): Likewise.
839         (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
840         (cpp_handle_options): Remove superfluous NULL argument in call to
841         cpp_fatal.
842         (cpp_handle_options): Likewise.
843         (do_assert): Mark parameter `keyword', `buf' and `limit' with
844         ATTRIBUTE_UNUSED.
845         (do_unassert): Likewise.
846         (cpp_print_file_and_line): Add missing argument `pfile' in call to
847         cpp_file_line_for_message.
848         (v_cpp_error): New function.
849         (cpp_error): Use it. Also accept variable arguments.
850         (v_cpp_warning): New function.
851         (cpp_warning): Use it. Also accept variable arguments.
852         (cpp_pedwarn): Accept variable arguments.
853         (v_cpp_error_with_line): New function
854         (cpp_error_with_line): Use it.  Accept variable arguments.
855         (v_cpp_warning_with_line): New function.
856         (cpp_warning_with_line): Use it.  Accept variable arguments.  Hide
857         definition.
858         (cpp_pedwarn_with_line): Accept variable arguments.
859         (cpp_pedwarn_with_file_and_line): Likewise.
860         (cpp_error_from_errno): Constify parameter `name'.  Add missing
861         argument `pfile' in call to cpp_file_line_for_message.
862         (cpp_perror_with_name): Constify parameter `name'.
863
864         * cpplib.h: Define PARAMS() in terms of PROTO().
865         (fatal): Remove redundant prototype.
866         (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
867         cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
868         cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
869         cpp_fatal, cpp_message, cpp_pfatal_with_name,
870         cpp_file_line_for_message, cpp_print_containing_files): Add
871         arguments to prototypes.
872         (scan_decls, cpp_finish): Add prototypes.
873
874         * cppmain.c: Include gansidecl.h.
875         (main): Remove unused variable `i'.
876
877         * dbxout.c: Include toplev.h.
878
879         * demangle.h (do_tlink, collect_execute, collect_exit,
880         collect_wait, dump_file, file_exists): Add prototype.
881
882         * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
883         prototype and definition.
884         (gen_unspecified_parameters_die): Don't assign results of call to
885         function new_die() to unused variable `parm_die'.
886         (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
887         (dwarf2out_define): Likewise for `lineno' and `buffer'.
888
889         * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
890         prototype and definition.
891         (output_die): Add prototype arguments to function pointer arg.
892         (output_unspecified_parameters_die): Mark parameter `arg' with
893         ATTRIBUTE_UNUSED.
894
895         * except.c (output_exception_table_entry): Remove unused variable
896         `eh_entry'.
897
898         * except.h (expand_fixup_region_start, expand_fixup_region_end):
899         Add prototypes.
900
901         * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
902
903         * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
904
905         * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
906         before cpplib.h, include cpphash.h, remove redundant prototype of
907         cpp_fatal, don't define `const', add a prototype for `fatal'.
908         (cpp_file_line_for_message): Add missing arguments `pfile'.
909         (v_cpp_message): New function.
910         (cpp_message): Use it.
911         (v_fatal): New function.
912         (fatal, cpp_fatal): Use it.
913         (cpp_pfatal_with_name): Constify parameter `name'.
914
915         * flow.c (free_regset_vector): Remove redundant prototype.
916
917         * function.c (round_down): Wrap prototype and definition with
918         macro ARGS_GROW_DOWNWARD.
919         (record_insns): Wrap prototype and definition with
920         defined (HAVE_prologue) || defined (HAVE_epilogue).
921
922         * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
923
924         * gen-protos.c: Include gansidecl.h.
925         (hashf): Don't make it static, constify parameter `name'.
926
927         * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
928         specifier %s in calls to function `fatal'.
929
930         * haifa-sched.c: Include toplev.h.
931         (find_rgns): Remove unused variable `j'.
932
933         * integrate.c (note_modified_parmregs): Mark parameter `x' with
934         ATTRIBUTE_UNUSED.
935         (mark_stores): Likewise.
936
937         * jump.c (mark_modified_reg): Likewise.
938
939         * output.h (insn_current_reference_address): Add prototype.
940         (eh_frame_section): Likewise.
941
942         * print-rtl.c: Include bitmap.h.
943
944         * reload1.c (reload): Wrap variables `note' and `next' in macro
945         PRESERVE_DEATH_INFO_REGNO_P.
946         (forget_old_reloads_1): Mark parameter `ignored' with
947         ATTRIBUTE_UNUSED.
948         (choose_reload_regs): Remove unused variable `in'.
949         (reload_cse_invalidate_mem): Mark parameter `ignore' with
950         ATTRIBUTE_UNUSED.
951         (reload_cse_check_clobber): Likewise.
952
953         * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
954         (mark_elimination): Fix typo in prototype.
955
956         * scan-decls.c: Include gansidecl.h.
957
958         * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
959
960 Mon May 18 22:37:33 1998  Jeffrey A Law  (law@cygnus.com)
961
962         * function.c (identify_blocks): Fix thinko when setting the
963         block number for NOTE_INSN_BLOCK_END.
964
965 Mon May 18 15:30:42 1998  Nick Clifton  <nickc@cygnus.com>
966
967         * config/v850/lib1funcs.asm: Add .text pseudo op to start of
968         ___udivsi3.
969
970         * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
971         underscores for the prefixes to the names of the maths functions.
972
973         * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE.  Add
974         comment explaining why.
975
976 Mon May 18 13:20:23 1998  Richard Henderson  <rth@cygnus.com>
977
978         * tree.h (TYPE_SIZE_UNIT): New.
979         (struct tree_type): Add size_unit member.
980         * stor-layout.c (layout_type): Initialize it.
981         * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
982         * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
983
984 Mon May 18 12:07:37 1998  Richard Earnshaw (rearnsha@arm.com)
985
986         * stor-layout.c (layout_record): Fix off-by-one error when checking
987         length of the TYPE_BINFO vector.
988
989 Mon May 18 10:59:23 1998  Nick Clifton  <nickc@cygnus.com>
990
991         * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
992         function parameter passed in memory.
993
994 Mon May 18 09:02:09 1998  Robert Lipe  <robertl@dgii.com>
995
996         * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h:  New files.
997         Prototypes for externally used functions in respective C files.
998         * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
999         final.c: Include above files.
1000         * Makefile.in (toplev.o): Add dependency for above four headers.
1001         (final.o): Likewise.
1002         (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
1003         respective header files.
1004
1005 Mon May 18 01:23:33 1998  Jeffrey A Law  (law@cygnus.com)
1006
1007         * Makefile.in (TARGET_TOOLPREFIX): No longer define.
1008         (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
1009         the build tree if they exist.
1010         (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
1011         appropriately.
1012         (objdir): Let configure substitute value.
1013         (FLOAT_H): Let configure select a pre-built version from the
1014         config subdir.
1015         * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
1016         * configure.in: Substitute for objdir.
1017
1018         * Makefile.in (build_canonical, host_canonical): Let configure
1019         substitute values for these variables.
1020         * configure.in: Substitute for build_canonical, host_canonical
1021         and target_subdir in generated Makefile.
1022
1023         * output.h (find_basic_blocks): Declare.
1024         (free_basic_block_vars, set_block_num, life_analysis): Likewise.
1025
1026         * Makefile.in (BISON): Use bison from the build tree if it exists.
1027         (FLEX): Similarly.
1028
1029 Mon May 18 00:08:19 1998  Nick Clifton  <nickc@cygnus.com>
1030
1031         * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
1032         (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
1033         (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
1034         command line arguments to see if an executable is not being
1035         created, and if so - do not append the suffix.
1036
1037         * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
1038         driver macro.
1039
1040 Sun May 17 23:59:45 1998  John Wehle  (john@feith.com)
1041
1042         * i386.h (ALIGN_DFmode): Delete.
1043         (CONSTANT_ALIGNMENT): Define.
1044         * varasm.c (force_const_mem): Use it.
1045
1046 Sun May 17 19:31:05 1998  Richard Henderson  <rth@cygnus.com>
1047
1048         * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
1049         using it with swap_condition, not before.
1050
1051 Sun May 17 13:44:32 1998  Jim Wilson  <wilson@cygnus.com>
1052
1053         * alias.c (mode_alias_check): Delete.
1054         (true_dependence, anti_dependence, output_dependence): Revert April 21
1055         change.
1056
1057 Sun May 17 08:45:21 1998  Krister Walfridsson <cato@df.lth.se>
1058
1059         * toplev.c (output_lang_identify): Enable prototype and definition.
1060
1061 Sun May 17 01:12:27 PDT 1998 Jeff Law  (law@cygnus.com)
1062
1063         * version.c: Bump for snapshot.
1064
1065 Sat May 16 23:20:32 1998  Richard Henderson  <rth@cygnus.com>
1066
1067         * alpha/osf.h (HAVE_STAMP_H): Define.
1068         * alpha.c: Use it.
1069         * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
1070         * configure.in (alpha*-*-netbsd*): New.
1071         Based on patches from Paul H. Anderson <pha@pdq.com>.
1072
1073         * configure.in (alpha*-*-linux-*): Kill xm_defines.
1074         (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
1075         * alpha/xm-linux.h: Remove file.
1076
1077 Sat May 16 18:32:45 1998  Doug Evans  <devans@canuck.cygnus.com>
1078
1079         * dbxout.c (dbxout_parms): If mode of type of parameter living
1080         in memory doesn't match mode of DECL_RTL, make big endian correction.
1081
1082 Fri May 15 21:40:06 1998  John Wehle  (john@feith.com)
1083
1084         * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
1085
1086 Fri May 15 18:55:22 1998  Jason Merrill  <jason@yorick.cygnus.com>
1087
1088         * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
1089         * stor-layout.c (layout_record): Set it.
1090
1091 Fri May 15 18:49:30 1998  Mark Mitchell  <mmitchell@usa.net>
1092
1093         * toplev.c (rest_of_compilation): Don't defer nested functions.
1094
1095 Fri May 15 17:42:52 1998  Bob Manson  <manson@charmed.cygnus.com>
1096
1097         * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
1098         to an 8-byte boundary if info_ptr->fpmem_p.
1099
1100 Fri May 15 17:36:11 1998  Bill Moyer <ttk@cygnus.com>
1101
1102         * loop.c (basic_induction_var): Added test preventing
1103         CCmode parameter passed to convert_modes().
1104
1105 Fri May 15 17:26:18 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
1106
1107         * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
1108         input_filename and lineno around expand_expr call.  Set them to values
1109         in WFL before expand_expr call.
1110
1111 Fri May 15 12:44:57 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
1112
1113         * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
1114
1115 Fri May 15 07:20:03 1998  Mark Mitchell  <mmitchell@usa.net>
1116
1117         * fold-const.c (constant_boolean_node): New function.
1118         (fold): Use it.
1119
1120 Fri May 15 11:21:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1121
1122         * sh.c (gen_shl_and): Don't sign extend constant for kind two.
1123         Abort if trying to split kind 3 or 4 outside of combine.
1124
1125 Fri May 15 01:47:37 1998  Jeffrey A Law  (law@cygnus.com)
1126
1127         * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
1128
1129 Fri May 15 01:42:45 1998  Mumit Khan <khan@xraylith.wisc.edu>
1130
1131         * objc/Make-lang.in (OBJC_O): Add missing exeext.
1132         (libobjc.a, runtime-info.h): Likewise.
1133
1134 Fri May 15 01:29:39 1998  John Wehle  (john@feith.com)
1135
1136         * i386.h (DATA_ALIGNMENT): Define.
1137
1138 Fri May 15 05:35:37 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1139
1140         * reload1.c (delete_output_reload): Ignore single USE that
1141         was emitted for the pseudo use of this INSN.
1142         If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
1143         remains, we can always delete OUTPUT_RELOAD_INSN.
1144
1145 Thu May 14 18:38:50 1998  Jim Wilson  <wilson@cygnus.com>
1146
1147         * reload.c (find_reloads): Don't penalize SCRATCH output reload.
1148
1149 Thu May 14 15:10:30 1998  Jeffrey A Law  (law@cygnus.com)
1150
1151         * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
1152
1153 Thu May 14 16:30:47 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
1154
1155         * eh-common.h: New file for basic EH data structures.
1156         * except.h: Various prototypes and structures for NEW_EH_MODEL
1157         * function.h (struct function): Add a struct eh_stack for the catch
1158         clause stack.
1159         * except.c (gen_exception_label): New function to generate an
1160         exception label.
1161         (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
1162         (push_entry): New function to push an existing entry onto a stack.
1163         (receive_exception_label): New function to emit the code required
1164         at the start of all catch blocks.
1165         (struct func_eh_entry): New structure for maintaining handlers
1166         associated with EH regions.
1167         (new_eh_region_entry): New function to register an EH region.
1168         (add_new_handler): New function to register a handler with a region.
1169         (get_new_handler): Creates  anew handler entry for registering.
1170         (find_func_region): New function to convert a NOTE eh region number
1171         to an Eh region index.
1172         (get_first_handler): New function to get the first handler in a region.
1173         (clear_function_eh_region): New function to release memory.
1174         (duplicate_handlers): New function to duplicate a list of handlers.
1175         (expand_eh_region_end): Create a new region entry node as well.
1176         (expand_leftover_cleanups): Call receive_exception_label() and
1177         register the cleanup as a handler to the current region.
1178         (expand_start_catch): New function to start a catch clause.
1179         (expand_end_catch): New function to end a catch clause.
1180         (expand_start_all_catch): restructure to not do the equivilent of
1181         what expand_start_catch() does now. Push the exception region being
1182         handled onto the catch stack.
1183         (output_exception_table_entry): Issue an entry for each handler
1184         associated with a region.
1185         (set_exception_lang_code): New function for setting the language code.
1186         (set_exception_version_code): New function to set the version number.
1187         (output_exception_table): Output version and language codes.
1188         (find_exception_handler_labels): Find handler labels using new scheme.
1189         (is_exception_handler_label): New function, returns 1 if label is
1190         present as a handler in some exception region.
1191         (check_exception_handler_labels): Use the new scheme.
1192         (init_eh_for_function): Initialize the catch stack.
1193         (save_eh_status): Save the catch stack.
1194         (restore_eh_status): Restore the catch stack.
1195         (scan_region): Don't remove unreferenced handler label. Flow does it.
1196         (get_reg_for_handler): New function to get the eh_context pointer
1197         passed by __throw.
1198         (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
1199         * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
1200         entry when processing END region rather that START region.
1201         * flow.c (find_basic_blocks_1): Find all potential handler regions
1202         now that we don't automatically know what the labels might be.
1203         Let scan_region() remove unreferenced EH BEGIN/END labels.
1204         * integrate.c (get_label_from_map): Put inlined labels onto the
1205         permanent obstack since we dont know which ones might be exception
1206         labels.
1207         (save_for_inline_copying): Make new copies of all the handlers.
1208         (expand_inline_function): Make new copies of all the handlers.
1209         * libgcc2.c: Remove local struct decls, and include eh-common.h.
1210         (find_exception_handler): With NEW_EH_MODEL the first matching
1211         region we find is the right one. Add eh_info as a new parameter.
1212         (__throw): Pass eh_info to find_exception_handler. Set handler
1213         and pass use different regs  under NEW_EH_MODEL.
1214
1215 Thu May 14 12:58:21 1998  Jim Wilson  <wilson@cygnus.com>
1216
1217         * i960.h (hard_regno_mode_ok): Changed to function from array of
1218         unsigned.
1219         (HARD_REGNO_MODE_OK): Call function instead of testing bit.
1220         * i960.c (hard_regno_mode_ok): Changed to function from array of
1221         unsigned.
1222
1223 Thu May 14 08:41:46 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1224
1225         * reload.c (remove_replacements): New function.
1226         * reload.h (remove_replacements): Declare.
1227         * reload1.c (choose_reload_regs): Disable some reloads that
1228         belong to inherited reloads.
1229
1230 Thu May 14 02:17:17 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1231
1232         * loop.c (scan_loop): Don't call move_moveables for optimize_size.
1233
1234         * reload1.c (merge_assigned_reloads):  When merging, reset
1235         reload_spill_index for the eliminated reload.
1236
1237 Wed May 13 17:51:13 1998  Jeffrey A Law  (law@cygnus.com)
1238
1239         * haifa-sched.c (schedule_insns): Fix merge goof.
1240
1241 1998-05-13  Jim Wilson  <wilson@cygnus.com>
1242
1243         * varasm.c (make_decl_rtl): Revert April 1 change.
1244         * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
1245         m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
1246         Get function name from the SYMBOL_REF in the DECL_RTL, not from
1247         DECL_ASSEMBLER_NAME.
1248         * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
1249         DECL_ASSEMBLER_NAME.
1250
1251 Wed May 13 13:09:19 1998  Jim Wilson  <wilson@cygnus.com>
1252
1253         * i386.c (notice_update_cc, output_float_compare): Disable
1254         TARGET_CMOVE support.
1255
1256 Wed May 13 15:28:59 1998  Michael Meissner  <meissner@cygnus.com>
1257                           Jeff Law <law@cygnus.com>
1258
1259         * rtlanal.c (find_reg_note): Ignore notes that are not on on
1260         insns of class 'i'.
1261         (find_regno_note): Likewise.
1262
1263         * Makefile.in (stor-layout.o): Depend on except.h
1264         (varasm.o, function.o): Likewise.
1265         (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
1266
1267         * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
1268         (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
1269         ($(HOST_PREFIX_1)rtl.o): Likewise.
1270         ($(HOST_PREFIX_1)bitmap.o): New host object.
1271         * emit-rtl.c (toplevel): Include bitmap.h.
1272         (gen_rtx): Handle 't' and 'b' nodes.
1273         * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
1274         Print block number for block begin/end notes.  Print 't' type
1275         nodes as a pointer.  Know that the 3rd argument of live range
1276         start/stop notes is really a range_info rtx.  If type is 'b', print
1277         out argument as a bitmap.
1278         * rtl.c: Include bitmap.c.
1279         (copy_rtx): Copy tree nodes as is.  Copy bitmaps if type is 'b'.
1280         (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
1281         * rtl.def (RANGE_LIVE): New node to hold live information while we
1282         recalculate the basic blocks.
1283         (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
1284         (RANGE_VAR): New node, to hold information saved in symbol node for New
1285         communicating live range information to the debug output functions.
1286         * rtl.h (rtunion_def): Add rttree and rtbit fields.
1287         (XBITMAP, XTREE): New accessor macros.
1288         (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
1289         (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
1290         (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
1291         (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
1292         (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
1293         (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
1294         (RANGE_INFO_*): Likewise.
1295         * sched.c (sched_analyze): Keep live range start/stop notes.
1296         (unlink_other_notes): Likewise.
1297         * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
1298         (unlink_other_notes): Likewise.
1299         * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
1300         (BLOCK_LIVE_RANGE_FLAG): Likewise.
1301         (DECL_LIVE_RANGE_RTL): Likewise.
1302         (struct tree_block): Add live_range_flag, live_range_var_flag,
1303         live_range_start and live_range_end.
1304         (struct tree_decl): Add live_range_rtl field.
1305         * gengenrtl.c (type_from_format): Handle 'b' and 't'.
1306         (accessor_from_format): Likewise.
1307
1308         * haifa-sched.c (schedule_block): Make verbose output line up.
1309         Also add a blank line in printing the individual ready lists.
1310
1311 Wed May 13 15:43:44 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1312
1313         * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
1314         (c-lex.o): Depend on output.h.
1315         (c-common.o): Likewise.
1316         (stmt.o): Likewise.
1317         (calls.o): Likewise.
1318         (integrate.o): Depend on toplev.h.
1319         (regclass.o): Depend on output.h.
1320         (final.o): Depend on reload.h.
1321
1322         * c-common.c: Include output.h.
1323         (check_format_info): Remove unused variable `integral_format'.
1324
1325         * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
1326         `indent' with ATTRIBUTE_UNUSED.
1327         (print_lang_type): Likewise.
1328         (maybe_build_cleanup): Likewise for parameter `decl'.
1329         (copy_lang_decl): Likewise for parameter `node'.
1330
1331         * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
1332         (lang_print_xnode): Mark parameters `file', `node' and `indent'
1333         with ATTRIBUTE_UNUSED.
1334         (lookup_interface): Likewise for parameter `arg'.
1335         (is_class_name): Likewise.
1336         (maybe_objc_check_decl): Likewise for parameter `decl'.
1337         (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
1338         `reflexive'.
1339         (maybe_objc_method_name): Likewise for parameter `decl'.
1340         (build_objc_string): Likewise for parameters `len' and `str'.
1341
1342         * c-lex.c: Include output.h.
1343
1344         * c-lex.h (position_after_white_space): Correct typo in prototype.
1345
1346         * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
1347         c_expand_end_cond, init_iterators): Add prototypes.
1348
1349         * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
1350         with ATTRIBUTE_UNUSED.
1351
1352         * calls.c: Include output.h.
1353
1354         * cccp.c (pipe_closed): Mark parameter `signo' with
1355         ATTRIBUTE_UNUSED.
1356
1357         * combine.c: Move inclusion of expr.h to after insn-config.h.
1358
1359         * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
1360         as empty, rather define as ((void)0).
1361
1362         * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
1363         Add parentheses around assignment used as truth value.
1364
1365         * cplus-dem.c (squangle_mop_up): Change return type to void.
1366         (internal_cplus_demangle): Remove unused parameter `options'.
1367         All callers changed.
1368         (cplus_demangle_opname): Remove function wide variable `int i' and
1369         replace with `size_t i' at each location where it is used.
1370         (cplus_demangle_opname): change type of `i' from int to size_t.
1371
1372         * cppexp.c (right_shift): Mark parameter `pfile' with
1373         ATTRIBUTE_UNUSED.
1374
1375         * cpphash.c (cpp_lookup): Likewise.
1376         (cpp_hash_cleanup): Likewise.
1377
1378         * cpplib.c (parse_name): Add a prototype and make it static.
1379         (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
1380         (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
1381         (macro_cleanup): Likewise for parameter `pfile'.
1382         (file_cleanup): Likewise.
1383
1384         * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
1385         cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
1386
1387         * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
1388         __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
1389
1390         * cse.c (cse_check_loop_start): Mark parameter `set' with
1391         ATTRIBUTE_UNUSED.
1392
1393         * dbxout.c (flag_minimal_debug, have_used_extensions,
1394         source_label_number): Move inside macro wrapper check against
1395         defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
1396
1397         * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
1398
1399         * except.h (doing_eh): Provide prototype.
1400
1401         * expr.c: Move inclusion of expr.h to after insn-config.h.
1402
1403         * final.c: Include reload.h.
1404         (shorten_branches): Cast the first argument of bzero to char *.
1405
1406         * fix-header.c (cpp_print_containing_files): Mark parameter
1407         `pfile' with ATTRIBUTE_UNUSED.
1408         (cpp_fatal): Likewise.
1409
1410         * flow.c (find_basic_blocks_1): Cast the first argument of bzero
1411         to char *.
1412
1413         * genattrtab.c (make_length_attrs): Change the type of variable
1414         `i' from int to size_t.
1415         (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
1416         (one_fn): Likewise.
1417
1418         * genextract.c (main): When generating insn-extract.c, mark
1419         variable `junk' with ATTRIBUTE_UNUSED.
1420
1421         * gengenrtl.c (gencode): When generating genrtl.c, cast the first
1422         argument of bzero to char*.
1423
1424         * integrate.c: Include toplev.h.
1425
1426         * libgcc2.c: Wrap `struct exception_table' and
1427         `find_exception_handler' in macro DWARF2_UNWIND_INFO.
1428
1429         * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
1430
1431         * objc/objc-act.c: Include toplev.h.
1432         (lang_print_xnode): Mark parameters `file', `node' and `indent'
1433         with ATTRIBUTE_UNUSED.
1434         (finish_protocol): Likewise for parameter `protocol'.
1435
1436         * output.h (declare_weak): Add prototype.
1437         (decode_reg_name): Don't wrap with TREE_CODE macro.
1438         (assemble_alias): Add prototype.
1439
1440         * regclass.c: Include output.h.
1441
1442         * reload.h (reloads_conflict): Add prototype.
1443
1444         * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
1445         output_func_start_profiler): Add prototypes.
1446
1447         * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
1448         ATTRIBUTE_UNUSED.
1449
1450         * scan-decls.c: Include scan.h.
1451
1452         * scan.h (recognized_function, recognized_extern): Add prototypes.
1453
1454         * stmt.c: Include output.h.
1455
1456         * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
1457         (output_lang_identify): Hide prototype and definition.
1458         (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
1459         (pipe_closed): Likewise.
1460
1461         * toplev.h (count_error, strip_off_ending, error_for_asm,
1462         warning_for_asm): Add prototypes.
1463
1464 Wed May 13 12:54:19 1998  Michael Meissner  <meissner@cygnus.com>
1465
1466         * toplev.c (rest_of_compilation): "Charge" final for any time
1467         doing various cleanup operations after finishing compilation
1468         of a function.
1469
1470         * flow.c (dump_flow_info): Also print number of sets and
1471         whether or not the pseudo is a user variable.
1472
1473         * flow.c (reg_n_max): New global variable.
1474         * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
1475         Delete regno_max variable.
1476         * regs.h (REG_N_CHECK): Define.
1477         (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
1478         (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
1479         (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
1480
1481 Wed May 13 12:54:19 1998  Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
1482
1483         * acconfig.h (ENABLE_CHECKING): Undefine.
1484         * configure.in (--enable-checking): New option.
1485
1486 Wed May 13 08:52:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1487
1488         * reload1.c (merge_assigned_reloads):  Can merge
1489         RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
1490         if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
1491
1492 Tue May 12 20:05:57 1998  Jim Wilson  <wilson@cygnus.com>
1493
1494         * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
1495
1496 Wed May 13 03:23:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1497
1498         * reload1.c (gen_reload): Create REG_EQUIV notes.
1499
1500 Tue May 12 22:21:07 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1501
1502         * reload1.c (reload): Fix check for USEs to use code of pattern.
1503         (choose_reload_regs): Remove dead variable use_insn.
1504
1505 Tue May 12 14:04:49 1998  Jeffrey A Law  (law@cygnus.com)
1506
1507         * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
1508
1509 Tue May 12 15:16:02 1998  Michael Meissner  <meissner@cygnus.com>
1510
1511         * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
1512         already defined.
1513         (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
1514         (insn_{unit,issue_delay}): Ditto.
1515         (blockage_range): Ditto.
1516         (actual_hazard{,_this_instance}): Ditto.
1517         (schedule_unit): Ditto.
1518         (potential_hazard): Ditto.
1519         (insn_cost): Ditto.
1520         (swap_sort): Ditto.
1521         (queue_insn): Ditto.
1522         (birthing_insn_p): Ditto.
1523         (adjust_priority): Ditto.
1524         (get_block_head_tail): Ditto.
1525         (init_rgn_data_dependences): Ditto.
1526
1527 Tue May 12 10:27:54 1998  Klaus Kaempf  <kkaempf@progis.de>
1528
1529         * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
1530
1531 Tue May 12 11:44:14 1998  Gavin Koch  <gavin@cygnus.com>
1532
1533         * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
1534
1535 Tue May 12 11:38:31 1998  Gavin Koch  <gavin@cygnus.com>
1536
1537         * config/mips/mips.md (dslot): Move after definition of "cpu"
1538         attribute.  Handle r3900 case.
1539
1540 Tue May 12 10:21:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1541
1542         * system.h: Define the STRINGIFY macro here.
1543         * protoize.c: Not here.
1544         * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
1545
1546 Tue May 12 00:47:33 1998  John Wehle  (john@feith.com)
1547
1548         * varasm.c (assemble_variable): Compute the alignment of the data
1549         earlier so that both initialized and uninitialized variables are
1550         effected by DATA_ALIGNMENT.
1551         * tm.texi (DATA_ALIGNMENT): Updated appropriately.
1552
1553 Mon May 11 19:57:58 1998  Jeffrey A Law  (law@cygnus.com)
1554
1555         * mips.c: Prototype static functions.
1556
1557 Mon May 11 17:43:03 1998  Jim Wilson  <wilson@cygnus.com>
1558
1559         * regmove.c (fixup_match_2, find_matches, regmove_profitable):
1560         Add explanatory comments.
1561
1562         * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
1563
1564 Mon May 11 17:24:27 1998  Richard Henderson  <rth@cygnus.com>
1565
1566         * sparc.md (ffsdi2): Disable.  Simplify the expression as well.
1567
1568 Mon May 11 13:30:44 1998  Jim Wilson  <wilson@cygnus.com>
1569
1570         * varasm.c (make_decl_rtl): Disable April 1 change.
1571
1572 Mon May 11 09:14:41 1998  Richard Henderson  <rth@cygnus.com>
1573
1574         * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
1575
1576 Mon May 11 08:24:18 1998  Richard Henderson <rth@cygnus.com>
1577
1578         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
1579         * alpha.c (print_operand): Handle it.
1580         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
1581         related define_splits.  Also add peepholes for SImode reload
1582         plus sign_extend lossage.
1583
1584 Mon May 11 09:33:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1585
1586         * genattr.c: Include stdarg.h/varargs.h.  Change function
1587         `fatal' to use variable arguments instead of faking it with
1588         integer parameters.  Provide a prototype which also
1589         checks the format specifiers using ATTRIBUTE_PRINTF_1.
1590
1591         * genattrtab.c: Likewise.
1592         * gencodes.c: Likewise.
1593         * genconfig.c: Likewise.
1594         * genemit.c: Likewise.
1595         * genextract.c: Likewise.
1596         * genflags.c: Likewise.
1597         * genopinit.c: Likewise.
1598         * genpeep.c: Likewise.
1599         * genrecog.c: Likewise.
1600         * genoutput.c: Likewise.  Similarly for function `error'.
1601
1602 Sun May 10 02:27:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1603
1604         * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
1605         * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
1606         * configure.in: Use GCC_C_VOLATILE.
1607         * system.h (volatile): Define as empty if no volatile support is
1608         available.
1609
1610 Sun May 10 01:21:43 1998  Jeffrey A Law  (law@cygnus.com)
1611
1612         * genemit.c (output_add_clobbers): Removed unused variable 'i' from
1613         generated fucntion.
1614
1615 Sat May  9 02:02:15 1998  Richard Henderson  <rth@cygnus.com>
1616
1617         * loop.c (get_condition): Don't combine when either compare is MODE_CC.
1618         * alpha.c (alpha_emit_conditional_branch): New function.  Taken from
1619         the body of beq; additionally set the mode of the branch to CCmode for
1620         FP compares and not fast_math.
1621         (alpha_emit_conditional_move): Always use a compare insn for FP
1622         when not fast_math, as well as setting CCmode on the cmov.
1623         * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
1624
1625         * machmode.h (COMPLEX_MODE_P): New macro.
1626
1627 Sat May  9 01:53:23 1998  Richard Henderson  <rth@cygnus.com>
1628
1629         * haifa-sched.c (print_exp): Fix typo.
1630
1631 Fri May 8 21:48:50 PDT 1998 Jeff Law  (law@cygnus.com)
1632
1633         * version.c: Bump for snapshot.
1634
1635 Fri May  8 18:23:08 1998  Michael Meissner  <meissner@cygnus.com>
1636
1637         * final.c (final_scan_insn): Call fatal_insn instead of abort if
1638         we could not split an insn when required to.
1639
1640         * m32r.md ({add,sub}di3): Add define_splits and appropriate low
1641         level insns.
1642         (peepholes): Disable peepholes that call dead_or_set_p.
1643         (movsi): Rewrite to handle addresses better after last change.
1644         Add define_split to split load of addresses in large/medium modes.
1645         (prologue): Call m32r_expand_prologue.
1646         (movsi_{push,pop}): Generators for push/pop.
1647         (movsi): Support PRE_{INC,DEC}, POST_INC.
1648         (mov{di,df}): Rewrite.  Always split the insns.
1649         (movsf): Add define_split to get register load in correct mode.
1650         (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
1651         (attributes): Rewrite attributes so that type indicates both the
1652         type and the length of the insn directly.
1653         (all insns): Change to use new type attributes.
1654         (debug): New attribute to convey whether -mdebug was used.
1655         (opt_space): New attribute to convey whether -Os was used.
1656         (function units): Loads are 3 cycles, not 2.  Better classify all
1657         insns into short/long.
1658         (load/store/extend insns): Add separate case for load/store
1659         indirect operations without an offset.
1660         (divsi3): Division is a long operation, not short.
1661
1662         * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
1663         modes > 1 word.
1664         (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
1665         (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
1666         (EXTRA_CONSTRAINT): Remove 'S' special support.  Add 'U' for
1667         operands with PRE_{INC,DEC}, POST_INC.
1668         (FUNCTION_PROFILER): Call abort instead of doing nothing.
1669         (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
1670         SImode variables.
1671         (gen_split_move_double): Declare.
1672         (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
1673
1674         * m32r.c (gen_split_move_double): Fix typo.  Also, don't call
1675         emit_move_insn, build up SET's directly.
1676         (toplevel): Include system.h, not stdio.h.
1677         (move_double_src_operand): Allow any DF or DI mode constant.
1678         (gen_split_move_double): Split moves of DI or DF values into the
1679         appropriate moves, loads, or stores.  Don't handle use of auto
1680         inc/dec if using dead index.  Do handle overlapping moves, etc.
1681         (m32r_frame_info): Remove prologue_size field.
1682         (m32r_compute_frame_size): Don't calculate prologue size.
1683         (m32r_output_function_prologue): Change to pretty much a NOP.
1684         (m32r_expand_prologue): Expand prologue as a series of INSNs.
1685         (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
1686         (m32r_print_operand_address): Ditto.
1687
1688 Fri May  8 14:13:21 1998  H.J. Lu  (hjl@gnu.org)
1689
1690         * reload1.c (emit_reload_insns): When performing expensive
1691         optimizations, do not output the last reload insn if OLD is
1692         not the dest of NSN and is in the src and is clobbered by INSN.
1693
1694 Fri May  8 09:47:29 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1695
1696         * Makefile.in (genrtl.o): Depend on system.h.
1697         * gengenrtl.c (gencode): When creating genrtl.c, have it
1698         include system.h.
1699
1700 Fri May  8 10:57:33 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1701
1702         * config/m68k/t-linux: Remove extra stuff already included in
1703         config/t-linux.
1704
1705 Fri May  8 09:53:24  Paul Eggert  <eggert@twinsun.com>
1706
1707         * fixinc.wrap: Renamed from fixinc.math.  Put wrapper around
1708         curses.h if it contains `typedef char bool;', as suggested by
1709         Manfred Hollstein <manfred@s-direktnet.de>.
1710
1711         * configure.in: Rename fixinc.math to fixinc.wrap.
1712
1713 Thu May  7 19:26:34 1998  Jim Wilson  <wilson@cygnus.com>
1714
1715         * gcc.c (read_specs): Handle missing blank line at end of specs file.
1716
1717         * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
1718         movdfcc_1): Disable.
1719
1720 Thu May  7 15:39:14 1998  Jim Wilson  <wilson@cygnus.com>
1721
1722         * configure.in (enable_threads): Rename to enable_threads_flag before
1723         main loop.  Set enable_threads to enable_threads_flag inside main
1724         loop.
1725
1726 Thu May  7 17:38:03 1998  Michael Meissner  <meissner@cygnus.com>
1727
1728         * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
1729         multiple times.
1730
1731 Thu May  7 14:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1732
1733         * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
1734
1735         * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
1736         (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
1737         (AC_CHECK_FUNCS): Remove unused check for vprintf.
1738
1739         * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
1740         (cccp.o): Depend on gansidecl.h.
1741         (cexp.o): Likewise.
1742
1743         * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
1744         per the rest of gcc source.
1745         * cexp.y: Likewise.  Include gansidecl.h and remove all code made
1746         redundant.
1747
1748         * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
1749         used when vfprintf is missing.
1750         * cexp.y: Likewise.
1751         * gcc.c: Likewise.
1752         * genattrtab.c: Likewise.
1753         * mips-tfile.c: Likewise.
1754         * toplev.c: Likewise.
1755
1756         * vfprintf.c: New file.
1757         * doprint.c: New file.
1758
1759 Thu May  7 10:18:41 1998  Jeffrey A Law  (law@cygnus.com)
1760
1761         * config/linux.h (ASM_COMMENT_START): Remove from here,
1762         * config/linux-aout.h (ASM_COMMENT_START): and here,
1763         * config/i386/linux.h (ASM_COMMENT_START): to here,
1764         * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
1765         * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
1766         here as '#' too.
1767
1768 Thu May  7 10:55:59 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1769
1770         * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
1771         constant.
1772
1773 Wed May  6 22:32:37 CDT 1998 Robert Lipe  <robertl@dgii.com>
1774
1775         * Makefile.in (dwarfout.o) Add toplev.h dependency.
1776         * dwarfout.c, i386.c: Include toplev.h
1777         * toplev.h: (pfatal_with_name) Add prototype.
1778
1779 Wed May  6 19:02:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
1780
1781         * Makefile.in: Fix .SUFFIXES.
1782
1783 Wed May  6 19:31:32 1998  Alan Modra <alan@spri.levels.unisa.edu.au>
1784
1785         * config/linux.h (ASM_COMMENT_START): Define as "#".
1786         * config/linux-aout.h (ASM_COMMENT_START): Likewise.
1787
1788 Wed May  6 15:51:39 1998  Jim Wilson  <wilson@cygnus.com>
1789
1790         * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
1791         * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
1792
1793         * toplev.c: Include toplev.h.
1794         * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
1795         c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
1796         dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
1797         hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
1798         reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
1799         toplev.h dependency.
1800
1801         * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
1802         HARD_FRAME_POINTER_REGNUM.
1803
1804         * expr.c (target_temp_slot_level): Delete duplicate definition.
1805
1806 Wed May  6 16:46:01 1998  Jeffrey A Law  (law@cygnus.com)
1807
1808         * stmt.c (mark_seen_cases): Make it have external linkage again.
1809         * expr.h (mark_seen_cases): Add declaration, but only when tree.h
1810         has been included.
1811
1812         * haifa-sched.c (print_value, case SUBREG): Fix typo.
1813
1814         * i386.c (output_387_binary_op): Add some braces to avoid warnings.
1815         * i386.h (REG_CLASS_CONTENTS): Similarly.
1816
1817         * toplev.c (-fsched-max): Delete flag.
1818         (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
1819         * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
1820         and -fsched-interblock-max-insns-N support.  Remove INTERBLOCK_DEBUG
1821         conditionals.
1822
1823         * haifa-sched.c (find_rgns): Correctly handle reducible loops with
1824         inner loops which are not reducible.
1825
1826         * loop.c (regs_match_p): Fix typo in prototype.
1827
1828         * regmove.c (try_auto_increment): Wrap declaration inside an
1829         #ifdef AUTO_INC_DEC.
1830
1831 Wed May  6 17:07:47 1998  Michael Meissner  <meissner@cygnus.com>
1832
1833         * final.c (output_operand_lossage): Call fatal with the operand
1834         lossage message instead of calling abort.
1835
1836 Wed May  6 15:37:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1837
1838         * c-common.c: Convert to using ctype macros defined in system.h.
1839         * c-lex.c: Likewise.
1840         * cccp.c: Likewise.
1841         * collect2.c: Likewise.
1842         * rs6000.c: Likewise.
1843         * cpplib.c: Likewise.
1844         * fix-header.c: Likewise.
1845         * gcc.c: Likewise.
1846         * gen-protos.c: Likewise.
1847         * pexecute.c: Likewise.
1848         * protoize.c: Likewise.
1849         * rtl.c: Likewise.
1850         * scan.c: Likewise.
1851         * stmt.c: Likewise.
1852         * tlink.c: Likewise.
1853         * toplev.c: Likewise.
1854
1855 Wed May  6 14:44:14 1998  Gavin Koch  <gavin@cygnus.com>
1856
1857         * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
1858         Replace -gdwarf-2 with -g0.
1859
1860 Wed May  6 11:43:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1861
1862         * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
1863         * mips-tdump.c: Include system.h, remove redundant headers.
1864         * mips-tfile.c: Likewise.  Also, convert all ctype function calls
1865         to calls of the macro versions defined in system.h.
1866
1867         * objc/Make-lang.in (objc-act.o): Depend on system.h.
1868         * objc/objc-act.c: Include system.h, remove redundant headers.
1869
1870 Wed May  6 11:21:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1871
1872         * configure.in (AC_CHECK_FUNCS): Add isascii.
1873         (GCC_NEED_DECLARATIONS): Add atof.
1874
1875         * system.h: Provide prototypes for abort, atof, atol and sbrk here.
1876         * rtl.c, rtl.h, toplev.c, tree.h: Not here.
1877
1878 Wed May  6 10:52:49 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1879
1880         * system.h: Wrap time.h and sys/file.h in autoconf checks.
1881         Provide default definitions for O_RDONLY and O_WRONLY here.
1882
1883         * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
1884
1885 1998-05-06 Mark Mitchell  <mmitchell@usa.net>
1886
1887         * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
1888
1889 Wed May  6 06:35:38 1998  Robert Lipe  <robertl@dgii.com>
1890
1891         * toplev.h: New file.   Protypes for functions in toplev.c.
1892         * tree.h, rtl.h: Deleted protos for functions in toplev.c.
1893         * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
1894         c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
1895         convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
1896         function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
1897         reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
1898         varasm.c: include it.
1899
1900 Wed May  6 01:09:01 1998  Jeffrey A Law  (law@cygnus.com)
1901                           Jim Wilson (wilson@cygnus.com)
1902
1903         * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
1904         blocks.  Check for 1 successor which is the EXIT_BLOCK.
1905
1906         * haifa-sched.c (find_rgns): Detect unreachable blocks, including
1907         unreachable loops with more than one block.
1908
1909 Wed May  6 08:22:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
1910
1911         * fix-header.c (write_rbrac): Add "abort" to functions which need to
1912         be protected.
1913
1914 Wed May  6 00:09:36 1998  Jeffrey A Law  (law@cygnus.com)
1915
1916         * Check in merge from gcc2.  See ChangeLog.12 for details.
1917
1918 Tue May  5 14:33:49 1998  Jim Wilson  <wilson@cygnus.com>
1919
1920         * c-common.c (scan_char_table): Separate 's' and 'c'.  'c' does not
1921         accept 'a' flag.  'S' does accept 'a' flag.
1922         (check_format_info): When pedantic, warn for m/C/S/a/A formats,
1923         and `a' flag.
1924
1925         * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
1926
1927 Tue May  5 10:50:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1928
1929         * config/m68k/m68k.h: Declare functions from m68k.c used in
1930         macros and machine description.
1931         (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
1932         long values.
1933         (ASM_OUTPUT_FLOAT): Likewise.
1934         (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1935
1936 Tue May  5 01:28:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
1937
1938         * tree.def: Add NAMESPACE_DECL.
1939         * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
1940         * dwarf2out.c (push_decl_scope): Likewise.
1941         (scope_die_for): Likewise.
1942         * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
1943         how to get next context level.
1944
1945 Tue May  5 01:43:16 1998  Jim Wilson  <wilson@cygnus.com>
1946
1947         * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
1948         case.
1949
1950 Tue May  5 01:15:06 1998  Jeffrey A Law  (law@cygnus.com)
1951
1952         * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
1953
1954         * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
1955         for any insns skipped at the start of a block because they were
1956         redundant.
1957
1958 Mon May  4 20:23:51 1998  Jim Wilson  <wilson@cygnus.com>
1959
1960         * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
1961
1962 1998-05-04  Ulrich Drepper  <drepper@cygnus.com>
1963
1964         * c-common.c (format_char_info): Add new field hhlen.
1965         (print_char_table, scan_char_table, time_char_table): Initialize
1966         hhlen field appropriately.
1967         (char_format_info): Recognize hh modifier and lookup correct char
1968         table entry.
1969
1970 Mon May  4 19:15:29 1998  Jim Wilson  <wilson@cygnus.com>
1971
1972         * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
1973         reference if this is a store.
1974
1975 Mon May  4 17:25:17 1998  Richard Henderson  <rth@cygnus.com>
1976
1977         * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
1978
1979 Sun May  3 23:57:25 1998  Robert Lipe   <robertl@dgii.com>
1980
1981         Make UnixWare 7 bootstrap support work with final shipping product.
1982         * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
1983         Pick up xm-siglist and xm-alloca.
1984         (xm_defines): Add USG so dbxout will build.
1985         * configure: Regenerate.
1986
1987 Sun May  3 13:51:34 PDT 1998  Richard Henderson  <rth@cygnus.com>
1988
1989         Support for official Sparc V9 ABI:
1990         * sparc.c (sparc_override_options): Force stack bias off for !arch64.
1991         Care for flag_pcc_struct_return default.
1992         (output_move_quad): Rewrite to move by halves on v9 and in the
1993         proper direction.
1994         (move_quad_direction): New function.
1995         (output_fp_move_quad): Use it to determine the direction of copy.
1996         (function_arg_slotno): Return -1 for FP reg overflow as well.
1997         (function_arg_record_value*): New functions.
1998         (function_arg): Use them.  Streamline unprototyped parameter passing.
1999         (function_arg_pass_by_reference): Pass TCmode by reference.
2000         (function_value): New function.
2001         * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
2002         long long in 64-bit mode.
2003         (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
2004         (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
2005         (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
2006         (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
2007         (BASE_INCOMING_ARG_REG): Likewise.
2008         (FUNCTION_VALUE): Call function_value.
2009         (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
2010         * sparc.md (movdi_sp32_v9): Disable for arch64.
2011         (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
2012         (call_value_address_sp64): Remove register class constraints.
2013         (call_value_symbolic_sp64): Likewise.
2014         (nonlocal_goto): Pass label reg directly to goto_handlers.  Constrain
2015         v9 case to 32-bit constants.
2016         (goto_handler_and_restore_v9): Provide a version for arch64.
2017         * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
2018         * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
2019         (CPP_PREDEFINES): New.
2020         * sparc/sp64-elf.h: Likewise.
2021         (PREFERRED_DEBUGGING_TYPE): Dwarf2.
2022         (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
2023         * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
2024
2025 Sat May 2 17:47:17 PDT 1998 Jeff Law  (law@cygnus.com)
2026
2027         * version.c: Bump for snapshot.
2028
2029 Sat May  2 01:37:29 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2030
2031         * reload.c (find_reloads): Emit USEs to mark where a pseudo
2032         is reloaded with the MEM of its stack slot.
2033         * reload1.c (cannot_omit_stores): Delete.
2034         (reload): Don't initialize it.
2035         Don't apply avoid_return_reg logic to USEs.
2036         When done, remove USEs that have a REG_EQUAL note on them.
2037         (emit_reload_insns): Handle case where we have inherited a MEM.
2038         (choose_reload_regs): Likewise.
2039         (delete_output_reload): Don't use cannot_omit_stores.
2040
2041 Thu Apr 30 18:59:03 1998  Jim Wilson  <wilson@cygnus.com>
2042
2043         * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
2044
2045 Thu Apr 30 16:57:34 1998  Michael Meissner  <meissner@cygnus.com>
2046
2047         * haifa-sched.c (print_{exp,value}): Various changes to make the
2048         debug output easier to read.  Also, use only one buffer, and make
2049         sure the buffer we are passed in doesn't overflow.
2050         (safe_concat): Concatenate to a buffer without overflow.
2051
2052 Thu Apr 30 16:57:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2053
2054         * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
2055         with the prototype.
2056
2057 Wed Apr 29 21:45:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2058
2059         * sched.c (new_insn_dead_notes): Check if the register was
2060         used in the original instruction.
2061         * haifa-sched.c (new_insn_dead_notes): Likewise.
2062
2063 Wed Apr 29 13:46:03 1998  Jim Wilson  <wilson@cygnus.com>
2064
2065         * dwarf2out.c (scope_die_for): If could not find proper scope,
2066         check for and handle tagged type with incorrect TYPE_CONTEXT.
2067
2068 Wed Apr 29 15:34:40 1998  John Carr  <jfc@mit.edu>
2069
2070         * calls.c (expand_call): Fix recognition of C++ operator new.
2071
2072         * alias.c (mode_alias_check): Disable type based alias detection.
2073
2074 Wed Apr 29 15:06:42 1998  Gavin Koch  <gavin@cygnus.com>
2075
2076         * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
2077         ASM_OUTPUT_WEAK_ALIAS): Define.
2078         * config/mips/elf64.h: Same.
2079         * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
2080         ASM_WEAKEN_LABEL): Removed.
2081
2082 Wed Apr 29 10:53:29 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2083
2084         * calls.c (expand_call): Bump the length limit on the specially
2085         recognized function names to 17.
2086
2087 Tue Apr 28 17:53:33 1998  Jim Wilson  <wilson@cygnus.com>
2088
2089         * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
2090         when undefining macros at the end.
2091
2092         * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
2093         val or len has TREE_SIDE_EFFECTS set.
2094
2095         * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
2096         (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
2097         (smuldi3_highpart): Call const v8plus routine.
2098         (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
2099         (const_smulsi3_highpart_v8plus): New pattern.
2100         (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
2101         (umulsidi3): Call const v8plus routine.
2102         (umulsi3_highpart): Handle const before v8plus.  Call const v8plus
2103         routine.
2104         (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
2105         (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
2106
2107 Tue Apr 28 08:55:26 1998  Michael Meissner  <meissner@cygnus.com>
2108
2109         * m32r.c (*_oper{and|ator}): Change enum arguments and return
2110         values to int, so they can be prototyped even in files that don't
2111         include rtl.h.
2112         ({small,large}_insn_p): Ditto.
2113         (m32r_select_cc_mode): Ditto.
2114         (gen_compare): Ditto.
2115         (function_arg_partial_nregs): Ditto.
2116         (m32r_setup_incoming_varargs): Ditto.
2117         (init_reg_tables): Add prototype.
2118         (m32r_frame_info): Add prolog_size field.
2119         (m32r_compute_frame_size): Calculate the size of the prologue.
2120         (m32r_first_insn_address): Return prologue size.
2121         (m32r_output_function_prologue): Calculate frame size before
2122         printing out information.  Print out the prologue size.
2123
2124         * m32r.h: Prototype all functions in m32r.c.
2125         (FIRST_INSN_ADDRESS): Declare, returning prologue size.
2126
2127         * m32r.md (bcc functions): Cast enum's to int.
2128
2129         * m32r.c (conditional_move_operand): Silence a debug message.
2130         ({small,long}_insn): New predicates.
2131
2132         * m32r.h (TARGET_M32R): New macro.
2133         (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
2134         (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
2135         was selected.
2136         (ISSUE_RATE): Define as 2.
2137
2138         * m32r.md (insn_size): New attribute.
2139         ({,rev_}branch_insn): Add .s qualifier to branches believed to be
2140         short.
2141         (m32r): New attribute.
2142
2143         * configure.in (enable_haifa): Switch m32r to Haifa by default.
2144         * configure: Regenerate.
2145
2146         (Changes from Nick Clifton <nickc@cygnus.com>)
2147         * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
2148         the equivalent of a negated 'I' constraint.
2149         (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
2150         optimisation to work.
2151
2152         * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
2153         than 'I' since the value is negated.
2154         (peephole): Add peephole optimisation to cope with optimization of
2155         divide and subtracts of the same operands.
2156
2157         * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
2158         * m32r.h: Ditto.
2159         * m32r.md: Ditto.
2160
2161         * m32r.h (PREDICATE_CODES): Add declaration of machine specific
2162         predicates.
2163
2164 Tue Apr 28 07:25:53 1998  Manfred Hollstein  <manfred@s-direktnet.de>
2165
2166         * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
2167
2168 Mon Apr 27 18:39:47 1998  Nick Clifton  <nickc@cygnus.com>
2169
2170         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
2171         frame_pointer_rtx not FRAME_POINTER_REGNUM.
2172
2173 Mon Apr 27 18:36:28 1998  Jim Wilson  <wilson@cygnus.com>
2174
2175         * reg-stack.c: Revert last patch (Apr 20).
2176         (convert_regs): Set insn to PREV_INSN (next) after do while loop.
2177
2178         * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
2179
2180         * loop.c (check_dbra_loop): New locals jump, first_compare, and
2181         compare_and_branch.  Call get_condition to set first_compare.
2182         Set compare_and_branch to number of compare/branch instructions.
2183         Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
2184         Replace '2' with compare_and_branch.
2185
2186 Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2187
2188         * cplus-dem.c (demangle_qualified): Replace missing else.
2189
2190 Mon Apr 27 20:22:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2191
2192         * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
2193
2194 Mon Apr 27 18:23:51 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2195
2196         * sh.c (sh_expand_prologue, sh_expand_epilogue):
2197         If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
2198         * sh.h (STACK_BOUNDARY): Likewise.
2199
2200 Mon Apr 27 17:22:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2201
2202         * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2203
2204 Mon Apr 27 08:55:23 1998  Michael Meissner  <meissner@cygnus.com>
2205
2206         * system.h (abort): If abort is not defined, and neither is
2207         USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
2208         reporting the line and filename of the error.
2209
2210         * .gdbinit: Add breakpoints on exit and fancy_abort.
2211
2212         * final.c (split_double): Avoid a compiler warning if
2213         BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
2214
2215         * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}):  New macros
2216         for calling jump_optimize.
2217
2218         * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
2219         macros, rather than 0/1's.
2220
2221 Sun Apr 26 23:19:10 1998  Richard Henderson  <rth@cygnus.com>
2222
2223         * alpha.h (CONST_COSTS): Zero is always free.
2224         (RTX_COSTS): Add EV6 costs.  Abort if alpha_cpu is unknown.
2225
2226 Sun Apr 26 15:38:50 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2227
2228         * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
2229         length in the name of a virtual table.
2230
2231 Sun Apr 26 01:21:06 1998  Richard Henderson  <rth@cygnus.com>
2232
2233         * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
2234
2235 Sat Apr 25 22:11:38 PDT 1998 Jeff Law  (law@cygnus.com)
2236
2237         * version.c: Bump for snapshot.
2238
2239 Sat Apr 25 17:17:15 1998  Jeffrey A Law  (law@cygnus.com)
2240
2241         * fold-const.c (fold_convert): Fix typo.
2242
2243 Sat Apr 25 17:55:54 1998  John Carr  <jfc@mit.edu>
2244
2245         * alias.c (alias_invariant): New variable.
2246         (record_base_value): New argument INVARIANT.
2247         (memrefs_conflict_p): If a register has an entry in the alias_invariant
2248         array, try substituting that value for the register.
2249
2250         * rtl.h: Declare record_base_value.
2251
2252         * loop.c, unroll.c: Update callers of record_base_value.
2253
2254         * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
2255         ZERO_EXTEND do not affect base values.
2256
2257 Fri Apr 24 15:57:02 1998  Jeffrey A Law  (law@cygnus.com)
2258
2259         * dbxout.c (dbxout_type): Fix typo.
2260         (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
2261
2262         * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
2263
2264 Fri Apr 24 16:11:47 1998  John Carr  <jfc@mit.edu>
2265
2266         * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
2267         if the argument is the address of a structure or array.
2268
2269         * configure.in: Enable Haifa scheduler by default for SPARC.
2270
2271 Fri Apr 24 20:55:47 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2272
2273         * cse.c (cse_set_around_loop): Don't do optimization when
2274         new pseudos are created.
2275
2276 Fri Apr 24 11:00:18 1998  Jeffrey A Law  (law@cygnus.com)
2277
2278         * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
2279         appropriately.
2280         (dbxout_type_method_1, dbxout_type): Likewise.
2281         (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
2282         (dbxout_type): Fix check for when to print a type range in
2283         octal vs decimal.
2284
2285 Fri Apr 24 16:45:03 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2286
2287         * (gen_shl_and, in case 1): Fix comparison with mask.
2288
2289 Fri Apr 24 06:46:40 1998  Nick Clifton  <nickc@cygnus.com>
2290
2291         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
2292         pointer as second register in REG+REG pair.
2293
2294 Fri Apr 24 09:22:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2295
2296         * c-common.c (check_format_info): Don't check for the 'x' format
2297         character twice, instead check for 'x' and 'X'
2298
2299 Fri Apr 24 08:02:30 1998  Manfred Hollstein  <manfred@s-direktnet.de>
2300
2301         * Makefile.in (libgcc2.ready): Add explicit dependancy from
2302         $(STMP_FIXPROTO) to ensure all necessary include files have
2303         been created and to guarantee proper parallel builds.
2304
2305 Fri Apr 24 04:42:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2306
2307         * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
2308         register for stdarg functions.
2309         * sh.h (current_function_varargs): Declare.
2310         (FUNCTION_ARG): Ignore NAMED for stdarg functions.
2311
2312 1998-04-23  Jim Wilson  <wilson@cygnus.com>
2313
2314         * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
2315         inhibit_libc is defined.
2316
2317         * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
2318
2319 Thu Apr 23 19:09:33 1998  Jim Wilson  <wilson@cygnus.com>
2320
2321         * profile.c (tablejump_entry_p): New function.
2322         (branch_prob): Add code to recognize MIPS tablejump entry branch.
2323         Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
2324
2325 Thu Apr 23 15:01:13 1998  Nick Clifton  <nickc@cygnus.com>
2326
2327         * config/arm/arm.c (find_barrier): Return as soon as a barrier is
2328         found, rather than at end of the loop, after the insn has been
2329         changed.
2330
2331 Thu Apr 23 20:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2332
2333         * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
2334         * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
2335
2336 Wed Apr 22 17:07:35 1998  Michael Meissner  <meissner@cygnus.com>
2337
2338         * loop.c (note_addr_stored): Correct function to take 2 arguments,
2339         instead of 1.
2340
2341         * rtl.def (MATCH_INSN2): Add new matching pattern.
2342         * genrecog.c (add_to_sequence): Support MATCH_INSN2.
2343
2344 Wed Apr 22 15:52:22 1998  John Carr  <jfc@mit.edu>
2345
2346         * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
2347         if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
2348
2349         * final.c (split_double): Sign extend both halves of a split CONST_INT.
2350
2351 Wed Apr 22 10:42:45 1998  Jeffrey A Law  (law@cygnus.com)
2352
2353         * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
2354
2355 Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod  <amacleod@cygnus.com>
2356
2357         * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
2358         (cplus_demangle_opname): Call mop_up_squangle.
2359         (cplus_demangle): Initialize squangle info, then call
2360         internal_cplus_demangle. (Most code moved there as well)
2361         (internal_cplus_demangle): New function, performs most of what use
2362         to be done in cplus_demangle, but is only called with this file.
2363         (squangle_mop_up): New function to clean up B and K code data.
2364         (mop_up): set pointers to NULL after freeing.
2365         (demangle_signature, demangle_template, demangle_class): Add
2366         switch elements to handle K and B codes.
2367         (demangle_prefix, gnu_special, demangle_qualified): Add
2368         code to handle K and B codes.
2369         (do_type, demangle_fund_type): Handle B and K codes.
2370         (remember_Ktype): New function to store K info.
2371         (register_Btype, remember_Btype): New functions for B codes.
2372         (forget_B_and_K_types): New function to destroy B and K info.
2373
2374 1998-04-21  Jim Wilson  <wilson@cygnus.com>
2375
2376         * stmt.c (check_seenlabel): When search for line number note for
2377         warning, handle case where there is no such note.
2378
2379 Tue Apr 21 20:48:37 1998  John Carr  <jfc@mit.edu>
2380
2381         * genemit.c (gen_exp): Allow machine description to set mode of
2382         MATCH_OP_DUP.
2383
2384 Tue Apr 21 16:36:01 1998  John Carr  <jfc@mit.edu>
2385
2386         * alias.c (mode_alias_check): New function.
2387         (true_dependence, anti_dependence, output_dependence): Call
2388         mode_alias_check.
2389
2390 Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
2391
2392         * mips.h (STACK_BOUNDARY): Allow specific targets to override.
2393         (MIPS_STACK_ALIGN): Similarly.
2394
2395         * c-common.c (type_for_mode): Handle TI types.
2396         * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
2397         (init_decl_processing): Handle TI types.
2398         * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
2399
2400         * mips.c (block_move_loop): Test Pmode == DImode instead of
2401         TARGET_MIPS64.
2402         (expand_block_move, save_restore_insns): Likewise.
2403         (function_prologue, mips_expand_prologue): Likewise.
2404         (mips_expand_epilogue): Likewise.
2405         * mips.h (POINTER_SIZE): Allow specific targets to override.
2406         (Pmode): Allow specific targets to override.
2407         (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
2408         (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
2409         (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
2410         (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
2411         (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2412         (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2413         * mips.md (indirect, tablejump & casesi support): Test for
2414         Pmode == DImode instead of TARGET_MIPS64.
2415         (call patterns): Likewise.
2416
2417 Tue Apr 21 09:43:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2418
2419         * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
2420         for gen_rtx(MEM, ...).
2421
2422 Tue Apr 21 02:15:36 1998  Richard Henderson  <rth@cygnus.com>
2423
2424         * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
2425         to not be so gross, and to properly function with PIC.
2426
2427 Mon Apr 20 20:44:25 1998  Jim Wilson  <wilson@cygnus.com>
2428
2429         * frame.c (heapsort): Rename to frame_heapsort.
2430
2431         * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
2432
2433 Mon Apr 20 12:43:09 1998  Doug Evans  <devans@canuck.cygnus.com>
2434
2435         * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
2436
2437 Mon Apr 20 15:04:14 1998  John Wehle  (john@feith.com)
2438
2439         * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
2440         operands during and after reload.
2441
2442 Mon Apr 20 22:37:50 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2443
2444         * final.c (shorten_branches, init_insn_lengths): Move code
2445         to free label_align, uid_shuid, insn_lengths, insn_addresses
2446         and uid_align from the former function into the latter one;
2447         Add code to clear these variables.
2448         * sh.h (label_align): Remove declaration.
2449
2450 Mon Apr 20 14:48:29 1998  Michael Meissner  <meissner@cygnus.com>
2451
2452         * gcc.c (lang_specific_driver): Declare prototype properly so
2453         fatal can be passed to it without error.
2454
2455         * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
2456         * configure: Regenerate.
2457         * config.in: Add #undef's for strchr and strrchr.
2458
2459         * protoize.c (toplevel): If we have rindex, but not strrchr, map
2460         rindex to strrchr.
2461         (file_could_be_converted): Use strrchr, not rindex since rindex is
2462         not defined on Linux systems when _POSIX_SOURCE is defined.
2463         (file_normally_convertible): Ditto.
2464         (process_aux_info_file): Ditto.
2465         (main): Ditto.
2466
2467         * rs6000.md (mov{sf,df} define_splits): When splitting a move of
2468         a constant to an integer register, don't split the insns that do
2469         the simple AND and OR operations, rather just split each word, and
2470         let the normal movsi define split handle it further.
2471
2472 Mon Apr 20 18:19:40 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2473
2474         * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
2475         (split_branches): Call init_insn_lengths.
2476
2477 Mon Apr 20 07:37:49 1998  Michael Meissner  <meissner@cygnus.com>
2478
2479         * i386.c: Include expr.h to get the change_address prototype
2480         declared.
2481
2482 Mon Apr 20 01:00:05 1998  H.J. Lu  (hjl@gnu.org)
2483
2484         * reg-stack.c (subst_asm_stack_regs): Change to return the last
2485         new insn generated by this function.
2486         (subst_stack_regs): Likewise.
2487         (convert_regs): Record the last newly generated insn and use
2488         it for change_stack () instead of INSN.
2489
2490 Sun Apr 19 15:41:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
2491
2492         * fix-header.c (enum special_file): Undefine enumerators if they
2493         are already defined by include files.
2494         * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
2495         macro with '__' to not pollute user namespace.
2496
2497 Sun Apr 19 02:42:06 1998  Richard Henderson  <rth@cygnus.com>
2498
2499         * haifa-sched.c (queue_to_ready): Fix typo in prototype.
2500
2501 Sat Apr 18 23:52:35 PDT 1998 Jeff Law  (law@cygnus.com)
2502
2503         * version.c: Bump for snapshot.
2504
2505 Sat Apr 18 18:30:22 1998  Jim Wilson  <wilson@cygnus.com>
2506
2507         * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
2508
2509         * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
2510         Add missing -Dpentium* options.
2511         (CPP_CPU_SPEC): Delete redundant definition.  Include cpp_cpu_default
2512         instead of CPP_CPU_DEFAULT.
2513         (EXTRA_SPECS): Add entry for cpp_cpu_default.
2514
2515 Sat Apr 18 19:06:59 1998  David Edelsohn  <edelsohn@mhpcc.edu>
2516
2517         * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
2518         negative in a stackless frame.
2519         * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
2520         in stackless frame size.  Support 64-bit stackless frame size.
2521         Combine fpmem offset calculations and don't add total_size to
2522         offset if not pushing a stack frame.
2523
2524 Sat Apr 18 15:41:16 1998  Jim Wilson  <wilson@cygnus.com>
2525
2526         * regmove.c (fixup_match_1): In three places, in flag_exceptions
2527         check, change p to q.
2528
2529 Sat Apr 18 15:30:49 1998  Jim Wilson  <wilson@cygnus.com>
2530
2531         * gcc.c (lang_specific_driver): Add new parm type to prototype.
2532         (added_libraries): New file scope static variable.
2533         (process_command): Initialize added_libraries.  Pass it to
2534         lang_specific_driver.
2535         (main): Use added_libraries in check for no input files.
2536
2537 Sat Apr 18 01:23:11 1998  John Carr  <jfc@mit.edu>
2538
2539         * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
2540         code generation.  Use 64 bit instructions in 32 bit mode when
2541         possible.  Use V9 return instruction.  UltraSPARC optimizations.
2542
2543         * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
2544
2545 Fri Apr 17 22:38:17 1998  Jeffrey A Law  (law@cygnus.com)
2546
2547         * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
2548         just pass zero.  That will work regardless of the size of HARD_REG_SET.
2549
2550         * libgcc2.c (__floatdisf): Fix a couple typos.
2551
2552 Fri Apr 17 17:28:26 1998  Jim Wilson  <wilson@cygnus.com>
2553
2554         * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
2555
2556 Fri Apr 17 16:35:35 1998  Greg McGary  <gkm@gnu.org>
2557
2558         * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
2559
2560 Fri Apr 17 14:30:37 1998  John Carr <jfc@mit.edu>
2561
2562         * emit-rtl.c (operand_subword_force): If a register can not be
2563         accessed by words, copy it to a pseudo register.
2564
2565 Fri Apr 17 14:30:37 1998  Jim Wilson  <wilson@cygnus.com>
2566
2567         * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
2568
2569 Fri Apr 17 17:01:25 1998  Michael Meissner  <meissner@cygnus.com>
2570
2571         * tree.h (mark_seen_cases): Delete declaration.
2572
2573 Fri Apr 17 13:32:20 1998  Jeffrey A Law  (law@cygnus.com)
2574
2575         * stmt.c (mark_seen_cases): Make static and add prototype.
2576
2577 Fri Apr 17 11:21:43 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2578
2579         * frame.c: Include stdlib.h and unistd.h to possibly get various
2580         function prototypes.  The fixproto script guarantees these header
2581         files exist on the target system.
2582         * libgcc2.c: Likewise.
2583
2584         * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
2585         __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
2586         function parameters.
2587         * libgcc2.c (__udiv_w_sdiv): Likewise.
2588
2589 Thu Apr 16 22:41:02 1998  Jeffrey A Law  (law@cygnus.com)
2590
2591         * varasm.c (asm_output_bss): Add prototype.
2592         (asm_output_aligned_bss): Likewise.
2593
2594         * unroll.c (verify_addresses): Add prototype.
2595
2596         * toplev.c: Add many prototypes.  Too many to mention here.
2597
2598         * stmt.c (check_seenlabel): Add prototype.
2599
2600         * rtlanal.c (reg_set_p_1): Add prototype.
2601         (reg_set_last_1): Likewise.
2602
2603         * reorg.c (find_dead_or_set_registers): Add prototype.
2604
2605         * regmove (try_auto_increment): Add prototype.
2606
2607         * reg-stack.c (pop_stack): Add prototype.
2608
2609         * recog.c (validate_replace_rtx_1): Add prototype.
2610         (find_cosntant_term_loc): Likewise.
2611
2612         * loop.c (regs_patch_p): Add prototype.
2613         (add_label_notes, count_nonfixed_reads): Likewise.
2614         (find_single_use_in_loop): Likewise.
2615         (express_from): Surround prototype with #ifdef.
2616         (giv_sort): Similarly.
2617
2618         * jump.c (mark_modified_reg): Add prototype.
2619
2620         * haifa-sched.c (is_prisky): Add prototype.
2621         (queue_to_ready): Likewise.
2622
2623         * genextract.c (gen_insn): Add prototype.
2624
2625         * genemit.c (max_operand_1): Add prototype.
2626         (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
2627         (gen_expand, gen_explit, output_add_clobbers): Likewise.
2628         (output_init_mov_optab): Likewise.
2629
2630         * genattrtab.c (attr_hash_add_rtx): Add prototype.
2631         (attr_hash_add_string, write_length_unit_log): Likewise.
2632
2633         * genattr.c (init_range): Add prototype.
2634
2635         * combine.c (sets_function_arg_p): Add prototype.
2636
2637         * expr.c (store_constructor_field): Add prototype.
2638         (get_memory_usage_from_modifier): Likewise
2639
2640         * expmed.c (synth_mult): Add prototype.
2641         (choose_multiplier, invert_mod2n): Likewise.
2642
2643         * except.c (push_eh_entry): Add prototype.
2644         (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
2645         (call_get_eh_context, start_dynamic_cleanup): Likewise.
2646         (start_dynamic_handler, can_throw): Likewise.
2647         (output_exception_table_entry, scan_region): Likewise.
2648         (eh_regs, set_insn_eh_region): Likewise.
2649
2650         * dwarfout.c (decl_class_context): Add prototype.
2651         (output_inheritance_die, type_ok_for_scope): Likewise.
2652
2653         * c-lex.c (skip_white_space_on_line): Add prototype.
2654
2655         * alias.c (record_set): Add prototype.
2656         (find_base_term, base_alias_check): Likewise.
2657
2658         * function.c (assign_outer_stack_local): Make static and add prototype.
2659
2660         * haifa-sched.c (build_control_flow): Accept raw data as inputs
2661         instead of computing it locally.  Callers changed.
2662         (find_rgns): Several new arguments.  Callers changed.
2663         Generally clean up and comment better.  Use dominators to
2664         identify reducible loops.  Convert some flag arrays to bitmaps.
2665         Convert most of the code to work on pred/succ lists instead of
2666         an edge table.  Add comments for future improvements.
2667         (schedule_insns): Allocate temporary tables for flow data, call
2668         routines to compute flow data and pass it along to children as
2669         arguments.
2670         (debug_control_flow): Delete.  Use dump_bb_data instead.
2671
2672         * basic-block.h (compute_dominators): Declare.
2673
2674         * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
2675         functions.
2676         * basic-block.h: Declare them.
2677
2678 Thu Apr 16 13:45:51 1998  Jim Wilson  <wilson@cygnus.com>
2679
2680         * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
2681         no operands.
2682
2683 Wed Apr 15 11:33:09 1998  Alexandre Petit-Bianco  <apbianco@sendai.cygnus.com>
2684
2685         * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
2686         Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
2687         node is non NULL. Cache last file name and file name identifier node.
2688
2689 1998-04-15  Mark Mitchell  <mmitchell@usa.net>
2690
2691         * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
2692         the length of an array, not TREE_TYPE.
2693
2694 Wed Apr 15 15:31:34 1998  Jeffrey A Law  (law@cygnus.com)
2695
2696         * flow.c (sbitmap_union_of_successors):  New function.
2697         * basic-block.h (sbitmap_union_of_successors): Declare it.
2698
2699 Wed Apr 15 12:38:03 1998  Jim Wilson  <wilson@cygnus.com>
2700
2701         * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
2702         Set gnu_ld to gnu_ld_flag inside main loop.
2703         (gas): Likewise.
2704
2705 Wed Apr 15 14:50:05 1998  Dave Brolley  <brolley@cygnus.com>
2706
2707         * toplev.c (compile_file): Call init_parse using new interface.
2708         (init_lex): Remove declaration.
2709
2710         * c-lex.c (init_parse): Now returns char* containing filename.
2711
2712 Wed Apr 15 12:37:10 1998  Jeffrey A Law  (law@cygnus.com)
2713
2714         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
2715
2716 Wed Apr 15 12:10:18 1998  Michael Meissner  <meissner@cygnus.com>
2717
2718         * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
2719         (gen{extract,peep,opinit,output}): Ditto.
2720
2721         * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
2722         global definition so print-rtl.o can be linked in.
2723         * gen{peep,recog}.c (insn_attr_name): Ditto.
2724
2725 Tue Apr 14 07:30:57 1998  K. Richard Pixley  <rich@kyoto.noir.com>
2726
2727         * fixincludes: discard empty C++ comments, as found in sys/time.h
2728         on hpux-11.0.
2729
2730 Wed Apr 15 10:47:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2731
2732         * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
2733         operand.
2734
2735 Wed Apr 15 01:21:21 1998  Jeffrey A Law  (law@cygnus.com)
2736
2737         * emit-rtl.c (operand_subword): Rework slightly to avoid
2738         bogus warning from previous change.
2739
2740 Tue Apr 14 23:39:13 1998  Richard Henderson  <rth@cygnus.com>
2741
2742         * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
2743         Nov 8 find_replacement change.  Move decls of get_unaligned_address
2744         * alpha.h: ... here.
2745
2746 Tue Apr 14 22:00:39 1998  John Carr <jfc@mit.edu>
2747
2748         * function.c (assign_parms): Initialize unsignedp before passing
2749         its pointer to promote_mode.
2750
2751         * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
2752         (write_test_expr): Allow MATCH_INSN.
2753
2754 Tue Apr 14 21:57:57 1998  Paul Eggert <eggert@twinsun.com>
2755
2756         * install.texi: Update section on warnings that can be safely ignored.
2757
2758 Tue Apr 14 14:55:16 1998  Jim Wilson  <wilson@cygnus.com>
2759
2760         * mips.md (reload_outdi): Change the scratch mode from DImode to
2761         TImode.  New variable scratch, used instead of operand[2] in template.
2762         Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
2763
2764 Tue Apr 14 16:19:03 1998  Michael Meissner  <meissner@cygnus.com>
2765
2766         * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
2767
2768 Tue Apr 14 11:31:28 1998  Krister Walfridsson <cato@df.lth.se>
2769
2770         * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
2771
2772 Tue Apr 14 09:02:32 1998  Jeffrey A Law  (law@cygnus.com)
2773
2774         * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
2775         (ASM_FINISH_DECLARE_OBJECT): Likewise.
2776
2777         * Idea and part of the patch from HJ.
2778         * Makefile.in: auto-host.h renamed from auto-config.h.  All references
2779         changed.
2780         (distclean): Remove auto-build.h too.
2781         * configure.in: Rename host autoconf generated file to auto-host.h.
2782         If host != build, then run autoconf to generate auto-build.h for
2783         the build machine and include it in build_xm_files.
2784         Check for wait.h and sys/wait.h.
2785
2786         * combine.c (simplify_rtx, case TRUNCATE): Respect value of
2787         TRULY_NOOP_TRUNCATION.
2788
2789 Mon Apr 13 11:31:49 1998  Jason Merrill  <jason@yorick.cygnus.com>
2790
2791         * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
2792
2793 Sun Apr 12 20:55:32 1998  Catherine Moore <clm@cygnus.com>
2794
2795         * invoke.texi (ld options)  Include memset requirements
2796         for options -nodstdlib and -nodefaultlibs.
2797
2798 1998-04-12  Paul Eggert  <eggert@twinsun.com>
2799
2800         This change is from an idea suggested by Arthur David Olson.
2801
2802         * c-common.c (decl_attributes, record_function_format,
2803         check_format_info, init_function_format_info):
2804         Add support for strftime format checking.
2805         (enum format_type): New type.
2806         (record_function_format): Now static, and takes value of type
2807         enum format_type instead of int.
2808         (time_char_table): New constant.
2809         (struct function_format_info): format_type member renamed from is_scan.
2810         (check_format_info): Use `warning' rather than sprintf followed by
2811         `warning', to avoid mishandling `%' in warnings.
2812         Change `pedwarn' to `warning', since these warnings do not necessarily
2813         mean the program does not conform to the C Standard, as the code
2814         need not be executed.
2815
2816         * c-tree.h (record_function_format): Remove decl; no longer extern.
2817
2818         * extend.texi: Add documentation for strftime format checking.
2819
2820 Sun Apr 12 20:23:03 1998  Jeffrey A Law  (law@cygnus.com)
2821
2822         * mips/ecoffl.h: Do not include mips.h.
2823         * mips/elf.h: Likewise.
2824
2825         * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
2826         * mips/ecoff.h: Include "mips/mips.h".
2827
2828 Sat Apr 11 22:42:54 PDT 1998 Jeff Law  (law@cygnus.com)
2829
2830         * version.c: Bump for snapshot.
2831
2832 Sat Apr 11 01:24:28 1998  Jeffrey A Law  (law@cygnus.com)
2833
2834         * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
2835         (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
2836         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns              instead of delete_dead_from_cse.  Also call delete_trivially_dead_insns
2837         between loop optimization passes.
2838         * rtl.h: Updated appropriately.
2839
2840 Fri Apr 10 22:28:32 1998  Jeffrey A Law  (law@cygnus.com)
2841
2842         Reinstall this patch from Jason.
2843         * function.c (push_function_context_to): Don't call init_emit.
2844
2845 Fri Apr 10 13:40:20 1998  Nick Clifton  <nickc@cygnus.com>
2846
2847         * rtl.c (read_skip_spaces): Prevent infinite loops upon
2848         encountering unterminated comments.
2849
2850 Fri Apr 10 10:43:41 1998  Jeffrey A Law  (law@cygnus.com)
2851
2852         * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
2853         64x32 cross builds.
2854
2855         * configure.in: Handle --with-fast-fixincludes.
2856         (fixincludes): If --with-fast-fixincludes, then use a different
2857         fixincludes program by default.
2858         * Makefile.in (fixinc.sh): New rule.
2859
2860 Fri Apr 10 00:36:31 1998  H.J. Lu  (hjl@gnu.org)
2861
2862         * i386.md (movqi+1): Handle invalid QI register.
2863         (movsf_push-1): Likewise.
2864
2865 Thu Apr  9 16:53:59 1998  Nick Clifton  <nickc@cygnus.com>
2866
2867         * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
2868         addresses.
2869         symbolic_memort_operand(), call32_operand(), int8_operand(),
2870         int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
2871         Not used.
2872         uint16_operand(): Made static.
2873
2874 Thu Apr  9 01:43:04 1998  Jeffrey A Law  (law@cygnus.com)
2875
2876         * calls.c (expand_call): Fix typo.
2877
2878 Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
2879
2880         * c-lex.c (finput): New global.
2881         (init_parse): Always included.  Handle !USE_CPPLIB using
2882         code originally in compile_file.
2883         (finish_parse): Update for CPPLIB.
2884         * toplev.c (init_parse, finish_parse): Declare.
2885         (finput): Delete variable.  Now in front-ends.
2886         (compile_file): Remove code which is now handled by init_parse
2887         which is unconditionally called.  Similarly for finish_parse.
2888
2889 Wed Apr  8 23:13:50 1998  Gavin Koch  <gavin@cygnus.com>
2890
2891         * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
2892         ASM_WEAKEN_LABEL): Add.
2893
2894 Wed Apr  8 18:21:30 1998  Richard Henderson  <rth@cygnus.com>
2895
2896         * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
2897         * configure.in (alpha-*-linux*): Use them.
2898
2899 Fri Apr  3 17:02:13 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
2900
2901         * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
2902         * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
2903         COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
2904         (build_expr_wfl): New prototype declaration.
2905         * tree.c (build_expr_wfl): New function, to build
2906         EXPR_WITH_FILE_LOCATION nodes.
2907         (copy_node): Don't zero TREE_CHAIN if copying a
2908         EXPR_WITH_FILE_LOCATION node.
2909         * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
2910         * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
2911
2912 Wed Apr  8 12:51:19 1998  Jeffrey A Law  (law@cygnus.com)
2913
2914         * configure.in (v850): Use t-v850.
2915         (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
2916
2917         * protoize.c (creat, read, write): Do not declare.
2918
2919         * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
2920         refer to the CODE_LABEL before a dispatch table.
2921
2922         * invoke.texi: Add ARC options.
2923
2924         * gcc.c (proces_command): Improve error message for -o with
2925         either -c or -S.
2926
2927         * i386/x-cygwin32 (CLIB): Link in advapi32.
2928
2929         * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
2930         (ASM_IDENTIFY_LANGUAGE): Likewise.
2931
2932         * i386.md (movqi recognizer): Don't perfom byte increment into
2933         a NON_QI_REG_P.
2934
2935         * configure.in (x86-dg-dgux): Run fixinc.dgux.
2936
2937         * i370.h: Fix typo in GEN_INT changes.
2938
2939         * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
2940         of an empty arglist in prototype.
2941
2942         * Makefile.in: Remove bytecode crud that crept back in after the
2943         gcc2 merge.
2944
2945 1998-04-08  Brendan Kehoe  <brendan@cygnus.com>
2946
2947         * c-lex.h (is_class_name): Fix arg type to be tree, not void.
2948         (make_pointer_declarator, reinit_parse_for_function): Fix typo.
2949
2950 Wed Apr  8 06:16:45 1998  Richard Earnshaw (rearnsha@arm.com)
2951
2952         * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2953
2954 Wed Apr  8 00:44:18 1998  Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
2955
2956         * c-lex.c (is_class_name): Delete declaration.
2957         (whitespace_cr): Make static and add prototype.
2958         * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
2959         yylex, get_directive_line): Turn declarations into prototypes.
2960         (position_after_whitespace, check_newline, yyerror,, is_class_name,
2961         forget_protocol_qualifiers, remember_protocol_qualifiers): Add
2962         prototypes.
2963         * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
2964         prototypes.
2965         * gencodes.c (gen_insn): Add prototype.
2966         * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
2967         gen_peephole): Add prototypes.
2968         * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
2969         prototypes.
2970         * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
2971         special_format, find_formats, gendecl, genmacro, gendef, genlegend,
2972         genheader, gencode): Add prototypes.
2973         * genopinit.c (gen_insn): Add prototype.
2974         * genoutput.c (output_prologue, output_epilogue, scan_operands,
2975         process_template, validate_insn_alternatives, gen_insn, gen_peephole,
2976         gen_expand, gen_split, n_occurrences): Add prototypes.
2977         * genpeep.c (gen_peephole): Add prototype.
2978         * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
2979         reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
2980         labels_in_range_p, count_loop_regs_set, note_addr_stored,
2981         loop_reg_used_before_p, scan_loop, replace_call_address,
2982         skip_consec_insns, libcall_benefit, ignore_some_movables,
2983         force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
2984         strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
2985         check_final_value, record_giv, update_giv_derive, basic_induction_var,
2986         simplify_giv_expr, general_induction_var, consec_sets_giv,
2987         check_dbra_loop, express_from, combine_givs_p, combine_givs,
2988         product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
2989         last_use_this_basic_block, record_initial, update_reg_last_use,
2990         iteration_info, analyze_loop_iterations, insert_bct,
2991         instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
2992         into prototypes.
2993
2994 Tue Apr  7 21:48:52 1998  Jeffrey A Law  (law@cygnus.com)
2995
2996         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2997
2998 1998-04-07  Ken Raeburn  <raeburn@cygnus.com>
2999
3000         * config/mips/mips.c (siginfo): Deleted.
3001         (override_options): Don't install SIGINFO signal handler.
3002
3003 Tue Apr  7 11:58:04 1998  Jim Wilson  <wilson@cygnus.com>
3004
3005         * loop.c (check_dbra_loop): When normalize comparison_val, add check
3006         to verify it is non-negative.
3007
3008 Tue Apr  7 02:01:47 1998  Richard Henderson  <rth@cygnus.com>
3009
3010         * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
3011         (alpha_expand_block_clear): Likewise.
3012
3013 Mon Apr  6 23:36:01 1998  Richard Henderson  <rth@cygnus.com>
3014
3015         * tree.h (sizetype_tab): Fix previous change for K&R.
3016
3017 Mon Apr 6 22:23:29 PDT 1998 Jeff Law  (law@cygnus.com)
3018
3019         * version.c: Bump for snapshot.
3020
3021 Mon Apr  6 23:16:10 1998  Richard Earnshaw (rearnsha@arm.com)
3022
3023         * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
3024         Add USG and POSIX to xm_defines.
3025
3026 Mon Apr  6 21:49:57 1998  Bob Manson  <manson@charmed.cygnus.com>
3027
3028         * gcc.c: Add linker spec.
3029         (link_command_spec): Use %(linker) instead of ld.
3030         (main): If collect2 is requested as the linker, see if it exists;
3031         if not, use ld instead.
3032
3033         * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
3034         (ld:) Deleted.
3035         (install-collect2): Install as collect2, not ld.
3036
3037         * configure.in(will_use_collect2): It's named collect2 now.
3038
3039         * collect2: Remove checks to see if we were invoked recursively.
3040         (collect_execute): Use _spawnvp under cygwin32.
3041
3042 Mon Apr  6 17:23:41 1998  Jim Wilson  <wilson@cygnus.com>
3043
3044         * haifa-sched.c (build_control_flow): Set unreachable for block whose
3045         only predecessor is itself.
3046
3047 Mon Apr  6 16:08:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3048
3049         * c-parse.in: Include system.h, and remove stuff now made redundant.
3050         * cccp.c: Likewise.
3051         * cexp.y: Likewise.
3052         * protoize.c: Likewise.  Properly check for cpp stringification.
3053
3054         * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
3055         Depend on system.h.
3056
3057         * objc/Make-lang.in (objc-parse.o): Likewise.
3058
3059 Mon Apr  6 14:59:58 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3060
3061         * gansidecl.h: Check if compiler supports __attribute__.  Provide
3062         definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
3063         __attribute__ when its available.  Also provide definitions for
3064         ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
3065         terms of ATTRIBUTE_PRINTF.
3066
3067         * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
3068         of __attribute__.
3069
3070 Mon Apr  6 07:17:52 1998  Catherine Moore  <clm@cygnus.com>
3071
3072         * combine.c (can_combine_p):  Include successor in volatile test.
3073
3074 Mon Apr  6 14:16:33 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3075
3076         * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
3077         offset_unsigned.
3078
3079 Mon Apr  6 02:03:29 1998  Jeffrey A Law  (law@cygnus.com)
3080
3081         * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
3082         in prototype and definition.
3083
3084 Mon Apr 6 00:48:56 PDT 1998 Jeff Law  (law@cygnus.com)
3085
3086         * version.c: Bump for snapshot.
3087
3088 Mon Apr  6 00:08:50 1998  Richard Henderson  <rth@cygnus.com>
3089
3090         * alpha.c (alpha_expand_block_clear): Add missing offset arg to
3091         alpha_expand_unaligned_store_words.
3092
3093 Sun Apr  5 21:31:24 1998  John Wehle  (john@feith.com)
3094
3095         * i386.md (movsf_push, movsf_mem): Remove.
3096         (movsf_push): Rename from movsf_push_nomove and move in front of
3097         movsf.  Use nonmemory_operand predicate and don't bother checking
3098         TARGET_MOVE.
3099         (movsf_push_memory): New pattern.
3100         (movsf): Don't bother checking for push_operand.  If TARGET_MOVE and
3101         both operands refer to memory then force operand[1] into a register.
3102         (movsf_normal): Change to unnamed pattern.
3103         Likewise for movdf, movxf, and friends.
3104
3105 Sun Apr 5 18:45:51 PDT 1998 Jeff Law  (law@cygnus.com)
3106
3107         * version.c: Bump for snapshot.
3108
3109 Sun Apr  5 16:31:10 1998  Richard Henderson  <rth@cygnus.com>
3110
3111         * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
3112
3113 Sun Apr  5 16:53:37 1998  Don Bowman <don@pixsci.com>
3114
3115         * configure.in (mips-wrs-vxworks): New target.
3116
3117 Sat Apr 4 23:34:32 PST 1998 Jeff Law  (law@cygnus.com)
3118
3119         * expmed.c (synth_mult): The value -1, has no zeros, so it can
3120         never have the form ...011.
3121
3122         * version.c: Bump for snapshot.
3123
3124 Sat Apr  4 20:16:46 1998  Richard Henderson  <rth@cygnus.com>
3125
3126         * i386.c (asm_output_function_prefix, load_pic_register):
3127         Use ASM_GENERATE_INTERNAL_LABEL properly.
3128         (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
3129         (print_operand): Ignore it.
3130         (load_pic_register): Use it for the got load call.
3131         * i386.md (prologue_set_got, prologue_get_pc): Likewise.
3132         (prologue_get_pc_and_set_got): Likewise.
3133         * i386.h: Update print_operand docs.
3134
3135 Sat Apr  4 19:08:37 1998  Richard Henderson  <rth@cygnus.com>
3136
3137         * i386.md (ffssi, ffshi): Rewrite as define_expands.
3138         (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
3139         * i386.c (notice_update_cc): Recognize unspec 5.
3140
3141 Sat Apr  4 18:07:16 1998  David Mosberger-Tang  (davidm@mostang.com)
3142
3143         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
3144         * alpha.c (print_operand): Handle it.
3145         * alpha.md (fix_truncsfdi2): Use it.  Add earlyclobber pattern
3146         for ALPHA_TP_INSN.
3147         (fix_truncdfdi2): Likewise.
3148
3149 Sat Apr  4 17:42:05 1998  Richard Henderson  <rth@cygnus.com>
3150
3151         * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
3152         of these into a single struct, with additional [us]sizetype entries.
3153         * stor-layout.c (set_sizetype): Initialize [us]sizetype.
3154         * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
3155         an array.
3156
3157 Sat Apr  4 17:04:41 1998  Richard Henderson  <rth@cygnus.com>
3158
3159         * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
3160
3161 Sat Apr  4 13:50:01 1998  Richard Henderson  <rth@cygnus.com>
3162
3163         * haifa-sched.c (split_block_insns): Don't supress insn splitting
3164         on subsequent passes.
3165
3166         * alpha.c (hard_fp_register_operand): New function.
3167         * alpha.h (PREDICATE_CODES): Add it.
3168         * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case.  Add an
3169         f<-m case and accompanying define_split.
3170         (trapb): Use a unique unspec_volatile number.
3171
3172 Sat Apr  4 13:32:08 1998  Richard Henderson  <rth@cygnus.com>
3173
3174         * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
3175         from gcc2 merge.
3176
3177 Sat Apr  4 10:23:41 1998  Jeffrey A Law  (law@cygnus.com)
3178
3179         * Check in merge from gcc2.  See ChangeLog.11 and ChangeLog.12
3180         for details.
3181
3182         * haifa-sched.c: Mirror recent changes from gcc2.
3183
3184 Fri Apr  3 00:17:01 1998  Jeffrey A Law  (law@cygnus.com)
3185
3186         * Makefile.in (insn*.o): Depend on system.h.
3187
3188         * pa.c (output_global_address): Initialize base.
3189         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
3190
3191 1998-04-03  Mike Stump  <mrs@wrs.com>
3192
3193         * gthr.h: Support systems that don't have weak, but have threads.
3194         * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
3195         * gthr-vxworks.h: New file.
3196         * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
3197
3198 Thu Apr  2 18:00:52 1998  Jim Wilson  <wilson@cygnus.com>
3199
3200         * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
3201
3202 1998-04-02  Vladimir N. Makarov  <vmakarov@cygnus.com>
3203
3204         * ginclude/va-i960.h (va_end): Change void * to void.
3205
3206 Thu Apr  2 13:51:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3207
3208         * Makefile.in (choose-temp.o): Depend on system.h.
3209
3210         * choose-temp.c: Include system.h when IN_GCC.
3211
3212 Thu Apr  2 02:37:07 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
3213                           Richard Henderson  <rth@cygnus.com>
3214
3215         * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
3216         (move_replacements): New function.
3217         * reload.h: Prototype it.
3218
3219         * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
3220
3221 Thu Apr  2 01:01:34 1998  Richard Henderson  <rth@cygnus.com>
3222
3223         * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
3224         Run fixincludes.
3225
3226         * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
3227         (gen_highpart): Likewise.
3228         * final.c (alter_subreg): Allow the target to hook by-mode subreg
3229         hard register number changes.
3230
3231 Wed Apr  1 22:26:22 1998  Jeffrey A Law  (law@cygnus.com)
3232
3233         * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
3234         rnbitsize, rnmode and rinner.
3235         (make_range): Initialize type.
3236         (fold): Initialize arg0, arg1 and varop.
3237
3238         * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
3239         and regnor.
3240         (expand_function_start): Initialize last_ptr.
3241
3242         * stor-layout.c (layout_record): Initialize desired_align.
3243         (get_best_mode): Initialize unit.
3244
3245         * tree.c (copy_node): Initialize length.
3246
3247         * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
3248
3249         * caller-save.c (insert_save_restore): Initialize pat, code and
3250         numregs.
3251
3252         * emit-rtl.c (push_to_sequence): Initialize top.
3253         (push_topmost_sequence): Likewise.
3254
3255         * genattrtab.c (simplify_by_exploding): Initialize defval.
3256
3257         * profile.c (branch_prob): Initialize dest.
3258
3259         * rtl.h (note_stores): Remove duplicate prototype.
3260         (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
3261
3262         * cplus-dem.c (gnu_special): Don't get confused by .<digits>
3263         strings that are not actually lengths.
3264
3265         * genattrtab.c: Make generated file use system.h, instead of
3266         including stdio.h, etc directly.
3267         * genextract.c, genopinit.c, genoutput.c: Likewise.
3268         * genpeep.c, genrecog.c: Likewise
3269
3270         * genoutput.c (process_template): Mark operands in the generated
3271         function as potentially unused if compiling with GNU CC.
3272
3273         * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
3274
3275         * pa.md (reload peepholes): Remove unused variable "mode".
3276
3277 Wed Apr  1 17:06:19 1998  Nick Clifton  <nickc@cygnus.com>
3278
3279         * config/arm/thumb.h: Add super interworking support.
3280         * config/arm/thumb.c: Add super interworking support.
3281         * config/arm/thumb.md: Add super interworking support.
3282         * config/arm/lib1funcs.asm: Add interworking support.
3283         * config/arm/lib1thumb.asm: Add super interworking support.
3284         * config/arm/t-semi: Add interworking support.
3285         * config/arm/t-thumb: Add interworking support.
3286         * config/arm/README-interworking: New file.
3287
3288 Wed Apr  1 14:38:10 1998  Jim Wilson  <wilson@cygnus.com>
3289
3290         * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
3291         (MD_STARTFILE_PREFIX): Unset.
3292
3293 1998-04-01  Mark Mitchell  <mmitchell@usa.net>
3294
3295         * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
3296         entity in a local scope.
3297
3298         * fold-const.c (fold): Call truthvalue_conversion for values which
3299         are folded to boolean type.
3300
3301 Wed Apr  1 06:09:53 1998  Jeffrey A Law  (law@cygnus.com)
3302
3303         * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
3304         * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
3305         * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
3306         * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
3307         * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
3308         * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
3309         * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
3310         * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
3311         * md.texi: Likewise.
3312
3313 Wed Apr  1 08:33:44 1998  Manfred Hollstein  <manfred@s-direktnet.de>
3314
3315         * fixincludes (limits.h): Fix nested comments in Motorola's
3316         limits.h and sys/limits.h.
3317
3318 Tue Mar 31 16:57:33 1998  Jim Wilson  <wilson@cygnus.com>
3319
3320         * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
3321         as dest of expand_binop call.
3322
3323         * alpha.md (extzv): Correct check for valid operand[2] values.
3324
3325         * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
3326         branch.
3327
3328         * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
3329
3330 Mon Mar 30 13:11:05 1998  Stan Cox  <scox@cygnus.com>
3331
3332         * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
3333         For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
3334
3335         * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
3336         cygwin32 can override this to allow both unix and win32 style PATHs.
3337
3338         * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
3339         style environment paths.
3340
3341 Mon Mar 30 14:43:20 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3342
3343         * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
3344         cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
3345         gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
3346         system.h.
3347
3348         * cpphash.c: Include config.h.
3349         * cppalloc.c: Include system.h.  Add parameters to various
3350         function prototypes.
3351         * cpperror.c: Likewise.
3352         * cppexp.c: Likewise.
3353         * cpphash.c: Likewise.
3354         * cpplib.c: Likewise.
3355         * cppmain.c: Likewise.
3356         * fix-header.c: Likewise.
3357         * gcov.c: Likewise.
3358         * gen-protos.c: Likewise.
3359         * gengenrtl.c: Likewise.
3360         * halfpic.c: Likewise.
3361         * hash.c: Likewise.
3362         * scan-decls.c: Likewise.
3363         * scan.c: Likewise.
3364
3365 Mon Mar 30 11:06:45 1998  Jim Wilson  <wilson@cygnus.com>
3366
3367         * README.gnat: Add lang_print_xnode definition.
3368
3369 Mon Mar 30 11:12:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3370
3371         * config/m68k/m68k.c (standard_68881_constant_p): Don't use
3372         fmovecr on the 68060.
3373
3374 Mon Mar 30 00:21:03 1998  Jeffrey A Law  (law@cygnus.com)
3375
3376         * genemit.c (DONE): Rework so that it works in the true arm if
3377         an if-else conditional.
3378         (FAIL): Likewise.
3379
3380 Sun Mar 29 12:45:23 1998  Jeffrey A Law  (law@cygnus.com)
3381
3382         * rs6000.c: Do not include stdioh or ctype.h anymore.
3383
3384         * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
3385         $(RTL_H).
3386         (stor-layout.o): Likewise.
3387         * c-typeck.c: Include rtl.h and expr.h.
3388         * stor-layout.c: Likewise.
3389
3390         * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
3391         All callers changed.
3392         (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
3393         * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
3394         All callers changed.
3395
3396         * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
3397
3398         * local-alloc.c (reg_classes_overlap_p): Delete dead function.
3399
3400         * tree.h (lang_print_xnode): Provide prototype.
3401
3402 Sat Mar 28 23:50:44 PST 1998 Jeff Law  (law@cygnus.com)
3403
3404         * version.c: Bump for snapshot.
3405
3406 Sun Mar 29 00:42:21 1998  Jeffrey A Law  (law@cygnus.com)
3407
3408         * objc/sendmsg.c (__objc_block_forward): Add braces for return
3409         value if INVISIBLE_STRUCT_RETURN.
3410
3411         * pa.c (arith_double_operand): Fix parens.
3412
3413         * haifa-sched.c (print_pattern): Correct arg to sprintf.
3414
3415         * Makefile.in (libgcc1.null): Make return type for __foo void.
3416
3417 Sat Mar 28 14:37:20 1998  Jeffrey A Law  (law@cygnus.com)
3418
3419         * pa.h: Add declarations for many functions defined in pa.c.
3420
3421         * genpeep.c (main): Remove unused variable 'i' from the generated
3422         file.
3423
3424         * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
3425         (gen_split): Likewise.
3426         (main): Rework generated definitions of DONE and FAIL so that they
3427         no longer use gotos.  Avoids warnings about unused labels.
3428
3429         * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
3430         unused "junk" variable.
3431
3432         * genattrtab.c (write_complex_function): Add a default case in
3433         generated switch statement to keep -W -Wall quiet.
3434
3435 Sat Mar 28 10:47:21 1998  Nick Clifton  <nickc@cygnus.com>
3436
3437         * invoke.texi: Document more ARM and Thumb command line options.
3438
3439         * config/arm/xm-thumb.h: New file.
3440
3441 Sat Mar 28 01:37:33 1998  Craig Burley  <burley@gnu.ai.mit.edu>
3442
3443         * stmt.c (expand_expr_stmt): Must generate code for
3444         statements within an expression (gcc's `({ ... )}')
3445         even if -fsyntax-only.
3446
3447 Sat Mar 28 01:06:12 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
3448                           Jeffrey A Law  (law@cygnus.com)
3449
3450         * basic-block.h (basic_block_computed_jump_target): Declare.
3451         * flags.h: (current_function_has_computed_jump): Declare.
3452         * flow.c: (basic_block_computed_jump_target): Define.
3453         (flow_analysis): Allocate it. Set current_function_has_computed_jump
3454         to 0.
3455         (find_basic_blocks): Set current_function_has_computed_jump and
3456         elements of basic_block_computed_jump_target to 1 as appropriate.
3457         * function.c: (current_function_has_computed_jump): Define.
3458         * global.c (global_conflicts): Don't allocate pseudos into stack regs
3459         at the start of a block that is reachable by a computed jump.
3460         * reg-stack.c (stack_reg_life_analysis): If must restart, do so
3461         immediately.
3462         (subst_stack_regs): Undo change from Sep 4 1997.
3463         (uses_reg_or_mem): Now unused, deleted.
3464         * stupid.c (stupid_life_analysis): Compute
3465         current_function_has_computed_jump.
3466         (stupid_find_reg): Don't allocate stack regs if the function has a
3467         computed goto.
3468         * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
3469         the current function has a computed jump.  Use the global value
3470         instead.
3471
3472 Sat Mar 28 00:21:37 1998  Jeffrey A Law  (law@cygnus.com)
3473
3474         * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
3475         (DWARF2_UNWIND_INFO): Define to zero.
3476
3477 Fri Mar 27 16:04:49 1998  Michael Meissner  <meissner@cygnus.com>
3478
3479         * gcc.c (set_std_prefix): Add declaration.
3480         (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
3481         suffix, and update the standard prefix prefix.c uses.
3482
3483         * prefix.c (std_prefix): New global to hold default prefix value.
3484         (get_key_value): Change to use std_prefix instead of PREFIX.
3485         (translate_name): Ditto.
3486         (update_path): Ditto.
3487         (get_key_value): Release allocated scratch storage.
3488         (set_std_prefix): New function to reset the standard prefix.
3489
3490 Fri Mar 27 18:08:21 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3491
3492         * sh.c (find_barrier): Fix calculations for alignment increase.
3493
3494 Fri Mar 27 08:56:52 1998  Manfred Hollstein  <manfred@s-direktnet.de>
3495
3496         * Makefile.in (stmp-fixinc): If we're actually fixing include
3497         files, copy gcc's assert.h into the fixed include dir.
3498         * fixincludes (assert.h): Avoid any attempts to fix a probably
3499         broken system specific assert.h file.
3500         * fixproto (stdlib.h): Make sure, it'll contain a definition of
3501         size_t.
3502
3503 Fri Mar 27 00:49:46 1998  Jeffrey A Law  (law@cygnus.com)
3504
3505         * regclass.c (reg_scan_mark_refs): Be more selective about
3506         when we mark a register with REGNO_POINTER_FLAG.
3507
3508 Thu Mar 26 23:00:11 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3509
3510         reload inheritance improvement:
3511         * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
3512         Change meaning: index is now hard reg number.
3513         (reg_reloaded_valid, reg_reloaded_dead): New variables.
3514         (reload_spill_index): Content is now a hard reg number.
3515         (reload_as_needed): Change to fit new variable meaning.
3516         (forget_old_reloads_1, allocate_reload_reg): Likewise.
3517         (choose_reload_regs, emit_reload_insns): Likewise.
3518
3519 Thu Mar 26 18:34:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3520
3521         * regclass.c (record_reg_classes): '?' increases cost by two.
3522
3523         * reload.c (find_reloads): Double previous costs.  Output
3524         reloads cost one unit extra.
3525
3526         * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
3527         boiled down to && ! 0.
3528
3529         * reload.c (find_equiv_reg): Also consider a goal offset from the
3530         frame pointer to be constant.
3531
3532 Thu Mar 26 17:34:46 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3533
3534         * sh.h (OPTIMIZATION_OPTIONS): Define.
3535
3536 Thu Mar 26 00:19:47 1998  Richard Henderson  <rth@cygnus.com>
3537
3538         * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
3539
3540 Wed Mar 25 23:53:11 1998  Jeffrey A Law  (law@cygnus.com)
3541
3542         * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
3543
3544 Wed Mar 25 13:40:48 1998  Jim Wilson  <wilson@cygnus.com>
3545
3546         * c-common.c (check_format_info): Initialize type, is_type.  New local
3547         integral_format.  Don't warn for 'L' when pedantic.  Do warn for 'L'
3548         when pedantic if used with integral format specifier.
3549
3550 Wed Mar 25 16:09:01 1998  Michael Meissner  <meissner@cygnus.com>
3551
3552         * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
3553         direction.
3554         (function_arg_padding): Declare.
3555
3556         * rs6000.c: Include system.h.
3557         (function_arg_padding): Change return type to int, cast enum's to
3558         int.
3559
3560         (From Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>)
3561         * collect2.c (scan_prog_file): Add explicit braces to avoid
3562         ambiguous `else'.
3563
3564         * dbxout.c (dbxout_type_fields): Add braces around empty body in
3565         an if-statement.
3566         (dbxout_type): Likewise.
3567
3568         * rs6000.c (rs6000_override_options): Change type of `i', `j' and
3569         `ptt_size' from int to size_t.
3570         (rs6000_file_start): Likewise for `i'.
3571         (rs6000_replace_regno): Add default case in enumeration switch.
3572         (output_epilog): Remove unused variable `i'.
3573         (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
3574         and `reg2'.
3575
3576         * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
3577         initializer.
3578         (get_issue_rate, non_logical_cint_operand): Add prototype.
3579         (rs6000_output_load_toc_table): Ditto.
3580
3581         * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
3582         `else'.
3583
3584 Wed Mar 25 10:05:19 1998  Nick Clifton  <nickc@cygnus.com>
3585
3586         * config/arm/thumb.c: New File.  Support for ARM's Thumb
3587         instruction set.
3588         * config/arm/thumb.h: New File.  Thumb definitions.
3589         * config/arm/thumb.md: New File.  Thumb machine description.
3590         * config/arm/tcoff.h: New File.  Thumb COFF support.
3591         * config/arm/t-thumb: New File.  Thumb makefile fragment.
3592         * config/arm/lib1thumb.asm: New File.  Thumb libgcc support functions.
3593
3594         * configure.in: Add Thumb-coff target.
3595         * configure: Add Thumb-coff target.
3596         * config.sub: Add Thumb-coff target.
3597
3598 Wed Mar 25 10:30:32 1998  Jim Wilson  <wilson@cygnus.com>
3599
3600         * loop.c (scan_loop): Initialize move_insn_first to zero.
3601
3602 Wed Mar 25 01:06:49 1998  Joel Sherrill (joel@OARcorp.com)
3603
3604         * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
3605         * config/i386/rtems.h: Likewise.
3606         * config/i960/rtems.h: Likewise.
3607         * config/m68k/rtems.h: Likewise.
3608         * config/mips/rtems64.h: Likewise.
3609         * config/pa/rtems.h: Likewise.
3610         * config/rs6000/rtems.h: Likewise.
3611         * config/sh/rtems.h: Likewise.
3612         * config/sparc/rtems.h: Likewise.
3613
3614 Wed Mar 25 00:57:26 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3615
3616         * pa.c (emit_move_sequence): If in reload, call find_replacement.
3617
3618 Tue Mar 24 10:44:11 1998  Nick Clifton  <nickc@cygnus.com>
3619
3620         * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
3621
3622         * collect2.c (find_a_file): Add debugging.
3623         (find_a_file): Test for win32 style absolute paths if
3624         DIR_SERPARATOR is defined.
3625         (prefix_from_string): Add debugging.
3626         (main): Test for debug command line switch at start of program
3627         execution.
3628         (main): Use GET_ENVIRONMENT rather than getenv().
3629         (prefix_from_env): Use GET_ENVIRONMENT.
3630
3631 1998-03-24  Mark Mitchell  <mmitchell@usa.net>
3632
3633         * cplus-dem.c (optable): Add sizeof.
3634         (demangle_template_value_parm): New function containing code
3635         previously found in demangle_template.
3636         (demangle_integral_value): New function which handles complicated
3637         integral expressions.
3638         (demangle_template): Use them.
3639
3640 Tue Mar 24 12:13:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3641
3642         * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
3643         genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
3644         genattrtab.o, genoutput.o): Depend on system.h.
3645
3646         * genattr.c: Include system.h.  Add arguments to various function
3647         prototypes.  Remove redundant prototype of read_rtx().
3648         * genattrtab.c: Likewise.
3649         * gencodes.c: Likewise.
3650         * genconfig.c: Likewise.
3651         * genemit.c: Likewise.
3652         * genextract.c: Likewise.
3653         * genflags.c: Likewise.
3654         * genopinit.c: Likewise.
3655         * genoutput.c: Likewise.
3656         * genpeep.c: Likewise.
3657         * genrecog.c: Likewise.
3658
3659 1998-03-24  Martin von Loewis  <loewis@informatik.hu-berlin.de>
3660
3661         * c-lang.c (lang_print_xnode): New function.
3662         * objc/objc-act.c (lang_print_xnode): Likewise.
3663         * print-tree.c (print_node): Call it
3664
3665 Mon Mar 23 23:59:11 1998  H.J. Lu  (hjl@gnu.org)
3666
3667         * c-parse.in: Recognize protocol qualifiers in class
3668         definitions for objc.
3669         Include "output.h".
3670         (yyerror): Remove redundant decl.
3671         (yyprint): Fix prototype.
3672
3673 Mon Mar 23 23:49:47 1998  Jeffrey A Law  (law@cygnus.com)
3674
3675         * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
3676
3677         * stmt.c (unroll_block_trees): Free block_vector if needed.
3678
3679 Mon Mar 23 23:26:42 1998  Philippe De Muyter  <phdm@macqel.be>
3680
3681         * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
3682         (zero_extendsidi2): Avoid useless copy.
3683         (iordi_zext): New pattern.
3684         (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
3685         operand 2.
3686         (iorsi_zext): New name for old unnamed pattern; indentation fixes.
3687
3688         * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
3689         (ashldi3): Allow constant shift count in range ]32,63].
3690         (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
3691
3692 1998-03-22  Mark Mitchell  <mmitchell@usa.net>
3693
3694         * tree.h (IS_EXPR_CODE_CLASS): New macro.
3695
3696 Mon Mar 23 23:18:48 1998  Jeffrey A Law  (law@cygnus.com)
3697
3698         * h8300.h (CONST_COSTS): Remove definition.
3699         (DEFAULT_RTX_COSTS): Define.
3700
3701 Mon Mar 23 22:58:22 1998  Joel Sherrill (joel@OARcorp.com)
3702
3703         * config/sh/rtems.h: Switched from ELF to COFF.
3704
3705 Mon Mar 23 14:14:20 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3706
3707         * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
3708
3709 Sat Mar 21 23:52:56 PST 1998 Jeff Law  (law@cygnus.com)
3710
3711         * version.c: Bump for snapshot.
3712
3713 Sun Mar 22 00:50:42 1998  Nick Clifton  <nickc@cygnus.com>
3714                           Geoff Noer    <noer@cygnus.com>
3715
3716         * Makefile.in: Various fixes for building cygwin32 native toolchains.
3717
3718         * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
3719         * objc/Make-lang.in: Likewise.
3720
3721         * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
3722
3723 Sun Mar 22 00:21:46 1998  R. Ganesan  <rganesan@novell.com>
3724
3725         * configure.in: Handle with-PACKAGE=no correctly
3726
3727 Fri Mar 20 17:36:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3728
3729         * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
3730         c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
3731         caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
3732         dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
3733         expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
3734         integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
3735         prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
3736         reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
3737         rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
3738         tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
3739         on system.h.
3740
3741         * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
3742         c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
3743         caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
3744         dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
3745         expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
3746         integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
3747         prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
3748         reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
3749         rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
3750         stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
3751         xcoffout.c: Include system.h.  Organize include ordering so
3752         that stdarg/varargs comes before other system headers.  Remove
3753         spurious casts of functions assured of a prototype in system.h.
3754
3755 Fri Mar 20 11:19:40 1998  Stan Cox  <scox@equinox.cygnus.com>
3756
3757         * reg-stack.c (pop_stack): Define. Pops any register on the
3758         regstack and adjusts regstack.
3759         (compare_for_stack_reg): Use pop_stack.
3760
3761 Thu Mar 19 23:51:01 1998  Jeffrey A Law  (law@cygnus.com)
3762
3763         * configure.in (hppa1.0-hp-hpux10): Handle threads for this
3764         config too.
3765
3766 Thu Mar 19 20:30:31 1998  Philippe De Muyter  <phdm@macqel.be>
3767
3768         * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
3769
3770         * fold-const.c (fold): Replace sign-extension of a zero extended
3771         value by a single zero extension.
3772
3773 Thu Mar 19 00:58:07 1998  Jason Merrill  <jason@yorick.cygnus.com>
3774
3775         * except.c (init_eh): Do nothing.
3776         (save_eh_status): Call init_eh_for_function, not init_eh.
3777         * function.c (push_function_context_to): Don't call init_emit.
3778
3779 Thu Mar 19 13:39:52 1998  Michael Meissner  <meissner@cygnus.com>
3780
3781         * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
3782         and EABI.
3783
3784 Thu Mar 19 10:10:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3785
3786         * final.c (shorten_branches): Add parentheses around +/- in
3787         operand of &.
3788
3789         * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
3790
3791 Thu Mar 19 09:15:17 1998  Manfred Hollstein  <manfred@s-direktnet.de>
3792
3793         * regclass.c (memory_move_secondary_cost): Wrap uses of
3794         SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
3795         with #ifdef tests.
3796
3797 Thu Mar 19 09:06:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
3798
3799         * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
3800
3801         * flow.c (life_analysis): #include <sys/types.h> to make sure
3802         size_t is defined.
3803         * cplus-dem.c (demangle_function_name): Likewise.
3804
3805 Thu Mar 19 09:00:01 1998  Manfred Hollstein  <manfred@s-direktnet.de>
3806
3807         * final.c (insn_noperands): Change type to unsigned int.
3808         (final_scan_insn): Likewise for noperands;
3809         properly check operand number boundaries.
3810
3811 Wed Mar 18 16:20:30 1998  Richard Henderson  <rth@cygnus.com>
3812
3813         * alpha.md (extzv): Don't reject register operands.  Fix
3814         mode of operand 1.
3815
3816 Wed Mar 18 16:14:23 1998  Richard Henderson  <rth@cygnus.com>
3817
3818         * dbxout.c (dbxout_function_end): Fix last change.  The correct
3819         predicate is ASM_OUTPUT_SECTION_NAME.
3820
3821 Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
3822
3823         * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
3824         (ashlsi): Use match_dup 1 instead of match_operand 2.
3825
3826 Wed Mar 18 13:46:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3827
3828         * fold-const.c (operand_equal_for_comparison_p): See if equal
3829         when nop conversions are removed.
3830
3831 Wed Mar 18 13:42:01 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3832
3833         * expr.c (expand_expr, case COND_EXPR): If have conditional move,
3834         don't use ORIGINAL_TARGET unless REG.
3835
3836 Wed Mar 18 16:53:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3837
3838         * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
3839
3840 Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
3841
3842         * loop.c (struct movable): New field move_insn_first.
3843         (scan_loop): In consec sets code, set it.  Clear it otherwise.
3844         (move_movables): In consec sets code, use it.  Copy REG_NOTES from
3845         p to i1 only if i1 does not have REG_NOTES.  Delete obsolete ifdefed
3846         out code.
3847
3848 Wed Mar 18 09:52:56 1998  Richard Henderson  <rth@cygnus.com>
3849
3850         * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
3851         is large, and the system doesn't provide atoll or atoq.
3852         (atoll): New.
3853
3854         * alpha/xm-vms.h (HAVE_ATOLL): Define.
3855         Reported by Klaus Kaempf <kkaempf@progis.de>.
3856
3857 Wed Mar 18 09:56:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3858
3859         * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
3860         test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
3861
3862         * calls.c (emit_call_1): Wrap variable `already_popped' with macro
3863         test !ACCUMULATE_OUTGOING_ARGS.
3864
3865         * collect2.c (write_c_file_glob): Wrap function definition in
3866         macro test !LD_INIT_SWITCH.
3867
3868         * combine.c (try_combine): Wrap variables `cc_use' and
3869         `compare_mode' in macro test EXTRA_CC_MODES.
3870
3871         * cpplib.c (do_ident): Remove unused variable `len'.
3872         (skip_if_group): Remove unused variables `at_beg_of_line' and
3873         `after_ident'.
3874         (cpp_get_token): Remove unused variable `dummy'.
3875
3876         * dbxout.c (scope_labelno): Move static variable definition inside
3877         the one function scope where it is used.
3878         (dbxout_function_end): Wrap prototype and definition in
3879         macro test !NO_DBX_FUNCTION_END.
3880
3881         * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
3882         in macro test !MIPS_DEBUGGING_INFO.
3883
3884         * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
3885         into the scope where it is used.  Wrap empty else-statement body
3886         in braces.
3887
3888         * fix-header.c: Fix typo in comment.
3889         (inf_skip_spaces): Cast results of INF_UNGET to (void).
3890         (check_protection, main): Likewise.
3891
3892         * flow.c (find_basic_blocks_1): Remove dangling comment text.
3893
3894         * function.c (contains): Wrap prototype and definition in macro
3895         test HAVE_prologue || HAVE_epilogue.
3896         (fixup_var_refs_1): Remove unused variable `width'.
3897
3898         * gen-protos.c (main): Remove unused variable `optr'.
3899
3900         * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
3901
3902         * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
3903         (__sjpopnthrow): Remove unused variable `jmpbuf'.
3904         (__throw): Remove unused variable `val'.
3905
3906         * protoize.c: Check for a previously existing definition before
3907         defining *_OK macros.
3908
3909         * scan-decls.c (scan_decls): Remove unused variable `old_written'.
3910
3911 Tue Mar 17 00:45:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3912
3913         * vax.h (ADDR_VEC_ALIGN): Define.
3914
3915 Mon Mar 16 15:57:17 1998  Michael Meissner  <meissner@cygnus.com>
3916
3917         * gcc.c (default_arg): Don't wander off the end of allocated
3918         memory.
3919
3920         (From Geoffrey Keating  <geoffk@ozemail.com.au>)
3921         * rs6000.c (small_data_operand): Ensure that any address
3922         referenced relative to the small data area is inside the SDA.
3923
3924 Mon Mar 16 12:55:15 1998  Jim Wilson  <wilson@cygnus.com>
3925
3926         * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
3927
3928 Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
3929
3930         * except.h (in_same_eh_region): New prototype.
3931         (free_insn_eh_region, init_insn_eh_region): New prototypes.
3932         * except.c (insn_eh_region, maximum_uid): New static variables.
3933         (set_insn_eh_region): New static function to set region numbers.
3934         (free_insn_eh_region): New function to free EH region table.
3935         (init_insn_eh_region): New function to initialize EH region table.
3936         (in_same_eh_region): New function used to determine if two rtl
3937         instructions are in the same exception region or not.
3938         * final.c (final): Initialize the table indicating which instructions
3939         belong in which exception region.
3940         * genpeep.c (main): Add "except.h" to include file list in generated
3941         file insn-peep.c.
3942         * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
3943         peepholes involving calls and unconditional branches.
3944
3945 Mon Mar 16 11:16:50 1998  Jim Wilson  <wilson@cygnus.com>
3946
3947         * README.gnat: New file.
3948
3949 Mon Mar 16 11:14:20 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3950
3951         * config/m68k/m68k.c: Include <stdlib.h> for atoi.  Include
3952         "recog.h" for offsettable_memref_p.
3953         (legitimize_pic_address): Remove unused variable `offset'.
3954         (notice_update_cc): Change return type to void.  Add default label
3955         to switch.
3956         (standard_68881_constant_p): Remove unused variable mode.
3957         (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
3958         (const_int_cost): Explicitly declare as returning int.
3959         (output_dbcc_and_branch): Change return type to void.
3960
3961         * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
3962         config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
3963         (...).  Use GEN_INT instead of gen_rtx_CONST_INT.
3964
3965 Sun Mar 15 22:30:44 PST 1998 Jeff Law  (law@cygnus.com)
3966
3967         * version.c: Bump for snapshot.
3968
3969 Fri Mar 13 11:30:12 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3970
3971         * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
3972         check for 'M' constraint.
3973
3974 Thu Mar 12 14:47:14 1998  Jim Wilson  <wilson@cygnus.com>
3975
3976         * cccp.c (create_definition): If pedantic, call pedwarn for macro
3977         varargs feature.
3978
3979 Thu Mar 12 13:43:25 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
3980
3981         * i386.c (ix86_logical_operator): New function.
3982         (split_di): Ensure that when a MEM is split, the resulting MEMs have
3983         SImode.
3984         * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
3985         to implement them.
3986
3987 Thu Mar 12 15:13:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3988                           Richard Earnshaw <rearnsha@arm.com>
3989                           Nick Clifton  <nickc@cygnus.com>
3990
3991         * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
3992
3993         * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
3994
3995         * cse.c (rtx_cost): Provide a default case in an enumeration
3996         switch, and call DEFAULT_RTX_COSTS if it's defined.
3997
3998 Thu Mar 12 10:02:38 1998  Manfred Hollstein  <manfred@s-direktnet.de>
3999
4000         * basic-block.h (compute_preds_succs): Change return type in
4001         prototype to void.
4002         * flow.c (compute_preds_succs): Likewise in function definition.
4003
4004         * regmove.c (find_matches): Cast char used as array index to unsigned char
4005         to supress warning.
4006
4007 Thu Mar 12 09:39:40 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4008
4009         * i386.h (RTX_COSTS): Insert braces around nested if.
4010         (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
4011         elements.
4012
4013         * gcc.c (default_compilers): Properly put brackets around array elements in
4014         initializer.
4015
4016         * getopt.c (_getopt_internal): Add explicit braces around nested if;
4017         reformatted.
4018
4019         * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
4020         (record_reg_life_pat): Add explicit parens around && and || in expression.
4021         (stack_reg_life_analysis): Add parens around assignment used as expression.
4022         (convert_regs): Likewise.
4023
4024 Thu Mar 12 09:25:29 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4025
4026         * bitmap.c (bitmap_element_allocate): Remove unused parameter;
4027         change callers accordingly.
4028
4029         * cplus-dem.c (arm_special): Remove unused parameter work in prototype
4030         and definition; change all callers accordingly.
4031
4032         * except.c (init_eh): Avoid assignment of unused return value of
4033         build_pointer_type; cast it to void, instead, and remove unused
4034         variable type.
4035
4036         * gcc.c (lang_specific_driver): Define prototype only #ifdef
4037         LANG_SPECIFIC_DRIVER.
4038         (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
4039
4040         * genoutput.c (output_epilogue): Initialize next_name to 0.
4041
4042         * real.c (efrexp): #if 0 prototype and function definition.
4043         (eremain): Likewise.
4044         (uditoe): Likewise.
4045         (ditoe): Likewise.
4046         (etoudi): Likewise.
4047         (etodi): Likewise.
4048         (esqrt): Likewise.
4049
4050         * reload.c (push_secondary_reload): Define prototype only
4051         #ifdef HAVE_SECONDARY_RELOADS.
4052
4053         * varasm.c (assemble_static_space): Define rounded only
4054         #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
4055
4056 Thu Mar 12 09:11:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4057
4058         * i386.md (andsi): Add default case in enumeration switch.
4059         (iorsi3): Likewise.
4060         (iorhi3): Likewise.
4061         (xorsi3): Likewise.
4062
4063 Thu Mar 12 08:37:02 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4064
4065         * c-decl (finish_struct): Change type of min_align to unsigned.
4066
4067         * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
4068         remove unused variable len.
4069
4070         * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
4071         comment indicating this is proper behaviour.
4072         (reg_loc_descriptor): Remove redundant comparison of unsigned variable
4073         reg >= 0.
4074         (based_loc_descr): Likewise.
4075
4076         * enquire.c (bitpattern): Change type of variable i to unsigned.
4077
4078         * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
4079
4080         * flow.c (life_analysis): Change type of variable i to size_t;
4081         remove unused variable insn.
4082
4083         * gcc.c (translate_options): Change type of variables optlen, arglen and
4084         complen to size_t.
4085         (input_filename_length): Change type to size_t.
4086         (do_spec_1): Change type of variable bufsize to size_t.
4087         (main): Change type of variables i and j to size_t;
4088         remove subblock local definition of variable i.
4089         (lookup_compiler): Change type of second argument to size_t;
4090         change type of variable i to size_t.
4091
4092         * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
4093
4094         * genopinit.c (get_insn): Change type of variable pindex to size_t.
4095
4096         * genrecog.c (add_to_sequence): Change type of variable i to size_t.
4097
4098         * global.c (global_alloc): Change type of variable i to size_t.
4099
4100         * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
4101
4102         * stmt.c (expand_end_bindings): Change type of variable i to size_t.
4103         (expand_end_case): Change type of variable count to size_t.
4104
4105         * toplev.c (main): Change type of variable j to size_t.
4106         (set_target_switch): Change type of variable j to size_t.
4107         (print_switch_values): Change type of variable j to size_t;
4108         remove unused variable flags.
4109
4110         * varasm.c (assemble_variable): Change type of variable align to size_t.
4111         (const_hash_rtx): Change type of variable i to size_t.
4112
4113 1998-03-11  Mark Mitchell  <mmitchell@usa.net>
4114
4115         * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
4116         TREE_VEC if that's what it really is.
4117
4118 Wed Mar 11 15:16:01 1998  Michael Meissner  <meissner@cygnus.com>
4119
4120         * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
4121         as per ISO C spec.
4122
4123 Wed Mar 11 12:05:20 1998  Teemu Torma  <tot@trema.com>
4124
4125         * gthr.h: Changed the comment about return values.
4126         * gthr-solaris.h (__gthread_once): Do not use errno; return the
4127         error number instead of -1.
4128         (__gthread_key_create): Any non-zero return value is an error.
4129         * libgcc2.c (eh_context_initialize): Check for non-zero return
4130         value from __gthread_once.
4131         Check that the value of get_eh_context was really changed.
4132
4133 Wed Mar 11 18:26:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4134
4135         * sh.h (LOOP_ALIGN): Only align when optimizing.
4136         * sh.c (find_barrier): Clear inc for CODE_LABELs.
4137         When not optimizing, calculate alignment for BARRIERs directly.
4138
4139 Wed Mar 11 15:07:18 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4140
4141         * final.c (shorten_branches): Remove conditionalizing on
4142         SHORTEN_WITH_ADJUST_INSN_LENGTH
4143         * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
4144
4145 Wed Mar 11 02:37:41 1998  Jeffrey A Law  (law@cygnus.com)
4146
4147         * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
4148         an unconditional jump around deleted blocks.
4149
4150 Mon Mar  9 12:02:23 1998  Jim Wilson  <wilson@cygnus.com>
4151
4152         * profile.c (branch_prob): If see computed goto, call fatal instead of
4153         abort.
4154
4155         * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
4156
4157         * configure.in (alpha-dec-osf): Add default case for osf* to switch.
4158         Patch from Bruno Haible.
4159
4160         * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
4161         (assign_parms): Set aggregate if hide_last_arg and last_named.
4162
4163 Mon Mar  9 19:57:56 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4164
4165         * final.c (shorten_branches): Initialize insn_addresses.
4166
4167 Mon Mar  9 14:10:23 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4168
4169         * sh.h (MUST_PASS_IN_STACK): Define.
4170
4171 Sun Mar  8 13:01:56 1998  Jeffrey A Law  (law@cygnus.com)
4172
4173         * final.c (shorten_branches): Fix minor logic error in
4174         ADDR_DIFF_VEC shortening support.
4175
4176 Sun Mar 8 02:17:42 PST 1998 Jeff Law  (law@cygnus.com)
4177
4178         * version.c: Bump for snapshot.
4179
4180 Sat Mar  7 00:54:15 1998  Jeffrey A Law  (law@cygnus.com)
4181
4182         * haifa-sched.c (is_cfg_nonregular): Change return type to
4183         an int.  No longer compute "estimated" number of edges.  Use
4184         computed_jump_p instead of duplicating the code.  Fixup/add
4185         some comments.
4186         (build_control_flow): Returns a value indicating an irregularity
4187         in the cfg was detected.  Count the number of edges in the cfg.
4188         allocate various edge tables.
4189         (find_rgns): No longer look for unreachable blocks.
4190         (schedule_insns): Do not allocate memory for edge tables here.
4191         Free memory for edge tables before returning.  Do not perform
4192         cross block scheduling if build_control_flow returns nonzero.
4193         * flow.c (compute_preds_succs): More accurately determine when
4194         a block drops in.
4195
4196         * basic-block.h (free_basic_block_vargs): Provide prototype.
4197
4198         * cccp.c (main): Fix dumb mistakes in last change.
4199
4200 Fri Mar  6 21:28:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4201
4202         * rtl.h (addr_diff_vec_flags): New typedef.
4203         (union rtunion_def): New member rt_addr_diff_vec_flags.
4204         (ADDR_DIFF_VEC_FLAGS): New macro.
4205
4206         * sh.c (output_branch): Fix offset overflow problems.
4207
4208         * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
4209         (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
4210         * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
4211         * stmt.c (expand_end_case): Supply new arguments to
4212         gen_rtx_ADDR_DIFF_VEC.
4213         * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
4214         * alpha.h, arc.h, clipper.h, convex.h : Likewise.
4215         * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
4216         * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
4217         * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
4218         * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
4219         * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
4220         * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
4221         * i386/freebsd.h, i386/linux.h : Likewise.
4222         * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
4223         * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
4224         * m68k/mot3300.h, m68k/sgs.h : Likewise.
4225         * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
4226         * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
4227         (CASE_VECTOR_SHORTEN_MODE): Define.
4228         (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
4229         (med_branch_p, braf_branch_p): Don't declare.
4230         (mdep_reorg_phase, barrier_align): Declare.
4231         (ADJUST_INSN_LENGTH): Remove alignment handling.
4232         * sh.c (uid_align, uid_align_max): Deleted.
4233         (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
4234         (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
4235         (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
4236         (output_far_jump): Don't use braf_branch_p.
4237         (output_branchy_insn): Don't use branch_offset.
4238         (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
4239         Remove paired barrier stuff.
4240         Don't use cache_align_p.
4241         Take alignment insns into account.
4242         (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
4243         the addr_diff_vec.
4244         (barrier_align, branch_dest): New function.
4245         (machine_dependent_reorg, split_branches): Remove infrastructure
4246         for branch shortening that is now provided in the backend.
4247         * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
4248         (braf_branch_p, braf_cbranch_p): Likewise.
4249         (attribute length): Use new attributes.
4250         (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
4251         (addr_diff_vec_adjust): Delete.
4252         (align_2): Now a define_expand.
4253         (align_log): Now length 0.
4254
4255 Fri Mar  6 14:41:33 1998  Michael Meissner  <meissner@cygnus.com>
4256
4257         * m32r.md (right): Correctly check for length == 2, not 1.
4258
4259 Fri Mar  6 14:00:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4260
4261         * mips/mips.h: Prototype `machine_dependent_reorg'.
4262         (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
4263
4264 Fri Mar  6 11:43:35 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
4265
4266         * final.c (shorten_branches): Restore accidentally removed code.
4267
4268 Fri Mar  6 11:00:49 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4269
4270         * configure.in: Remove duplicate uses of AC_PROG_CC and
4271         AC_PROG_MAKE_SET.
4272
4273 Fri Mar  6 00:59:30 1998  Richard Henderson  <rth@cygnus.com>
4274
4275         * configure.in (target_cpu_default2): Correct typo for alphapca56.
4276
4277 Thu Mar  5 23:24:50 1998  Jeffrey A Law  (law@cygnus.com)
4278                           Doug Evans     (devans@cygnus.com)
4279
4280         * haifa-sched.c (build_jmp_edges): Delete dead function.
4281         (build_control_flow): Use cfg routines from flow.c
4282         (schedule_insns): Remove debugging code accidentally checked
4283         in earlier today.
4284
4285         * basic-block.h: Add external integer list structures, typdefs,
4286         accessor macros and function declarations.  Simlarly for
4287         basic block pred/succ support and simple bitmap stuff.
4288         * flow.c: Add functions for integer list, basic block pred/succ
4289         support and simple bitmap support.
4290         (compute_dominators): New function to compute dominators and
4291         post dominators.
4292         (find_basic_blocks): Split into two functions.
4293         (life_analysis): Likewise.
4294         (flow_analysis): Removed.  Now handled by calling find_basic_blocks,
4295         the life_analysis from toplev.c
4296         * toplev.c (rest_of_compilation): Call find_basic_blocks, then
4297         life_analysis instead of flow_analysis.
4298
4299 Thu Mar  5 23:06:26 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4300
4301         * jump.c (jump_optimize): Call mark_jump_label also for deleted
4302         insns.
4303         (mark_jump_label): Don't increment ref counts for deleted insns.
4304
4305 Thu Mar  5 09:55:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4306
4307         * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
4308
4309         * mips/mips.c: Include stdlib.h and unistd.h.
4310         (mips_asm_file_end): Add braces around empty body in an if-statement.
4311         (function_prologue): Wrap variable `fnname' in
4312         !FUNCTION_NAME_ALREADY_DECLARED.  Correct format specifier in fprintf.
4313         (mips_select_rtx_section, mips_select_section): Declare as void.
4314
4315         * mips/mips.h: Add prototypes for extern functions in mips.c.
4316         (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
4317         (ENCODE_SECTION_INFO): Add braces around empty body in an
4318         if-statement.
4319
4320         * mips/mips.md (movdi): Add parentheses around && within ||.
4321         (movsf, movdf): Likewise.
4322         (branch_zero, branch_zero_di): Add default case in
4323         enumeration switch.
4324
4325
4326 Thu Mar  5 02:45:48 1998  Richard Henderson  <rth@cygnus.com>
4327
4328         * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
4329         real constants, since they can't be changed.
4330         (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4331         * alpha/alpha.md (builtin_setjmp_receiver): Use it.
4332         * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4333         * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
4334         * alpha/vms.h (TARGET_OPEN_VMS): New.
4335         * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
4336
4337 Thu Mar  5 02:41:27 1998  Richard Henderson  <rth@cygnus.com>
4338
4339         * reload.c (find_reloads): Always force (subreg (mem)) to be
4340         reloaded if WORD_REGISTER_OPERATIONS.
4341
4342 Thu Mar  5 02:14:44 1998  Richard Henderson  <rth@cygnus.com>
4343
4344         * haifa-sched.c (free_list): Rename from free_pnd_lst.
4345         (free_pending_lists): Rename free_pnd_lst uses.
4346         (remove_dependence): Place expunged element on unused_insn_list.
4347         (alloc_INSN_LIST, alloc_EXPR_LIST): New.  Change all callers of
4348         gen_rtx_*_LIST and alloc_rtx to use them.
4349         (compute_block_backward_dependences): Free the reg_last_* lists.
4350
4351 Thu Mar  5 00:05:40 1998  Jeffrey A Law  (law@cygnus.com)
4352
4353         * cccp.c (main): Avoid undefined behavior when setting pend_includes
4354         and pend_files.
4355
4356 Wed Mar  4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
4357
4358         * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
4359         USE_GNULIBC_1 is defined
4360         * configure.in: add a new case powerpc-*-linux-gnulibc1 which
4361         includes the t-linux-gnulibc1 fragment
4362
4363 Wed Mar  4 12:11:36 1998  Jim Wilson  <wilson@cygnus.com>
4364
4365         * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
4366
4367 Wed Mar  4 18:47:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4368
4369         * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
4370
4371 Wed Mar  4 15:51:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4372
4373         * final.c (shorten_branches): Tag the loop alignment onto the
4374         first label after NOTE_INSN_LOOP_BEG even if there is an
4375         intervening insn.
4376
4377 Tue Mar  3 21:48:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4378
4379         * final.c (insn_current_reference_address):
4380         Use SEQ instead of BRANCH as argument to align_fuzz, to get a
4381         proper alignment chain.
4382
4383         * final.c (max_labelno): New static variable.
4384         (final_scan_insn): Check max_labelno before outputting an
4385         alignment for a label.
4386         (shorten_branches): Remove unused variable length_align.
4387
4388 Tue Mar  3 14:27:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4389
4390         * sparc.c (ultrasparc_adjust_cost): Add default case in
4391         enumeration switch.
4392
4393          * sparc.h: Add prototypes for extern functions defined in
4394         sparc.c.
4395
4396 Tue Mar  3 10:00:11 1998  Nick Clifton  <nickc@cygnus.com>
4397
4398         * toplev.c: Only generate <name>.dbr file when dumping RTL if
4399         DEALY_SLOTS is defined.
4400
4401 Tue Mar  3 07:36:37 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4402
4403         * reorg.c (fill_eager_delay_slots): Add new argument delay_list
4404         in call to fill_slots_from_thread.
4405
4406 Mon Mar  2 13:45:03 1998  Richard Henderson  <rth@cygnus.com>
4407
4408         * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
4409         to SUB_CPP_PREDEFINES.  Reported by asun@saul4.u.washington.edu.
4410
4411 Mon Mar  2 22:59:28 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4412
4413         * final.c (insn_last_address, insn_current_align, uid_align):
4414         New variables.
4415         (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
4416         (insn_current_reference_address): Likewise.
4417         (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
4418         LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
4419         (label_to_alignment): New function.
4420         * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
4421         LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
4422         insn_current_reference_address instead of insn_current_address.
4423         (or_attr_value, write_length_unit_log): New functions.
4424         (main): Call write_length_unit_log.
4425         (write_const_num_delay_slots): Output extra '\n'.
4426         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
4427         replace with:
4428         (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
4429         * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
4430         * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
4431         (LOOP_ALIGN).
4432         * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
4433         (LABEL_ALIGN_AFTER_BARRIER).
4434         * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
4435         * ns32k/tek6000.h: Likewise.
4436         * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
4437         * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
4438         ASM_OUTPUT_ALIGN_CODE.
4439
4440 Mon Mar 2 01:05:50 PST 1998 Jeff Law  (law@cygnus.com)
4441
4442         * version.c: Bump for snapshot.
4443
4444 Mon Mar 2 00:52:18 PST 1998 Jeff Law  (law@cygnus.com)
4445
4446         * version.c: Bump for snapshot.
4447
4448 Sun Mar  1 18:25:49 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
4449
4450         * reorg.c (fill_slots_from_thread): Don't steal delay list from target
4451         if condition code of jump conflicts with opposite_needed.
4452
4453         * reorg.c (fill_slots_from_thread): Mark resources referenced in
4454         opposite_needed thread.  Return delay_list even when cannot get
4455         any more delay insns from end of subroutine.
4456
4457 Sun Mar  1 18:26:21 1998  Ken Rose (rose@acm.org)
4458
4459         * reorg.c (fill_slots_from_thread): New parameter, delay_list.
4460         All callers changed.
4461
4462 Sun Mar  1 18:25:37 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
4463
4464         * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
4465         end_fde_sort): New functions for fast sorting of an FDE array.
4466         (fde_insert): Simplified.
4467         (add_fdes): Change argument list.
4468         (frame_init): Use the new functions.
4469
4470 Sun Mar  1 18:06:21 1998  Jeffrey A Law  (law@cygnus.com)
4471
4472         * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
4473
4474         * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
4475
4476         * fold-const.c (fold_range_test): Always return a value.
4477
4478 Sun Mar  1 17:57:34 1998  Mumit Khan <khan@xraylith.wisc.edu>
4479
4480         * config/i386/winnt.c (i386_pe_unique_section): Put read-only
4481         data in the text section unless READONLY_DATA_SECTION is defined.
4482
4483 Sun Mar  1 17:48:46 1998  Jeffrey A Law  (law@cygnus.com)
4484
4485         * c-parse.in (undeclared variable error): Tweak error message to
4486         be clearer.
4487
4488 Sun Mar 1 10:22:36 PST 1998 Jeff Law  (law@cygnus.com)
4489
4490         * version.c: Bump for snapshot.
4491
4492 1998-02-28  Mark Mitchell  <mmitchell@usa.net>
4493
4494         * final.c (final_scan_insn): Undo overzealous removal of `set'.
4495
4496 Sat Feb 28 07:54:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4497
4498         * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
4499         case, add parentheses to specify the proper order of precedence in
4500         the if-statement.
4501
4502
4503         * c-aux-info.c: Include string.h/strings.h.
4504
4505         * pa.c: Include stdlib.h.
4506         (pa_combine_instructions): Prototype the function.
4507         (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
4508         (reloc_needed): Add default case for enumeration switch.
4509         (remove_useless_addtr_insns): Remove unused variable `all'.
4510         (hppa_expand_prologue): Add explicit braces to avoid
4511         ambiguous `else'.
4512         (output_function_epilogue): Remove unused variable `i'.
4513         (output_millicode_call): Remove unused variable `link'.
4514         (shadd_constant_p, forward_branch_p): Make the function static.
4515         (following_call): Explicitly declare to return int.
4516         (pa_reorg): Declare as void.
4517         (pa_combine_instructions): Declare as static void.  Add
4518         parentheses around && within ||.
4519
4520         * pa.h: Add prototypes for pa_reorg, symbolic_operand,
4521         following_call, function_label_operand, lhs_lshift_cint_operand
4522         and zdepi_cint_p.
4523
4524         * pa.md: Add parentheses around && within ||.
4525
4526         * cppalloc.c: Include stdlib.h.
4527
4528         * cpperror.c (cpp_print_containing_files): Remove unused variable
4529         `i'.  Fix format specifier in fprintf.
4530
4531         * cse.c (cse_around_loop): Add explicit braces to avoid
4532         ambiguous `else'.
4533         (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
4534
4535         * expr.c (expand_expr): Add parentheses around && within ||.
4536
4537         * final.c (app_enable): Replace fprintf with fputs where there are
4538         no format specifiers and no trailing argument after the string.
4539         Eg, when printing ASM_APP_ON/ASM_APP_OFF.
4540         (app_disable): Likewise.
4541         (final_end_function): Likewise.
4542         (final_scan_insn): Likewise.  Remove unused variable `set'.
4543         (profile_function): Wrap empty if-statement body in {} brackets.
4544
4545         * function.c: Include stdlib.h.
4546         (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
4547         (reposition_prologue_and_epilogue_notes): Add parentheses
4548         around assignment used as truth value.
4549
4550         * integrate.c (expand_inline_function): Wrap variable
4551         `cc0_insn' in macro HAVE_cc0.
4552
4553         * jump.c (jump_optimize): Wrap variable `q' in macro
4554         HAVE_cc0.  Remove unused variable `prev1'.
4555
4556         * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
4557         within ||.  Fix format specifier in fprintf.
4558         (__bb_init_prg): Add parentheses around assignment used as
4559         truth value.
4560
4561         * local-alloc.c: Include stdlib.h.
4562         (requires_inout): Add parentheses around assignment used
4563         as truth value.
4564
4565         * loop.c (analyze_loop_iterations): Wrap prototype and definition
4566         in macro HAVE_decrement_and_branch_on_count.
4567         (insert_bct, instrument_loop_bct): Likewise.
4568         (move_movables): Add parentheses around assignment used as
4569         truth value.
4570         (consec_sets_invariant_p): Likewise.
4571         (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
4572
4573         * objc/objc-act.c: Include stdlib.h.
4574         (lookup_method_in_protocol_list): Wrap empty else-statement body
4575         in braces.
4576         (lookup_protocol_in_reflist): Likewise.
4577         (objc_add_static_instance): Remove unused variables `decl_expr'
4578         and `decl_spec'.
4579         (get_objc_string_decl): Remove unused variable `decl'.
4580         (generate_static_references): Remove unused variables `idecl' and
4581         `instance'.
4582         (check_protocols): Wrap empty else-statement body in braces.
4583
4584         * protoize.c: Include stdlib.h.
4585         (substr): Add parentheses around assignment used as truth value.
4586         (abspath): Likewise.
4587         (shortpath): Likewise.
4588
4589         * regmove.c (fixup_match_1): Add parentheses around assignment
4590         used as truth value.
4591
4592         * reload.c (push_secondary_reload): Remove unused variable `i'.
4593         (find_reloads): Add parentheses around assignment used as truth
4594         value.
4595
4596         * reload1.c: Include stdlib.h.
4597
4598         * rtl.h: Correct typo in prototype of offsettable_memref_p.
4599
4600         * stmt.c (add_case_node): Add parentheses around assignment used
4601         as truth value.
4602         (case_tree2list): Likewise.
4603
4604         * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
4605         in macro VALID_MACHINE_DECL_ATTRIBUTE.  Wrap variable
4606         `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
4607         (merge_attributes): Add explicit braces to avoid ambiguous
4608         `else'.
4609
4610         * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
4611         macro HAVE_cc0.
4612
4613         * varasm.c: Include stdlib.h.
4614
4615
4616         * system.h: Remove sys/stat.h.
4617         * gcc.c: Add sys/stat.h.
4618
4619         * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
4620         * genattrtab.c: Likewise.
4621         * genconfig.c: Likewise.
4622         * genemit.c: Likewise.
4623         * genextract.c: Likewise.
4624         * genflags.c: Likewise.
4625         * genopinit.c: Likewise.
4626         * genoutput.c: Likewise.
4627         * genpeep.c: Likewise.
4628         * genrecog.c: Likewise.
4629         * tlink.c: Likewise.  Also wrap `getenv' in NEED_DECLARATION_GETENV.
4630
4631 Fri Feb 27 11:02:47 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4632
4633         * invoke.texi: Use @itemx for a secondary item in a @table.
4634
4635         * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
4636         zero.
4637
4638 Thu Feb 26 00:13:21 1998  Ian Lance Taylor  <ian@cygnus.com>
4639
4640         * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
4641
4642 Wed Feb 25 23:40:54 1998  Jeffrey A Law  (law@cygnus.com)
4643
4644         * i386.c (struct machine_function): Add new fields for PIC stuff.
4645         (save_386_machine_status): Fix argument to xmalloc.  Save pic_label_rtx
4646         and pic_label_name.
4647         (restore_386_machine_status): Corresponding changes.
4648         (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
4649
4650 Wed Feb 25 01:31:40 1998  Jeffrey A Law  (law@cygnus.com)
4651
4652         * c-parse.y (undeclared variable error): Tweak error message
4653         to be clearer.
4654
4655 Tue Feb 24 23:54:07 1998  Richard Henderson  <rth@cygnus.com>
4656
4657         * flags.h (g_switch_value, g_switch_set): Declare.
4658         * alpha.c (override_options): Set g_switch_value=8 if not set.
4659         * alpha/elf.h (CC1_SPEC): New.
4660         (ASM_SPEC): New.
4661         (LINK_SPEC): Pass along the -G value we were given.
4662         (LOCAL_ASM_OP): Remove.
4663         (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
4664         (MAX_OFILE_ALIGNMENT): New.
4665         (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
4666         (EXTRA_SECTIONS): Add sbss and sdata.
4667         (SECTION_FUNCTION_TEMPLATE): New.
4668         (EXTRA_SECTION_FUNCTIONS): Use it.
4669         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
4670         (SELECT_SECTION): Use sdata when small enough.
4671         * alpha/linux.h (ASM_SPEC): Remove.
4672
4673
4674 Mon Feb 23 15:09:18 1998  Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
4675         * config.sub (sco5): Fix typo.
4676
4677 Mon Feb 23 18:19:31 1998  Manfred Hollstein  <manfred@s-direktnet.de>
4678
4679         * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
4680         set to empty.
4681         * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
4682         * config/alpha/t-linux: Remove file.
4683         * config/sparc/t-linux: Remove file.
4684         * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
4685         * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
4686         * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
4687         for tmake_file.
4688         (alpha*-*-linux-gnu*): Likewise.
4689         (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
4690         (sparc-*-linux-gnu*): Likewise.
4691
4692 Mon Feb 23 10:47:39 1998  Robert Lipe  <robertl@dgii.com>
4693         * collect2.c (ldd_file_name): Bracket declaration with same
4694         manifests as use.
4695         (full_real_ld_suffix): Deleted.  Variable was calloced and
4696         written into, but never read.
4697
4698 1998-02-23  Mike Stump  <mrs@wrs.com>
4699
4700         * configure.in: Add support for i386-wrs-vxworks configuration.
4701         * i386/vxi386.h: New file.
4702
4703 Sun Feb 22 21:16:51 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
4704
4705         * tree.c (contains_placeholder_p): Ensure function always returns
4706         a value.
4707         * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
4708         (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
4709
4710 Sun Feb 22 20:58:19 1998  Jeffrey A Law  (law@cygnus.com)
4711
4712         * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
4713
4714 1998-02-22  Paul Eggert  <eggert@twinsun.com>
4715
4716         * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
4717         Define this new symbol.
4718         (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
4719         * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
4720         LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
4721
4722 Sun Feb 22 20:07:32 1998  Jim Wilson  <wilson@cygnus.com>
4723
4724         * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
4725         * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
4726
4727 Sun Feb 22 15:29:48 1998  Richard Henderson  <rth@cygnus.com>
4728
4729         * objc/Object.m (-error): Call objc_verror with our va_list.
4730
4731 Sun Feb 22 09:45:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4732
4733         * collect2.c (scan_prog_file): Completely cover uses of variable
4734         `exports' with macro COLLECT_EXPORT_LIST.
4735
4736 Sat Feb 21 20:36:23 1998  Jeff Law  (law@cygnus.com)
4737
4738         * version.c: Bump for snapshot.
4739
4740 Fri Feb 20 16:22:13 1998  Michael Meissner  <meissner@cygnus.com>
4741
4742         * sched.c (schedule_block): Remove code to get arguments from hard
4743         regs into pseudos early.  Same as Aug 25, 1997 change to
4744         haifa-sched.c.
4745
4746 1998-02-20  Jason Merrill  <jason@yorick.cygnus.com>
4747
4748         * collect2.c (main): Still handle !do_collecting for non-AIX targets.
4749
4750 1998-02-16  Mark Mitchell  <mmitchell@usa.net>
4751
4752         * toplev.c (rest_of_compilation): Do not defer the output of a
4753         nested function.
4754
4755 Fri Feb 20 10:39:47 1998  Michael Tiemann  <michael@impact.tiemann.org>
4756
4757         * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
4758         continuation character (line 243).
4759
4760 Fri Feb 20 12:10:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4761
4762         * genrecog.c (main): Remove duplicated sentence in emitted comment.
4763
4764 Thu Feb 19 22:36:53 1998  Andrey Slepuhin  <pooh@msu.net>
4765                           David Edelsohn  <edelsohn@mhpcc.edu>
4766
4767         * collect2.c (XCOFF_SCAN_LIBS): Remove.
4768         (export_flag): New variable.
4769         (export_file): #ifdef COLLECT_EXPORT_LIST.
4770         (import_file, exports, imports, undefined): New variables.
4771         (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
4772         (dump_list, dump_prefix_list, is_in_list): New functions.
4773         (write_export_file): $ifdef COLLECT_EXPORT_LIST.
4774         (write_import_file, resolve_lib_name): New functions.
4775         (use_import_list, ignore_library): Same.
4776         (collect_exit): maybe_unlink import_file and #ifdef.
4777         (handler): Same.
4778         (main): New variable importf, #ifdef exportf.  Move parsing of
4779         -shared before general argument parsing.  Resolve AIX library
4780         paths and import libgcc.a symbols.  Treat .so shared libraries the
4781         same as objects and .a libraries.  Create alias for object_lst and
4782         increment it instead of original pointer.  Scan AIX libraries as
4783         objects earlier instead of using scan_libraries.  Perform AIX
4784         tlink later to resolve templates instead of forking ld.
4785         (GCC_OK_SYMBOL): Ensure symbol not in undef section.
4786         (GCC_UNDEF_SYMBOL): New macro.
4787         (scan_prog_file): Loop for members of AIX libraries.  Handle
4788         export/import of ctors/dtors.
4789         (aix_std_libs): New variable.
4790         (scan_libraries, XCOFF): Delete.
4791
4792 Thu Feb 19 22:36:52 1998  Robert Lipe   <robertl@dgii.com>
4793
4794         * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
4795
4796 1998-02-19  Mike Stump  <mrs@wrs.com>
4797
4798         * Makefile.in: Use $tooldir for sys-include to match toplevel
4799         configure.
4800
4801 Thu Feb 19 01:32:37 1998  Jeffrey A Law  (law@cygnus.com)
4802                           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4803
4804         * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
4805
4806         * emit-rtl.c (hard-reg-set.h): Include.
4807         (get_lowpart_common): Don't make new REG for hard reg in a
4808         class that cannot change size.
4809         * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
4810
4811         * combine.c: Revert previous patch.
4812
4813 1998-02-19  Paul Eggert  <eggert@twinsun.com>
4814
4815         * config/sparc/sol2-sld.h: New file.
4816         * configure.in (sparc-*-solaris2*): Use it when using the
4817         system linker.
4818
4819 Thu Feb 19 00:46:59 1998  Jeffrey A Law  (law@cygnus.com)
4820
4821         * loop.c (force_movables): Fix typo.
4822
4823 Thu Feb 19 08:26:30 1998  Manfred Hollstein <manfred@s-direktnet.de>
4824
4825         * m88k.h: Change file pattern to match reality.
4826
4827 Wed Feb 18 23:19:52 1998  Jeffrey A Law  (law@cygnus.com)
4828
4829         * varasm.c (output_constant_pool): Fix dumb thinko in last
4830         change.
4831
4832         * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
4833         a function name to a section name.
4834
4835 1998-02-18  Doug Evans  <devans@cygnus.com>
4836
4837         * tree.h (merge_machine_{type,decl}_attributes): Declare.
4838         (split_specs_attrs, strip_attrs): Add prototypes.
4839         * tree.c (merge_machine_{type,decl}_attributes): New functions.
4840         * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
4841         Update olddecl's attributes too.
4842         * c-common.c (strip_attrs): New function.
4843         * c-typeck.c (common_type): Call merge_machine_type_attributes.
4844         * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
4845         (make_decl_rtl): Likewise.
4846
4847 1998-02-18  Jim Wilson  <wilson@cygnus.com>
4848
4849         * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
4850
4851 Wed Feb 18 09:09:50 1998  Jeffrey A Law  (law@cygnus.com)
4852
4853         Remove this change until we can fix it correctly.
4854         * collect2.c: Bracket declaration of 'exportf' and
4855         'full_real_ld_suffix'.
4856
4857 Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
4858
4859         * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
4860
4861 Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
4862
4863         * c-common.c (c_expand_start_cond, c_expand_end_cond,
4864         c_expand_start_else): Don't warn about non-ambiguous else even if
4865         braces are missing.
4866
4867 Tue Feb 17 23:56:50 1998   Robert Lipe  <robertl@dgii.com>
4868
4869         * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
4870         ASM_OUTPUT_LONG_DOUBLE): Delete.   Use the ones from i386.h
4871         instead.
4872
4873 Tue Feb 17 22:56:14 1998  Richard Henderson  <rth@cygnus.com>
4874
4875         * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
4876         simplifying a subreg of a hard reg.
4877         (expand_compound_operation): Likewise.
4878         (force_to_mode): Likewise.
4879
4880 Tue Feb 17 22:37:22 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4881
4882         * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
4883         (lshift_double): Add parentheses around + or - inside shift.
4884         (rshift_double): Likewise.
4885         (size_int_wide): Explicitly set type of `bit_p' to `int'.
4886
4887         * Makefile.in (fold-const.o): Depend on system.h.
4888
4889         * Makefile.in (gcc.o): Depend on system.h, in accordance with last
4890         change to gcc.c.
4891
4892         * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
4893         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
4894         (sched_note_set): Remove unused parameter `b', all callers changed.
4895         (schedule_block): Likewise for `rgn'.
4896         (split_hard_reg_notes): Likewise for `orig_insn'.
4897         (check_live): Likewise for `trg'.
4898         (update_live): Likewise.
4899         (check_live_1): Explcitly declare variable `i' as int.
4900         (update_live_1): Likewise.
4901         (insn_issue_delay): Remove unused variable `link'.
4902         (sched_analyze_2): Add default case in enumeration switch.
4903         (schedule_insns): Remove unused variable `i'.
4904
4905         * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
4906
4907 Tue Feb 17 22:31:04 1998  Jeffrey A Law  (law@cygnus.com)
4908
4909         * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
4910         a dangling else clause.
4911
4912 Tue Feb 17 21:28:12 1998  Gavin Koch  <gavin@cygnus.com>
4913
4914         * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
4915         pointer for the stack pointer in MIPS16 and 64BIT.
4916
4917 Tue Feb 17 21:17:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
4918
4919         * rtl.h (force_line_numbers, restore_line_number_status): Declare.
4920         * emit-rtl.c (force_line_numbers, restore_line_number_status):
4921         New functions.
4922         * stmt.c (struct nesting): Replace seenlabel with line_number_status.
4923         (expand_start_case): Adjust to this change.
4924         (check_seenlabel): New function.
4925         (pushcase, pushcase_range, expand_endcase): Use it.
4926
4927 Tue Feb 17 10:14:32 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4928
4929         * i386.md (adddi3): Add =!r,0,0,X alternative.
4930
4931 Mon Feb 16 16:13:43 1998  David Edelsohn  <edelsohn@mhpcc.edu>
4932
4933         * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
4934         * x-aix31 (INSTALL): Delete.
4935
4936 Mon Feb 16 09:24:32 1998  Gavin Koch  <gavin@cygnus.com>
4937
4938         * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
4939         tsize changes to something other than zero.
4940
4941 Mon Feb 16 09:11:48 1998  Gavin Koch  <gavin@cygnus.com>
4942
4943         * ginclude/va-mips.h: Replace casts of pointers to int with
4944         casts of pointers to __PTRDIFF_TYPE__.
4945
4946 Mon Feb 16 08:17:14 1998  John Carr  <jfc@mit.edu>
4947
4948         * loop.c (strength_reduce, record_biv, record_giv): Use
4949         HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
4950
4951 1998-02-16  Jason Merrill  <jason@yorick.cygnus.com>
4952
4953         * tree.c (first_rtl_op): New fn.
4954         (unsave_expr_now): Use it.
4955         * print-tree.c (print_node): Likewise.
4956         * tree.c (has_cleanups): New fn.
4957         * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it.  Be more
4958         conservative about pushing the cleanup point down.
4959         * tree.h: Declare them.
4960
4961 Sun Feb 15 23:28:44 1998  Jeffrey A Law  (law@cygnus.com)
4962
4963         * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
4964         (flag_schedule_reverse_after_reload): Likewise.
4965         (f_options): Remove reverse scheduling support.
4966         * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
4967         (flag_schedule_reverse_after_reload): Likewise.
4968         * haifa-sched.c (rank_for_schedule): Remove support for reverse
4969         scheduling.
4970
4971 Sun Feb 15 21:33:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4972
4973         * gcc.c: Get system includes, prototypes and macros via "system.h"
4974         instead of doing it manually.  Change all calls of the ctype
4975         macros to custom versions defined in "system.h".
4976
4977         * system.h: Fix return type of bcmp prototype from `void' to `int'.
4978         Make bcopy, bcmp and bzero prototypes explicitly `extern'.
4979         Add a prototype for getenv.
4980
4981 Sun Feb 15 17:05:41 1998  Jim Wilson  <wilson@cygnus.com>
4982
4983         * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
4984
4985 Sun Feb 15 15:23:15 1998  John Carr  <jfc@mit.edu>
4986
4987         * alias.c: Include <stdlib.h> and <string.h>.
4988         (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
4989
4990 Sat Feb 14 11:23:09 PST 1998 Jeff Law  (law@cygnus.com)
4991
4992         * version.c: Bump for snapshot.
4993
4994 Sat Feb 14 05:08:21 1998  Richard Earnshaw (rearnsha@arm.com)
4995
4996         * arm.md (movsfcc): Also validate operands[3] when compiling hard
4997         float.
4998         (movdfcc): Only accept fpu_add_operand for operands[3].
4999
5000         * arm/t-semi (STMP_FIXPROTO): Define to nothing.
5001         * arm/t-semiaof (STMP_FIXPROTO): Likewise.
5002
5003 Sat Feb 14 02:02:41 1998  Jeffrey A Law  (law@cygnus.com)
5004
5005         * varasm.c (output_constant_pool): Bring back 'done' label inside
5006         an appropriate #ifdef.
5007
5008         * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
5009         appropriate #ifdef.
5010         (bitmap_copy, bitmap_operation): Likewise.
5011         * combine.c (combinable_i3pat): Similarly for 'src'.
5012         * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
5013         (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
5014         * regclass.c (copy_cost): Similarly for 'secondary_class'.
5015         * reload.c (make_memloc): Simliarly for 'i'.
5016         (find_reloads_address_1): Similarly for 'link'.
5017         * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
5018         (emit_reload_insns): Similarly for 'second_reloadreg'.
5019         * unroll.c (iteration_info): Similarly for 'v'.
5020
5021         * caller-save.c (insert_save_restore): Remove unused variable 'i'.
5022         * calls.c (expand_call): Similarly for 'i'.
5023         (emit_library_call, emit_library_call_value): Similarly for 'mode'.
5024         * fold-const.c (strip_compund_expr): Similarly for 'type'.
5025         * function.c (fixup_var_refs_1): Similarly  for 'width'.
5026         (fixup_memory_subreg): Similarly for 'saved'.
5027         (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
5028         (setjmp_protect): Similarly for 'sub'.
5029         (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
5030         * loop.c (record_giv): Similarly for 'p'.
5031         (combine_givs): Similarly for 'temp_iv'.
5032         (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
5033         * recog.c (validate_replace_rtx_1): Similarly for 'width'.
5034         * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
5035         * unroll.c (unroll_loop): Similarly for 'copy'.
5036         (iteration_info): Similarly for 'b'.
5037         * varasm.c (assemble_string): Similarly for 'i'.
5038         * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
5039
5040 1998-02-13  Martin von Loewis  <loewis@informatik.hu-berlin.de>
5041
5042         * c-lang.c (lang_print_xnode): New function.
5043         * objc/objc-act.c (lang_print_xnode): Likewise.
5044         * print-tree.c (print_node): Call it
5045
5046 Fri Feb 13 14:38:34 1998  Jim Wilson  <wilson@cygnus.com>
5047
5048         * dwarf2out.c (decl_scope_node): New type.
5049         (decl_scope_table): Change type to use it.
5050         (decl_scope_table_allocated, decl_scope_depth): Change type to int.
5051         (push_decl_scope): Use new type.  New locals containing_scope, i.
5052         Add code to handle setting previous field.
5053         (scope_die_for): Change type of local i to int.  Add code to use
5054         previous field.
5055         (dwarf2out_init): Use new type.
5056
5057 1998-02-13  Jason Merrill  <jason@yorick.cygnus.com>
5058
5059         * except.c (emit_throw): Lose throw_used.
5060
5061 Fri Feb 13 20:36:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5062
5063         * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
5064         was deleted.
5065         * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
5066
5067 Fri Feb 13 12:18:40 1998  Jeffrey A Law  (law@cygnus.com)
5068
5069         * genextract.c (main): Fix typo.
5070
5071 Fri Feb 13 08:41:49 1998  Robert Lipe   <robertl@dgii.com>
5072
5073         * c-lang.c (finish_file): Bracket declaration of static_ctors,
5074         static_dtors.
5075
5076         * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
5077         'old_stack_arg_under_construction'
5078         (emit_library_call): Bracket declaration of 'upper_bound',
5079         'lower_bound', 'i', 'reg_parm_stack_space'
5080         (emit_library_call_value): Likewise.
5081         (store_one_arg):
5082
5083         * collect2.c: include <unistd.h> when appropriate.
5084         Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
5085
5086         * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
5087
5088         * explow.c (plus_constant_for_output_wide): Remove unused variable
5089         'code'.
5090         (memory_address): Remove unused variable 'orig_x'.
5091
5092         * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
5093         (write_const_num_delay_slots): Remove unused variable 'i'.
5094
5095         * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
5096         (gen_insn): Remove unused variable 'obstack_ptr'.
5097
5098         * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
5099         'j', 'tmp', 'i'.
5100         (__bb_exit_trace_func): Remove unused variable 'e'.
5101
5102         * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
5103         'funexp'.
5104         (expand_unop): Remove unused variable 'funexp'.
5105         (expand_complex_abs): Remove unused variable 'funexp'.
5106         (init_optabs): Bracket declaration of 'j'.
5107         (init_complex_libfuncs): Deleted.  Dead static function.
5108
5109         * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
5110
5111         * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
5112         (reg_to_stack): 'initialized', 'before_function_beg'
5113         explictly type as ints instead of defaulting.
5114         (emit_swap_insn): Remove unused variable 'i2'.
5115         (compare_for_stack_reg): Remove unused variable 'src_note'.
5116
5117         * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
5118
5119         * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
5120
5121         * stmt.c (add_case_node): Add parens for assignment used as truth.
5122         (all_cases_count):  Remove unused variable 'count_high'.
5123         (mark_seen_cases): Remove unused variable 'i'.
5124         (check_for_full_enumeration_handling): Remove unused variable 't'.
5125         Bracket declaration of  'all_values', 'l'.
5126
5127         * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
5128
5129         * varasm.c (assemble_string): Remove unused variable 'i'.
5130         (immed_double_const): Remove unused variable 'in_current_obstack'.
5131         (immed_real_const_1): Likewise.
5132         (output_constant_pool): Remove unreferenced label 'done'.
5133         (output_constant): Remove unused variable 'x'.
5134
5135         * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
5136         a string.
5137
5138         * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
5139         as truth.
5140
5141 Fri Feb 13 10:21:41 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5142
5143         * combine.c (can_combine_p): Handle USEs in PARALLELs.
5144
5145 Fri Feb 13 01:34:14 1998  H.J. Lu  (hjl@gnu.org)
5146
5147         * config/linux.h (LIB_SPEC): Add -lc for -shared if
5148         USE_GNULIBC_1 is not defined.
5149         * config/sparc/linux.h; Ditto.
5150
5151         * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
5152
5153         * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
5154         USE_GNULIBC_1 is not defined.
5155
5156 Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5157
5158         * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
5159         for -mcall-linux
5160
5161 Fri Feb 13 01:23:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5162
5163         * system.h: New file to get common systems includes and various
5164         definitions and declarations based on autoconf macros.
5165
5166 Fri Feb 13 00:46:19 1998  Jeffrey A Law  (law@cygnus.com)
5167
5168         * cccp.c (new_include_prefix): Correctly handle -I./.
5169
5170 Thu Feb 12 20:16:35 1998  Michael Meissner  <meissner@cygnus.com>
5171
5172         * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
5173
5174 Thu Feb 12 16:45:17 1998  Robert Lipe  <robertl@dgii.com>
5175
5176         * expr.c (expand_assignment):  Correct typo exposed by -Wall.
5177         offset should have been a truth value, not an assignment.
5178
5179 Thu Feb 12 15:26:50 1998  Jeffrey A Law  (law@cygnus.com)
5180
5181         * cse.c (delete_dead_from_cse): If a libcall produces a constant
5182         result and that result can be substituted into SET_SRC of the
5183         insn with the REG_RETVAL note, then perform the substitution
5184         and delete the libcall.
5185
5186 Thu Feb 12 14:04:09 1998  Gavin Koch  <gavin@cygnus.com>
5187
5188         * mips.md (trucndihi2,truncdiqi2): Change these to support
5189         mips16.
5190
5191 Thu Feb 12 11:34:55 1998  Gavin Koch  <gavin@cygnus.com>
5192
5193         * mips/mips.c (movdi_operand): Direct referances to symbols
5194         that arn't mips16 consts in mips16 mode arn't valid operands.
5195
5196         * mips/mips.c (mips_move_2words): Add gprel handling.
5197
5198 Thu Feb 12 11:18:37 1998  Gavin Koch  <gavin@cygnus.com>
5199
5200         * mips.md (extendsidi2): Allow extension to/from a non-mips16
5201         register.
5202
5203 Thu Feb 12 00:04:16 1998  Marc Lehmann <pcg@goof.com>
5204
5205         * i386.c: Conditionally include <stdlib.h>, <string.h>, and
5206         <strings.h>.
5207
5208 Wed Feb 11 11:43:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5209
5210         * Makefile.in (WARN_CFLAGS): New variable.
5211         (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
5212
5213 1998-02-11  Mark Mitchell  <mmitchell@usa.net>
5214
5215         * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
5216         falling through default case in switch.
5217         (i386_aligned_p): Likewise.
5218
5219 Wed Feb 11 12:59:56 1998  Lee Iverson  <leei@Canada.AI.SRI.COM>
5220
5221         * mips/mips.h (mips_abi_string): Correct typo in comment.
5222
5223 Wed Feb 11 08:29:56 1998  Gavin Koch  <gavin@cygnus.com>
5224
5225         * mips/mips.md (movdi): These PLUS's need to be Pmode.
5226
5227 Wed Feb 11 01:47:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5228
5229         * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
5230         reorg.o, regmove.o): Depend on insn-codes.h, it gets included
5231         indirectly via expr.h.
5232
5233 Wed Feb 11 01:44:13 1998  Richard Henderson  <rth@cygnus.com>
5234
5235         * stor-layout.c (layout_type): Do upper - lower in the native type,
5236         so as to properly handle negative indices.
5237
5238 Wed Feb 11 01:35:55 1998  Robert Lipe   <robertl@dgii.com>
5239
5240         * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
5241         (expand_eh_region_start_tree): Remove unused variable 'note'.
5242         (exception_optimize): Remove unused variable 'regions'.
5243         (expand_builtin_eh_stub):  Remove unused variable 'temp'.
5244         (copy_eh_entry): Deleted.   Dead function.
5245
5246         * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
5247         'last' with same #if HAVE_load_multiple as use of it.
5248         (move_block_from_reg): Likewise.
5249         (emit_move_insn_1): Remove unused variable 'insns'.
5250         (store_constructor): Bracket declaration of startb, endb with
5251         #if TARGET_MEMFUNCTIONS.  Remove unused variables 'set_word_size'
5252         'target', and 'xtarget'.
5253         (expand_builtin_setjmp): Remove unused variables 'op0',
5254         'next_arg_reg', 'old_inhibit_defer_pop'.
5255         (expand_builtin): Remove unused variable 'offset'.
5256         (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
5257         (emit_queue): Add parens for assignment used as conditional.
5258         (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
5259
5260 Wed Feb 11 01:30:49 1998  Marc Lehmann <pcg@goof.com>
5261
5262         * i386.c: Added include for recog.h.
5263         (override_options): Removed unused variable p. Initialized regno to
5264         avoid warning.
5265         (order_regs_for_local_alloc): Initialized regno to avoid warning.
5266         (legitimize_address): Likewise for 'other'.
5267         (i386_aligned_reg_p): Added default case with abort ().
5268         (print_operand): Likewise.
5269         (reg_mentioned_in_mem): Likewise.
5270         (ix86_expand_binary_operator): Removed unused variables i & insn.
5271         (ix86_expand_unary_operator): Removed unused variable insn.
5272         (output_fp_cc0_set): Removed unused variable unordered_label.
5273
5274 Wed Feb 11 01:23:03 1998  John F. Carr  <jfc@mit.edu>
5275
5276         * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
5277         Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
5278         and format string match.
5279
5280 Wed Feb 11 01:17:39 1998  Jeffrey A Law  (law@cygnus.com)
5281
5282         * flow.c (life_analysis): Do not conside the stack pointer live at
5283         the end of a function if the fucntio ncalls alloca.
5284         (mark_used_regs): Similarly.
5285
5286 1998-02-10  John F Carr  <jfc@mit.edu>
5287
5288         * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
5289         1, fzero on alternative 8.
5290
5291 Tue Feb 10 09:02:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5292
5293         * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
5294
5295 Tue Feb 10 03:35:43 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5296
5297         * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
5298         SUBREGs of CONST_INTs.
5299
5300 Mon Feb  9 17:52:36 1998  John Carr  <jfc@mit.edu>
5301
5302         * mips.c (print_operand, function_prologue): Make printf format
5303         match argument type.
5304
5305 Mon Feb  9 02:37:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5306
5307         * alpha.c (alpha_return_addr): Remove unused variable `first'.
5308         (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
5309         (output_epilog): Remove unused variable `frame_size_from_reg_save'.
5310
5311 Sun Feb  8 14:56:03 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5312
5313         * loop.c (strength_reduce): When placing increment for auto-inc
5314         case, do comparison in loop order.
5315
5316 Sun Feb  8 13:21:38 1998  John Carr  <jfc@mit.edu>
5317
5318         * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
5319         not a HOST_WIDE_INT.
5320
5321         * calls.c (expand_call): Change test of expand_inline_function
5322         return value to stop compiler warning.
5323
5324         * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
5325
5326 Sun Feb  8 12:04:24 1998  Jim Wilson  (wilson@cygnus.com)
5327                           Jeff Law (law@cygnus.com)
5328
5329         * regmove.c: Fix various minor formatting problems.
5330         (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
5331         is true.  Make end of basic block tests consistent through regmove.c.
5332         (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
5333         (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
5334
5335 Sun Feb  8 01:49:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5336
5337         * gansidecl.h: Check for a conflicting macro definition before
5338         attempting to prototype bcopy, bcmp or bzero.
5339
5340 Sun Feb  8 00:09:59 1998  Jeffrey A Law  (law@cygnus.com)
5341
5342         * expr.c (clear_pending_stack_adjust): Handle case where a function
5343         calls alloca, but the user has specified -fomit-fframe-pointer.
5344
5345         * function.c (assign_parms): Fix typo in last change.
5346
5347 Sat Feb  7 23:54:29 1998   Robert Lipe  <robertl@dgii.com>
5348
5349         * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
5350         <fcntl.h>.
5351         (free_path_suffix): Remove unreferenced static function.
5352         (process_command): Remove unused variable temp.
5353         (default_arg): Remove unused variable i.
5354         (do_spec_1):  Add parens for assignment used as truth value.
5355         (main): Likewise.
5356         (validate_all_switches): Likewise.
5357         (main): Remove unused variables i, first_time>
5358
5359         * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
5360
5361         * calls.c (expand_call): Remove unused variables funtree,
5362         n_regs, and tmpmode.
5363
5364         * dbxout.c, except.c: Include <string.h>/<strings.h>.
5365
5366         * explow.c: (plus_constant_for_output_wide) Removed unused
5367         variable all_constant.
5368
5369         * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
5370         genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
5371         genrecog.c, global.c, integrate.c , stupid.c : Include
5372         <stdlib.h>.
5373
5374         * genextract.c: (walk_rtx) Remove unused variable link.
5375
5376         * genrecog.c: (concat) Remove unreferenced static function.
5377
5378         * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
5379
5380         * stmt.c: Include <stdlib.h>.
5381         (expand_asm_operands): Remove unused variable val1.
5382         (expand_return): Remove unused variable block.
5383         (pushcase): Remove unused variables l and n.
5384         (pushcaserange): Likewise.
5385
5386         * unroll.c (unroll_loop): Remove unused variable temp.
5387
5388 Sat Feb  7 23:46:09 1998  Greg McGary  <gkm@gnu.org>
5389
5390         * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
5391
5392 Sat Feb  7 15:11:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5393
5394         * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
5395         functions for whether they support the %p format specifier.
5396         * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
5397         * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
5398         * configure, config.in: Rebuild.
5399
5400 Fri Feb  6 14:20:16 1998  Jim Wilson  <wilson@cygnus.com>
5401
5402         * function.c (assign_parms): New variable named_arg, with value
5403         depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
5404
5405 Fri Feb  6 14:34:28 1998  Gavin Koch  <gavin@cygnus.com>
5406
5407         * mips/t-r3900: New - same as t-ecoff but eliminate
5408         multilibs: mips1 and mips3.
5409         * configure.in (tx39*): Use new mips/t-r3900.
5410         * configure: Rebuild.
5411         * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
5412
5413 1998-02-06  Jason Merrill  <jason@yorick.cygnus.com>
5414
5415         * dwarf2out.c: Add old_args_size.
5416         (dwarf2out_args_size): Use it.
5417         (dwarf2out_begin_prologue): Initialize it.
5418         (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
5419         pushed args until we see a call.
5420         * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
5421         before outputting them.
5422
5423 1998-02-06  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
5424
5425         * cplus-dem.c (demangle_template_template_parm): New function.
5426         (demangle_template): Handle template template parameters.
5427
5428 1998-02-02  Mark Mitchell  <mmitchell@usa.net>
5429
5430         * calls.c (expand_call): Don't confuse member functions named
5431         realloc, setjmp, and so forth with the standard library
5432         functions of the same names.
5433
5434 Thu Feb  5 21:59:49 1998  Jeffrey A Law  (law@cygnus.com)
5435
5436         * stmt.c (expand_asm_operands): Correctly identify asm statements
5437         no output operands.
5438
5439 Thu Feb  5 21:56:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
5440
5441         * c-common.c (decl_attributes): Flag unrecognized attribute
5442         functions as warnings instead of as errors.
5443
5444 1998-02-05  Marc Lehmann  <pcg@goof.com>
5445
5446         * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
5447         when -Os is specified.
5448         * toplev.c (main): Don't disable flag_inline_functions anymore when
5449         -Os is in effect.
5450
5451 Fri Feb  6 00:27:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5452
5453         * regmove.c: Update.
5454         * flags.h (flag_regmove): Declare.
5455         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
5456         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
5457         Moved into regmove; changed caller.
5458         * toplev.c (rest_of_compilation): Call regmove_optimize also for
5459         expensive_optimizations.
5460
5461 Thu Feb 5 13:38:42 PST 1998 Jeff Law  (law@cygnus.com)
5462
5463         * version.c: Bump for snapshot.
5464
5465 Thu Feb  5 01:45:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5466         Undo this change (the problem was actually in reload):
5467         Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5468
5469           * sh.md (movqi_i+1): New peephole.
5470
5471 Tue Feb  3 01:11:12 1998  Jeffrey A Law  (law@cygnus.com)
5472
5473         * jump.c (jump_optimize): Lose calls to modified_in_p they are
5474         not needed anymore due to changes elsewhere in jump.c.
5475
5476         * jump.c (jump_optimize): Fix first arg to modified_in_p in
5477         previous change.
5478
5479 Mon Feb  2 19:18:14 1998  Richard Henderson  <rth@cygnus.com>
5480
5481         * expr.c (expand_builtin_setjmp): Accept two new arguments for
5482         the labels to branch to on first and subsequent executions.  Don't
5483         play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
5484         and provide it with the jmp_buf.  Use only one of
5485         `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
5486         and provide the former with the target label.
5487         (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
5488         (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
5489         (expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
5490         insn to replace all of the normal nonlocal_goto code.  Don't play
5491         with __dummy.  Correct arguments to nonlocal_goto.
5492         * expr.h (expand_builtin_setjmp): Update prototype.
5493         * except.c (start_dynamic_handler): When using builtin_setjmp,
5494         generate more accurate flow information.
5495
5496         * alpha.md (nonlocal_goto_receiver_osf): Delete.
5497         (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
5498         (builtin_longjmp, builtin_setjmp_receiver): New.
5499         * sparc.md (update_return): Disambiguate unspec number.
5500         (nonlocal_goto): Rearrange arguments to match caller in except.c.
5501         (builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
5502         jmp_buf operand.
5503         * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
5504         (builtin_setjmp_setup*, builtin_longjmp): New.
5505
5506 Mon Feb  2 16:43:10 1998  John Carr  <jfc@mit.edu>
5507
5508         * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
5509
5510 Mon Feb  2 13:06:47 1998  Jim Wilson  <wilson@cygnus.com>
5511
5512         * vmsconfig.com: Remove bytecode references.
5513
5514 1998-01-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5515
5516         * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
5517         -fno-sjlj-exceptions works for a target that defines
5518         DWARF2_UNWIND_INFO as zero.
5519
5520         * regmove.c (fixup_match_1): Undo last change which removed some
5521         "useless" code, and add a comment explaining this.
5522
5523 Mon Feb  2 10:47:14 1998  Gavin Koch  (gavin@cygnus.com)
5524
5525         * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
5526         to TARGET_LONG64.
5527
5528 Mon Feb  2 10:38:41 1998  Klaus Kaempf  <kkaempf@progis.de>
5529
5530         * makefile.vms: Remove bytecode references.
5531         Create genrtl files.
5532
5533 Mon Feb  2 02:08:04 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
5534
5535         * jump.c (jump_optimize): Allow conditional loading of floating point
5536         constants and constants from memory.  Reinstalled modified_in_p tests.
5537
5538 Mon Feb  2 01:38:39 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5539
5540         * loop.c (get_condition): Handle sign-extended constants.
5541
5542 Mon Feb  2 01:22:46 1998  Hans-Peter Nilsson  <hp@axis.se>
5543
5544         * expr.c (emit_push_insn): Add code to use movstrti if present.
5545
5546         * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
5547         and movstrqi as in emit_block_move ().
5548
5549 Mon Feb  2 00:09:52 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
5550
5551         * config/m68k/x-next: Remove /NextDeveloper/Headers from
5552         the directories to fixinclude - /usr/include is a link
5553         to it and hence its contents are fixed by default.
5554
5555 Sun Feb  1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
5556
5557         * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
5558
5559 Sun Feb  1 13:01:15 1998  Klaus Kaempf  <kkaempf@progis.de>
5560
5561         * cccp.c (main): Predefine __VMS_VER on VMS.
5562
5563 Sun Feb  1 12:39:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5564
5565         * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
5566         * fold-const.c (size_int): Replace with
5567         (size_int_wide).
5568         (make_bit_field_ref): Use bitsize_int for bit position.
5569         * stor-layout.c (sizetype): Delete.
5570         (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
5571         (layout_record, layout_union, layout_type):
5572         Use bitsize_int for bit size.
5573         (set_sizetype): New function.
5574         (make_signed_type, make_unsigned_type): Use it.
5575         * c-decl.c (init_decl_processing): Likewise.
5576         * tree.h (size_int): Don't delcare, #define.
5577         (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
5578         (set_sizetype): Declare.
5579         (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
5580         Define.
5581         * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
5582         Convert result to sizetype.
5583         (really_start_incremental_init, push_init_level):
5584         Set type of constructor_bit_index to sbitsizetype.
5585         (push_init_level): Use unsigned arithmetic to determine padding.
5586         (output_init_element): Likewise.
5587
5588 Sun Feb  1 03:32:07 1998  Jeffrey A Law  (law@cygnus.com)
5589
5590         * combine.c (simplify_shift_const): Fix typo in last change.
5591
5592 Sun Feb  1 02:50:46 1998  John Carr  <jfc@mit.edu>
5593
5594         * combine.c (simplify_shift_const):  (lshiftrt (truncate (lshiftrt)))
5595         is (truncate (lshiftrt)).
5596
5597 Sun Feb  1 01:06:53 1998  Richard Henderson  <rth@cygnus.com>
5598
5599         * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
5600         Make sure result winds up in TGT.
5601         (alpha_expand_unaligned_store): Use expand_binop properly.  Allow
5602         src to be other than DImode.
5603         (alpha_expand_unaligned_load_words): Tidy.  Take an offset argument.
5604         (alpha_expand_unaligned_store_words): Likewise.
5605         (alpha_expand_block_move): Use REGNO_POINTER_ALIGN.  Restructure so
5606         that source and destination are separately optimized for alignment.
5607         (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
5608
5609 Sun Feb  1 01:55:09 1998  Jeffrey A Law  (law@cygnus.com)
5610
5611         * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
5612         with handling of -32768.
5613
5614 Sun Feb  1 01:48:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5615
5616         * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
5617         shell variable argument instead of only hard coded functions.
5618         (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
5619
5620         * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
5621         call.  Collapse multiple calls to GCC_NEED_DECLARATION into one
5622         call to GCC_NEED_DECLARATIONS (new macro.)  Check if we need
5623         declarations for bcopy, bcmp and bzero.
5624
5625         * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
5626
5627         * gansidecl.h: If we have bcopy but don't declare it, then do so.
5628         Likewise for bcmp and bzero.  Only define macros for bcopy, bcmp,
5629         bzero, index and rindex if they aren't already present.
5630
5631 Sat Jan 31 11:26:58 1998  Jeffrey A Law  (law@cygnus.com)
5632
5633         * toplev.c (close_dump_file): Wrap function prototype for
5634         argument "func" in PROTO.
5635         (dump_rtl): Likewise.
5636
5637 Fri Jan 30 22:30:39 1998  John Carr  <jfc@mit.edu>
5638
5639         * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
5640         MASK_V8PLUS.
5641         (output_function_epilogue): Omit epilogue if nothing drops through.
5642         (output_move_double): Supress int ldd usage on ultrasparc and v9.
5643         (registers_ok_for_ldd_peep): Likewise.
5644         (print_operand): Supress b,a on ultrasparc.  Let Y accept a constant.
5645         (ultrasparc_adjust_cost): New function.
5646         (sparc_issue_rate): New function.
5647         * sparc.h (MASK_VIS, TARGET_VIS): New
5648         (MASK_V8PLUS, TARGET_V8PLUS): New.
5649         (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
5650         (TARGET_SWITCHES): Add vis and v8plus.
5651         (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
5652         (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
5653         (RTX_COSTS): Use TARGET_HARD_MUL
5654         (ADJUST_COST): Call ultrasparc_adjust_cost.
5655         (ISSUE_RATE): New.
5656         * sparc.md (attr type): Add sload, fpmove, fpcmove.  Adjust users
5657         of load & fp appropritely.
5658         (supersparc function units): Adjust for Haifa.
5659         (ultrasparc function units): Likewise.
5660         (get_pc_via_rdpc): All v9, not just arch64.
5661         (movdi_v8plus, movdi_v8plus+1): New.
5662         (adddi3_sp32+1): New.
5663         (subdi3_sp32+1): New.
5664         (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
5665         (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
5666         (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
5667         (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
5668         (one_cmpldi2_sp32, one_cmplsi2): Likewise.
5669         (ldd peepholes): Suppress for v9.
5670         (return_adddi): Kill redundant test.  Arg1 may be arith_operand.
5671         (return_subsi): Revmove.
5672
5673 Fri Jan 30 18:30:03 1998  John F Carr  <jfc@mit.edu>
5674
5675         * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
5676         save/restore MEM rtl.
5677
5678 Fri Jan 30 09:08:16 1998  Jeffrey A Law  (law@cygnus.com)
5679
5680         * configure.in: Check for declaration of abort.
5681         * acconfig.h: Corresponding changes.
5682         * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
5683         be declared.
5684
5685 Thu Jan 29 20:26:12 1998  Jeffrey A Law  (law@cygnus.com)
5686
5687         * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
5688         uses it.
5689
5690 Thu Jan 29 09:27:56 PST 1998 Jeff Law  (law@cygnus.com)
5691
5692         * version.c: Bump for snapshot.
5693
5694 Thu Jan 29 10:12:27 1998  Jeffrey A Law  (law@cygnus.com)
5695
5696         * configure.in: Check for atoq and atoll.
5697         * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
5698         proper routine for converting ascii into long long values.
5699
5700 Thu Jan 29 01:28:14 1998  Klaus Kaempf  <kkaempf@progis.de>
5701
5702         * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
5703
5704         * vmsconfig.com: Remove bytecode references.
5705
5706         * alpha/vms.h (PREFIX): Define.
5707
5708         * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
5709
5710         * am-alpha.h: Don't include alloca for OPEN_VMS.
5711
5712         * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
5713
5714         * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
5715         (GCC_INCLUDE_DIR): Define
5716
5717         * make-cc.com, make-cccp.com, make-cc1.com: Removed.
5718         * makefile.vms: New file.
5719
5720         * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
5721
5722         * alpha.c (output_prolog): Output '.name' directive
5723         for minimal traceback information.
5724
5725         * alpha.c (output_prolog): Don't prepend entry point symbols
5726         with '$' on OPEN_VMS.
5727
5728 Thu Jan 29 00:25:35 1998  David S. Miller  <davem@tanya.rutgers.edu>
5729                           Jeffrey A Law  (law@cygnus.com)
5730
5731         * rtl.c (read_rtx): Use atol/atoq based upon disposition of
5732         HOST_WIDE_INT.
5733
5734         * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
5735         as needed.
5736         * genemit.c (gen_exp): Likewise.
5737         * genpeep.c (match_rtx): Likewise.
5738         * genrecog.c (write_tree_1): Likewise.
5739
5740         * c-lex.c (yyprint): Use proper format string based upon
5741         disposition of HOST_BITS_PER_WIDE_INT.
5742         (yylex): Put casts in right place for args to build_int_2.
5743
5744 Thu Jan 29 00:24:29 1998  Jeffrey A Law  (law@cygnus.com)
5745
5746         * combine.c: Fix typos in Jan27 changes.
5747
5748 Thu Jan 29 00:07:49 1998  Ollivier Robert <roberto@keltia.freenix.fr>
5749
5750         * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
5751         (LINK_SPEC): Likewise.
5752         (STARTFILE_SPEC): Likewise.
5753
5754 1998-01-28  Mike Stump  <mrs@wrs.com>
5755
5756         * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
5757         reload completes.
5758         * genattrtab.c (reload_completed): Define.
5759
5760         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
5761         comments.
5762
5763 Wed Jan 28 20:11:06 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5764
5765         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
5766         SUBREG_REG if the word count is unchanged, also in the input reload
5767         case.  Disable non-applicable sanity checks.
5768
5769 Wed Jan 28 20:08:26 1998  Jeffrey A Law  (law@cygnus.com)
5770
5771         * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
5772
5773 Wed Jan 28 20:04:43 1998  Ian Lance Taylor  <ian@cygnus.com>
5774
5775         * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
5776
5777 Wed Jan 28 11:45:27 1998  Per Bothner  <bothner@cygnus.com>
5778
5779         * dbxout.c (dbxout_type):  For a RECORD_TYPE, check that TYPE_BINFO
5780         is a TREE_VEC before trying to use it for baseclasses.
5781         (Chill uses the same field for a different purpose.)
5782
5783         * toplev.c (strip_off_ending):  Generalize to endings up to 5 chars.
5784
5785 Tue Jan 27 23:15:55 1998  Lassi A. Tuura  <lat@iki.fi>
5786
5787         * config.sub: More accurate determination of HP processor types.
5788
5789 Tue Jan 27 23:11:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5790
5791         * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>.  Add
5792         prototype for `handle_sysv_pragma', and make it static.  Add
5793         parentheses around assignment used as truth value.
5794
5795         * combine.c (combine_instructions): Protect variable `prev' with
5796         macro HAVE_cc0.
5797         (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
5798         (extract_left_shift): Add parentheses around operand of &.
5799         (merge_outer_ops): Avoid an empty body in an else-statement.
5800         (gen_rtx_combine): Remove unused variable `i'.
5801
5802         * sparc/gmon-sol2.c: Include <fcntl.h>.  Make return type of
5803         function monstartup `void'.  Likewise for internal_mcount.  Add
5804         `static void' prototype for moncontrol.  Reconcile sprintf format
5805         vs. args.
5806
5807         * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
5808         Make return type of function_arg_slotno explicitly `int'.
5809         (reg_unused_after): Add parentheses around assignment used as
5810         truth value.
5811         (save_regs): Add explicit braces to avoid ambiguous `else'.
5812         (function_arg_slotno): Add parentheses around && within ||.
5813         (function_arg_pass_by_reference): Likewise.
5814         (sparc_flat_output_function_prologue): Reconcile fprintf format
5815         vs. args.
5816
5817         * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
5818         assignment used as truth value.
5819
5820         * cplus-dem.c: Include <stdlib.h>.
5821         (demangle_signature): Avoid an empty body in an else-statement.
5822         (do_type): Remove unused variable `lvl'.
5823
5824         * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
5825         Include <string.h>/<strings.h>.
5826         (cpp_lex): Remove unused variable `namelen'.
5827         (cpp_lex): Explicitly declare `num_chars' as an int.
5828
5829         * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
5830         <unistd.h> instead.  Explicitly declare is_system_include
5831         returning int.
5832         (make_assertion): Remove unused variable `kt'.
5833         (cpp_expand_to_buffer): Hide variable `obuf'.
5834         (output_line_command): Remove unused variables, `line_end',
5835         `line_cmd_buf' and `len'.
5836         (macarg): Remove unused variable `arg_start'.
5837         (special_symbol): Remove unused variable `i'.  Add parentheses
5838         around assignment used as truth value.
5839         (do_include):  Remove unused variables `pcfname' and `retried',
5840         hide `pcf' and `pcfbuflimit'.
5841         (do_line): Remove unused variable `i'.
5842         (finclude): Hide variable `missing_newline'.
5843         (cpp_handle_options): Remove unused variable `j'.
5844         (read_token_list): Remove unused variable `eofp'.
5845         (cpp_error_with_line): Remove unused variable `i'.
5846         (cpp_warning_with_line): Likewise.
5847         (cpp_pedwarn_with_line): Explicitly declare `column' as int.
5848         (cpp_error_from_errno): Remove unused variable `i'.
5849
5850         * cse.c (invalidate): Add parentheses around assignment used as
5851         truth value.
5852         (find_best_addr): Move declaration of variable `our_cost' inside
5853         the conditional macro where its used.
5854         (fold_rtx): Avoid an empty body in an if-statement.
5855         (cse_insn): Wrap variables  `this_insn_cc0_mode' and
5856         `this_insn_cc0' in macro HAVE_cc0.
5857
5858         * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
5859         (ASM_OUTPUT_DWARF_DATA8):  Reconcile format vs. args in fprintf's.
5860         (output_uleb128): Likewise.
5861         (output_sleb128): Likewise.
5862         (output_cfi): Likewise.
5863         (output_call_frame_info): Remove unused variables `j', `fde_size'
5864         and `fde_pad'.
5865         (comp_unit_has_inlines): Hide declaration as per rest of file.
5866         (size_of_line_prolog): Correct typo in prototype.
5867         (add_arange): Likewise.
5868         (output_aranges): Likewise.
5869         (add_name_and_src_coords_attributes): Likewise.
5870         (gen_array_type_die): Likewise.
5871         (gen_inlined_subroutine_die): Likewise.
5872         (equate_decl_number_to_die): Remove unused variable `i'.
5873         (print_die): Reconcile format vs. args in fprintf's.
5874         (print_dwarf_line_table): Likewise.
5875         (output_die): Likewise.
5876         (output_line_info): Likewise.
5877         (add_subscript_info): Avoid an empty body in an else-statement.
5878         (gen_subprogram_die): Remove unused variable `fp_loc'.
5879
5880         * dwarfout.c: Explicitly declare `next_pubname_number' as int.
5881         Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
5882         macro.  Protect `src_coords_attribute' prototype with
5883         DWARF_DECL_COORDINATES macro.  Hide `output_entry_point_die'
5884         prototype as in the rest of the file.  Likewise for
5885         `output_pointer_type_die' and `output_reference_type_die'.  Remove
5886         prototype for `type_of_for_scope'.
5887         (output_unsigned_leb128): Reconcile format vs. args in fprintf.
5888         (type_attribute): Add explicit braces to avoid ambiguous `else'.
5889
5890         * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
5891         (shorten_branches): Protect declaration of tmp_length with
5892         SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
5893         (profile_function): Protect declaration of `sval' and `cxt'
5894         variables with appropriate macros.
5895         (final_scan_insn): Likewise for `note' variable.  Add explicit
5896         braces to avoid empty body in an if-statement.
5897         (output_asm_insn): Move variable `i' inside macro conditional
5898         where it is used.  Add parentheses around assignment used as truth
5899         value.
5900         (asm_fprintf) Likewise, likewise.
5901
5902         * fix-header.c (main): Remove unused variable `done'.  Protect
5903         declaration of `i' with FIXPROTO_IGNORE_LIST.
5904
5905         * pexecute.c: Include <unistd.h>.  Prototype `my_strerror'.
5906
5907         * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
5908         `ind'.
5909
5910         * profile.c: Include <string.h>/<strings.h>.
5911         (instrument_arcs): Remove unused variables `note', `inverted',
5912         `zero' and `neg_one'.
5913         (branch_prob): Avoid empty body in an if-statement.
5914
5915         * regclass.c: Include <stdlib.h>.
5916         (reg_alternate_class): Explicitly declare parameter `regno'.
5917
5918         * regmove.c (regmove_optimize): Remove unused variable `p'.  Add
5919         parentheses around assignment used as truth value.
5920         (find_matches):  Remove unused variables `output_operand' and
5921         `matching_operand'.
5922         (fixup_match_1): Remove statement with no effect: "if (0) ;".
5923
5924         * scan.c (sstring_append): Explicitly declare `count' as int.
5925         (scan_string): Explicitly declare parameter `init' as int.
5926
5927         * sched.c: Include <stdlib.h>.
5928         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
5929         (rank_for_schedule): Add parentheses around assignment used as
5930         truth value.
5931         (schedule_block): Likewise.
5932         (regno_use_in): Likewise.
5933         (schedule_insns): Remove unused variable `i'.
5934
5935         * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
5936         (v_message_with_decl): Remove unused variable `n'.
5937         (botch): Explicitly declare parameter `s' as char *.
5938         (main): Add parentheses around assignment used as truth value.
5939
5940         * tree.c (make_node): Protect the variable `kind' with the
5941         GATHER_STATISTICS macro.
5942         (real_value_from_int_cst): Move variable `e' inside conditional
5943         macro area where it is used.
5944         (tree_last): Add parentheses around assignment used as truth value.
5945         (build1): Protect the variable `kind' with the GATHER_STATISTICS
5946         macro.
5947         (print_obstack_statistics): Reconcile format vs. args in fprintf.
5948         Protect variables `i', `total_nodes', and `total_bytes' with the
5949         GATHER_STATISTICS macro.
5950
5951 Tue Jan 27 23:01:55 1998  Mike Stump  (mrs@wrs.com)
5952
5953         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
5954         some comments regarding use of dead_or_set_p.
5955
5956 Tue Jan 27 22:14:48 1998  Todd Vierling <tv@pobox.com>
5957
5958         * fixincludes: Tweak fix for struct exception in math.h
5959
5960 Tue Jan 27 17:21:09 1998  Gavin Koch  (gavin@cygnus.com)
5961
5962         * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
5963         Change mode of registers used to add/sub from
5964         hard_frame_pointer_rtx from word_mode to Pmode.
5965
5966 Tue Jan 27 11:02:04 1998  Nick Clifton  <nickc@cygnus.com>
5967
5968         * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
5969         asm_output_aligned_bss() instead of asm_output_bss().
5970
5971         * toplev.c (rest_of_compilation): Replace references to
5972         stack_reg_dump_file and dbr_sched_dump_file with references to
5973         rtl_dump_file.
5974
5975 Tue Jan 27 10:22:13 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
5976
5977         * tlink.c (scan_linker_output): Call fclose() for opened files.
5978
5979 Tue Jan 27 05:05:26 1998  Richard Henderson  <rth@cygnus.com>
5980
5981         * alpha.c (output_epilog [!VMS]): Don't tag global functions if
5982         compiling with -fpic -- we want to be able to override symbols
5983         properly.
5984         (alpha_expand_block_move): Fix thinko in last change.
5985
5986         * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
5987         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
5988         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
5989
5990 Tue Jan 27 03:21:23 1998  Richard Henderson  <rth@cygnus.com>
5991
5992         * alpha.md (abssf, absdf): Revert last change.
5993
5994 Tue Jan 27 00:26:50 1998  John Carr  <jfc@mit.edu>
5995
5996         * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
5997         * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
5998
5999 Tue Jan 27 00:07:02 1998  Jeffrey A Law  (law@cygnus.com)
6000
6001         * emit-rtl.c (gen_lowpart_common): Handle more case where converting
6002         a CONST_INT into SFmode.
6003
6004 Tue Jan 20 16:01:03 1998  Anthony Green  <green@cygnus.com>
6005
6006         * flags.h: New flag (optimize_size).
6007         * toplev.c (main): Parse -Os option and set optimize_space
6008         accordingly.
6009         * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
6010         __OPTIMIZE_SIZE__ when compiling with -Os.
6011         * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
6012         config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
6013         config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
6014         to macro.
6015         * config/i386/i386.c (optimization_options): Accept new SIZE argument.
6016
6017 Mon Jan 26 23:57:39 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6018
6019         * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
6020         stuff only if MCT_TEXT is #define'd.
6021
6022 Mon Jan 26 23:52:51 1998  Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
6023
6024         * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
6025         configurations.
6026
6027 Fri Jan 23 09:39:36 1998  Nick Clifton  <nickc@cygnus.com>
6028
6029         * toplev.c: Add -dM command line option to dump RTL after the
6030         machine dependent reorganisation pass, if there is one.
6031         Reorganise RTL dump code, so that only one file handle is
6032         needed.
6033
6034 Mon Jan 26 12:09:42 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
6035
6036         * except.c (check_exception_handler_labels): Disable warning when
6037         flag_syntax_only.
6038
6039 Mon Jan 26 18:17:32 1998  Jim Wilson  <wilson@cygnus.com>
6040
6041         * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
6042
6043 Mon Jan 26 18:11:30 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6044
6045         * c-decl.c (grokdeclarator): Get parameter tags from
6046         last_function_parm_tags.
6047         * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
6048         traversing the parameter types.
6049         (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
6050
6051 Mon Jan 26 01:44:12 1998  Jeffrey A Law  (law@cygnus.com)
6052
6053         * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
6054         the default case.
6055         (get_shift_alg): Fix typo.
6056
6057 Sun Jan 25 22:22:04 1998  Richard Henderson  <rth@cygnus.com>
6058
6059         * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
6060
6061 Sun Jan 25 22:14:28 1998  Richard Henderson  <rth@cygnus.com>
6062
6063         * toplev.c (get_run_time): Make sure each case gets its variables.
6064
6065 Sun Jan 25 22:10:21 1998  Richard Henderson  <rth@cygnus.com>
6066
6067         * configure.in (build_xm_file): Add auto-config.h if host=build.
6068         (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
6069         (build_xm_file_list): Likewise.
6070         * configure: Rebuild.
6071
6072 Sun Jan 25 22:00:25 1998  Alasdair Baird <alasdair@wildcat.demon.co.uk>
6073
6074         * recog.c (validate_replace_rtx_1): Only perform substitutions
6075         of arguments to commutative and comparison operators once.
6076
6077 Sun Jan 25 12:30:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6078
6079         * sparc.c (output_cbranch): Add default case in
6080         enumeration switch.
6081
6082         * reorg.c (insn_sets_resource_p): Correct typo in prototype.
6083         (emit_delay_sequence): Eliminate unused parameter, all callers
6084         changed.
6085         (fill_simple_delay_slots): Likewise.
6086         (fill_slots_from_thread): Likewise.
6087         (fill_eager_delay_slots):  Likewise.
6088         (mark_referenced_resources): Add default case in enumeration switch.
6089         (mark_set_resources): Likewise.
6090         (rare_destination): Likewise.
6091         (mostly_true_jump): Likewise.
6092         (find_dead_or_set_registers): Likewise.
6093         (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
6094         (update_reg_unused_notes): Remove unused variable `p'.
6095         (mark_target_live_regs): Remove unused variables `next' and
6096         `jump_count'.
6097         (fill_simple_delay_slots): Remove unused variable `j'.
6098         (fill_slots_from_thread): Add parentheses around assignment used
6099         as truth value.
6100         (dbr_schedule): Likewise.
6101
6102         * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
6103         (objc.stage2, objc.stage3, objc.stage4): Likewise.
6104
6105 Sun Jan 25 12:13:47 1998  Michael Tiemann  <michael@tiemann.org>
6106
6107         * cse.c (simplify_ternary_operation): Don't try to simplify
6108         IF_THEN_ELSE expressions (created by combine) that don't use
6109         relational operators.
6110
6111 Fri Jan 23 22:48:24 1998  Jeffrey A Law  (law@cygnus.com)
6112
6113         * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
6114         simplifications.
6115
6116         * crtstuff.c (init_dummy): Keep the epilogue in the init
6117         section for non-ELF systems.
6118
6119 Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6120
6121         * sh.md (movqi_i+1): New peephole.
6122
6123 Fri Jan 23 15:39:42 1998  Jim Wilson  <wilson@cygnus.com>
6124
6125         * Makefile.in: Remove remaining bytecode stuff.
6126         * emit-rtl.c, expr.c: Likewise.
6127
6128 Fri Jan 23 12:41:10 1998  Nick Clifton  (nickc@cygnus.com)
6129
6130         * toplev.c (lang_options): Add unknown-pragma options.
6131
6132 Thu Jan 22 23:43:38 1998  Per Bothner  <bothner@cygnus.com>
6133
6134         * dwarfout.c (byte_size_attribute):  Simplify and fix - don't need
6135         special (and incomplete) handling for Chill arrays.
6136
6137 Fri Jan 23 00:27:23 1998  John Carr  <jfc@mit.edu>
6138
6139         * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
6140         to get clock rate.
6141
6142 Fri Jan 23 00:19:36 1998  Gavin Koch  (gavin@cygnus.com)
6143
6144         * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
6145
6146 1998-01-22  scott snyder  <snyder@d0sgif.fnal.gov>
6147
6148         * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
6149         .frame directive instead of FRAME_POINTER_REGNUM.
6150
6151 Fri Jan 23 00:08:55 1998  Robin Kirkham <rjk@mlb.dmt.csiro.au>
6152
6153         * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
6154         (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
6155         * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
6156         (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
6157         (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
6158         * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
6159         (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
6160         (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
6161         mcpu32 or m5200.
6162         * longlong.h: Replace __mc68332__ with __mcpu32__.
6163
6164 Thu Jan 22 19:55:40 PST 1998 Jeff Law  (law@cygnus.com)
6165
6166         * version.c: Bump for snapshot.
6167
6168 Thu Jan 22 14:47:31 1998  Jim Wilson  <wilson@cygnus.com>
6169
6170         * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
6171         to require the SUBREG mode to be smaller than the SUBREG_REG mode.
6172         * reload1.c (eliminate_regs): Likewise.
6173
6174 Thu Jan 22 14:49:14 1998  Jeffrey A Law  (law@cygnus.com)
6175
6176         * regmove.c (find_matches): Initialize matches->earlyclobber too.
6177
6178 Thu Jan 22 01:40:52 1998  Richard Henderson  <rth@cygnus.com>
6179
6180         * alpha.md (abssf2, absdf2): Disable in IEEE mode.
6181         (negsf2, negdf2): Use proper subtract in IEEE mode.
6182
6183 Tue Jan 20 09:29:09 1998  Jeffrey A Law  (law@cygnus.com)
6184
6185         * Makefile.in: Remove more bytecode stuff.
6186         * expr.c, stmt.c, config/msdos/top.sed: Likewise.
6187         * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
6188         * f/install.texi, objc/Make-lang.in: Likewise.
6189
6190         * Makefile.in: Remove all bytecode support.
6191         (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
6192         * emit-rtl.c: Remove all bytecode support.
6193         * expr.c, expr.h function.c, integrate.c: Likewise.
6194         * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
6195         * tree.h, varasm.c: Likewise.
6196         * config/m68k/m68k.h: Likewise.
6197         * bi-*, bc-*, bytecode*: Delete bytecode related files.
6198         * modemap.def: Likewise.
6199
6200 Tue Jan 20 09:02:31 1998  Gavin Koch  (gavin@cygnus.com)
6201
6202         * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
6203         umodsi3,umoddi3): Handle mips16 div/mod by a constant.
6204
6205 Mon Jan 19 21:57:00 1998  Richard Henderson  <rth@cygnus.com>
6206
6207         * i386.md (push): Prohibit symbolic constants if flag_pic.
6208         (movsi+1): Likewise for move to non-register.
6209
6210 Mon Jan 19 11:15:38 1998  Jim Wilson  <wilson@cygnus.com>
6211
6212         * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
6213         (print_operand): Handle 0xffffffff on 32 bit host.
6214
6215         * configure.in (thread_file): Rename uses before main loop to
6216         target_thread_file.  Initialize to empty in main loop.  Set thread_file
6217         to target_thread_file after main loop if not set.
6218         * configure: Rebuild.
6219
6220         * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
6221         (add_values_to_cover): Revert last change (which had no ChangeLog
6222         entry).
6223         (simplify_with_current_value_aux): Handle CONST_INT.
6224
6225 Mon Jan 19 10:14:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6226
6227         * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
6228
6229 Mon Jan 19 10:11:52 1998  Richard Henderson  <rth@cygnus.com>
6230
6231         * configure.in: Add cpp stringify test.
6232         * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
6233         * gengenrtl.c: Use it.
6234         * configure, config.in: Rebuild.
6235
6236 Mon Jan 19 09:43:15 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6237
6238         * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
6239
6240 Mon Jan 19 09:38:18 1998  Richard Henderson  <rth@cygnus.com>
6241
6242         * configure.in: Find declaration for sbrk.
6243         * acconfig.h (NEED_DECLARATION_SBRK): New tag.
6244         * config.in, configure: Rebuild.
6245         * mips-tfile.c: Properly protect declaration of sbrk and free.
6246         * toplev.c: Properly protect declaration of sbrk.
6247
6248 Sun Jan 18 20:18:01 1998  Richard Henderson  <rth@cygnus.com>
6249
6250         * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
6251
6252 Sun Jan 18 01:54:27 1998  Jeffrey A Law  (law@cygnus.com)
6253
6254         * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
6255
6256 Sun Jan 18 00:57:35 1998  Mike Stump  (mrs@wrs.com)
6257
6258         * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
6259
6260 Sat Jan 17 23:41:36 1998  David S. Miller  <davem@tanya.rutgers.edu>
6261
6262         * combine.c (force_to_mode, nonzero_bits): Correctly optimize
6263         constant offset computations from objects with known alignment in
6264         the presence of STACK_BIAS.
6265
6266         * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
6267         necessary.
6268         (const_hash): Hash val is unsigned long.
6269         (SYMHASH): Likewise.
6270
6271         * tree.c (TYPE_HASH): Type of hash val is unsigned long.
6272
6273         * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
6274         char pointer, not HOST_WIDE_INT.
6275         (print_node): Likewise.  Also hash is unsigned long not
6276         HOST_WIDE_INT.
6277
6278         * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
6279
6280         * explow.c (optimize_save_area_alloca): New function for targets
6281         where SETJMP_VIA_SAVE_AREA is true.
6282         (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
6283         compute the amount of stack space needed should we find later that
6284         setjmp is never called by this function, stuff rtl for this inside
6285         a REG_NOTE of the final SET of stack_pointer_rtx.
6286         * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
6287         current_function_calls_alloca, call optimize_save_area_alloca.
6288
6289 Sat Jan 17 23:22:59 1998  John Wehle  (john@feith.com)
6290
6291         * i386.md: Remove redundant integer push patterns.
6292         Don't bother checking for TARGET_PUSH_MEMORY when
6293         pushing constants or registers.
6294
6295 Sat Jan 17 22:35:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
6296                           J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
6297
6298         * pexecute.c (pexecute): New function for mingw32. Supports pipes.
6299         (pwait): New function for mingw32.
6300
6301         * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
6302         pipe support is broken for now.
6303
6304 1998-01-17  Lee Iverson  <leei@Canada.AI.SRI.COM>
6305
6306         * emit_rtl.c (init_emit_once): Ensure that potential aliasing
6307         between frame_pointer_rtx, hard_frame_pointer_rtx, and
6308         arg_pointer_rtx is respected in initialization.
6309         (init_emit_once): Use gen_rtx_raw_REG() to create
6310         return_address_pointer_rtx.
6311
6312         * reorg.c: #include "expr.h" for rtx prototypes.
6313         * Makefile.in (reorg.o): Depend on expr.h
6314
6315 Sat Jan 17 21:28:08 1998  Pieter Nagel <pnagel@epiuse.co.za>
6316
6317         * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
6318         local_prefix to sub-make invocations.
6319
6320 Sat Jan 17 21:24:16 1998  David T. McWherter <dtm@waterw.com>
6321
6322         * objc-parse.c: Recognize protocol qualifiers in class definitions.
6323
6324 Sat Jan 17 21:16:19 1998  Jeffrey A Law  (law@cygnus.com)
6325
6326         * rtl.h: Fix typos.
6327
6328         * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
6329         * configure.in: Check for atol.
6330         * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
6331
6332         * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
6333
6334         * loop.c (find_and_verify_loops): When attempting to move insns from
6335         inside the loop outside the loop, create a BARRIER if no suitable
6336         one was found.
6337
6338         * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
6339         favor of an equivalent change from gcc-2.8.
6340
6341         * i386/x-sco5 (CC): Remove trailing whitespace.
6342
6343 Sat Jan 17 21:09:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6344
6345         * gengenrtl.c (type_from_format): De-ANSIfy function signature.
6346         (accessor_from_format): Likewise.
6347         (xmalloc): New function for use when linking with alloca.o.
6348
6349 Mon Jan  5 02:53:01 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
6350
6351         * frame.c (find_fde): Correct FDE's upper bound.
6352
6353 Fri Jan 16 16:23:52 1998  Richard Henderson  <rth@cygnus.com>
6354
6355         * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
6356
6357 Fri Jan 16 10:16:10 1998  Jeffrey A Law  (law@cygnus.com)
6358
6359         * calls.c (expand_call): Move #ifdef code out of macro argument
6360         lists.
6361         (emit_library_call, emit_library_call_value): Likewise.
6362
6363 Fri Jan 16 00:46:40 1998  Jeffrey A Law  (law@cygnus.com)
6364
6365         * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
6366
6367 Thu Jan 15 01:02:30 1998  Jeffrey A Law  (law@cygnus.com)
6368
6369         * version.c: Bump for snapshot.
6370
6371 Wed Jan 14 22:49:17 1998  Richard Henderson  <rth@cygnus.com>
6372
6373         * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
6374         change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
6375         * caller-save.c, calls.c, combine.c, cse.c: Likewise.
6376         * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
6377         * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
6378         * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
6379         * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
6380         * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
6381         * unroll.c, varasm.c: Likewise.
6382         * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
6383
6384 Wed Jan 14 19:36:08 1998  Gavin Koch  (gavin@cygnus.com)
6385
6386         * mips.h: Fix some type-o's from a previous change.
6387
6388 Wed Jan 14 01:26:05 1998  Jeffrey A Law  (law@cygnus.com)
6389
6390         * loop.c (check_dbra_loop): Make sure initial value is a
6391         CONST_INT before trying to normalize it.
6392
6393 Tue Jan 13 23:27:54 1998  Robert Lipe   (robertl@dgii.com)
6394
6395         * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
6396
6397 Tue Jan 13 22:47:02 1998  Herman ten Brugge <herman@htbrug.net.HCC.nl>
6398
6399         * cppexp.c: Include gansidecl.h
6400
6401 Tue Jan 13 22:43:35 1998  Ian Lance Taylor  <ian@cygnus.com>
6402
6403         * svr4.h (LINK_SPEC): Never specify -h.
6404         * ptx4.h (LINK_SPEC): Likewise.
6405         * rs6000/sysv4.h (LINK_SPEC): Likewise.
6406         * sparc/sol2.h (LINK_SPEC): Likewise.
6407
6408 Tue Jan 13 22:39:40 1998  Richard Henderson  (rth@cygnus.com)
6409
6410         * c-typeck.c (comptypes): Exit early on NULL input.
6411
6412         * haifa-sched.c (schedule_insns): Correctly remove inter-block
6413         dependencies after reload.
6414
6415 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
6416
6417         * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
6418
6419 Tue Jan 13 22:14:57 1998  Klaus Kaempf <kkaempf@progis.de>
6420
6421         * alpha/vms.h (DIR_SEPARATOR): define
6422
6423 Tue Jan 13 22:13:04 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
6424
6425         * Makefile.in (stamp-proto): Remove.
6426         (protoize.o, unprotoize.o): Straightforward compile.
6427         * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
6428
6429 Tue Jan 13 21:59:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
6430
6431         * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
6432         off the trailing @[NUM] added by ENCODE_SECTION_INFO.
6433
6434 Tue Jan 13 21:55:06 1998  Jeffrey A Law  (law@cygnus.com)
6435
6436         * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
6437         * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
6438         * sparc/netbsd.h, vax/netbsd.h: Likewise.
6439
6440 Tue Jan 13 21:37:07 1998  Shigeya Suzuki <shigeya@foretune.co.jp>
6441
6442         * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
6443
6444 Tue Jan 13 17:50:55 1998  Jim Wilson  <wilson@cygnus.com>
6445
6446         * configure.in (target_cpu_default, target_cpu_default2): Use double
6447         quotes around them when testing their value.
6448         * configure: Rebuilt.
6449
6450 Tue Jan 13 09:07:44 1998  John Carr  <jfc@mit.edu>
6451
6452         * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
6453         to allocate rtx.
6454         (gendef): Call obstack_alloc_rtx.
6455
6456 Tue Jan 13 01:16:36 1998   Robert Lipe (robertl@dgii.com)
6457
6458         * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
6459         for now.
6460
6461 Thu Dec 18 18:40:17 1997  Mumit Khan <khan@xraylith.wisc.edu>
6462
6463         * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
6464         of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
6465         (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
6466
6467 Tue Jan 13 00:44:02 1998  Jim Wilson  <wilson@cygnus.com>
6468
6469         * mips.md (return_internal): Change mode from SImode to VOIDmode.
6470
6471 Sat Jan 10 22:11:39 1998  J. Kean Johnston  <jkj@sco.com>
6472
6473         * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
6474         "-static".
6475
6476 Sat Jan 10 22:04:15 1998  Stan Cox  <scox@equinox.cygnus.com>
6477
6478         * i386.md: (movsicc_1, movhicc_1):  For alternate 3 set the opcode
6479         suffix from operand 3.
6480
6481 Sat Jan 10 21:50:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6482                           Jeffrey A Law  (law@cygnus.com)
6483
6484         * regmove.c: New implementation of regmove pass.
6485         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
6486         decls, make them have external linkage.  Return a value from
6487         optimize_reg_copy_1.
6488         * reload.h (count_occurrences): Add decl.
6489         * reload1.c (count_occurrences): Delete decl, make it have external
6490         linkage.
6491         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
6492
6493 Sat Jan 10 20:30:12 1998  Jeffrey A Law  (law@cygnus.com)
6494
6495         * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
6496         if it is not defined.
6497
6498 Thu Jan  8 21:06:54 1998  Richard Henderson  <rth@cygnus.com>
6499
6500         * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
6501         * emit-rtl.c (gen_rtx): Move special code to ...
6502         (gen_rtx_CONST_INT): New function.
6503         (gen_rtx_REG): New function.
6504         (*): Update all calls to gen_rtx.
6505         * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
6506         * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
6507         (GEN_INT): Call gen_rtx_CONST_INT.
6508         * gengenrtl.c: New file.
6509
6510 Mon Jan  5 13:00:18 1998  John F. Carr  <jfc@mit.edu>
6511
6512         * alias.c (*_dependence): Call base_alias_check before canon_rtx.
6513         (base_alias_check): If no base found for address call canon_rtx and
6514         try again.
6515
6516 Mon Jan  5 11:39:49 1998  Jeffrey A Law  (law@cygnus.com)
6517
6518         * mips.c (mips_expand_prologue): Handle large frame with no outgoing
6519         arguments for mips16.
6520         (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
6521         Don't lose if tsize is zero after handling large stack for mips16.
6522         * mips.md (return): For trivial return, return address is in $31.
6523
6524 Sun Jan  4 20:24:00 1998  Nigel Stephens  <nigel@algor.co.uk>
6525
6526         *  mips/mips16.S: Various changes to make it work with -msingle-float
6527         and -EL.
6528
6529 Sun Jan  4 14:25:18 1998  Gavin Koch  <gavin@cygnus.com>
6530                           Ian Lance Taylor  <ian@cygnus.com>
6531                           Jeff Law  <law@cygnus.com>
6532
6533         * mips.c, mips.h, mips.md: First cut at merging in mips16
6534         support.  Major modifications throughout all three files.
6535
6536 Sun Jan  4 01:01:50 1998  scott snyder  <snyder@d0sgif.fnal.gov>
6537
6538         * configure.in: Make gthr-default.h a forwarding header instead of
6539         a symlink.
6540
6541 Sat Jan  3 12:08:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6542
6543         * gcov-io.h: Include sys/types.h to ensure we get size_t.
6544
6545         * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
6546
6547 Fri Jan  2 23:40:09 1998  Jim Wilson  (wilson@cygnus.com)
6548                           Jeffrey A Law  (law@cygnus.com)
6549
6550         * crtstuff.c (__frame_dummy): New function for irix6.
6551         (__do_global_ctors): Call __frame_dummy for irix6.
6552         * iris6.h (LINK_SPEC): Hide __frame_dummy too.
6553
6554 Fri Jan  2 04:57:57 1998  Weiwen Liu  <liu@hepmail.physics.yale.edu>
6555
6556         * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
6557
6558 Fri Jan  2 04:34:14 1998  Richard Henderson  <rth@cygnus.com>
6559
6560         * c-decl.c (init_decl_processing): Provide proper fallback symbol
6561         for __builtin_memset.
6562         * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
6563         not INTEGER_CST.  Assert arg 3 is a constant.
6564
6565         * alpha.c (mode_width_operand): Accept 64-bit modes.
6566         (mode_mask_operand): Likewise.
6567         (print_operand): Likewise for 'M' and 'U' codes.
6568         (alpha_expand_unaligned_load): New function.
6569         (alpha_expand_unaligned_store): Likewise.
6570         (alpha_expand_unaligned_load_words): Likewise.
6571         (alpha_expand_unaligned_store_words): Likewise.
6572         (alpha_expand_block_move): Likewise.
6573         (alpha_expand_block_clear): Likewise.
6574         * alpha.h (MOVE_RATIO): New define.
6575         * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
6576         (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
6577
6578         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
6579         (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
6580
6581 Thu Jan  1 15:40:15 1998  Richard Henderson  <rth@cygnus.com>
6582
6583         * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
6584         * configure: Update.
6585
6586 Thu Jan  1 10:49:12 1998  Jeffrey A Law  (law@cygnus.com)
6587
6588         * emit-rtl.c (operand_subword): Correctly handle extracting a word
6589         from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
6590
6591         * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
6592         for first argument.
6593
6594 Wed Dec 31 14:42:18 1997  Ian Lance Taylor  <ian@cygnus.com>
6595
6596         * configure.in: Set and subsitute host_exeext.  Use it when creating
6597         the assembler and linker symlinks.
6598         * configure: Rebuild.
6599         * Makefile.in (exeext): Set to @host_exeext@.
6600         (build_exeext): New variable, set to @build_exeext@.
6601         (FLAGS_TO_PASS): Pass down build_exeext.
6602         (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
6603         programs.
6604
6605 Wed Dec 31 10:05:44 1997  Jeffrey A Law  (law@cygnus.com)
6606
6607         * mn10200.md (addsi3, subsi3): Fix thinkos.
6608
6609 Tue Dec 30 00:04:49 1997  Richard Henderson  <rth@cygnus.com>
6610
6611         * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
6612         save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
6613         unix always, since we want to be able to thunk to functions in a
6614         shared library from an application.
6615
6616 Mon Dec 29 14:37:31 1997  Ian Lance Taylor  <ian@cygnus.com>
6617
6618         * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
6619         (LIB1ASMSRC, LIB1ASMFUNCS): Define.
6620
6621 Mon Dec 29 14:03:38 1997  Jeffrey A Law  (law@cygnus.com)
6622
6623         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
6624         offset's mode is not ptr_mode, convert it.
6625
6626 Mon Dec 29 15:58:18 1997  Michael Meissner  <meissner@cygnus.com>
6627
6628         * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
6629         compiling if it was already defined.
6630
6631 Sun Dec 28 00:32:16 1997  Jeffrey A Law  (law@cygnus.com)
6632
6633         * flow.c (find_basic_blocks): Don't create a new basic block
6634         for calls in a LIBCALL block.
6635
6636 Sun Dec 28 00:30:24 1997  David Edelsohn  <edelsohn@mhpcc.edu>
6637
6638         * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
6639
6640 Sat Dec 27 22:43:12 1997  Jeffrey A Law  (law@cygnus.com)
6641
6642         * cse.c (rtx_cost): Remove conflicting default case.
6643
6644 Sat Dec 27 21:20:02 1997  Richard Henderson  <rth@cygnus.com>
6645
6646         * configure.in: Move default enabling of Haifa out of for loop.
6647         * configure: Rebuild.
6648
6649 Thu Dec 25 01:02:54 1997  Jeffrey A Law  (law@cygnus.com)
6650
6651         * version.c: Bump for snapshot.
6652
6653 1997-12-25  Teemu Torma  <tot@trema.com>
6654
6655         * Makefile.in (GTHREAD_FLAGS): New var.
6656         (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
6657         (distclean): Remove gthr-default.h.
6658
6659         * configure.in: Accept dce as a thread package.
6660         Check for thread.h and pthread.h.
6661         Link gthr-default.h to appropriate thread file and set
6662         gthread_flags.
6663         (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
6664         include multilib definitions from pa/t-dce-thr.
6665         (sparc-*-solaris2*): Enable threads by default, if thread.h or
6666         pthread.h is found, preferring posix threads over solaris ones.
6667
6668         * config/pa/t-dce-thr: New file.
6669         * config/pa/t-pa: Removed multilibs.
6670         * config/sparc/t-sol2: Ditto.
6671
6672         * gthr.h: New file.
6673         * gthr-single.h: New file.
6674         * gthr-posix.h: New file.
6675         * gthr-solaris.h: New file.
6676         * gthr-dce.h: New file.
6677         * libgcc-thr.h: Removed.
6678         * objc/thr-dce.c: New file copied from thr-decosf1.c.
6679
6680         * frame.c: Include gthr.h instead of libgcc-thr.h.
6681         * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
6682         (eh_context_initialize): If __gthread_once fails, use static eh
6683         context.
6684         (eh_context_free): Call __gthread_key_dtor.
6685
6686 Wed Dec 24 23:33:17 1997  Jeffrey A Law  (law@cygnus.com)
6687
6688         * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
6689
6690 Wed Dec 24 23:12:14 1997  Jim Wilson  <wilson@cygnus.com>
6691
6692         * cse.c (max_insn_uid): New variable.
6693         (cse_around_loop): Use max_insn_uid.
6694         (cse_main): Set max_insn_uid.
6695
6696         * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
6697         and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
6698         -mlong64, and -mgp{32,64} options.
6699         * mips.c (mips_abi): Change type to int.
6700         * mips.h (enum mips_abi_type): Delete.
6701         (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
6702         (mips_abi): Change type to int.
6703
6704 Wed Dec 24 22:38:34 1997  John Carr  <jfc@mit.edu>
6705
6706         * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
6707         optimization is now always enabled.
6708
6709         * calls.c (expand_call): Recognize C++ operator new as malloc-like
6710         function.
6711
6712         * alias.c (memrefs_conflict_p): Eliminate tests now done by
6713         base_alias_check.
6714         (*_dependence): Call canon_rtx before base_alias_check.
6715         (init_alias_once): New function to precompute set of registers which
6716         can hold Pmode function arguments.
6717
6718         * rtl.h: Declare init_alias_once.
6719
6720         * toplev.c (compile_file): Call init_alias_once.
6721
6722 Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
6723
6724         * tree.c (restore_tree_status): Do not dereference a null pointer.
6725
6726 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
6727
6728         * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
6729         RLIMIT_STACK.  This maintains consistency with the recent, similar
6730         patch to cccp.c and toplev.c.
6731
6732 Tue Dec 23 05:17:28 1997  Richard Henderson  <rth@cygnus.com>
6733
6734         * genattrtab.c (expand_units): For large nr opclasses, expand
6735         function_units_used with ORX to prevent blowups.  Tag with FFS.
6736         (num_unit_opclasses): New variable.
6737         (gen_unit): Update it.
6738         (enum operator): Add ORX_OP.
6739         (operate_exp): Treat ORX as or, except don't expand across an if.
6740         Reuse number rtx's after operating on them.
6741         (check_attr_value): Accept IOR, AND, & FFS.
6742         (write_test_expr): Transmute `in_comparison' to `flags'.  Allow
6743         for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
6744         (write_expr_attr_cache, write_toplevel_expr): New functions.
6745         (write_attr_get): Handle FFS-tagged expressions.
6746         (make_canonical): Don't expand const attributes.
6747         (convert_const_symbol_ref): Dike out.
6748         (evaluate_eq_attr): Handle SYMBOL_REF.
6749         (main): Don't emit get_attr_foo for const attributes.
6750
6751         * alpha.c (override_options): Reinstate PROCESSOR_EV6.
6752         (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
6753         * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
6754         * alpha.md: Redo all of the scheduling, adding EV6 support, and
6755         combining function units where possible.
6756         (attr "type"): Split loads, stores, cmov into int/fp.  Combine
6757         multiplies and divides.  Add EV6 sqrt, ftoi, itof.
6758         (attr "opsize"): New attribute.
6759         (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
6760         (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
6761         to control register allocation.
6762         (movsi2-1, movdi2-1): Likewise.
6763
6764 Tue Dec 23 03:53:21 1997  Richard Henderson  <rth@cygnus.com>
6765
6766         * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
6767         MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
6768         Move OSF/1 specific defines out.
6769         * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
6770         Move Linux specific defines out.
6771         (LINK_SPEC): Genericize.
6772         (ASM_FILE_START): Emit .arch if using more than the base insn set.
6773         (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
6774         (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
6775         (HANDLE_SYSV_PRAGMA): Define.
6776         * alpha/osf.h: New file.
6777         * alpha/linux.h: Split.  Retain file-format independant defines.
6778         Import Linux bits from elf.h.
6779         (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
6780         (FUNCTION_PROFILER): _mcount takes its address in $28.
6781         (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
6782         * alpha/linux-ecoff.h: New file.
6783         * alpha/linux-elf.h: New file.
6784         * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
6785         * alpha/win-nt.h (TARGET_DEFAULT): Define.
6786         * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
6787         Add new headers as appropriate.
6788
6789         * configure.in (alpha*): Enable Haifa by default.
6790         (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
6791         * configure: Rebuild.
6792
6793 Tue Dec 23 03:14:54 1997  Richard Henderson  <rth@cygnus.com>
6794
6795         * Makefile.in (clean): Remove the stages with their objects here ...
6796         (distclean): ... instead of here.
6797
6798 Mon Dec 22 11:24:01 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6799
6800         * cse.c (rtx_cost): Add default case in enumeration switch.
6801         * fix-header.c (recognized_macro): Likewise.
6802         (recognized_extern): Likewise.
6803         (write_rbrac): Likewise.
6804         * objc/objc-act.c (encode_aggregate): Likewise.
6805         (gen_declarator): Likewise.
6806         (gen_declspecs): Likewise.
6807
6808 Mon Dec 22 09:58:51 1997  Jeffrey A Law  (law@cygnus.com)
6809
6810         * haifa-sched.c (create_reg_dead_note): Detect and handle another
6811         case where we kill more regs after sched than were killed before
6812         sched.
6813         * sched.c (create_reg_dead_note): Similarly.
6814
6815 Mon Dec 22 09:18:37 1997  Jeffrey A Law  (law@cygnus.com)
6816
6817         * c-pragma.c: Include flags.h.
6818
6819 Sun Dec 21 22:10:59 1997  Mumit Khan <khan@xraylith.wisc.edu>
6820
6821         * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
6822         about system headers.
6823         (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
6824         and also to resolve symbols in prefix.c.
6825
6826         * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
6827         between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
6828         when the definitions in auto-config.h is not visible.
6829         (HAVE_BZERO): Likewise.
6830         (HAVE_BCMP): Likewise.
6831         (HAVE_RINDEX): Likewise.
6832         (HAVE_INDEX): Likewise.
6833
6834 Sun Dec 21 21:54:22 1997  Jeffrey A Law  (law@cygnus.com)
6835
6836         * pa.c (emit_move_sequence): Handle a function label source
6837         operand.
6838
6839 Sun Dec 21 16:13:55 1997  Nick Clifton  <nickc@cygnus.com
6840
6841         * c-pragma.c (handle_pragma_token): Generate warning messages
6842         about unknown pragmas if warn_unknown_pragmas is set.
6843
6844         * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
6845         line option to set variable: warn_unknown_pragmas.
6846
6847 Sun Dec 21 15:51:10 1997  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
6848
6849         * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
6850         definition.
6851         (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
6852
6853 Sun Dec 21 13:58:39 1997  Jeffrey A Law  (law@cygnus.com)
6854
6855         * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
6856         (libgcc2.a): Depend on $(DPBIT) and $(FPBIT).  Add rules to
6857         generate more fine grained floating point emulation libraries.
6858         * config/fp-bit.c: Add protecting #ifdef to all functions so
6859         that they can be compiled separately.  If !FINE_GRAINED_LIBRARIES,
6860         then compile all suitable functions.
6861         (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
6862         underscores to avoid namespace pollution.
6863         * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
6864         (FPBIT): Define.
6865         * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
6866         (FPBIT): Define.
6867         (DPBIT): Define.
6868
6869 Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6870                           Jeff Law  <law@cygnus.com>
6871
6872         * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
6873         of the declaration.
6874         * c-decl.c (finish_decl): Use parentheses around && within ||.
6875         * rtl.c: Include stdlib.h.
6876         (read_skip_spaces): Add parentheses around assignments used as
6877         truth values.
6878         (read_rtx): Initialize list_rtx.
6879         * cppexp.c (parse_number): Use || when operands are truth values.
6880         * alias.c (find_base_value): Add default case.
6881         (memrefs_conflict): Likewise.
6882         * combine.c (sets_function_arg_p): Likewise.
6883         * genemit.c (gen_exp): Likewise.
6884         * local-alloc.c (contains_replace_regs): Likewise.
6885         * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
6886         * fold-const.c (fold_convert): Use "&&" for truth values.
6887         (fold): Add default case.
6888         * sdbout.c (sdbout_field_types): Fix typo in declaration.
6889         (sdbout_one_type): Add default case.
6890         * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
6891         (some_operand): Add default case.
6892         (input_operand): Likewise.
6893         (signed_comparison_operator): Likewise.
6894         (divmod_operator): Likewise.
6895         (alpha_set_memflags_1): Likewise.
6896         * reload1.c (reload_cse_simplify_operands): Ensure function
6897         always returns a value.
6898         * scan-decls.c (scan_decls): Likewise.
6899         * c-lex.c (skip_white_space): Fix typo in declaraion.
6900         * c-typeck.c (comp_target_types): Add parentheses around assignment
6901         used as truth value.
6902         (print_spelling): Likewise.
6903         (constructor_implicit, constructor_result): Remove unused variables.
6904         * collect2.c (scan_library): Protect prototype with
6905         #ifdef SCAN_LIBRARIES.
6906         * emit-rtl.c (find_line_note): Fix typo in declaration.
6907         * final.c (asm_insn_count): Protect prototype with
6908         #ifdef HAVE_ATTR_length.
6909         * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
6910         (try_pre_increment_1, try_pre_increment): Likewise.
6911         * regclass.c (auto_inc_dec_reg_p): Protect prototype with
6912         #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
6913         * gcov-io.h (__store_long, __write_long, __read_long): Fix
6914         unsigned/signed comparisons.
6915         * gcov.c (read_files): Remove unused "first_type" variable.
6916         (scan _for_source_files): Initialize s_ptr.
6917         (function_summary): Eliminate "%lf" formatting, use %ld for
6918         longs.
6919         (output_data): Initialize branch_probs and last_line_num.
6920         Eliminate "%lf" formatting, use "%ld" for longs.
6921
6922 Fri Dec 19 17:31:11 1997  Ian Lance Taylor  <ian@cygnus.com>
6923
6924         * mips16.S: New file.
6925
6926         * libgcc2.c (varargs): Handle mips16.
6927
6928         * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
6929         expression.
6930         * stmt.c (expand_end_case): Likewise.
6931         * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
6932         * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
6933         * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
6934
6935 Tue Dec 16 15:14:09 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6936
6937         * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
6938         the build directory.
6939         (libobjc.a): Update dependency list.
6940         (libobjc.dll): Likewise.  Use libobjc_entry.o from the build
6941         directory.
6942         (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
6943         (objc.mostlyclean): Remove runtime-info.h.
6944
6945 Fri Dec 19 00:19:42 1997  Richard Henderson  <rth@cygnus.com>
6946
6947         * tree.c (build_range_type): Allow creation of ranges with no maximum.
6948         * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
6949         * dwarf2out.c (add_subscript_info): Likewise.
6950         * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
6951         * sdbout.c (plain_type_1): Likewise.
6952         * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
6953         Likewise.
6954         * fold-const.c (int_const_binop, fold_convert, make_range, fold):
6955         Likewise.
6956
6957 Thu Dec 18 17:05:10 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6958
6959         * mips.c (fatal): Remove declaration.
6960
6961 1997-12-18  Mark Mitchell  <mmitchell@usa.net>
6962
6963         * integrate.c (get_label_from_map): New function.
6964         (expand_inline_function): Use it.  Initialize the label_map to
6965         NULL_RTX instead of gen_label_rtx.
6966         (copy_rtx_and_substitute): Use get_label_from_map.
6967         * integrate.h (get_label_from_map): New function.
6968         (set_label_from_map): New macro.
6969         * unroll.c (unroll_loop): Use them.
6970         (copy_loop_body): Ditto.
6971
6972 Thu Dec 18 19:19:57 1997  Ian Lance Taylor  <ian@cygnus.com>
6973
6974         * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
6975         (INIT_TARGET_OPTABS): Define.
6976         * mips/ecoff.h: Include gofast.h before mips.h.
6977         (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
6978         * mips/elf64.h: Likewise.
6979         * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
6980
6981 Thu Dec 18 14:51:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
6982
6983         * except.c: Remove register_exception_table{,_p}.
6984
6985 Thu Dec 18 14:57:29 1997  Gavin Koch  <gavin@cygnus.com>
6986
6987         * unroll.c (calculate_giv_inc): Handle constant increment found in
6988         a MEM with an appropriate REG_EQUAL note.
6989
6990         * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
6991
6992         * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
6993         frame pointer in the prologue.
6994
6995 Thu Dec 18 00:19:38 1997  Robert Lipe <robertl@dgii.com>
6996
6997         * i386/x-sco5 (CLIB) Deleted.  (ALLOCA) Added.
6998         * i386/xm-sco5.h  (USE_C_ALLOCA) Added.
6999
7000 Tue Dec 16 18:51:00 1997  Bill Moyer <billm@cygnus.com>
7001
7002         * config/m68k/m68k.c (output_function_prologue): Typecast
7003         dwarf2out_cfi_label to (char *).
7004         * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
7005
7006 Wed Dec 17 15:06:04 1997  Richard Henderson  <rth@cygnus.com>
7007
7008         * sparc.md (jump): Don't use the annul bit around an empty loop.
7009         Patch from Kevin.Kelly@East.Sun.COM.
7010
7011 Wed Dec 17 00:51:36 1997  Stan Cox (scox@cygnus.com)
7012
7013         * jump.c: (jump_optimize): Don't use the return register as a
7014         source1 of a conditional move.
7015
7016 Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
7017
7018         * sparc.c (DF_MODES): Or the mask not the bit number.
7019         (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
7020
7021 Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
7022
7023         * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
7024
7025 Tue Dec 16 23:44:54 1997  Manfred Hollstein  <manfred@s-direktnet.de>
7026
7027         * fixincludes (size_t): Add support for Motorola's stdlib.h
7028         which fails to provide a definition for size_t.
7029         (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
7030         (strlen,strspn,strcspn return value): Handle different layout on sysV88.
7031         (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
7032
7033         * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
7034         prevent unresolved externals in libio.
7035         * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
7036
7037 Tue Dec 16 23:25:45 1997  H.J. Lu  (hjl@gnu.org)
7038
7039         * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
7040         (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
7041         (LIB_SPEC): Updated for glibc 2.
7042
7043 Tue Dec 16 20:11:36 1997  Jeffrey A Law  (law@cygnus.com)
7044
7045         * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
7046         * ginclude/varargs.h: Likewise.
7047
7048 Tue Dec 16 00:32:01 1997  Jeffrey A Law  (law@cygnus.com)
7049
7050         * version.c: Bump for snapshot.
7051
7052 Tue Dec 16 00:14:29 1997  H.J. Lu  (hjl@gnu.org)
7053
7054         * frame.h (__register_frame, __register_frame_table,
7055         __deregister_frame): New.
7056         * frame.c (__register_frame, __register_frame_table,
7057         __deregister_frame): New.
7058         * frame.c (__deregister_frame_info): Return void *.
7059         * frame.h (__deregister_frame_info): Ditto.
7060         * collect2.c (__deregister_frame_info): Ditto.
7061
7062 Mon Dec 15 18:40:08 1997  Richard Henderson  <rth@cygnus.com>
7063
7064         * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
7065
7066 Mon Dec 15 18:31:43 1997  Richard Henderson  <rth@cygnus.com>
7067
7068         * alpha.c (alpha_cpu_name): New variable.
7069         (alpha_mlat_string): Likewise.
7070         (alpha_memory_latency): Likewise.
7071         (override_options): Handle -mmemory-latency.
7072         (alpha_adjust_cost): Adjust load cost for latency.
7073         * alpha.h (TARGET_OPTIONS): Add meory-latency.
7074         (REGISTER_MOVE_COST): Define in terms of memory_latency.  Take
7075         TARGET_CIX into account.
7076         (MEMORY_MOVE_COST): Define in terms of memory_latency.
7077         * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
7078
7079         * alpha.h (ASM_COMMENT_START): New macro.
7080
7081 Mon Dec 15 17:48:05 1997  Richard Henderson  <rth@cygnus.com>
7082
7083         * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
7084         dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
7085
7086         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
7087         SUBREG_REG if the word count is unchanged.
7088         * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
7089         subregs of identical word size for push_reload.
7090
7091 Mon Dec 15  Mark Mitchell  <mmitchell@usa.net> 11:41:32 1997
7092
7093         * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
7094         if all we're doing is dealing with -Wreturn-type.
7095
7096 Mon Dec 15 09:44:39 1997  Richard Henderson  <rth@cygnus.com>
7097
7098         * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
7099         Use and 255 instead of zapnot 1, since it schedules better.
7100
7101 Mon Dec 15 08:48:24 1997  Jeffrey A Law  (law@cygnus.com)
7102
7103         * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
7104         it as volatile.
7105
7106 Mon Dec 15 00:04:48 1997  Jeffrey A Law  (law@cygnus.com)
7107
7108         * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
7109         dependency we delete.  Properly update prev for multiple consecutive
7110         deletions.
7111         (priority): Skip deleted dependence.
7112
7113 Fri Dec 12 18:54:23 1997  Per Bothner  <bothner@cygnus.com>
7114
7115         * expr.c (expand_builtin):  Support BUILT_IN_FMOD - just call fmod.
7116
7117 Fri Dec 12 01:19:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
7118
7119         * flow.c (flow_analysis): Be consistent with find_basic_blocks in
7120         determining when a new basic block starts.
7121
7122         * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
7123
7124         * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
7125         * pa.md (iorsi3): Add missing args to *_operand calls.
7126
7127         * except.c (call_get_eh_context): Don't mess with sequences.
7128         (emit_eh_context): Include the call in the sequence here.
7129
7130 1997-12-11  Paul Eggert  <eggert@twinsun.com>
7131
7132         * collect2.c (write_c_file_glob): Allocate initial frame object
7133         in static storage and pass its address.
7134
7135 Thu Dec 11 23:33:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
7136
7137         * except.c (call_get_eh_context): Don't take a parm.
7138         Put the call at the top of the function.
7139         (emit_eh_context): Adjust.
7140         (get_eh_context): Replace with former use_eh_context.
7141         (get_eh_context_once, get_saved_pc_ref): Remove.
7142         (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
7143         * except.h: Adjust.
7144         * integrate.c (expand_inline_function): Adjust.
7145         * toplev.c (rest_of_compilation): Don't call emit_unwinder.
7146
7147 Fri Oct 10 17:58:31 CEST 1997  Marc Lehmann <pcg@goof.com>
7148
7149         * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
7150         (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
7151
7152 Thu Dec 11 23:55:17 1997  Manfred Hollstein  <manfred@s-direktnet.de>
7153
7154         * fixincludes (strlen,strspn,strcspn return value): Handle different
7155         layout on sysV88.
7156         (hypot): Provide a fake for hypot which is broken on
7157         m88k-motorola-sysv3.
7158
7159 Thu Dec 11 23:50:17 1997  John F. Carr  <jfc@mit.edu>
7160
7161         * tree.c, tree.h: Change tree_code_type, tree_code_length, and
7162         tree_code_name from pointers to arrays.
7163         * tree.c: Remove standard_tree_code_* variables, no longer used.
7164         * print-tree.c: Remove declaration of tree_code_name.
7165
7166         * cp/lex.c (init_lex): Update for tree_code_* changes.
7167         * objc/objc-act.c (init_objc): Likewise.
7168
7169         * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
7170         changes.
7171
7172 Thu Dec 11 23:34:54 1997  Fred Fish  <fnf@ninemoons.com>
7173
7174         * config.sub: Add support for BeOS target.
7175         * configure.in: Likewise.
7176         * ginclude/stdarg.h: Likewise.
7177         * ginclude/stddef.h: Likewise.
7178         * ginclude/varargs.h: Likewise.
7179         * rs6000/beos.h: New file for BeOS.
7180         * rs6000/t-beos: Likewise.
7181         * rs6000/x-beos: Likewise.
7182         * rs6000/xm-beos.h: Likewise.
7183         * toplev.c (get_run_time): Just return 0 on BeOS.
7184
7185 Thu Dec 11 23:25:23 1997  Jeffrey A Law  (law@cygnus.com)
7186                           Toon Moene  (toon@moene.indiv.nluug.nl)
7187
7188         * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
7189         old and broken Sun3 assemblers.  Newer versions handle large
7190         offsets correctly as does the GNU assembler.
7191
7192 Thu Dec 11 23:06:48 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
7193
7194         * objc/objc-act.c (lang_report_error_function): Disable.
7195         * objc/objc-parse.y: Include "output.h".
7196         (yyerror): Remove redundant decl.
7197         (yyprint): Fix prototype.
7198         (apply_args_register_offset): Remove redundant decl.
7199         (get_file_function_name): Likewise.
7200
7201 Thu Dec 11 22:02:10 1997  Jason Merrill  <jason@yorick.cygnus.com>
7202
7203         * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
7204         a new basic block.
7205         (find_basic_blocks_1): Likewise.
7206
7207 Thu Dec 11 21:08:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
7208
7209         * except.c (use_eh_context): Don't copy_rtx a REG.
7210         (emit_throw): Lose old unwinder support.
7211         (expand_internal_throw): Likewise.
7212         * libgcc2.c (struct eh_context): Likewise.
7213         (new_eh_context): Likewise.
7214         (__get_eh_info): Lose redundant cast.
7215         (__get_dynamic_handler_chain): Likewise.
7216         (__get_saved_pc): Lose.
7217         Lose all old unwinder support code.
7218
7219 Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>
7220
7221         Thread-safe EH support for pthreads, DCE threads and Solaris threads.
7222
7223         * integrate.c (expand_inline_function): If the inline fn uses eh
7224         context, make sure that the current fn has one.
7225         * toplev.c (rest_of_compilation): Call emit_eh_context.
7226         * except.c (use_eh_context): New fn.
7227         (get_eh_context_once): New fn.
7228         (call_get_eh_context): New fn.
7229         (emit_eh_context): New fn.
7230         (get_eh_context): Call either get_eh_context_once or
7231         call_get_eh_context, depending on what we have.
7232         (get_dynamic_handler_chain): Call get_eh_context_once.
7233         * except.h: Prototypes for fns above.
7234         * optabs.c (get_eh_context_libfunc): Removed.
7235         (init_optabs): Don't initialize it.
7236         * expr.h (get_eh_context_libfunc): Removed.
7237         * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
7238         * config/pa/pa.h (CPP_SPEC): Support for -threads.
7239         * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
7240         * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
7241         New multilib for -threads.
7242         * config/sparc/t-sol2: Added multilibs for -threads and
7243         made -pthreads alias to it.
7244         * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
7245         Added -threads and -pthreads options.
7246         * libgcc-thr.h: New file.
7247         * libgcc2.c: (__get_cpp_eh_context): Removed.
7248         (struct cpp_eh_context): Removed.
7249         (struct eh_context): Replaced cpp_eh_context with generic language
7250         specific pointer.
7251         (__get_eh_info): New function.
7252         (__throw): Check eh_context::info.
7253         (__sjthrow): Ditto.
7254         * libgcc2.c: Include libgcc-thr.h.
7255         (new_eh_context, __get_eh_context,
7256         eh_pthread_initialize, eh_context_initialize, eh_context_static,
7257         eh_context_specific, eh_context_free): New functions.
7258         (get_eh_context, eh_context_key): New variables.
7259         (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
7260         get_eh_context to get the context.
7261         (longjmp): Move the declaration inside
7262         #ifdef DONT_USE_BUILTIN_SETJMP.
7263         * frame.c: Include libgcc-thr.h.
7264         (object_mutex): Mutex to protect the object list.
7265         (find_fde, __register_frame, __register_frame_table,
7266         __deregister_frame): Hold the lock while accessing objects.
7267         * except.h (get_eh_context): Declare.
7268         * except.c (current_function_ehc): Define.
7269         (current_function_dhc, current_function_dcc): Removed.
7270         (get_eh_context): New function.
7271         (get_dynamic_handler_chain): Use get_eh_context.
7272         (get_saved_pc_ref): Ditto.
7273         (get_dynamic_cleanup_chain): Removed references to
7274         current_function_dcc.
7275         (save_eh_status, restore_eh_status): Save and restore
7276         current_function_ehc instead.
7277         * optabs.c (get_eh_context_libfunc): New variable.
7278         (init_optabs): Initialize it.
7279         * expr.h: Declare get_eh_context_libfunc.
7280         * function.h (struct function): Replaced dhc and dcc with ehc.
7281         * except.c (get_saved_pc_ref): New functions.
7282         (eh_saved_pc_rtx, eh_saved_pc): Deleted.
7283         (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
7284         of eh_saved_pc.
7285         (end_eh_unwinder): Likewise.
7286         (init_eh): Remove initialization of eh_saved_pc.
7287         * optabs.c (get_saved_pc_libfunc): New variable.
7288         (init_optabs): Initialize it.
7289         * expr.h: Declare get_saved_pc_libfunc.
7290         * except.h (eh_saved_pc_rtx): Deleted.
7291         (get_saved_pc_ref): Declared.
7292
7293         From Scott Snyder <snyder@d0sgif.fnal.gov>:
7294         * libgcc2.c (__get_saved_pc): New.
7295         (__eh_type, __eh_pc): Deleted.
7296         (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
7297         (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
7298         this fcn.
7299
7300 Thu Dec 11 17:23:48 1997  John F. Carr  <jfc@mit.edu>
7301
7302         * sparc/sol2.h: Use 64 bit multiply and divide functions in
7303         Solaris libc.  Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
7304         as 0.
7305
7306         * rtl.h (global_rtl): New variable, replacing separate variables for
7307         commonly used rtl.
7308         (const_int_rtx): Now array of rtx_def, not rtx.
7309         * emit-rtl.c: Update for new rtl data structures.
7310         * genattrtab.c: Define global_rtl.
7311
7312 Thu Dec 11 15:50:29 1997 David Edelsohn  <edelsohn@mhpcc.edu>
7313
7314         * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
7315         default.
7316
7317 Wed Dec 10 12:30:18 1997  Anthony Green  <green@cygnus.com>
7318
7319         * crtstuff.c (__do_global_ctors): Fix typo.
7320
7321 Tue Dec  9 09:43:59 1997  Manfred Hollstein  <manfred@s-direktnet.de>
7322
7323         * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
7324         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
7325
7326 Tue Dec  9 09:38:58 1997  David Edelsohn  <edelsohn@mhpcc.edu>
7327
7328         * rs6000.h (FUNCTION_ARG_PADDING): Define.
7329         * rs6000.c (function_arg_padding): New function.
7330
7331 Tue Dec  9 10:34:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
7332
7333         * m68k.c: Include tree.h only once.
7334
7335 Tue Dec  9 09:32:33 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7336
7337         * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
7338
7339 Tue Dec  9 01:16:06 1997  Jeffrey A Law  (law@cygnus.com)
7340
7341         * Partially cleaned up prototyping code from HJ.
7342         * tree.h: Add many prototypes.
7343         * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
7344         All references changed.
7345         * rtl.h: Protect from multiple inclusions.  Add many prototypes.
7346
7347 Tue Dec  9 01:15:15 1997  Fred Fish  <fnf@ninemoons.com>
7348
7349         * libgcc2.c (string.h): Hoist inclusion to occur before first use of
7350         string functions like strlen.
7351
7352 Tue Dec  9 00:57:38 1997  Manfred Hollstein  <manfred@s-direktnet.de>
7353
7354         * configure.in: Check for functions getrlimit and setrlimit.
7355         * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
7356         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
7357
7358 Mon Dec  8 23:53:26 1997  Jay Sachs <sachs@bull.cs.williams.edu>
7359
7360         * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
7361
7362 Mon Dec  8 21:03:28 1997  Richard Henderson  <rth@cygnus.com>
7363
7364         * alpha.c (REG_RA, alpha_return_addr, output_epilog):
7365         Fix merge problems.
7366
7367         * alpha.c (override_options): Don't know about scheduling for EV6.
7368         * alpha.md (ev5 function units): Don't overload as ev6.
7369
7370         * alpha.c (alpha_adjust_cost): Simplify.  Fix typo in ev5 mult case.
7371         * alpha.md (define_attr type): Add mvi.
7372         (ev5_e0): Define sceduling parameters for it.
7373         (TARGET_MAX insns): Type is mvi not shift.
7374
7375 Mon Dec  8 18:15:00 1997  Richard Henderson  <rth@cygnus.com>
7376
7377         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
7378
7379 Mon Dec  8 21:17:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7380
7381         * cstamp-h, auto-config.h: Delete.
7382
7383 Sun Dec  7 19:19:03 1997  Jeffrey A Law  (law@cygnus.com)
7384
7385         * version.c: Bump for snapshot.
7386
7387 Sat Dec  6 22:22:22 1997  Jeffrey A Law  (law@cygnus.com)
7388
7389         * cccp.c: Fix typo brought over in merge.
7390
7391         * Merge in changes from gcc-2.8.
7392
7393 Mon Nov  3 05:45:32 1997  Philippe De Muyter  <phdm@macqel.be>
7394
7395         * m68k.c: Include tree.h for dwarf2out_cfi_label.
7396
7397         * gcc.c (process_command): Do not take address of function fatal when
7398         calling lang_specific_driver.
7399
7400 Sat Dec  6 01:02:38 1997  Mumit Khan  <khan@xraylith.wisc.edu>
7401
7402         * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
7403         doesn't work with it yet, so set it to 0.
7404         * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
7405
7406 Sat Dec  6 01:01:02 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
7407
7408         * cse.c (cse_insn): Check for invalid entries when taking references.
7409
7410 Fri Dec  5 18:26:25 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7411
7412         * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
7413         (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
7414         * toplev.c (rest_of_compilation): Pass it.  Remove code to
7415         save / clear / restore flag_unroll_{,all_}loops.
7416
7417 Fri Dec  5 16:26:03 1997  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
7418
7419         * i386.c (notice_update_cc): Remove bogus pentium GCC code.
7420
7421 Fri Dec  5 16:25:14 1997  Jeffrey A Law  (law@cygnus.com)
7422
7423         * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
7424
7425 Thu Dec  4 11:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
7426
7427         * except.c (get_dynamic_handler_chain): Only make the call once per
7428         function.
7429
7430         * except.c (expand_end_all_catch): Fix for sjlj exceptions.
7431
7432 Thu Dec  4 12:30:40 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7433
7434         * sh.c (final_prescan_insn): Use local label prefix
7435         when emitting .uses pseudo-ops.
7436
7437 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
7438
7439         * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
7440         * except.c: Lose outer_context_label_stack.
7441         (expand_eh_region_end): Rethrow from outer_context here.
7442         (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
7443         (expand_internal_throw): Take no args.
7444         (expand_internal_throw_indirect): Lose.
7445         (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
7446         (expand_start_all_catch): Start a rethrow region.
7447         (expand_end_all_catch): End it.
7448         (expand_rethrow): New fn.
7449         * except.h: Reflect above changes.
7450         * flow.c: Revert change of Nov 27.
7451
7452 Thu Dec  4 00:24:09 1997  Jeffrey A Law  (law@cygnus.com)
7453
7454         * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
7455
7456 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
7457
7458         * except.c (expand_fixup_region_end): New fn.
7459         (expand_fixup_region_start): Likewise.
7460         (expand_eh_region_start_tree): Store cleanup into finalization here.
7461         * stmt.c (expand_cleanups): Use them to protect fixups.
7462
7463 Wed Dec  3 11:41:13 1997  Gavin Koch  <gavin@cygnus.com>
7464
7465         * mips/mips.md (muldi3_r4000): Broaden the output template
7466         and attribute assignments to handle three operand dmult;
7467         rename to muldi3_internal2.
7468         (muldi3): Call the new muldi3_internal2 for R4000, and
7469         any GENERATE_MULT3 chip.
7470
7471 Tue Dec  2 19:40:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
7472
7473         * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
7474
7475 Tue Dec  2 12:54:33 1997  Jim Wilson  <wilson@cygnus.com>
7476
7477         * unroll.c (find_splittable_givs):  Remove last change.  Handle givs
7478         with a dest_reg that was created by loop.
7479
7480 Sat Nov 29 12:44:57 1997  David Edelsohn  <edelsohn@mhpcc.edu>
7481
7482         * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
7483
7484         * rs6000/aix41.h (ASM_CPU_SPEC): Define.
7485
7486 Fri Nov 28 10:00:27 1997  Jeffrey A Law  (law@cygnus.com)
7487
7488         * configure.in: Fix NCR entries.
7489
7490 Thu Nov 27 12:20:19 1997  Jeffrey A Law  (law@cygnus.com)
7491
7492         * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
7493         nested exceptions correctly.
7494
7495         * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
7496         that was created by loop.
7497
7498 Thu Nov 27 09:34:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
7499
7500         * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
7501
7502         * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
7503
7504 Wed Nov 26 15:47:30 1997  Michael Meissner  <meissner@cygnus.com>
7505
7506         * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
7507         (print_operand): Use SMALL_DATA_REG for the register involved in
7508         small data relocations.
7509         (print_operand_address): Ditto.
7510
7511         * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
7512         -dynamic linker is not used.
7513
7514         * rs6000.md (call insns): For local calls, use @local suffix under
7515         System V.  Don't use @plt under Solaris.
7516
7517         * rs6000.c (output_function_profiler): Put label address in r0, and
7518         store LR in 4(sp) for System V/eabi.
7519
7520         * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
7521         byte boundary, and maintain stack backchain.
7522
7523 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
7524
7525         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7526         fix_truncsfdi2): Change *.
7527
7528 Wed Nov 26 11:12:26 1997  Jason Merrill  <jason@yorick.cygnus.com>
7529
7530         * toplev.c (main): Complain about -gdwarfn.
7531
7532 Tue Nov 25 22:43:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
7533
7534         * dwarfout.c (output_type): If finalizing, write out nested types
7535         of types we've already written.
7536
7537 Tue Nov 25 20:32:24 1997  Michael Meissner  <meissner@cygnus.com>
7538
7539         (patches originally from Geoffrey Keating)
7540         * rs6000.c (function_arg): Excess floating point arguments don't
7541         go into GPR registers after exhausting FP registers under the
7542         System V.4 ABI.
7543         (function_arg_partial_nregs): Ditto.
7544
7545         * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
7546         suffix to calls.
7547
7548 Tue Nov 25 23:37:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
7549
7550         * integrate.c (output_inline_function): Just unset DECL_INLINE.
7551
7552 Tue Nov 25 23:33:29 1997  scott snyder  <snyder@d0sgif.fnal.gov>
7553
7554         * dwarf2out.c (outout_call_frame_info): Ensure that the info has
7555         proper alignment.
7556
7557         * libgcc2.c (__throw): Initialize HANDLER.
7558
7559 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
7560
7561         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
7562         fix_truncsfdi2): Change *X to ?*X.
7563
7564 Tue Nov 25 10:00:42 1997  Richard Henderson  (rth@cygnus.com)
7565
7566         * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
7567
7568 Tue Nov 25 10:00:42 1997  Jeffrey A Law  (law@cygnus.com)
7569
7570         * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
7571
7572 Tue Nov 25 01:26:55 1997  Bruno Haible <haible@ilog.fr>:
7573
7574         * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
7575
7576 Mon Nov 24 22:41:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
7577
7578         * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
7579         * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
7580         * expr.h: Likewise.
7581
7582 Sat Nov 22 18:58:20 1997  Jeffrey A Law  (law@cygnus.com)
7583
7584         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
7585         * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
7586         gas and not using the new HP assembler.
7587
7588 Fri Nov 21 15:20:05 1997  Jeffrey A Law  (law@cygnus.com)
7589
7590         * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
7591         (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
7592
7593 Fri Nov 21 19:37:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
7594
7595         * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
7596         TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
7597         definition.
7598
7599 Fri Nov 21 12:49:56 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
7600
7601         * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
7602
7603 Fri Nov 21 12:18:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
7604
7605         * except.h: Add outer_context_label_stack.
7606         * except.c: Likewise.
7607         (expand_start_all_catch): Push the outer_context for the try block
7608         onto outer_context_label_stack.
7609         (expand_end_all_catch): Use it and pop it.
7610
7611 Fri Nov 21 10:13:11 1997  Robert Lipe (robertl@dgii.com)
7612
7613         * i386/sco5.h (HAVE_ATEXIT): Revert last change.
7614
7615 Thu Nov 20 16:11:50 1997  Richard Henderson  <rth@cygnus.com>
7616
7617         * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
7618
7619 Thu Nov 20 16:11:50 1997  Klaus Kaempf  <kkaempf@progis.de>
7620
7621         * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
7622         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
7623
7624 Thu Nov 20 14:42:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
7625
7626         * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
7627         * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
7628         __builtin_delete, and __builtin_vec_delete.
7629
7630         * except.c (output_exception_table): Don't bother with
7631         __EXCEPTION_END__.
7632
7633 Thu Nov 20 16:11:50 1997  Jeffrey A Law  (law@cygnus.com)
7634
7635         * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
7636         is an in/out operand.
7637         (zero extended variants of stwm/stwm patterns): Similarly.
7638
7639         * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
7640
7641 Thu Nov 20 13:19:32 1997  Jason Merrill  <jason@yorick.cygnus.com>
7642
7643         * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
7644         Use assemble_name.
7645         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
7646         (output_call_frame_info): Emit a \n after using it.
7647
7648 Thu Nov 20 00:38:46 1997  Dave Love  <d.love@dl.ac.uk>
7649
7650         * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
7651
7652 Wed Nov 19 12:03:04 1997  Philippe De Muyter  <phdm@macqel.be>
7653
7654         * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
7655         (ASM_OUTPUT_DWARF_VALUE4): New macro.
7656         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
7657         defined.
7658         (output_call_frame_info): Do not output forward label differences
7659         if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
7660         * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
7661
7662 Tue Nov 18 23:03:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7663
7664         * sh.md (attribute "type"): Add nil.
7665         (movsi_ie): y/y alternative is type nil.
7666         (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
7667         alternatives.
7668         (movsf_ie+1): Delete.
7669
7670 Tue Nov 18 15:39:59 1997  Jim Wilson  <wilson@cygnus.com>
7671
7672         * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
7673         large_int, emit two insns instead of one splitable insn.
7674         * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
7675         from cfa_temp_value, use cfa_offset.  Add assert checking that
7676         cfa_reg is SP.
7677
7678 Mon Nov 17 15:35:38 1997  Tom Tromey  <tromey@cygnus.com>
7679
7680         * cccp.c (deps_output): Properly quote file names for make.
7681
7682 Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
7683
7684         * t-h8300 (MULTILIB_EXCEPTIONS): Define.
7685
7686 Fri Nov  7 15:33:11 1997  Robert Lipe (robertl@dgii.com)
7687
7688         * i386/sco5.h (HAVE_ATEXIT): Delete definition.
7689
7690 Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
7691
7692         * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
7693         return.
7694         (cse_end_of_basic_block): Similarly.
7695
7696 Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
7697
7698         * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
7699         (SELECT_RTX_SECTION): Define.
7700         (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
7701
7702 Sun Nov 16 22:47:03 1997  Manfred Hollstein  <manfred@s-direktnet.de>
7703
7704         * Makefile.in (compare, compare-lean): Define $stage for each
7705         shell command.
7706         (gnucompare, gnucompare-lean): Likewise.
7707
7708 Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
7709
7710         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
7711
7712         * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
7713         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
7714
7715 Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
7716
7717         * dwarfout.c (byte_size_attribute):  Add local var upper_bound
7718         and add case to handle STRING_TYPE.
7719         * dwarfout.c (output_string_type_die):  Fix code to generate
7720         correct string length attribute for fixed length strings.
7721         Still needs support for varying length strings.
7722
7723 Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
7724
7725         * toplev.c (get_run_time): Do something sensible for cygwin32.
7726
7727 Fri Nov 14 07:24:20 1997  Richard Henderson  <rth@cygnus.com>
7728
7729         * expr.c (expand_builtin_setjmp): Set
7730         current_function_has_nonlocal_label.
7731         * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
7732         call-saved registers across calls.
7733
7734         * alpha.md (exception_receiver): Remove.
7735         (nonlocal_goto_receiver_osf): New
7736         (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
7737         (nonlocal_goto_receiver): New, select _osf or _vms.
7738
7739         * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
7740         keep them from being propogated to the object file.
7741         (alpha_write_linkage): Likewise.
7742         * alpha.md (call_vms): Likewise.
7743         (call_value_vms): Likewise.
7744         (unnamed osf call insns): Likewise.
7745
7746         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
7747         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
7748
7749         * alpha.c (call_operand): Any reg is valid for WinNT.
7750         * alpha.md (call_nt, call_value_nt): Don't force address into $27.
7751         (anon nt calls): Add 'R' alternative.
7752         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
7753         INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
7754
7755 Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
7756
7757         * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
7758
7759         * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
7760         * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
7761         * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
7762
7763 Thu Nov 13 20:37:33 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
7764
7765         * reload1.c (new_spill_reg): Improve fixed or forbidden register
7766         spill error message.
7767
7768 Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7769
7770         * prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
7771         use varargs.h.  Wrap header with <>, not "".
7772
7773 Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
7774
7775         * integrate.c (save_for_inline_copying): Add return value from
7776         savealloc.
7777
7778 Thu Nov 13 19:12:33 1997  Brendan Kehoe  <brendan@cygnus.com>
7779
7780         * fixincludes: Be a little more restrictive on what we will
7781         substitute to replace definitions of MAXINT for HPUX.
7782
7783 Thu Nov 13 18:41:02 1997  Michael Meissner  <meissner@cygnus.com>
7784
7785         * dbxout.c (dbxout_symbol_location): Don't assume that variables
7786         whose address is the stack or argument pointers are indirect
7787         pointers.
7788
7789 1997-11-13  Paul Eggert  <eggert@twinsun.com>
7790
7791         * cccp.c, cpplib.c (compare_defs):
7792         Don't complain about arg name respellings unless pedantic.
7793         * cpplib.c (compare_defs): Accept pfile as new arg.
7794         All callers changed.
7795
7796 Thu Nov 13 23:33:50 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7797
7798         * fold-const.c (fold_truthop): Fix bug in last change.
7799
7800 1997-11-13  Paul Eggert  <eggert@twinsun.com>
7801
7802         Fix some confusion with IEEE minus zero.
7803
7804         * real.h (REAL_VALUES_IDENTICAL): New macro.
7805
7806         * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
7807         * fold-const.c (operand_equal_p): Don't consider -0.0 to be
7808         identical to 0.0.
7809         * tree.c (simple_cst_equal): Don't consider -0.0 to have the
7810         same tree structure as 0.0.
7811
7812         * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
7813         macro instead of doing it by hand.
7814
7815 Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
7816
7817         * v850/lib1funcs.asm: Minor whitespace changes.
7818         * v850.c: Fix minor formatting problems in many places.
7819         (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
7820
7821 Thu Nov 13 12:53:44 1997  Jim Wilson  <wilson@cygnus.com>
7822
7823         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
7824         xplus1 when xplus0 is not a register.
7825
7826 Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
7827
7828         * flow.c (find_basic_blocks): During marking phase, if we encounter
7829         an insn with a REG_LABEL note, make the target block live and
7830         create an edge from the insn to the target block.  Do not make
7831         edges from all blocks to the target block.
7832
7833         * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
7834
7835         * confiugre.in: Tweak NCR entries.
7836         * configure: Rebuilt.
7837
7838 Thu Nov 13 11:07:41 1997  Michael Meissner  <meissner@cygnus.com>
7839
7840         * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
7841         pick apart floating point values, instead of using CONST_DOUBLE_LOW
7842         and CONST_DOUBLE_HIGH.
7843
7844         * rs6000.md (define_splits for DF constants): Use the appropriate
7845         REAL_VALUE_* interface to pick apart DF floating point constants in
7846         a machine independent fashion.
7847
7848 Thu Nov 13 00:06:58 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7849
7850         * fold-const.c (fold_truthop): When changing a one-bit comparison
7851         against zero into a comparison against mask, do a proper sign
7852         extension.
7853
7854 Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
7855
7856         * except.c: Do not include "assert.h".
7857         (save_eh_status): Turn asserts into conditional aborts.
7858         (restore_eh_status, scan_region): Likewise.
7859         * dwarfout.c: Do not include "assert.h".
7860         (bit_offset_attribute): Turn asserts into conditional aborts.
7861         (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
7862         (output_inlined_structure_type_die): Likewise.
7863         (output_inlined_union_type_die): Likewise
7864         (output_tagged_type_instantiation): Likewise.
7865         (dwarfout_file_scope_decl): Likewise.
7866         * dwarf2out.c: Do not include "assert.h"
7867         (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
7868         (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
7869         (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
7870         (add_bit_size_attribute, scope_die_for): Likewise.
7871         (output_pending_types_for_scope): Likewise.
7872         (get_inlined_enumeration_type_die): Likewise.
7873         (get_inlined_structure_type_die): Likewise.
7874         (get_inlined_union_type_die, gen_subprogram_die): Likewise.
7875         (gen_tagged_type_instantiation_die): Likewise.
7876
7877         * flow.c (find_basic_blocks): Refine further to get a more correct
7878         cfg, especially in the presense of exception handling, computed
7879         gotos, and other non-trivial cases.  Call abort if an inaccuracy
7880         is detected in the cfg.
7881
7882 Tue Nov 11 21:47:27 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7883
7884         * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
7885
7886         * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
7887         (skip_white_space): Use whitespace_cr.
7888         (check_newline): Handle whitespace more consistently.
7889
7890 Tue Nov 11 16:25:49 1997  Jim Wilson  <wilson@cygnus.com>
7891
7892         * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
7893         * i386/xm-cygwin32.h (POSIX): Define.
7894
7895 Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>
7896
7897         * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
7898         is available elsewhere.
7899
7900 Mon Nov 10 16:21:58 1997  Doug Evans  <devans@canuck.cygnus.com>
7901
7902         * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
7903         what the instruction can handle.
7904
7905 Mon Nov 10 03:02:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
7906
7907         * stmt.c (expand_decl_cleanup_no_eh): New fn.
7908
7909         * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
7910
7911 Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
7912
7913         * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
7914         (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
7915
7916 Sun Nov  9 14:34:47 1997  David Edelsohn  <edelsohn@mhpcc.edu>
7917
7918         * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
7919         swap instruction order.
7920
7921 Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
7922
7923         * fixinc.svr4 (__STDC__): Add another case.
7924
7925 Sun Nov  9 02:00:29 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7926
7927         * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
7928         addresses in the epilogue delay slot.
7929
7930 Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
7931
7932         * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
7933         in generated `specs' file.
7934
7935 Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
7936
7937         * flags.h (flag_rerun_loop_opt): Declare.
7938         * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
7939         * toplev.c (flag_rerum_loop_opt): Delete static.
7940
7941 Sat Nov  8 18:20:21 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7942
7943         Bring over from FSF:
7944
7945         Thu Oct 30 12:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7946
7947         * va-sh.h (__va_arg_sh1): Define.
7948         (va_arg): Use it.
7949         SH3E doesn't use any integer registers for subsequent arguments
7950         once a non-float value was passed in the stack.
7951         * sh.c (machine_dependent_reorg): If optimizing, put explicit
7952         alignment in front label for ADDR_DIFF_VEC.
7953         * sh.h (PASS_IN_REG_P): Fix SH3E case.
7954         (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
7955
7956         Tue Oct 28 15:06:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7957
7958         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
7959         svr4.h.
7960
7961         Mon Oct 27 16:11:52 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7962
7963         * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
7964         put an use_sfunc_addr before each sfunc.
7965         * sh.md (use_sfunc_addr, dummy_jump): New insns.
7966         (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
7967
7968         Tue Oct 21 07:12:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
7969
7970         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
7971
7972 Fri Nov  7 10:22:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
7973
7974         * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
7975         linked once FDEs.
7976
7977 Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
7978
7979         * alias.c (find_base_value): Only return the known base value for
7980         pseudo registers.
7981
7982 Wed Nov  5 11:27:14 1997  Jim Wilson  <wilson@cygnus.com>
7983
7984         * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
7985         * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
7986         to pattern.
7987         (prologue_get_pc_and_set_got): New pattern.
7988
7989 Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
7990
7991         * alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
7992         for SUBREG, just fall through.
7993
7994         * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
7995
7996         * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
7997
7998 Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
7999
8000         * fixincludes: Fix "hypot" prototype in NeXT math.h.
8001
8002         * Makefile.in (USE_ALLOCA): Always include alloca.o.
8003         (USE_HOST_ALLOCA): Likewise.
8004
8005         * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
8006         and LABEL_REFS fields.
8007         * rtl.h (LABEL_REFS): Update.
8008
8009 Tue Nov  4 16:55:11 1997  Jim Wilson  <wilson@cygnus.com>
8010
8011         * combine.c (try_combine): When setting elim_i2, check whether newi2pat
8012         sets i2dest.  When calling distribute_notes for i3dest_killed, pass
8013         elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
8014         sets i1dest.
8015
8016         * mips.md (insv, extzv, extv): Add change_address call.
8017         (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
8018
8019         * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
8020
8021         * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
8022
8023         * mips.c (mips_expand_epilogue): Emit blockage insn before call to
8024         save_restore_insns if no FP and GP will be restored.
8025
8026         * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
8027         Convert CCmode to word_mode before calling GET_MODE_SIZE.
8028
8029         * acconfig.h (HAVE_INTTYPES_H): Undef.
8030         * configure.in (inttypes.h): Check for conflicts between sys/types.h
8031         and inttypes.h, and verify that intmax_t is defined.
8032         * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
8033         * config/mips/x-iris3: Likewise.
8034
8035 Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
8036
8037         * alias.c (find_base_value): When copying arguments, return the
8038         tenative value for a hard register.
8039
8040 Tue Nov  4 13:40:35 1997  Doug Evans  <devans@canuck.cygnus.com>
8041
8042         * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
8043         (yylex): Record wide strings using target endianness, not host.
8044
8045 Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
8046
8047         * mn10200.h (ASM_OUTPUT_BSS): Delete.
8048         (ASM_OUTPUT_ALIGNED_BSS): New macro
8049         * mn10300.h (ASM_OUTPUT_BSS): Delete.
8050         (ASM_OUTPUT_ALIGNED_BSS): New macro.
8051         * v850.h (ASM_OUTPUT_BSS): Delete.
8052         (ASM_OUTPUT_ALIGNED_BSS): New macro.
8053
8054 Tue Nov  4 00:55:48 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
8055
8056         * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
8057
8058 Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
8059
8060         * configure.in (sco5): Use cpio to install header files.
8061
8062 Sun Nov  2 23:31:43 1997  Manfred Hollstein  <manfred@s-direktnet.de>
8063
8064         * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
8065         14 char length.
8066         * configure: Rebuild.
8067
8068 Sun Nov  2 19:44:00 1997  Robert Lipe (robertl@dgii.com)
8069
8070         * i386/sco5.h: enable -gstabs once again.
8071
8072 Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
8073
8074         * arm.c (output_move_double): Allocate 3 entries in otherops array.
8075
8076 Sat Nov  1 21:43:00 1997  Mike Stump  (mrs@wrs.com)
8077
8078         * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
8079         notes for sjlj exceptions too.
8080         (expand_eh_region_end): Similarly for EH_REGION_END notes.
8081         (exception_optimize): Optimize EH regions for sjlj exceptions too.
8082         * final.c (final_scan_insn): Don't output labels for EH REGION
8083         notes if doing sjlj exceptions.
8084
8085 Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
8086
8087         * alias.c (init_alias_analysis): Handle -fno-alias-check when
8088         optimizing correctly.
8089
8090         * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
8091         or set current_function_calls_setjmp anymore.
8092
8093         * flow.c (find_basic_blocks): If we delete the label for an
8094         exception handler, remove it from the EH label list and remove
8095         the EH_BEGIN/EH_END notes for that EH region.
8096
8097 Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
8098
8099         * flow.c (find_basic_blocks): Generate correct flow control
8100         information when exception handling notes are present.
8101
8102 Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
8103
8104         * dwarf2out.c (output_call_frame_info): Fix length argument
8105         to ASM_OUTPUT_ASCII.
8106         (output_die, output_pubnames, output_line_info): Likewise.
8107
8108 Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
8109
8110         * version.c: Bump for snapshot.
8111
8112         * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
8113         output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
8114         flag_debug_asm is on.
8115         (output_die, output_pubnames, output_line_info): Likewise.
8116
8117         * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
8118         and static_chain_rtx into the potential base values array if
8119         they are registers.
8120
8121         * alias.c (new_reg_base_value): New array of potential base values.
8122         (unique_id): Now file scoped static.
8123         (find_base_value, case REG): Return the value in reg_base_value
8124         array for the REG if it exists.  Else, return the value from
8125         new_reg_base_value if copying args and REG is a hard register.
8126         (find_base_value, case PLUS): If either operand of the PLUS is
8127         a REG, try to get its base value.  Handle base + index and
8128         index + base.
8129         (record_set): Use new_reg_base_value instead of reg_base_value.
8130         (init_alias_analysis): Allocate space for new_reg_base_value too.
8131         Rework code to iterate over the insns propagating base value
8132         information until nothing changes.
8133
8134         * global.c (global_alloc): Free the conflict matrix after
8135         reload has finished.
8136
8137 Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
8138
8139         * libgcc2.c (L_eh): Define __eh_pc.
8140         Replace __eh_type with generic pointer __eh_info.
8141
8142 Fri Oct 31 00:34:55 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
8143
8144         * expr.c (expand_increment): When enqueing a postincrement for a MEM,
8145         use copy_to_reg if address is not a general_operand.
8146
8147 Fri Oct 31 00:16:55 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
8148
8149         * profile.c (output_func_start_profiler): Clear flag_inline_functions
8150         for the duration of the call to rest_of_compilation.
8151
8152 Thu Oct 30 14:40:10 1997  Doug Evans  <devans@canuck.cygnus.com>
8153
8154         * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
8155         Set extra_parts.
8156         (sparc*-*-*): Recognize --with-cpu=v9.
8157         * sparc/elf.h: New file.
8158         * sparc/t-elf: New file.
8159
8160 Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
8161
8162         * mn10300.c (const_8bit_operand): New function.
8163         (mask_ok_for_mem_btst): New funtion.
8164         * mn10300.md (btst patterns with mem operands): Use new functions
8165         to avoid creating btst instructions with invalid operands.
8166
8167 Wed Oct 29 16:57:19 1997  Michael Meissner  <meissner@cygnus.com>
8168
8169         * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
8170         are running on PowerPC Linux.
8171
8172 Wed Oct 29 13:10:11 1997  Gavin Koch  <gavin@cygnus.com>
8173
8174         * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
8175         if not previously defined.
8176
8177 Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
8178
8179         * function.c (assign_parms): Correct mode of stack_parm if
8180         entry_parm underwent a mode conversion.
8181
8182 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
8183
8184         * global.c (global_alloc): Use xmalloc instead of alloca for
8185         CONFLICTS, since max_allocno * allocno_row_words alone can be more
8186         than 2.5Mb sometimes.
8187
8188 Tue Oct 28 15:29:15 1997  Richard Henderson  <rth@cygnus.com>
8189
8190         * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
8191         DEST for the spill, adjust mode of SRC to compensate.
8192
8193 Tue Oct 28 14:36:45 1997  Richard Henderson  <rth@cygnus.com>
8194
8195         * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
8196         since any_memory_operand() allows pseudos during reload.
8197         (reload_inhi, reload_outqi, reload_outhi): Likewise.
8198
8199 Tue Oct 28 11:53:14 1997  Jim Wilson  <wilson@cygnus.com>
8200
8201         * m68k.md (btst patterns): Add 5200 support.
8202
8203 Tue Oct 28 11:58:40 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
8204
8205         * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
8206         optimizations, look inside dividend to determine if the expression
8207         can be simplified by using EXACT_DIV_EXPR.
8208
8209 Tue Oct 28 10:19:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
8210
8211         From Brendan:
8212         * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
8213
8214 Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
8215
8216         * alpha.c (summarize_insn [SUBREG]): Propogate SET.
8217
8218 Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
8219
8220         * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
8221         on a CLOBBER.
8222
8223 Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
8224
8225         * alpha.md (movqi, movhi): Make sure new insns created during reload
8226         won't need reloading themselves.
8227         (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
8228
8229 Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
8230
8231         * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
8232
8233 Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
8234
8235         * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
8236         Patch from Klaus Kaempf <kkaempf@progis.de>.
8237
8238 Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
8239
8240         * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
8241         to an element in a constant string.
8242
8243 Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
8244
8245         * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
8246         bit PC-relative offset.  The exception range table pointer is now in
8247         the CIE.
8248         * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
8249         (count_fdes, add_fdes, get_cie): Adjust.
8250         (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
8251
8252         From H.J. Lu:
8253         * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
8254
8255 Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
8256
8257         * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
8258         like stack_pointer_rtx.
8259
8260 Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
8261
8262         * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
8263         targets using "$@" to provide support for similar but not identical
8264         targets without having to duplicate code.
8265         (bootstrap4): New goal.
8266
8267         * Makefile.in (compare, compare-lean, compare3): Combined to one
8268         ruleset determining actions to be performed via $@.
8269         (compare4, compare4-lean): New targets.
8270         (gnucompare, gnucompare3): Combined to one ruleset determining
8271         actions to be performed via $@. Also, note which files failed
8272         the comparison test in .bad_compare.
8273         (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
8274
8275 Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
8276
8277         * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
8278         if the dividend is a multiple of the divisor.
8279
8280 Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
8281
8282         * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
8283
8284         * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
8285         and POS_DEC.
8286
8287         * alias.c (true_dependence): Fix typo.
8288
8289         * toplev.c (flag_rerun_loop_opt): New variable.
8290         (f_options): Handle -frerun-loop-opt.
8291         (rest_of_compilation): If -frerun-loop-opt, then run the loop
8292         optimizer twice.
8293         (main): Enable -frerun-loop-opt by default for -O2 or greater.
8294
8295         * loop.c (simplify_giv_expr): Adding two invariants results
8296         in an invariant.
8297
8298 Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
8299
8300         * expr.c (get_inner_reference): Remove the array bias after
8301         converting the index to Pmode.
8302
8303 Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
8304
8305         * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
8306         (TARGET_MULT_BUG): Define.
8307         (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
8308         * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
8309
8310 Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
8311
8312         * mn10200.c (indirect_memory_operand): Delete unused function.
8313         * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
8314         * mn10200.md (bset, bclr insns): Handle output in a reg too.
8315
8316 Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
8317
8318         * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
8319         the callee's ldgp, we must do it ourselves, and we use the jsr tag
8320         for more than scheduling.
8321
8322 Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
8323
8324         * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
8325
8326 Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
8327
8328         * mn10300.c (symbolic_operand, legitimize_address): New functions.
8329         * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
8330         (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
8331
8332 Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
8333
8334         * version.c: Bump for snapshot.
8335
8336 Thu Oct 23 08:03:59 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
8337
8338         * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
8339         for FILENAME.
8340
8341 Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
8342
8343         * toplev.c (flag_exceptions): Default value is 2.
8344         (compile_file): If flag_exceptions still has the value 2, then
8345         set it to 0.
8346
8347         * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
8348         (rs6000_save_machine_status): Save pic_offset_table_rtx.
8349         (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
8350
8351         * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
8352         are shared.
8353
8354         * rs6000.md (*movsi_got_internal_mem): New pattern.
8355         (*movsi_got_internal_mem splitter): New define_split.
8356
8357 Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
8358
8359         * obstack.h (obstack_empty_p): Fix spurious space after backslash.
8360
8361 Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
8362
8363         * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
8364         only need to save LR.
8365
8366 Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
8367
8368         * mn10300.md (movqi, movhi): Avoid using address registers as
8369         destinations unless absolutely necessary.
8370
8371         * mn10200.c (expand_prologue): Fix typo.
8372
8373         * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
8374         addresses.
8375         * mn10200.md (neghi2): Provide an alternative which works if
8376         the input and output register are the same.
8377
8378         * mn10300.c (print_operand): Handle 'S'.
8379         * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
8380         shift amount in last alternative
8381
8382         * mn10300.c (expand_epilogue): Rework to handle register restores
8383         in "ret" and "retf" instructions correctly.
8384
8385 Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
8386
8387         * expmed.c (extract_bit_field): Don't make flag_force_mem disable
8388         extzv for memory operands.
8389
8390         * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
8391         redundant conditional moves to single operand.
8392
8393 Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
8394
8395         * v850.h: Move define of __v850__ from CPP_PREDEFINES
8396         to CPP_SPEC.
8397
8398         * xm-v850.h: Use __v850 rather than __v850__ to
8399         identify v850 port.
8400
8401 Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
8402
8403         * mips/mips.c (compute_frame_size): Not a leaf function if
8404         profile_flag set.
8405
8406 Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
8407
8408         * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
8409
8410 Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
8411
8412         * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
8413         (DEFAULT_ARCH32_P): New macro.
8414         (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
8415         (enum cmodel): Declare.
8416         (sparc_cmodel_string,sparc_cmodel): Declare.
8417         (SPARC_DEFAULT_CMODEL): Provide default.
8418         (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
8419         (TARGET_FULLANY): Deleted.
8420         (TARGET_CM_MEDMID): New macro.
8421         (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
8422         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
8423         (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
8424         (CPP_SPEC): Rewrite.
8425         (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
8426         (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
8427         (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
8428         (ASM_SPEC): Add %(asm_arch).
8429         (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
8430         Rename asm_default to asm_cpu_default.
8431         Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
8432         cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
8433         (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
8434         ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
8435         (MASK_INT64,MASK_LONG64): Delete.
8436         (MASK_ARCH64): Renamed to MASK_64BIT.
8437         (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
8438         (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
8439         (TARGET_SWITCHES): Always provide 64 bit options.
8440         (ARCH64_SWITCHES): Delete.
8441         (TARGET_OPTIONS): New option -mcmodel=.
8442         (INT_TYPE_SIZE): Always 32.
8443         (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
8444         (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
8445         (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
8446         (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
8447         * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
8448         CPP_SPEC.
8449         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8450         * sparc/linux.h: Likewise.
8451         * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
8452         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
8453         (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
8454         (SPARC_DEFAULT_CMODEL): Define.
8455         (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8456         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8457         (LONG_DOUBLE_TYPE_SIZE): Define.
8458         (ASM_SPEC): Add %(asm_arch).
8459         * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8460         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8461         (TARGET_CPU_DEFAULT): Add ultrasparc case.
8462         * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
8463         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
8464         (SPARC_DEFAULT_CMODEL): Define.
8465         * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
8466         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
8467         MASK_LONG64, MASK_MEDANY.
8468         (SPARC_DEFAULT_CMODEL): Define.
8469         (CPP_PREDEFINES): Delete.
8470         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
8471         (ASM_SPEC): Add %(asm_arch).
8472         (LONG_DOUBLE_TYPE_SIZE): Define.
8473         (DWARF2_DEBUGGING_INFO): Define.
8474         * sparc/splet.h (CPP_SPEC): Delete.
8475         * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
8476         (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
8477         (BLOCK_PROFILER): Likewise.
8478         * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
8479         (sparc_override_options): Handle code model selection.
8480         (sparc_init_expanders): Renamed from sparc64_init_expanders.
8481         * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
8482         TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
8483         (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
8484         (sethi_di_fullany): Delete.
8485
8486 Mon Oct 20 02:00:18 1997  Klaus Kaempf <kkaempf@progis.de>
8487                           Jeff Law <law@cygnus.com>
8488                           Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8489
8490         * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
8491         (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
8492         (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
8493         (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
8494         * alpha/alpha.md (arg_home): Likewise.
8495
8496         * alpha/alpha.c (vmskrunch): Delete
8497         * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
8498         * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
8499         truncate to 64 characters.
8500
8501         * make-l2.com: Support openVMS/Alpha.
8502
8503         * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
8504
8505 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
8506
8507         * longlong.h (count_leading_zeros): Add missing casts to USItype.
8508
8509 Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
8510
8511         * i386/bsd386.h (ASM_COMMENT_START): Define.
8512
8513 Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
8514
8515         * tree.c (restore_tree_status): Also free up temporary storage
8516         when we finish a toplevel function.
8517         (dump_tree_statistics): Print stats for backend obstacks.
8518
8519 Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
8520
8521         * expr.c (use_group_regs): Don't call use_reg for MEMs.
8522
8523 Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
8524
8525         * libgcc2.c (__throw): Don't copy the return address.
8526         * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
8527
8528         * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
8529         * toplev.c (main): Initialize exceptions_via_longjmp.
8530
8531         * tree.c: Add extra_inline_obstacks.
8532         (save_tree_status): Use it.
8533         (restore_tree_status): If this is a toplevel inline obstack and we
8534         didn't want to save anything on it, recycle it.
8535         (print_inline_obstack_statistics): New fn.
8536         * function.c (pop_function_context_from): Pass context to
8537         restore_tree_status.
8538         * obstack.h (obstack_empty_p): New macro.
8539
8540 Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
8541
8542         * i386/freebsd.h (ASM_COMMENT_START): Fix.
8543
8544 Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
8545
8546         * v850.c (ep_memory_offset): New function.
8547         (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
8548
8549         * v850.h (CONST_OK_FOR_*): Add and correct comments.
8550         (CONSTANT_ADDRESS_P): Add comment.
8551         (EXTRA_CONSTRAINT): Define 'U'.
8552         * v850.md: Add comments on bit field instructions.
8553         (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
8554         (lshrsi3): Use N not J constraint.
8555
8556         * v850.md (v850_tst1+1): New define_split for tst1 instruction.
8557
8558         * v850.c (reg_or_0_operand): Call register_operand.
8559         (reg_or_int5_operand): Likewise.
8560         * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
8561         (TARGET_SWITCHES): Add "big-switch".
8562         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
8563         ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
8564         (CASE_DROPS_THROUGH): Comment out.
8565         (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
8566         * v850.md (cmpsi): Delete compare mode.
8567         (casesi): New pattern.
8568
8569         * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
8570         * v850.md (ashlsi3): Use SImode not QImode for shift count.
8571         (lshrsi3): Likewise.
8572
8573         * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
8574         unreachable switch statement after 'b' support.  Remove "b" from
8575         strings for 'b' support.
8576         * v850.md (branch_normal, branch_invert): Change %b to b%b.
8577
8578 Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
8579
8580         * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
8581         empty line if @inhibit_libc@ is empty.
8582
8583 Fri Oct 17 23:24:40 1997  Robert Lipe (robertl@dgii.com)
8584
8585         * i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
8586         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
8587         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
8588         (DWARF2_UNWIND_INFO): Let this track object file format.
8589         (EXTRA_SECTIONS): Add in_eh.
8590         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
8591         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
8592
8593 Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
8594
8595         * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
8596         * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
8597         TARGET_MEDANY.
8598         * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
8599         (output_double_int): Output DI mode values correctly when
8600         HOST_BITS_PER_WIDE_INT is 64.
8601         (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
8602         fmovd so it works if a quad float ends up in one of the upper 32
8603         float regs.
8604         * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
8605         necessary for PIC support on sparc64.
8606
8607 Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
8608
8609         * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
8610         * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
8611         (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
8612         (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
8613         (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
8614         (SPARC_FP_ARG_FIRST): New macro.
8615         (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
8616         (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
8617         (NPARM_REGS): There are 32 fp argument registers now.
8618         (FUNCTION_ARG_REGNO_P): Likewise.
8619         (FIRST_PARM_OFFSET): Update to new v9 abi.
8620         (REG_PARM_STACK_SPACE): Define for arch64.
8621         (enum sparc_arg_class): Delete.
8622         (sparc_arg_count,sparc_n_named_args): Delete.
8623         (struct sparc_args): Redefine and use for arch32 as well as arch64.
8624         (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
8625         (FUNCTION_ARG_ADVANCE): Rewrite.
8626         (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
8627         (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
8628         (FUNCTION_ARG_CALLEE_COPIES): Delete.
8629         (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
8630         (STRICT_ARGUMENT_NAMING): Define.
8631         (doublemove_string): Declare.
8632         * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
8633         (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
8634         (doublemove_string): New function.
8635         (output_move_quad): Clean up some of the arch64 support.
8636         (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
8637         Don't add 8 bytes of reserved space if arch64.
8638         (sparc_builtin_saveregs): Combine arch32/arch64 versions.
8639         (init_cumulative_args): New function.
8640         (function_arg_slotno): New static function.
8641         (function_arg,function_arg_partial_nregs): New functions.
8642         (function_arg_{pass_by_reference,advance}): New functions.
8643         (function_arg_padding): New function.
8644         * ginclude/va-sparc.h: Rewrite v9 support.
8645
8646 Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
8647
8648         * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
8649         for hard regs to determine base and index registers.
8650
8651         * reload.c (debug_reload_to_stream): New function.  Specify stream
8652         into which to write debug info.
8653         (debug_reload): Modify to call debug_reload_to_stream with stderr.
8654
8655 Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
8656
8657         * combine.c (can_combine_p): Don't combine with an asm whose
8658         output is a hard register.
8659
8660 Thu Oct 16 15:43:26 1997  Mike Stump  (mrs@wrs.com)
8661
8662         * c-decl.c (start_struct): Ensure that structs with forward
8663         declarations are in fact packed when -fpack-struct is given.
8664
8665         * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
8666         we are packing a structure.  This allows a structure with only
8667         bytes to be aligned on a byte boundary and have no padding on a
8668         m68k.
8669
8670 Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8671
8672         * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
8673
8674 Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
8675
8676         * alpha.c (alpha_return_addr_rtx): New variable.
8677         (alpha_save_machine_status): New; save it.
8678         (alpha_restore_machine_status): New; restore it.
8679         (alpha_init_expanders): New; clear it.
8680         (alpha_return_addr): New; set it.
8681         (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
8682         is overly conservative, so search the insns explicitly.
8683         (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
8684         (alpha_sa_size [VMS && !VMS]): Likewise.
8685         * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
8686         (INIT_EXPANDERS): New definition.
8687
8688         * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
8689         (output_prolog [!VMS]): Use them.
8690
8691         * alpha.c (output_prolog [!VMS]): Move gp detection to ...
8692         (alpha_does_function_need_gp): ... a new function.  Refine the
8693         CALL_INSN test to just TYPE_JSR.
8694         * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
8695
8696 Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
8697
8698         * version.c: Bump for snapshot.
8699
8700 Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8701
8702         * pa.c (move_operand): Respect -mdisable-indexing.
8703         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
8704
8705 Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
8706
8707         * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
8708         PPC601.
8709         (umulsidi3,umulsi3_highpart): Ditto.
8710         (smulsi3_highpart_no_mq): Add !TARGET_POWER.
8711
8712 Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
8713
8714         * alpha.c (final_prescan_insn): Gut, remove and transform to ...
8715         (alpha_handle_trap_shadows): ... a new function.  Handle the entire
8716         function in one go.  Emit RTL for trapb, instead of printf directly.
8717         (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
8718         (trap_pending): Kill global variable.
8719         (output_epilog): Don't call final_prescan_insn.
8720         (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
8721         * alpha.h (FINAL_PRESCAN_INSN): Remove.
8722         (MACHINE_DEPENENT_REORG): Define.
8723         * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
8724         (trapb): New insn.
8725
8726 Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
8727
8728         Tune Haifa scheduler for Alpha:
8729         * alpha.h (ISSUE_RATE): Define.
8730         * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
8731         EV4 adjustments to EV5.
8732         * alpha.md: Remove all scaling from function unit delays.  Rework
8733         EV5 function units to match the CPU.
8734         (umuldi3_highpart): EV5 added the IMULH insn class.
8735
8736 Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
8737
8738         * pa.c (following_call): Fail if the CALL_INSN is an indirect
8739         call.
8740
8741 Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
8742
8743         * cplus-dem.c (demangle_signature): Don't look for return types on
8744         constructors.  Handle member template constructors.
8745
8746 Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
8747
8748         * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
8749         * tree.h: Declare them.
8750
8751 Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
8752
8753         * configure.in: Handle --with-newlib.
8754         * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
8755
8756         * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
8757
8758 Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
8759
8760         * config/ptx4.h: Fix typo.
8761
8762 Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
8763
8764         * version.c: Bump for snapshot.
8765
8766 Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
8767
8768         * aclocal.m4: Substitute INSTALL.
8769         * configure: Re-built.
8770
8771 Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
8772
8773         * integrate.c (save_for_inline_copying): Avoid undefined pointer
8774         operations.
8775         (expand_inline_function): Likewise.
8776
8777         * dwarf2out.c (output_call_frame_info): Reinstate last change
8778         using flag_debug_asm check instead of flag_verbose_asm.
8779
8780 Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
8781
8782         * dwarf2out.c (output_call_frame_info): Remove last change.
8783
8784 1997-10-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8785
8786         * frame.c (__frame_state_for): Execute the FDE insns until the
8787         current pc value is strictly bigger than the target pc value.
8788
8789 Tue Oct  7 11:00:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
8790
8791         * regclass.c (init_reg_modes): If we can't find a mode for the
8792         register, use the previous one.
8793
8794 Tue Oct  7 10:55:34 1997  Richard Henderson  <rth@cygnus.com>
8795
8796         * haifa-sched.c (print_block_visualization): Call fprintf directly,
8797         don't sprintf through an alloca'ed buffer.
8798
8799 Tue Oct  7 10:52:29 1997  Thomas Koenig (ig25@rz.uni-karlsruhe.de)
8800
8801         * reload.c (decompose): Always initialize val.base.
8802
8803 Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
8804
8805         * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
8806         instead of aborting.
8807         * dwarf2out.c (output_call_frame_info): Call app_enable and
8808         app_disable to let GNU as accept the generated comments.
8809
8810 Tue Oct  7 11:41:21 1997  Michael Meissner  <meissner@cygnus.com>
8811
8812         * tree.h (get_file_function_name): Add declaration.
8813         * dwarf2out.c (output_call_frame_info): No need to cast
8814         get_file_function_name call anymore.
8815         * profile.c (toplevel): Remove get_file_function_name
8816         declaration.
8817         * c-lang.c (finish_file): Ditto.
8818
8819 Tue Oct  7 10:01:45 1997  Chip Salzenberg <chip@rio.atlantic.net>
8820
8821         * Makefile.in (program_transform_name): Let autoconf substitute
8822         the correct value.
8823
8824 Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
8825
8826         * haifa-sched.c (schedule_block): If the first real insn in a
8827         block has any special notes attached to it, remove them.
8828
8829 Tue Oct  7 09:48:51 1997  Richard Henderson  <rth@cygnus.com>
8830
8831         * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
8832
8833 Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
8834
8835         * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
8836
8837 Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
8838
8839         * Makefile.in (check-g77): New test target.
8840         (CHECK-TARGETS): Add check-g77.
8841
8842 Fri Oct  3 11:56:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
8843
8844         * toplev.c (rest_of_compilation): Defer all non-nested inlines.
8845
8846 Fri Oct  3 15:49:27 1997  Michael Meissner  <meissner@cygnus.com>
8847
8848         * flow.c (print_rtl_with_bb): Cast alloca return value for
8849         in_bb_p.
8850
8851 Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
8852
8853         * i386.h (RETURN_ADDR_RTX): New definition that works for
8854         __builtin_return_address(0) and -fomit-frame-pointer.
8855
8856 Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
8857
8858         Bring over from FSF.
8859         Tue Aug  5 16:10:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
8860
8861         * mips.c (function_arg): Handle passing a struct
8862         containing a double in a DFmode register without the PARALLEL.
8863
8864 Wed Oct  1 11:13:25 1997  Ian Lance Taylor  <ian@cygnus.com>
8865
8866         * pexecute.c: Use spawn if __CYGWIN32__.
8867
8868         * pexecute.c: Include "config.h" first, as per autoconf manual
8869         (from Paul Eggert  <eggert@twinsun.com>).
8870
8871 Wed Oct  1 01:44:36 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
8872
8873         * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
8874         optimisation for f/expr.o and f/stb.o.
8875
8876 Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
8877
8878         * cse.c (this_insn_cc0_mode): Initialize.
8879
8880 Tue Sep 30 23:09:40 1997  Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
8881
8882         * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
8883
8884         * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
8885
8886 Tue Sep 30 23:06:43 1997  Richard Henderson  <rth@cygnus.com>
8887
8888         * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
8889         that pair will dual-issue on the 21164 and plus+beq won't.
8890         (bne): Likewise for cmpeq+beq.
8891
8892 Tue Sep 30 16:07:58 1997  Jim Wilson  <wilson@cygnus.com>
8893
8894         * except.c (find_exception_handler_labels): Correct argument to free.
8895
8896 Tue Sep 30 11:00:00 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
8897
8898         * except.c (find_exception_handler_labels): Free LABELS when we're
8899         done.
8900
8901 Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
8902
8903         * version.c: Bump for snapshot.
8904
8905 Mon Sep 29 10:51:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
8906
8907         * flow.c (find_basic_blocks): Mark calls as potentially jumping
8908         to the EH labels.
8909
8910 Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
8911
8912         * configure.in: Substitute for "install" too.
8913         * configure: Rebuilt.
8914
8915 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
8916
8917         * Makefile.in (bootstrap-lean, compare-lean): New targets.
8918
8919 Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
8920
8921         * alias.c (base_alias_check): Two symbols can conflict if they
8922         are accessed via AND.
8923         (memrefs_conflict_p): Likewise.
8924
8925         * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
8926         after flushing argument registers to the stack.
8927
8928         * Makefile.in (mostlyclean): Remove .regmove files.
8929
8930 Sun Sep 28 18:59:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
8931
8932         * libgcc2.c (__throw): Fix thinko.
8933
8934 Sun Sep 28 12:00:52 1997  Mark Mitchell  <mmitchell@usa.net>
8935
8936         * cplus-dem.c (demangle_template): Add new parameter.  Handle new
8937         template-function mangling.
8938         (consume_count_with_underscores): New function.
8939         (demangle_signature): Handle new name-mangling scheme.
8940
8941 Sun Sep 28 01:55:04 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
8942
8943         * flow.c (print_rtl_with_bb): Cast alloca return values for variables
8944         start and end.
8945
8946 Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
8947
8948         * frame.c: Remove last change.
8949         * dwarf2.h: Remove last change.
8950         * tree.h: Add declarations of DWARF2 unwind info support
8951         functions.
8952
8953 Sat Sep 27 11:02:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
8954
8955         * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
8956         * tree.h (built_in_function): Likewise.
8957         * expr.c (expand_builtin): Likewise.
8958         * except.h: Likewise.
8959         * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
8960         * libgcc2.c (copy_reg): New fn.
8961         (__throw): Use it.
8962
8963 Fri Sep 26 08:54:59 1997  Paul Eggert  <eggert@twinsun.com>
8964
8965         * c-typeck.c (build_binary_op): Warn about comparing signed vs
8966         unsigned if -W is specified and -Wno-sign-compare is not.
8967         * c-decl.c (warn_sign_compare): Initialize to -1.
8968         (c_decode_option): -Wall no longer implies -Wsign-compare.
8969
8970 Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8971
8972         * frame.c: Include gansidecl.h for PROTO.
8973         * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
8974         defined.  Don't declare dwarf2out_cfi_label here.
8975         * dwarf2.h: Add declarations of DWARF2 unwind info support
8976         functions.
8977         * m68k.c: Include dwarf2.h.
8978         (output_function_prologue): Add dwarf2 support.
8979         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
8980         (INCOMING_FRAME_SP_OFFSET): Likewise.
8981
8982         * integrate.c (expand_inline_function): Make sure there is at
8983         least one insn that can be used as an insertion point.
8984
8985 Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
8986
8987         * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
8988
8989 Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
8990
8991         * version.c: Bump for snapshot.
8992
8993 Wed Sep 24 17:36:23 1997  Doug Evans  <dje@canuck.cygnus.com>
8994
8995         Bring over from FSF.
8996
8997         Wed Sep 24 19:17:08 1997  Doug Evans  <dje@cygnus.com>
8998
8999         * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
9000         (get_pc_via_rdpc): Renamed from get_pc_sp64.
9001         * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
9002
9003         Wed Sep 24 18:38:22 1997  David S. Miller  <davem@tanya.rutgers.edu>
9004
9005         * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
9006         (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
9007         -malign-functions=.
9008         (sparc_align_{loops,jumps,funcs}_string): Declare.
9009         (sparc_align_{loops,jumps,funcs}): Declare.
9010         (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
9011         (FUNCTION_BOUNDARY): Use sparc_align_funcs.
9012         (STACK_BIAS): Define.
9013         (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
9014         test.
9015         (SPARC_SETHI_P): New macro.
9016         (CONST_OK_FOR_LETTER_P): Use it.
9017         (ASM_OUTPUT_ALIGN_CODE): Define.
9018         (ASM_OUTPUT_LOOP_ALIGN): Define.
9019         * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
9020         (sparc_align_{loops,jumps,funcs}): New globals.
9021         (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
9022         -malign-functions=.
9023         (move_operand): Use SPARC_SETHI_P.
9024         (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
9025         perform test.
9026         (arith11_double_operand): Likewise.
9027         (arith10_double_operand): Likewise.
9028         (finalize_pic): Finish sparc64 support.
9029         (emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
9030         64 bit constants if able.
9031         (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
9032         (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
9033         ! TARGET_FPU.
9034         * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
9035         (get_pc_sp32): Use for sparc64 as well.
9036         (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
9037         (sethi_di_sp64_const): Likewise.
9038         (movtf_cc_sp64): Check TARGET_HARD_QUAD.
9039         (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
9040         (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
9041
9042         Tue Sep 23 19:02:46 1997  Doug Evans  <dje@cygnus.com>
9043
9044         * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
9045         * sparc/linux.h (COMMENT_BEGIN): Likewise.
9046         * sparc/linux64.h (COMMENT_BEGIN): Likewise.
9047
9048         Tue Sep 23 14:48:18 1997  David S. Miller  <davem@tanya.rutgers.edu>
9049
9050         Add sparc64 linux support.
9051         * configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
9052         to xm_file list on 32-bit sparc-linux.
9053         * sparc/xm-sp64.h: New file.
9054         * sparc/linux64.h: New file.
9055         * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
9056         Don't include xm-sparc.h.
9057         * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
9058         * glimits.h (LONG_MAX): Handle sparc64.
9059
9060         Sat Sep 20 03:07:54 1997  Doug Evans  <dje@cygnus.com>
9061
9062         * sparc/sysv4.h (ASM_COMMENT_START): Delete.
9063         * sparc.h (ASM_COMMENT_START): Define.
9064         * sparc.c (output_function_prologue): Use it.
9065         (sparc_flat_output_function_{epi,pro}logue): Likewise.
9066
9067         Wed Sep 17 15:04:19 1997  Doug Evans  <dje@cygnus.com>
9068
9069         * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
9070         use sparc.h's copies.
9071         * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
9072         ascii form as well.
9073
9074         Mon Sep  8 08:45:19 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9075
9076         * sparc.c (dwarf2out_cfi_label): Add declaration.
9077         (save_regs, output_function_prologue): Remove cast for it.
9078         (sparc_flat_{save_restore,output_function_prologue): Likewise.
9079         ({save,restore}_regs): No longer inline.
9080
9081 Tue Sep 23 12:34:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9082
9083         * fold-const.c (make_range): Correctly handle cases of converting
9084         from unsigned to signed type.
9085
9086 Tue Sep 23 12:34:51 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
9087
9088         * fold-const.c (merge_ranges): Make sure that if one range is subset
9089         of another, it will always be the second range.  Correct (+,-) case to
9090         account for this.
9091
9092 Tue Sep 23 08:32:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
9093
9094         * final.c (final_end_function): Also do dwarf2 thing if
9095         DWARF2_DEBUGGING_INFO.
9096         (final_start_function): Likewise.
9097
9098 Tue Sep 23 01:15:50 1997  David S. Miller  <davem@tanya.rutgers.edu>
9099
9100         * expmed.c (expand_divmod): If compute_mode is not the same as
9101         mode, handle the case where convert_modes() causes op1 to no
9102         longer be a CONST_INT.
9103
9104         * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
9105         note holding get_jump_flags() calculation to all JUMP_INSNs.
9106         * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
9107         * rtl.c (reg_note_name): Add new note types.
9108
9109 Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
9110
9111         * rtlanal.c (computed_jump_p): Fix typo in last change.
9112
9113 Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
9114
9115         * loop.c (indirect_jump_in_function_p): Return 0
9116         by default.
9117
9118 Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
9119
9120         * rs6000/xm-rs6000.h: Fix thinko in last change.
9121         * rs6000/xm-sysv4.h: Likewise.
9122
9123 Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>
9124
9125         * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
9126
9127 Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
9128
9129         * reg-stack.c (find_blocks): Fix thinko in last change.
9130
9131 1997-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
9132
9133         * m68k.c (output_function_prologue): Add dwarf2 support.
9134
9135         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
9136         INCOMING_FRAME_SP_OFFSET): New definitions.
9137
9138 Mon Sep 22 11:36:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
9139
9140         * combine.c (try_combine): Use NULL_RTX instead of '0' where
9141         appropriate in calls to gen_rtx().
9142         * cse.c (cse_main): Likewise.
9143         * emit-rtl.c (gen_label_rtx): Likewise.
9144         * expr.c (init_expr_once): Likewise.
9145         * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
9146         sched_analyze, init_rgn_data_dependences,
9147         compute_block_backward_dependences): Likewise.
9148         * sched.c (schedule_insns): Likewise.
9149         * varasm.c (immed_double_const): Likewise.
9150
9151         * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
9152         SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
9153
9154 Mon Sep 22 11:21:33 1997  J. Kean Johnston  <jkj@sco.com>
9155
9156         * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
9157         (MULTILIB_DEFAULTS): Define.
9158         (ASM_SPEC, CPP_SPEC): Handle -mcoff.
9159         (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
9160         (LIBGCC_SPEC): Likewise.
9161         (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
9162         (SUBTARGET_SWITCHES): Add -mcoff and -melf.
9163         * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
9164         (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
9165         (EXTRA_PARTS, TAROUTOPTS): Delete.
9166         (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
9167         (MULTILIB_OPTIONS): Define.
9168         (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
9169         (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
9170
9171 Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
9172
9173         * version.c: Bump for snapshot.
9174
9175 Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
9176
9177         * loop.c (loop_number): Delete function.  Change all references
9178         to use uid_loop_num array.
9179         * loop.h (loop_number): Delete declaration.
9180         * unroll.c (unroll_loop): Change "loop_number" references to
9181         use uid_loop_num instead.
9182
9183         * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
9184         conditional.
9185         (loop_unroll_iter): Remove unused variable and all references.
9186         (loop_optimize): Always allocate and clear space for loop_unroll_factor.
9187         (insert_bct): Fix minor formatting problems.
9188         * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
9189         (loop_unroll_iter): Removed unused decl.
9190         * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
9191         Always record the unrolling factor.
9192
9193         * cse.c (simplify_relational_operation): Set h0u just like h0s.
9194         Similarly for h1u and h1s.
9195
9196         * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
9197         (find_basic_blocks): Use computed_jump_p to determine if a
9198         particular JUMP_INSN is a computed jump.
9199         * reg-stack.c (find_blocks): Use computed_jump_p to determine
9200         if a particular JUMP_INSN is a computed jump.
9201         * rtlanal.c (jmp_uses_reg_or_mem): New function.
9202         (computed_jump_p): Likewise.
9203         * rtl.h (computed_jump_p): Declare.
9204         * genattrtab.c (pc_rtx): Define and initialize.
9205         * loop.c (loop_optimize): Always determine if the current
9206         function has a computed jump.
9207         (indirect_jump_in_function_p): Use computed_jump_p to determine
9208         if a particular JUMP_INSN is a computed jump.
9209
9210         * loop.c (fix_bct_param): Delete unused function.
9211         (check_bct_param): Likewise.
9212
9213 Sat Sep 20 16:22:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
9214
9215         * frame.c (__deregister_frame): Check properly for initialized object.
9216
9217 Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
9218
9219         * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
9220
9221 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
9222
9223         * jump.c (thread_jumps): check can_reverse_comparison_p before
9224         threading a reversed-condition jump.
9225
9226         * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
9227         * haifa-sched.c (update_flow_info): Likewise.
9228
9229 Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
9230
9231         * Makefile.in (BOOT_CFLAGS): Use -O2.
9232
9233         * configure.in (strtoul, bsearch): Have autoconf check for these
9234         functions.
9235         * configure, config.in: Rebuilt.
9236
9237         * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
9238         * mips/mips.h (alloca): Likewise.
9239         * rs6000/xm-rs6000.h (alloca): Likewise.
9240         * rs6000/xm-sysv4.h: Likewise.
9241
9242 Thu Sep 18 14:22:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
9243
9244         * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
9245         * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
9246         (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
9247
9248         * except.c (end_eh_unwinder): Subtract 1 from return address.
9249         * libgcc2.c (__throw): Likewise.
9250         (find_exception_handler): Don't change PC here.  Compare end with >.
9251
9252 Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
9253
9254         * v850.c (compute_register_save_size): Correct register
9255         number.
9256         * v850.md (save_interrupt, return_interrupt): Correct
9257         register number.
9258         * v850/lib1funcs.asm (save_interrupt): Correct register number.
9259         (return_interrupt): Use stack pointer, not element pointer.
9260
9261 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
9262
9263         * configure.in, configure: Make sure to create the stage* and include
9264         symbolic links in each subdirectory.
9265
9266 Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
9267
9268         * pa.md (reload_peepholes): Don't allow addresses with side
9269         effects for the memory operand.
9270
9271 Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
9272
9273         * libgcc2.c (find_exception_handler): Subtract one from our PC when
9274         looking for a handler, to avoid hitting the beginning of the next
9275         region.
9276
9277         * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
9278
9279 Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
9280
9281         * mips/abi64.h (LONG_MAX_SPEC): Define.
9282         * mips.h (LONG_MAX_SPEC): Define.
9283         (CPP_SPEC): Include long_max_spec.
9284         (EXTRA_SPECS): Include long_max_spec.
9285
9286 Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
9287
9288         * v850.c (construct_save_jarl): Fix thinko in last change.
9289
9290 Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
9291
9292         * version.c: Bump for snapshot.
9293
9294 Tue Sep 16 14:22:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
9295
9296         * libgcc2.c (find_exception_handler): Not found is -1.
9297
9298         * integrate.c (expand_inline_function): Move expand_start_bindings
9299         after expanding the arguments.
9300
9301 Tue Sep 16 11:13:46 1997  Jim Wilson  <wilson@cygnus.com>
9302
9303         * expr.c (expand_expr): Remove previous incorrect change.
9304         If target and slot has no DECL_RTL, then call mark_addressable
9305         again for the slot after we give it RTL.
9306
9307 Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
9308
9309         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
9310         again for the slot after we give it RTL.
9311
9312 Tue Sep 16 00:13:20 1997  Nick Clifton  <nickc@cygnus.com>
9313
9314         * v850.c (register_is_ok_for_epilogue,
9315         pattern_is_ok_for_epilogue, construct_restore_jr,
9316         pattern_is_ok_for_prologue, construct_save_jarl): New functions.
9317
9318         * v850.h (pattern_is_ok_for_prologue,
9319         pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
9320         predicates.
9321
9322         * v850.md: Replace prologue and epilogue patterns with a
9323         match_parallel pattern.
9324
9325 Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
9326
9327         * aclocal.m4: Add replacement for AC_PROG_INSTALL.
9328         * configure.in: Use EGCS_PROG_INSTALL.
9329
9330 Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
9331
9332         * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
9333         extern inline function.
9334
9335 Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
9336
9337         * dwarf2out.c (reg_loc_descriptor): Fix prototype.
9338         (concat_loc_descriptor): New function.
9339         (loc_descriptor): Call it.
9340         (add_AT_location_description): Also elide the descriptor if both
9341         halves of a CONCAT are pseudos.
9342         (add_location_or_const_value_attribute): Recognize CONCAT too.
9343
9344 Mon Sep 15 15:24:00 1997  Richard Henderson  <rth@cygnus.com>
9345
9346         * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
9347
9348         * alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
9349         out-or-range reg_offset.
9350         (output_epilog): Likewise.
9351
9352 Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
9353
9354         * cse.c (simplify_relational_operation): If MODE specifies a
9355         mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
9356         is derived from the sign bit of the low word.
9357
9358 Mon Sep 15 11:43:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
9359
9360         Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
9361
9362         * dwarf2.h: Add DW_CFA_GNU_args_size.
9363         * frame.c (execute_cfa_insn): Likewise.
9364         * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
9365         (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
9366         (dwarf2out_frame_debug): If this isn't a prologue or epilogue
9367         insn, hand it off to dwarf2out_stack_adjust.
9368         (dwarf2out_begin_prologue): Initialize args_size.
9369         * frame.h (struct frame_state): Add args_size.
9370         * libgcc2.c (__throw): Use args_size.
9371         * final.c (final_scan_insn): If we push args, hand off all insns
9372         to dwarf2out_frame_debug.
9373         * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
9374
9375         * dwarf2out.c dwarf2out_frame_debug): Fix typo.
9376         Handle epilogue restore of SP from FP.
9377         * emit-rtl.c (gen_sequence): Still generate a sequence if the
9378         lone insn has RTX_FRAME_RELATED_P set.
9379
9380         * frame.c (extract_cie_info): Handle "e" augmentation.
9381         * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
9382         absence of UNALIGNED_*_ASM_OP.
9383         (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
9384         (output_call_frame_info): Use "e" instead of "z" for augmentation.
9385         Don't emit augmentation fields length.
9386         (dwarf2out_do_frame): Move outside of #ifdefs.
9387         * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
9388         opcodes.
9389
9390         * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
9391         * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
9392         * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
9393         * sparc/sun4gas.h: New file.
9394         * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
9395
9396         * collect2.c (write_c_file_stat, write_c_file_glob): Declare
9397         __register_frame_table and __deregister_frame.
9398
9399 1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
9400
9401         * except.c (find_exception_handler_labels): Use xmalloc instead of
9402         alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
9403         in some cases.
9404
9405 Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
9406
9407         * Makefile.in: Various changes to build info files
9408         in the object tree rather than the source tree.
9409
9410 Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
9411
9412         * fixinc.math: New file to fix math.h on some systems.
9413         * configure.in (freebsd, netbsd): Use fixinc.math on these
9414         systems.
9415         * configure: Rebuilt.
9416
9417 Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
9418
9419         * regmove.c (regmove_optimize): If we end up moving the
9420         original insn due to lifetime overlaps, make sure to move
9421         REG_NOTES too.
9422
9423 Sat Sep 13 15:51:11 1997  Manfred Hollstein  <manfred@s-direktnet.de>
9424
9425         * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
9426
9427 Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
9428
9429         * haifa-sched.c (add_branch_dependences): Make each insn in
9430         a SCHED_GROUP_P block explicitly depend on the previous insn.
9431
9432 Fri Sep 12 13:49:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
9433
9434         * except.h: Prototype dwarf2 hooks.
9435         * expr.c: Adjust.
9436
9437 Thu Sep 11 17:43:55 1997  Jim Wilson  <wilson@cygnus.com>
9438
9439         * configure.in (native_prefix): Delete.
9440         (mips-dec-netbsd): Don't set prefix.
9441         (*linux*): Don't set prefix.
9442
9443 Thu Sep 11 15:48:32 1997  Fred Fish  <fnf@ninemoons.com>
9444
9445         * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
9446         defined.  If not defined, include <sys/varargs.h> if
9447         HAVE_SYS_VARARGS_H is defined.
9448         * configure.in: Test for varargs.h and sys/varargs.h.
9449         * configure: Regenerate with autoconf.
9450         * config.in: Regenerate with autoheader.
9451
9452         * cpplib.c (quote_string): Cast first arg of sprintf call
9453         from "unsigned char *" to "char *".
9454         (output_line_command): Ditto.
9455         (macroexpand): Ditto.
9456         (do_line): Cast atoi arg from "unsigned char *" to "char *".
9457
9458 Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
9459
9460         * version.c: Bump for snapshot.
9461
9462         * Makefile.in (compare): Exit with nonzero status if there
9463         are comparison failures.  Note which files failed the
9464         comparison test in .bad_compare.
9465
9466 Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
9467
9468         * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
9469
9470 Wed Sep 10 16:37:28 1997  Fred Fish  <fnf@ninemoons.com>
9471
9472         * Makefile.in (LN, LN_S): New macros, use where appropriate.
9473         * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
9474         * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
9475         * configure: Regenerated.
9476
9477 Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
9478
9479         * loop.c (strength_reduce): Fix typo.
9480
9481 Wed Sep 10 16:01:15 1997  Jim Wilson  <wilson@cygnus.com>
9482
9483         * m88k/m88k.c (struct option): Rename to struct options.
9484         * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
9485         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
9486         * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
9487         __DOLPHIN__ or sysV88.
9488
9489 Wed Sep 10 14:58:40 1997  Jim Wilson  <wilson@cygnus.com>
9490
9491         * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
9492         create new subreg.
9493
9494 Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
9495
9496         * config.sub: Accept 'amigados' for backward compatability.
9497
9498 Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
9499
9500         * Makefile.in (testsuite/site.exp): New target.
9501         (check-gcc, check-g++): Depend on testsuite/site.exp.
9502         Don't stop for failure.
9503
9504 Wed Sep 10 12:59:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
9505
9506         * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
9507         if DWARF2_UNWIND_INFO.
9508
9509 Wed Sep 10 11:49:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
9510
9511         Add support for exception handling using DWARF 2 frame unwind info.
9512         Currently works on SPARC and MIPS, and almost on x86.
9513
9514         * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
9515         next_stack_level, in_reg_window): Helper fns.
9516         (__throw): Implement for DWARF2_UNWIND_INFO.
9517
9518         * expr.c (expand_builtin): Handle builtins used by __throw.
9519         * tree.h (enum built_in_function): Add builtins used by __throw.
9520         * c-decl.c (init_decl_processing): Declare builtins used by __throw.
9521         * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
9522         * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
9523         (expand_builtin_extract_return_addr): Likewise.
9524         (expand_builtin_frob_return_addr): Likewise.
9525         (expand_builtin_set_return_addr_reg): Likewise.
9526         (expand_builtin_eh_stub): Likewise.
9527         (expand_builtin_set_eh_regs): Likewise.
9528         (eh_regs): Choose two call-clobbered registers for passing back values.
9529
9530         * frame.c, frame.h: New files for parsing dwarf 2 frame info.
9531         * Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
9532         (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
9533         (stmp-multilib): Likewise.
9534         ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
9535
9536         * except.c: #include "defaults.h".
9537         (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
9538         (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
9539         (register_exception_table_p): New fn.
9540         (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
9541         (end_eh_unwinder): Likewise.
9542
9543         * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
9544         call __register_frame and __deregister_frame as needed.
9545         * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
9546         * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
9547         EH_FRAME_SECTION_ASM_OP.
9548         * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
9549         * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
9550         (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
9551
9552         * dwarf2out.c (output_call_frame_info): If no support for
9553         EXCEPTION_SECTION, mark the start of the frame info with a
9554         collectable tag.
9555         * collect2.c (frame_tables): New list.
9556         (is_ctor_dtor): Recognise frame entries.
9557         (scan_prog_file): Likewise.
9558         (main): Pass -fno-exceptions to sub-compile.  Also do collection
9559         if there are any frame entries.
9560         (write_c_file_stat): Call __register_frame_table and
9561         __deregister_frame as needed.
9562         (write_c_file_glob): Likewise.
9563
9564         * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
9565         Also require unaligned reloc support.
9566         * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9567         UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
9568         * sparc/sysv4.h: Not here.
9569
9570         * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
9571         * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
9572         (dwarf2out_finish): Don't call dwarf2out_frame_finish.
9573
9574         * libgcc2.c (L_eh): Reorganize, moving code shared by different
9575         EH implementations to the top.
9576         (find_exception_handler): Split out.  Start from 0.  Compare against
9577         end with >=.
9578         (__find_first_exception_table_match): Use it.
9579         * except.c (output_exception_table): Don't do anything if there's
9580         no table.  Don't output a first entry of zeroes.
9581         (eh_outer_context): Adjust properly.
9582         (add_eh_table_entry): Use xrealloc.
9583         * toplev.c (compile_file): Just call output_exception_table.
9584
9585 Wed Sep 10  11:30:36 1997  Jason Merrill  <jason@cygnus.com>
9586
9587         * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
9588
9589 Wed Sep 10 08:17:10 1997  Torbjorn Granlund  <tege@pdc.kth..se>
9590
9591         * except.c (eh_outer_context): Do masking using expand_and.
9592
9593 Wed Sep 10 01:38:30 1997  Doug Evans  <dje@cygnus.com>
9594
9595         Add port done awhile ago for the ARC cpu.
9596         * arc/arc.h: New file.
9597         * arc/arc.c: New file.
9598         * arc/arc.md: New file.
9599         * arc/initfini.c: New file.
9600         * arc/lib1funcs.asm: New file.
9601         * arc/t-arc: New file.
9602         * arc/xm-arc.h: New file.
9603         * ginclude/va-arc.h: New file.
9604         * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
9605         * ginclude/varargs.h: Likewise.
9606         * Makefile.in (USER_H): Add va-arc.h.
9607         * configure.in (arc-*-elf*): Recognize.
9608         * longlong.h: Add ARC support.
9609
9610 Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
9611
9612         * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
9613         when clearing non-BLKmode data.
9614
9615 Wed Sep 10 00:29:29 1997  Manfred Hollstein  <manfred@s-direktnet.de>
9616
9617         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
9618         * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
9619
9620         * xm-m88k.h (USG): Only define if it hasn't already been defined.
9621
9622         * Makefile.in (risky-stage1): Delete gratutious whitespace.
9623
9624         * Makefile.in (clean): Delete libgcc1-test.
9625
9626         * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
9627
9628 Tue Sep  9 17:07:36 1997  Stan Cox  <coxs@dg-rtp.dg.com>
9629
9630         * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
9631         template.
9632
9633 Tue Sep  9 09:50:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9634
9635         * dwarf2out.c (output_call_frame_info): Call named_section.
9636
9637 Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
9638
9639         * haifa-sched.c (print_value): Fix last change.
9640
9641 Tue Sep  9 01:30:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
9642
9643         * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
9644         write_symbols.
9645
9646 Mon Sep  8 16:32:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
9647
9648         * mips.c (function_prologue): Set up the CFA when ABI_32.
9649
9650         * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
9651         for dwarf2 unwind info.
9652         (output_function_prologue, sparc_flat_output_function_prologue): Same.
9653
9654         * final.c (final_end_function): Check dwarf2out_do_frame instead
9655         of DWARF2_DEBUG for dwarf2 unwind info.
9656         (final_scan_insn): Likewise.
9657         (final_start_function): Likewise.  Initialize dwarf2 frame debug here.
9658         (final): Not here.
9659
9660         * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
9661         count > 0.
9662
9663         * varasm.c (exception_section): Check EXCEPTION_SECTION first.
9664
9665 Mon Sep  8 15:15:11 1997  Nick Clifton  <nickc@cygnus.com>
9666
9667         * v850.h (ASM_SPEC): Pass on target processor.
9668         (CPP_PREDEFINES): Only define if not already specified.
9669         (TARGET_VERSION): Only define if not already specified.
9670         (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
9671         processor.
9672         (EXTRA_SWITCHES): Extra entries in the switches array.
9673         (TARGET_DEFAULT): Set default target processor.
9674
9675 Mon Sep  8 18:26:35 1997  Jim Wilson  <wilson@cygnus.com>
9676
9677         * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
9678         cases, add %# and %/, and add : to make them into extended asms.
9679
9680 Sun Sep  7 23:57:50 1997  Weiwen Liu  <liu@hepunix.physics.yale.edu>
9681
9682         * alias.c (init_alias_analysis): Clean up incompatible pointer
9683         type warning in bzero.
9684         * regmove.c (regmove_optimize): Ditto.
9685         * haifa-sched.c (find_rgns): Ditto.
9686
9687         * haifa-sched.c (print_value): Clean up ptr->int cast
9688         warnings.
9689
9690 Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
9691
9692         * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
9693         * install.texi (Configurations): Ditto.
9694         * config.sub: Ditto.
9695
9696 Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
9697
9698         * Makefile.in (sdbout.o): Depend on insn-config.h.
9699
9700 Sun Sep  7 18:44:50 1997  Jim Wilson  <wilson@cygnus.com>
9701
9702         * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
9703         For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
9704
9705 Sun Sep  7 18:30:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
9706
9707         * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
9708         prologue insn, only the first elt is significant.
9709         (output_call_frame_info): For exception handling, always use 4-byte
9710         fields as specified by the dwarf2 spec.
9711         Don't skip trivial FDEs.
9712
9713 Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
9714
9715         * version.c: Bump for snapshot.
9716
9717 Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
9718
9719         * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
9720         for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
9721         when op1_is_pow2.
9722
9723 Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
9724
9725         * final.c (shorten_branches): During first pass, assume worst
9726         possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
9727
9728         * Makefile.in (distclean): Remove various things left around
9729         by running the testsuite.
9730
9731 Sun Sep  7 13:16:06 1997  Manfred Hollstein  <manfred@s-direktnet.de>
9732
9733         * configure.in (out_file): Emit definition to config.status in order
9734         to have a defined value for configure.lang.
9735         * configure: Re-built.
9736
9737 Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
9738
9739         * configure.in: Make symlink to as-new rather than as.new.  Similarly
9740         for ld-new.
9741         * configure: Rebuilt.
9742
9743 Fri Sep  5 16:54:55 1997  Jim Wilson  <wilson@cygnus.com>
9744
9745         * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
9746
9747 Fri Sep  5 16:16:44 1997  Christian Kuehnke  <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
9748
9749         * sparc/sparc.md: Add ultrasparc scheduling support.
9750         * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
9751
9752 Fri Sep  5 14:04:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
9753
9754         * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
9755         as initial value for real_label_map.
9756         (copy_for_inline): Likewise.
9757
9758 Fri Sep  5 13:36:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
9759
9760         * sched.c (update_flow_info) When looking if to set found_split_dest
9761         or found_orig_dest, look at all parts of a PARALLEL.
9762         * haifa-sched.c (update_flow_info): Likewise.
9763
9764 Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
9765
9766         * v850: New directory for v850 port.
9767         * v850/lib1funcs.asm: New file.
9768         * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
9769         * ginclude/va-v850.h: New file.
9770         * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
9771         * configure.in (mn10200-*-*): New target.
9772         * configure: Rebuilt.
9773         * config.sub: Handle v850-elf.
9774         * Makefile.in (USER_H): Add va-mn10200.h.
9775         * invoke.texi: Document v850 stuff.
9776
9777 Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
9778
9779         * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
9780         has integer TYPE_{MAX,MIN}_VALUE before using them.
9781
9782         * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
9783         __HPUX_ASM__ versions.
9784
9785 Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
9786
9787         * install.sh: Delete duplicate install script.
9788
9789 Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
9790
9791         * reg-stack.c (subst_stack_regs): Pop the stack register for a
9792         computed goto which sets the same stack register.
9793
9794         * reg-stack.c (compare_for_stack_reg): Swap only if the source and
9795         destination are both on the regstack.
9796         (subst_stack_regs_pat): Put the destination at the top of the regstack.
9797
9798 Thu Sep  4 15:02:27 1997  Jim Wilson  <wilson@cygnus.com>
9799
9800         * mips.md (nonlocal_goto_receiver): Define.
9801
9802         * profile.c (output_arc_profiler): Check next_insert_after for non
9803         NULL before deferencing it.
9804
9805         * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
9806
9807 Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
9808
9809         * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
9810
9811 Thu Sep  4 15:01:49 1997  Michael Meissner  <meissner@cygnus.com>
9812
9813         * toplev.c (rest_of_compilation): For passes starting with
9814         flow_analysis, use print_rtl_with_bb instead of print_rtl.
9815
9816         * print-rtl.c (print_rtl_single): Print a single rtl value to a
9817         file.
9818
9819         * flow.c (print_rtl_with_bb): Print which insns start and end
9820         basic blocks.  For the start of a basic block, also print the live
9821         information.
9822
9823 Thu Sep  4 11:51:43 1997  Jim Wilson  <wilson@cygnus.com>
9824
9825         * toplev.c (main): Change #elif to #else/#ifdef
9826
9827         * tlink.c: Include ctype.h.
9828         * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
9829
9830 Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
9831
9832         * bitmap.c: Conditionally include stdlib.h.
9833         (free): Provide a declaration if NEED_DECLARATION_FREE.
9834
9835 Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
9836
9837         * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
9838
9839 Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
9840
9841         * profile.c (output_arc_profiler): Verify next_insert_after is an
9842         INSN before and after skipping a stack pop.
9843
9844 Thu Sep  4 07:39:19 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
9845
9846         * final.c (shorten_branches): Don't count the lengths of deleted
9847         instructions.
9848
9849 Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
9850
9851         * version.c: Bump for snapshot.
9852
9853 Thu Sep  4 11:04:21 1997  Michael Meissner  <meissner@cygnus.com>
9854
9855         * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
9856         two bitmaps ANDed together.
9857         (bitmap_print): Declare.
9858
9859         * bitmap.c (function_obstack): Don't declare any more.
9860         (bitmap_obstack): Obstack for allocating links from.
9861         (bitmap_obstack_init): New static to say whether to initialize
9862         bitmap_obstack.
9863         (bitmap_element_allocate): Use bitmap_obstack to allocate from.
9864         (bitmap_release_memory): Free all memory allocated from
9865         bitmap_obstack.
9866
9867         * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
9868         EXECUTE_IF_AND_IN_BITMAP.
9869
9870 Wed Sep  3 10:39:42 1997  Jim Wilson  <wilson@cygnus.com>
9871
9872         * alias.c (true_dependence): Address with AND can alias scalars.
9873         (anti_dependence, output_dependence): Likewise.
9874
9875         * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
9876
9877 Wed Sep  3 09:28:50 CDT 1997  Joel Sherrill (joel@OARcorp.com)
9878
9879         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
9880           mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
9881           sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
9882           definitions.  Use -qrtems instead of -mrtems.
9883
9884 Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
9885
9886         * xm-sco5.h (sys_siglist): Define.
9887         (SYS_SIGLIST_DECLARED): Likewise.
9888
9889 Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
9890
9891         * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
9892
9893 Wed Sep  3 02:09:30 1997  Torbjorn Granlund  <tege@pdc.kth..se>
9894
9895         * except.c (eh_outer_context): Expand masking operation using
9896         expand_binop.
9897
9898 Tue Sep  2 18:09:39 1997  Jim Wilson  <wilson@cygnus.com>
9899
9900         * alpha.md (floatdisf2-1): New pattern.
9901
9902 Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
9903
9904         * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
9905         * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
9906         * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
9907         * gcc.texi: Note that if you define sys_siglist that you should
9908         also define SYS_SIGLIST_DECLARED.
9909
9910         * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
9911         are relative to the next instruction, not the current instruction.
9912
9913 Tue Sep  2 14:22:43 1997  Jim Wilson  <wilson@cygnus.com>
9914
9915         * local-alloc.c (contains_replace_regs): New function.
9916         (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
9917         verify that there is no existing REG_EQUIV note, and add a call to
9918         contains_place_regs.
9919
9920 Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
9921
9922         * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
9923         (STARTFILE_SPEC): Always use crtbegin.o%s
9924         (ENDFILE_SPEC): Always use crtend.o%s.
9925
9926 Tue Sep  2 12:00:36 1997  Jim Wilson  <wilson@cygnus.com>
9927
9928         * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
9929         is passed in.
9930         * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
9931         SFmode for 64 bit hosts.
9932
9933 Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  <hilfingr@CS.Berkeley.EDU>
9934
9935         * fixincludes: Permits spaces between # and define.  Discard C++
9936         comments in sys/pci.h on HP/UX 10.20.
9937
9938 Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
9939
9940         * version.c: Bump for snapshot.
9941
9942         * pa.c (restore_unscaled_index_insn_codes): New function.
9943         (record_unscaled_index_insn_codes): Likewise.
9944         (output_function_prologue): Call restore_unscaled_index_insn_codes.
9945         (output_function_epilogue): Free memory for unscaled_index_insn_codes.
9946         (pa_reorg): Call record_unscaled_index_insn_codes.
9947
9948         * haifa-sched.c (move_insn): Handle notes correctly for insns
9949         with SCHED_GROUP_P set.
9950
9951 Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
9952
9953         * alpha/xm-linux.h (USE_BFD): Undef before define.
9954
9955 Mon Sep  1 16:25:34 1997  Jim Wilson  <wilson@cygnus.com>
9956
9957         * cse.c (cse_insn): Don't record BLKmode values.
9958
9959 Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
9960
9961         * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
9962
9963 Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
9964
9965         * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
9966         * collect2.c (sys_errlist): Likewise.
9967         * cpplib.c (sys_errlist): Likewise.
9968         * gcc.c (sys_errlist): Likewise.
9969         * protoize (sys_errlist): Likewise.
9970         * configure.in: Check for strerror.
9971         * xm-freebsd.h (HAVE_STRERROR): Remove definition.
9972         * xm-gnu.h (HAVE_STRERROR): Likewise.
9973         * xm-linux.h (HAVE_STRERROR): Likewise.
9974         * xm-netbsd.h (HAVE_STRERROR): Likewise.
9975         * xm-bsd386.h (HAVE_STRERROR): Likewise.
9976         * xm-cygwin32.h (HAVE_STRERROR): Likewise.
9977         * xm-dos.h (HAVE_STRERROR): Likewise.
9978         * xm-mingw32.h (HAVE_STRERROR): Likewise.
9979         * xm-pa.h (HAVE_STRERROR): Likewise.
9980         * xm-papro.h (HAVE_STRERROR): Likewise.
9981         * xm-sysv4.h (HAVE_STRERROR): Likewise.
9982         * configure, config.in: Rebuilt.
9983
9984         * Makefile.in: Add several missing "else true" clauses.
9985
9986         * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
9987         * mips-tfile.c: Likewise.
9988         * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
9989         * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
9990         * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
9991         * configure.in: Check for sys_siglist declaration.
9992         * configure, config.in: Rebuilt.
9993
9994 Mon Sep  1 08:04:07 1997  Joel Sherrill (joel@OARcorp.com)
9995
9996         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
9997         m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
9998         sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
9999         * i960/i960.h: Added SUBTARGET_SWITCHES macro.
10000         * rs6000/sysv4.h (extra_subtarget_switches): Added new
10001         macro EXTRA_SUBTARGET_SWITCHES.
10002         * configure.in (sh*-*-rtems*): New target.
10003         * sh/rtems.h: New file.
10004         * sh/sh.h: Added SUBTARGET_SWITCHES macro.
10005         * configure: Rebuilt.
10006
10007 Sat Aug 30 22:54:26 1997  Jim Wilson  <wilson@cygnus.com>
10008
10009         * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
10010
10011 Sat Aug 30 10:49:46 1997  David Edelsohn  <edelsohn@mhpcc.edu>
10012
10013         * rs6000.md: Make DF fused-add operations pay attention to
10014         -mno-fused-add.
10015
10016 Fri Aug 29 19:19:54 1997  Jim Wilson  <wilson@cygnus.com>
10017
10018         * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
10019
10020 Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
10021
10022         * pa.md (reload_peepholes): Make sure operand is a REG before
10023         examining REGNO.  Allow general registers too.
10024
10025 Fri Aug 29 11:42:04 1997  Jim Wilson  <wilson@cygnus.com>
10026
10027         * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
10028
10029 Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
10030
10031         * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
10032         to reallocate abbrev_die_table.
10033
10034 Thu Aug 28 15:14:46 1997  Jim Wilson  <wilson@cygnus.com>
10035
10036         * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
10037
10038 1997-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
10039
10040         * Makefile.in (config.status): Depend on version.c
10041
10042         * expr.h (insn_gen_function): Reenable prototype.
10043
10044         * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
10045         first parameter.
10046
10047 Thu Aug 28 13:01:43 1997  Jim Wilson  <wilson@cygnus.com>
10048
10049         * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
10050
10051 Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
10052
10053         * version.c: Bump for latest snapshot.
10054
10055         * bc-optab.c: Conditionally include stdlib.h.
10056         (free): Provide a declaration if NEED_DECLARATION_FREE.
10057         * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
10058         * rtl.h (free): Remove declaration.
10059         * tree.h (free): Remvoe declaration.
10060
10061         * configure: Rebuilt.
10062
10063 Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
10064
10065         * flags.h (flag_move_all_movables): Declare.
10066         (flag_reduce_all_givs): Likewise.
10067         * loop.c (move_movables): Handle flag_move_all_movables.
10068         (strength_reduce): Handle flag_reduce_all_givs.
10069         * toplev.c (flag_move_all_movables): Define.
10070         (flag_reduce_all_givs): Likewise.
10071         (f_options): Add -fmove-all-movables and -freduce-all-givs.
10072         * invoke.texi: Document new options, including alias stuff that
10073         wasn't included last time.
10074
10075 Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
10076
10077         * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
10078         * t-mn10200: Ditto.
10079         * t-vxsparc: Ditto.
10080         * t-vxworks68: Ditto.
10081         * t-vxworks960: Ditto.
10082         * t-vx29k: Ditto.
10083
10084 Wed Aug 27 16:35:29 1997  Richard Henderson  <rth@cygnus.com>
10085
10086         * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
10087         if not already defined, and USE_C_ALLOCA not defined.
10088
10089 Wed Aug 27 16:08:43 1997  Jim Wilson  <wilson@cygnus.com>
10090
10091         * config.guess: Replace with script that uses ../config.guess.
10092
10093         * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
10094         if USE_GNULIBC_1 is not defined.
10095
10096 Wed Aug 27 15:49:12 1997  Richard Henderson  <rth@cygnus.com>
10097
10098         * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
10099         * config.guess: Recognize alpha-linux-gnulibc1.
10100         * configure.in (alpha-*-linux-gnulibc1): New target.
10101         (alpha-*-linux-gnu*): Don't build crtbegin/end.
10102
10103 Wed Aug 27 11:52:58 1997  Jim Wilson  <wilson@cygnus.com>
10104
10105         * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
10106         last change.
10107
10108 Wed Aug 27 01:56:18 1997  Doug Evans  <dje@seba.cygnus.com>
10109
10110         * loop.c (combine_movables): Earlier insns don't match later ones.
10111
10112 Wed Aug 27 01:24:25 1997  H.J. Lu   (hjl@gnu.ai.mit.edu)
10113
10114         * config/linux.h (CC1_SPEC): Define it only if not defined.
10115
10116         * config/m68k/linux.h (CC1_SPEC): Undefine it before include
10117         <linux.h>
10118
10119         * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
10120         USE_GNULIBC_1 is not defined.
10121
10122         * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
10123
10124         * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
10125         as 1 if USE_GNULIBC_1 is not defined.
10126
10127 Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
10128
10129         * reorg.c (dbr_schedule): Allow current_function_return_rtx
10130         to be something other than a REG.
10131         * function.c (expand_function_end): Fix current_function_return_rtx
10132         if it was a pseudo.
10133
10134         * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
10135         * x-netbsd: Likewise
10136         * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
10137         (INSTALL_HEADERS): Delete.
10138         * x-dguxbcs: Likewise.
10139         * x-hp3bsd44: Likewise
10140         * x-pa: Likewise.
10141
10142 Wed Aug 27 00:30:00 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
10143
10144         * i386.md (pop): pop increments the stack pointer.
10145         (prologue_set_stack_ptr): New pattern.
10146         * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
10147         instead of subsi3.
10148
10149 Tue Aug 26 18:50:32 1997  Jim Wilson  <wilson@cygnus.com>
10150
10151         * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
10152         address where an offsettable address is required.
10153
10154 Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
10155
10156         * loop.c (check_final_value): Don't miss a biv increment in a
10157         parallel.
10158
10159 Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
10160
10161         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
10162         TYPE_DECL_IS_STUB instead of DECL_NAME.
10163
10164 Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
10165
10166         * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
10167
10168 Mon Aug 25 23:27:10 1997  Jim Meyering <meyering@eng.ascend.com>
10169
10170         * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
10171
10172 Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
10173
10174         * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
10175         (find_post_sched_live): Likewise.
10176
10177         * haifa-sched.c (schedule_block): Remove old code to get arguments
10178         from hard regs into pseudos early.
10179
10180 Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
10181
10182         * version.c: Bump for new snapshot.
10183
10184         * local-alloc.c (update_equiv_regs): All the target to reject
10185         promotion of some REG_EQUAL to REG_EQUIV notes.
10186         * pa.h (DONT_RECORD_EQUIVALENCE): Define.
10187
10188         * pa.c (secondary_reload_class): (mem (mem ... )) does not need
10189         secondary reloads.
10190
10191         * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
10192         store of the argument registers.
10193
10194 Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
10195
10196         * fold-const.c (multiple_of_p): New function.
10197         (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
10198
10199 Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
10200
10201         * expr.h (insn_gen_function): Temporarily remove prototype.
10202
10203 Sun Aug 24 17:22:21 1997  Jim Wilson  <wilson@cygnus.com>
10204
10205         * Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
10206         filenames.  Use sed to extract base filename for install.
10207
10208 Sat Aug 23 18:19:40 1997  John F. Carr  <jfc@mit.edu>
10209
10210         * unroll.c (find_splittable_givs): Only share if two givs have the
10211         same add and multiply values.
10212
10213 Sat Aug 23 14:36:27 1997  Jim Wilson  <wilson@cygnus.com>
10214
10215         * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
10216         * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
10217
10218 Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
10219
10220         * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
10221         around branch tables.
10222         * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
10223         and .end_brtab directives if TARGET_GAS.
10224
10225 Fri Aug 22 14:05:55 1997  Jim Wilson  <wilson@cygnus.com>
10226
10227         * alias.c (true_dependence): Pass x_addr not x to varies.
10228
10229         * acconfig.h (NEED_DECLARATION_CALLOC): Add.
10230         * configure.in: Add GCC_NEED_DECLARATION call for calloc.
10231         * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
10232         declarations.
10233         * config.in, configure: Regenerate.
10234
10235 Thu Aug 21 23:52:16 1997  John F. Carr  <jfc@mit.edu>
10236
10237         * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
10238         LO_SUM.
10239         (record_set): Handle LO_SUM like PLUS.
10240         (init_alias_analysis): When following chains of base addresses,
10241         do not stop on reaching a hard register.
10242
10243 Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
10244
10245         * version.c: Bump for new snapshot.
10246
10247 Thu Aug 21 17:28:00 1997  Jim Wilson  <wilson@cygnus.com>
10248
10249         * alpha.h (ARCH_ASM_FILE_START): Define.
10250         (ASM_FILE_START): Use ARCH_ASM_FILE_START.
10251         * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
10252
10253 Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
10254
10255         * Makefile.in (install-common): Put gcov comment at start of line.
10256
10257 Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
10258
10259         * alias.c (init_alias_analysis): When simplifying the reg_base_value
10260         array, simplify entries for hard registers too.
10261
10262 Wed Aug 20 12:35:47 1997  Dave Love  <d.love@dl.ac.uk>
10263
10264         * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
10265         list.
10266
10267 Wed Aug 20 11:58:33 1997  Jim Wilson  <wilson@cygnus.com>
10268
10269         * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
10270         block_stack before dereferencing it.
10271
10272 Wed Aug 20 11:57:11 1997  Michael Meissner  <meissner@cygnus.com>
10273
10274         * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
10275
10276 Tue Aug 19 17:10:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
10277
10278         * cplus-dem.c: Add 'extern' to prepends_underscore.
10279
10280 Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
10281
10282         * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
10283         (get_issue_rate): Delete.
10284         * pa.h (ISSUE_RATE): Define.
10285
10286         * configure.in: Turn on haifa by default for the PA.
10287         * configure: Rebuilt.
10288         * pa.c (override_options): Accept -mschedule=7200 option.
10289         (pa_adjust_cost): No longer need to scale costs for newer
10290         processors.
10291         * pa.h (enum processor_type): Add PROCESSOR_7200.
10292         * pa.md: Revamp scheduling parameters to work better with
10293         haifa.  Add scheduling parameters for the 7200.
10294
10295         * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
10296         insns too.
10297         (schedule_block): When adjusting basic_block_{head,end}, account
10298         for movement of SCHED_GROUP_P insns too.
10299
10300         * haifa-sched.c (debug_dependencies): Fix thinko.
10301
10302         * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
10303         (site.exp, check, check-g++, check-gcc): New targets.
10304
10305         * haifa-sched.c: Make lots of variables static.
10306
10307 Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
10308
10309         * expr.h, real.h: Finish prototyping.
10310
10311 Mon Aug 18 21:49:02 1997  Jim Wilson  <wilson@cygnus.com>
10312
10313         * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
10314         reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
10315         * reload1.c: Undo bugfix from Aug 11.
10316
10317 Mon Aug 18 17:39:02 1997  Mike Meissner  <meissner@cygnus.com>
10318
10319         * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
10320         quotes around the name.
10321         * configure: Regenerate.
10322
10323 Mon Aug 18 13:46:47 1997  Jim Wilson  <wilson@cygnus.com>
10324
10325         * Makefile.in (stmp-multilib-sub): Fix typo in last change.
10326
10327 Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10328
10329         * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
10330         to sub-makes to avoid building more passes than the user might have
10331         requested on the command line.
10332
10333 Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
10334
10335         * configure.in: Expurgate `broken_install' (install is
10336         autoconfed).
10337
10338         * configure.lang: Substitute autoconfed ${INSTALL} (not currently
10339         relevant).
10340
10341 Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
10342
10343         * loop.c (is_power_of_2, is_conditional_branch): Delete unused
10344         functions and declarations.
10345         (analyze_loop_iterations): Use condjump_p.
10346         (insert_bct): Likewise.  Use exact_log2.
10347
10348 Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
10349
10350         * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
10351         (schedule_region): Likewise.
10352         (schedule_insns): Likewise.
10353
10354         * PROJECTS: Update with Haifa stuff.
10355
10356 Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
10357
10358         * version.c: Change the version string to look like:
10359         egcs-2.90.00 970814 (gcc2-970802 experimental).
10360
10361         * loop.c (is_conditional_branch): Make definition match declaration.
10362
10363         * gcc.c: Take out experimental snapshot warning message.
10364
10365 Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
10366
10367         * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
10368         print out the names of the notes.  Print out the name of the insn
10369         that is not a note, and not an {,CALL_,JUMP_}INSN.
10370
10371 Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
10372
10373         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
10374         again for the slot after we give it RTL.
10375
10376 Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
10377
10378         * configure.in (haifa configury): Fix typo.
10379         * configure: Regenerate.
10380
10381 Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
10382
10383         * version.c: Bump version to "gcc-3.0.0 970802 experimental".
10384
10385         * gcc.info*: Rebuilt.
10386
10387         * COPYING.g77, README.g77: New files.
10388         * real.c (ereal_unto_float, ereal_unto_double): New functions.
10389         * real.h (ereal_unto_float, ereal_unto_double): Declare them.
10390         (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
10391
10392 Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
10393
10394         * Integrate Haifa instruction scheduler.
10395         * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
10396         to sched with $(SCHED_CFLAGS.
10397         * configure.in: Handle --enable-haifa.
10398         * configure: Rebuilt.
10399         * flags.h: Add new flags for haifa instruction scheduler.
10400         * genattrtab.c (expand_units): For haifa, don't subtract one
10401         when computing blockage.
10402         * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
10403         (flag_schedule_speculative): Ditto.
10404         (flag_schedule_speculative_load): Ditto.
10405         (flag_schedule_speculative_load_dangerous): Ditto.
10406         (flag_schedule_reverse_before_reload): Ditto.
10407         (flag_schedule_reverse_after_reload): Ditto.
10408         (flag_branch_on_count_reg): Ditto.
10409         (f_options): Add Haifa switches.
10410         (main): Turn off some Haifa options if appropriate macro is
10411         defined.  Process Haifa switches.
10412         * unroll.c (iteration_info): No longer static, since Haifa
10413         scheduler uses it.
10414         (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
10415         * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
10416         * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
10417         * loop.h (loop_initial_value,loop_unroll_iter): New globals.
10418         * loop.c (loop_optimize): If HAIFA is defined, allocate additional
10419         storage for the Haifa scheduler.
10420         (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
10421         LABEL_NEXTREF.
10422         (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
10423         are defined, call analyze_loop_iterations and insert_bct to use
10424         countdown loops.
10425         (record_giv): Refine test for jumps out of loops if HAIFA is
10426         defined.
10427         (analyze_loop_iterations): New function to identify if we can use
10428         a countdown loop.
10429         (insert_bct): Insert countdown loop.
10430         (instrument_loop_bct): Low level code to insert countdown loop.
10431         (loop_number): Calculate UID of loop.
10432         (indirect_jump_in_function_p): Return true if an indirect jump is
10433         in the function.
10434         (is_power_of_2): Return true if value is a power of 2.
10435         (is_conditional_branch): Return true if insn is a conditional
10436         jump.
10437         (fix_bct_param): Process -fbct-{min,max}-N switches.
10438         (check_bct_param): Return true if loop should be instrumented.
10439         * loop.c (loop_initial_value,loop_unroll_iter): New globals.
10440         (loop_optimize): Initialize.
10441         (get_condition_for_loop): Ditto.
10442         * loop.c (strength_reduce): Inside of code that uses #ifdef
10443         HAVE_decrement_and_branch_on_count code, test it to make sure the
10444         condition is true.
10445         (instrument_loop_bct): Ditto.
10446         * haifa-sched.c: New file.
10447
10448
10449         * Integrate regmove pass.
10450         * Makefile.in (OBJS): Add regmove.o
10451         (regmove.o): Add dependencies.
10452         * flow.c (find_use_as_address): No longer static.
10453         * rtl.h (find_use_as_address): Declare.
10454         * toplev.c (regmove_dump, flag_regmove): Define.
10455         (f_options): Add -fregmove.
10456         (regmove_dump_file, regmove_time): Define.
10457         (fatal_insn): Close the regmove dump file.
10458         (compile_file): Initialize regmove_time; open/close the regmove dump
10459         file as needed.  Print regmove time as needed.
10460         (rest_of_compilation): Run regmove pass if requested, dump
10461         RTL after regmove if requested.
10462         (main): If -O2 or more, turn on regmove.  Handle dump switches.
10463         * regmove.c: New file.
10464
10465 Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
10466
10467         * Integrate tlink patch from jason@cygnus.com
10468         * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
10469         (process_command): Increment n_switches for them.  Don't discard
10470         their args.  Validate them.
10471         (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
10472         From Rohan Lenard.
10473         (process_command): Set include_prefixes from COMPILER_PATH.
10474         (main): Set COLLECT_GCC_OPTIONS sooner.
10475         * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
10476         * tlink.c, hash.c, hash.h: New files.
10477         * Makefile.in (USE_COLLECT2): Always use collect2.
10478         (collect2): Depend on and link in hash.o and tlink.o.
10479         (tlink.o, hash.o): Add dependencies.
10480
10481 Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
10482
10483         * Integrate alias analysis changes from jfc@mit.edu
10484         * Makefile.in (OBJS): Add alias.o
10485         (alias.o): Add dependencies.
10486         * alias.c: New file.
10487         * sched.c: Remove alias analysis code.  It lives in alias.c now.
10488         (sched_analyze_2): Add new arguments to true_dependence.
10489         (schedule_insns): Always call init_alias_analysis.
10490         * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
10491         mark return value from such functions as a pointer and keep track of
10492         them for alias analysis.  If a return value from a function is a
10493         pointer, mark it as such.
10494         * combine.c (distribute_notes): Handle REG_NOALIAS.
10495         * cse.c (struct write_data): Delete.  No longer needed.
10496         (invalidate): Don't call set_nonvarying_address_components anymore.
10497         Use true_dependence to decide if an entry should be removed from
10498         the hash table.
10499         (invalidate_memory): Remove WRITES argument, simplify appropriately.
10500         Fix all callers.
10501         (note_mem_written): Similarly for WRITE_PTR argument.
10502         (invalidate_from_clobbers): Similarly for W argument.
10503         (invalidate_for_call): Remove memory elements from the hash table.
10504         (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
10505         (cse_rtx_varies_p): New function.  Derived from old
10506         cse_rtx_addr_varies_p.
10507         (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
10508         Don't call note_mem_written anymore.  Stack pushes invalidate the stack
10509         pointer if PUSH_ROUNDING is defined.  No longer need to call
10510         cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
10511         (skipped_writes_memory): Remove variable.
10512         (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
10513         (invalidate_skipped_block): Simplify for new alias analysis code.
10514         (cse_set_around_loop): Likewise.
10515         (cse_main): Call init_alias_analysis.
10516         * flags.h (flag_alias_check, flag_argument_noalias): Declare.
10517         * toplev.c (flag_alias_check, flag_argument_noalias): Define.
10518         (f_options): Add new alias checking arguments.
10519         (main): Set flag_alias_check when optimizing.
10520         * local_alloc (validate_equiv_mem_from_store): Add new arguments
10521         to true_dependence.
10522         (memref_referenced_p): Likewise.
10523         * loop.c (NUM_STORES): Increase to 30.
10524         (prescan_loop): Only non-constant calls set unknown_address_altered.
10525         (invariant_p): Add new arguments to true_dependence.
10526         (record_giv): Initialize unrolled and shared fields.
10527         (emit_iv_add_mult): Call record_base_value as needed.
10528         * loop.h (struct induction): Add unrolled and shared fields.
10529         * unroll.c  (unroll_loop): Call record_base_value as needed.
10530         (copy_loop_body): Likewise.
10531         (final_biv_value): Likewise.
10532         (final_giv_value): Likewise.
10533         (find_splittable_regs): Likewise.  Only create one new pseudo
10534         if we have multiple address GIVs that were combined with the same
10535         dst_reg GIV.  Note when a new register is created due to unrolling.
10536         * rtl.c (reg_note_name): Add REG_NOALIAS.
10537         * rtl.h (enum reg_note): Similarly.
10538         (rtx_varies_p, may_trap_p, side_effects_p): Declare.
10539         (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
10540         (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
10541         (true_dependence, read_dependence, anti_dependence): Likewise.
10542         (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
10543         (mark_user_reg, mark_reg_pointer): Likewise.
10544
10545
10546         * Integrate reload bugfix from Wilon which enables the PA port
10547         to bootstrap again.
10548         * reload1.c (reload): Sum needs for both OPADDR_ADDR and
10549         OPERAND_ADDRESS when computing how many registers an insn needs.
10550         (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
10551         conflict.
10552         (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
10553         OPADDR_ADDR reload.
10554         (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
10555         in reload_reg_use_in_op_addr do not reach the end.
10556         do not reach the end.
10557         (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
10558         RELOAD_FOR_OPERAND_ADDRESS.
10559
10560 Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
10561
10562         * egcs project officially starts.
10563
10564 Local Variables:
10565 add-log-time-format: current-time-string
10566 End: