OSDN Git Service

* c-decl.c (init_decl_processing): Remove unneeded &.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2                           Jeff Law <law@cygnus.com>
3
4         * c-decl.c (init_decl_processing): Remove unneeded &.
5
6         * alpha.h (alpha_initialize_trampoline): Provide prototype.
7         
8         * except.c (set_exception_lang_code, set_exception_version_code):
9         Change parameter from `short' to `int' to avoid using a gcc
10         extension.
11
12         * except.h (set_exception_lang_code, set_exception_version_code):
13         Likewise for prototypes.
14
15         * flow.c (count_reg_references): Remove unused variables `regno'
16         and `i'.
17
18         * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
19
20         * prefix.c (translate_name): Cast the result of `alloca'.
21
22         * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
23
24 Mon Aug 17 09:23:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
25
26         * config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
27         Include "toplev.h".
28         (valid_dbcc_comparison_p): Mark mode argument as unused.
29         (symbolic_operand): Likewise.
30         (legitimize_pic_address): Likewise.
31         (const_uint32_operand): Likewise.
32         (const_sint32_operand): Likewise.
33         * sched.c [!INSN_SCHEDULING]: Define only dummy function
34         schedule_insns and comment out rest of file.
35
36         * m68k.c (output_move_simode_const): Use subl to move a zero into an
37         address register.
38         (output_move_[hq]imode): Likewise.
39
40 Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)
41
42         * toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
43         * invoke.texi: Corresponding changes.
44
45 Mon Aug 17 02:03:55 1998  Richard Henderson  <rth@cygnus.com>
46
47         * regclass.c (allocate_reg_info): Respect MIN when clearing data.
48
49 Sun Aug 16 17:37:06 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
50
51         * config/sparc/sparc.c (ultra_code_from_mask,
52         ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
53         ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
54         ultrasparc_sched_init, ultrasparc_variable_issue,
55         ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
56         functions to describe UltraSPARC pipeline exactly to Haifa.
57         (ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
58         as there is nothing the scheduler can do about it.  Indicate that
59         REG_DEP_OUTPUT's collide.  Fixup formatting.
60         * config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
61         divide costs on Ultra for DImode.
62         (MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
63         Define.
64         * config/sparc/sparc.md (ieu_unnamed function unit): Rename to
65         ieuN and add call_no_delay_slot to type list.
66         (cti function unit): New unit for branches on UltraSPARC.
67         (subx/addx insns): Set type to misc.
68         (sidi zero/sign extension insns on arch64): Set type to shift.
69         (sign_extendhidi2_insn): Set type to sload.
70
71 Sun Aug 16 13:52:00 1998  David Edelsohn  <edelsohn@mhpcc.edu>
72
73         * rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
74         (output_epilog): Use if != 0 for offset.
75         (rs6000_fatal_bad_address): Prepare for Intl.
76         * rs6000.h (rs6000_fatal_bad_address): Declare.
77         * rs6000.md (movsfcc, movdfcc): Use else if.
78         (elf_high): Use {liu|lis}.
79         (elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
80         (movsi): Use rs6000_fatal_bad_address.
81         
82 Sun Aug 16 01:53:21 1998  Richard Henderson  <rth@cygnus.com>
83
84         * reload.c (find_equiv_reg): Reject equivalences separated
85         by a volatile instruction.
86
87 Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 
88
89         * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
90
91 Sat Aug 15 20:51:35 1998  Richard Henderson  <rth@cygnus.com>
92
93         * alpha.md (movsicc): Fix mode mismatch.
94
95 Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
96
97         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
98         return type.
99         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
100
101 Sat Aug 15 08:39:49 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
102
103         * config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
104         write-only modifier from operand 1 constraint.
105
106 Sat Aug 15 06:28:19 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
107
108         * config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
109         emitting a XOR of -1 at the end, emit a NOT instead for combine's
110         sake.
111         (sparc_emit_set_const64): Likewise, also when computing trailing
112         bits do not negate low_bits and make fast_int an int.
113
114 Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)
115
116         * loop.c (add_label_notes): Do not ignore references to labels
117         before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
118         * gcse.c (add_label_notes): Similarly.
119
120         * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
121
122         * m68k.md (adddi_dilshr32): One of the operands must be a register.
123         (adddi_dishl32): Similarly.
124
125 Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
126
127         * i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
128         * alias.c (memrefs_conflict_p): Add braces to shut up warnings.
129         * cse.c (cse_basic_block): Add parens to shut up warnings.
130
131 Fri Aug 14 12:58:21 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
132
133         * config/sparc/sparc.c (sparc_emit_set_const64_quick2,
134         sparc_emit_set_const64_longway, const64_is_2insns,
135         create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
136         in 64-bit constant formation.
137         * config/sparc/sparc.md (snesi_zero_extend split): Generate
138         rtl for addx not subx.
139         (define_insn movdi_const64_special): Make available even when
140         HOST_BITS_PER_WIDE_INT is not 64.
141         (movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
142         (losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
143         (cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
144         instances of operand 1 inside a QI subreg.
145         (xordi3_sp64_dbl): Remove '%' constraint for op1.
146         (one_cmpldi2_sp64): Fix output string.
147         (one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
148         alternative case.
149         (unnamed arch64 ashift DI): Truncate shift count if greater than
150         63, not 31.
151
152 Fri Aug 14 21:52:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
153
154         * expr.c (store_expr): Don't optimize away load-store pair
155         when either source or destination have a side effect.
156
157 Fri Aug 14 16:50:10 1998  John Carr  <jfc@mit.edu>
158
159         * genrecog.c (add_to_sequence): Fatal error if the modes of the
160         operands of SET are incompatible.
161
162         * alpha.md: Fix max and min patterns so modes of SET operands match.
163
164 Fri Aug 14 12:22:55 1998  Ian Lance Taylor  <ian@cygnus.com>
165
166         * configure.in: Avoid [[ by using test and changequote.
167         * configure: Rebuild.
168
169 Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
170
171         * rtl.def (CONSTANT_P_RTX): Fix typo in string name.
172
173         * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
174         seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
175         split, snedi_zero_trunc and split, seqsi_zero_extend and split,
176         seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
177         movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
178         split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
179         Fix mismatching modes in SET operands.
180         (conditional move patterns): Fix formatting.
181         (unnamed subx arch64 pattern): Remove duplicate insn.
182         
183 Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
184
185         * config/sparc/sparc.c (const64_operand, const64_high_operand):
186         Get it right when HOST_BITS_PER_WIDE_INT is not 64.
187         (input_operand): Fixup test for what we accept for constant
188         integers.
189         (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
190         set VOIDmode.
191         (safe_constDI): Remove.
192         (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
193         gen_safe_XOR64): New functions.
194         (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
195         sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
196         them.
197         * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
198         available when HOST_BITS_PER_WIDE_INT is not 64.
199         (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
200         move before movdi_insn_sp64 pattern.
201         (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
202         (define_insn sethi_di_medlow, seth44, setm44, sethh): Use
203         symbolic_operand as predicate for second operand.
204         (DImode minus split on arch32, negsi2 expander, one_cmplsi2
205         expander): Give set VOIDmode.
206         
207 Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
208
209         * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
210
211 Fri Aug 14 01:40:21 1998  Geoffrey Keating  <geoffk@ozemail.com.au>
212
213         * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
214
215 Fri Aug 14 01:23:23 1998  Richard Earnshaw (rearnsha@arm.com)
216
217         * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating 
218         point.
219         (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
220
221 Fri Aug 14 01:19:08 1998  Robert Lipe  <robertl@dgii.com>
222
223         * install.texi: Various SCO OpenServer tweaks.
224
225 Thu Aug 13 20:14:40 1998  Jim Wilson  <wilson@cygnus.com>
226
227         * reload1.c (eliminate_regs_in_insn): Handle another case when
228         eliminating the frame pointer to the hard frame pointer.  Add
229         missing ep->to_rtx check to one existing case.
230
231         * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
232
233 Thu Aug 13 17:08:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
234
235         * tree.h: De-conditionalize init_priority code.
236
237         * mips.h (NM_FLAGS): Change from -Bp to -Bn.
238         * collect2.c (NM_FLAGS): Change from -p to -n.
239
240         * configure.in: Turn on collect2 for mipstx39-elf.
241         Handle use_collect2=no properly.
242
243         * c-common.c: De-conditionalize init_priority code.
244         * collect2.c (extract_init_priority, sort_ids): New fns.
245         (main): Call sort_ids.
246         Move sequence_number to file scope.
247
248         * configure.in: Handle --enable-init-priority.
249         * c-common.c (attrs): Add A_INIT_PRIORITY.
250         (init_attributes, decl_attributes): Likewise.
251         * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
252         * tree.c (get_file_function_name_long): Split out...
253         (get_file_function_name): ...from here.
254
255 Thu Aug 13 16:09:53 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
256
257         * expr.c (safe_from_p): Change code to ERROR_MARK only when not
258         accessing nodes.
259
260 Thu Aug 13 15:24:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
261
262         * toplev.c (display_help): Add braces to shut up warnings.
263         * tree.c (simple_cst_equal): Likewise.
264
265         * fold-const.c (non_lvalue): Don't deal with null pointer 
266         constants here.
267         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
268
269         * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
270         of any size to a pointer.
271
272 Thu Aug 13 12:53:13 1998  Jim Wilson  <wilson@cygnus.com>
273
274         * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
275
276 Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)
277
278         * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
279         which will be saved.
280         * mn10300.md (prologue insn): Only save registers which need saving.
281         (epilogue insn): Similarly.
282
283         * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
284         optimizations.
285
286 Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  <gavin@cygnus.com>
287
288         * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
289         VAR_DECL's in gp addressable sections.
290
291 Tue Aug 11 23:02:31 1998  John Carr  <jfc@mit.edu>
292
293         * sparc.c: Change return <exp> to <exp>; return; in functions
294         returning void.
295         * sparc.md: Add empty semicolon statement after final label in
296         move expanders.
297
298 Tue Aug 11 22:42:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
299
300         * config/sparc/sparc.md (define_insn addx_extend): Rename to
301         addx_extend_sp64, only allow when TARGET_ARCH64.
302         (define_insn addx_extend_sp32 and split): Version that works when
303         not TARGET_ARCH64.
304         (define_insn subx_extend): Likewise.
305         (define_split adddi3 and subdi3 with zero extension): Fixup and
306         correct bugs when not TARGET_ARCH64.
307
308 Tue Aug 11 16:04:34 1998  John Carr  <jfc@mit.edu>
309
310         * except.c (set_exception_lang_code, set_exception_version_code):
311         Use prototype-style definition if __STDC__, to match declaration
312         in except.h.
313
314         * genemit.c: Change FAIL and DONE macros not to use loops.
315
316 Tue Aug 11 12:27:03 1998  Jim Wilson  <wilson@cygnus.com>
317
318         * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
319         ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
320
321         * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
322
323 Tue Aug 11 18:12:53 1998  Dave Love  <d.love@dl.ac.uk>
324
325         * README.g77: Update from Craig.
326
327 Tue Aug 11 04:46:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
328
329         * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
330         type HOST_WIDE_INT.
331         (safe_constDI sparc_emit_set_const64_quick1,
332         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
333         analyze_64bit_constant, const64_is_2insns,
334         create_simple_focus_bits): Fix some bugs when compiled on real
335         64-bit hosts.
336         (function_arg_record_value_3, function_arg_record_value_2,
337         function_arg_record_value): Add fully prototyped forward decls.
338         * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
339         to cmpsi_insn and use on both 64 and 32 bit targets.
340         (define_insn cmpsi_insn_sp64): Remove.
341         (define_expand zero_extendsidi2): Allow for 32-bit target too.
342         (define_insn zero_extendsidi2_insn): Rename to
343         zero_extendsidi2_insn_sp64.
344         (define_insn zero_extendsidi2_insn_sp32): New pattern and
345         assosciated forced split for it.
346
347         * config/sparc/sparc.c (const64_operand, const64_high_operand):
348         New predicates.
349         * config/sparc/sparc.h: Declare them.
350         (PREDICATE_CODES): Add them.
351         * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
352         movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
353
354 Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>
355
356         * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
357         in v9 case as the latter makes the Solaris assembler crash.
358
359 Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
360
361         * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
362         for TFmode when !v9.  We require offsettable memory addresses.
363         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
364         DFmode register number conversions.
365         * config/sparc/sparc.md (define_split DFmode moves): If register
366         is a SUBREG do alter_subreg on it before using.
367         (define_expand movtf): Fixup comment about alignment on v9.
368         (define_split TFmode moves): Don't use gen_{high,low}part, create
369         explicit SUBREGs instead.
370
371 Mon Aug 10 19:02:55 1998  John Carr  <jfc@mit.edu>
372
373         * Makefile.in (mbchar.o): Depend on mbchar.c.
374
375 Mon Aug 10 04:28:13 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
376                           Richard Henderson  <rth@cygnus.com>
377         
378         Rewrite Sparc backend for better code generation and
379         improved sparc64 support.
380         * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
381         zero.
382         * config/sparc/sysv4.h: Likewise.
383         * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
384         move_operand, v8plus_regcmp_op, emit_move_sequence,
385         singlemove_string, doublemove_string, mem_aligned_8,
386         output_move_double, output_move_quad, output_fp_move_double,
387         move_quad_direction, output_fp_move_quad, output_scc_insn):
388         Remove.
389         (small_int_or_double): New predicate.
390         (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
391         (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
392         old pic_{sethi,lo_sum}_si patterns.
393         (mem_min_alignment): New generic function to replace
394         mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
395         available and can test for arbitrary alignments.  All callers
396         changed.
397         (save_regs, restore_regs, build_big_number,
398         output_function_prologue, output_cbranch, output_return,
399         sparc_flat_save_restore, sparc_flat_output_function_prologue,
400         sparc_flat_output_function_epilogue): Prettify
401         insn output.
402         (output_function_epilogue): Likewise and add code to output
403         deferred case vectors.
404         (output_v9branch): Likewise, add new arg INSN and use it to tack
405         on branch prediction settings.  All callers changed.
406         (print_operand): Likewise and output %l44 for LO_SUMs when
407         TARGET_CM_MEDMID.
408         (sparc_splitdi_legitimate): New function to make sure DImode
409         splits can be run properly when !arch64.
410         (sparc_initialize_trampoline, sparc64_initialize_trampoline):
411         Reformat example code in comments.
412         (set_extends): Remove UNSPEC/v8plus_clear_high case.
413         (sparc_addr_diff_list, sparc_addr_list): New statics to keep track
414         of deferred case vectors we need to output.
415         (sparc_defer_case_vector): Record a case vector.
416         (sparc_output_addr_vec, sparc_output_addr_diff_vec,
417         sparc_output_deferred_case_vectors): New functions to output them.
418         (sparc_emit_set_const32): New function to form 32-bit constants in
419         registers when that requires more than one instruction.
420         (safe_constDI, sparc_emit_set_const64_quick1,
421         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
422         analyze_64bit_constant, const64_is_2insns,
423         create_simple_focus_bits, sparc_emit_set_const64): New functions
424         which do the same for 64-bit constants when arch64.
425         (sparc_emit_set_symbolic_const64): New function to emit address
426         loading for all code models on v9.
427         * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
428         %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
429         (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
430         (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
431         inaccuracies in comments, add symbolic and text_segment operands
432         when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
433         GENERAL_REGS in these cases as a temp REG is needed to load these
434         addresses into a register properly.
435         (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
436         is no longer used.
437         (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
438         quads are guarenteed to have 16-byte alignment.
439         (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
440         copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
441         (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
442         deferred case vector implementation.
443         (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
444         (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
445         Generate "internal label - label" instead of "label - 1b".
446         (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
447         (PREDICATE_CODES): Remove sparc_operand, move_operand,
448         v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
449         zero_operand.
450         (doublemove_string, output_block_move, output_fp_move_double,
451         output_fp_move_quad, output_move_double, output_move_quad,
452         output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
453         sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
454         (sparc_emit_set_const32, sparc_emit_set_const64,
455         sparc_emit_set_symbolic_const64, input_operand, zero_operand,
456         mem_min_alignment, small_int_or_double): Add externs.
457         * config/sparc/sparc.md: Document the many uses of UNSPEC and
458         UNSPEC_VOLATILE in this backend.
459         (define_function_unit ieu): Rename to ieu_unnamed.  Add move and
460         unary to types which execute in it.
461         (define_function_unit ieu_shift): Rename to ieu0.
462         (define_function_unit ieu1): New, executes compare, call, and
463         uncond_branch type insns.
464         (define_function_units for type fdivs, fdivd, fsqrt): These
465         execute in the fpu multiply unit not the adder on UltraSparc.
466         (define_expand cmpdi): Disallow TARGET_V8PLUS.
467         (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
468         (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
469         allows the arith_double_operand predicate and rHI constraint when
470         TARGET_ARCH64.
471         (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
472         cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
473         neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
474         sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
475         sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
476         movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
477         movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
478         movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
479         movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
480         cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
481         sign_extendqihi2_insn, sign_extendqisi2_insn,
482         sign_extendqidi2_insn, sign_extendhidi2_insn,
483         extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
484         trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
485         floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
486         fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
487         adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
488         subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
489         muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
490         const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
491         smulsi3_highpart_v8plus, unnamed subreg mult,
492         const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
493         const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
494         const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
495         const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
496         const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
497         udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
498         andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
499         or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
500         xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
501         cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
502         cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
503         cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
504         cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
505         cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
506         cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
507         addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
508         muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
509         negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
510         ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
511         cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
512         ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
513         lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
514         call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
515         call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
516         call_address_untyped_struct_value_sp32,
517         call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
518         call_value_symbolic_sp32, call_value_address_sp64,
519         call_value_symbolic_sp64, branch_sp32, branch_sp64,
520         flush_register_windows, goto_handler_and_restore,
521         goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
522         flush, all ldd/std peepholes, return_qi, return_hi, return_si,
523         return_addsi, return_di, return_adddi, return_sf, all call+jump
524         peepholes, trap, unnamed trap insns): Prettify output strings.
525         (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
526         or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
527         Likewise and force + implement splits for integer cases.
528         (define_insn return_sf_no_fpu): Likewise and allow to match when
529         no-fpu because of our subreg SFmode splits.
530         (define_insn zero_extendqihi2, zero_extendqisi2_insn,
531         zero_extendqidi2_insn, zero_extendhidi2_insn,
532         zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
533         input_operand for second operand.
534         (cmp_minus_cc, cmp_minus_cc_set): Likewise and use
535         reg_or_0_operand for operand 2 so new splits can use it.
536         (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
537         cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
538         too.
539         (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
540         CONST_DOUBLEs for operand 2.
541         (define_insn move_label_di): Likewise and label distance
542         optimization because it no longer works with new deferred case
543         vector scheme.  To be revisited.
544         (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
545         and allow reg_or_0_operand and J constraint for second operand.
546         (define_insn jump): Set branch predict taken on V9.
547         (define_insn tablejump): Emit LABEL_REF + PLUS memory address for
548         new deferred case vector scheme.
549         (define_insn pic_tablejump_32, pic_tablejump_64): Remove.
550         (define_insn negdi2_sp32): Force + implement splits.
551         (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
552         one_cmplsi2_not_liveg0 respectively, and create expander of original
553         names which emit special rtl for TARGET_LIVE_G0.
554         (define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
555         (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
556         gen_compare_reg, FAIL instead.
557         (define_insn sgtu, sleu): Likewise and check gen_s*() return
558         values when trying to reverse condition codes, if they FAIL then
559         do likewise.
560         (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
561         snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
562         neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
563         seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
564         x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
565         set output string to # to indicate they are mandatory splits.
566         (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
567         pic_sethi_di, move_pic_label_si): Remove.
568         (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
569         movsi_high_pic, movsi_pic_label_reg): New patterns to take their
570         place.
571         (define_expand movsi_pic_label_ref, define_insn
572         movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
573         expander and insns to handle PIC label references and deferred
574         case vectors.
575         (define_insn get_pc_via_rdpc): Comment out as it is no longer
576         used.
577         (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
578         Rewrite to not use emit_move_sequence, make use of new constant
579         formation code, and new splits for all multi-insn cases.
580         (define_insn movqi_insn): Remove sethi case, it can never happen.
581         Use reg_or_zero_operand instead of const0_rtx explicit test,
582         use input_operand instead of move_operand for source, and use
583         general_operand now for dest.
584         (define_insn movhi_insn): Similar but leave sethi case.
585         (define_insn lo_sum_qi, store_qi, store_hi): Remove.
586         (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
587         movhi_lo_sum respectively, prettify output string.
588         (define_insn movsi_zero_liveg0): New pattern to put zero into a
589         register when needed on TARGET_LIVE_G0.
590         (define_insn movsi_insn): Use general_operand and input_operand
591         for dest and src respectively.  Simplify applicability test.
592         Prettify output strings, and add clr alternative for J
593         constraint.
594         (define_insn movdi_sp32_v9, movdi_sp32, define_splits for
595         deprecated std and reg-reg DI moves): Remove and...
596         (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
597         implementation which uses forced splits for all non-single insn
598         cases.
599         (define_split DI move cases on !arch64): New splits to handle all
600         situations of 64-bit double register DImode on 32bit, and
601         unaligned registers and memory addresses for all subtargets.
602         (define_insn movsf_const_insn, movdf_const_insn, store_sf):
603         Remove.
604         (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
605         input_operand for dest and src respectively, prettify output
606         strings.
607         (define_insn movdf_insn, movdf_no_e_insn, store_df,
608         movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
609         and...
610         (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
611         movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
612         movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
613         movtf_no_e_insn_sp64) Replace with new
614         implementation which uses forced splits for all non-single insn
615         cases.
616         (define_split DF move cases): New splits in similar vein to DI
617         move counterparts.
618         (define_insn sethi_di_medlow, sethi_di_medium_pic,
619         sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
620         movdi_sp64_insn): Remove old v9 code model and constant loading
621         support insns and..
622         (define_insn pic_lo_sum_di, pic_sethi_di,
623         sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
624         seth44, setm44, setl44, sethh, setlm, sethm, setlo,
625         embmedany_sethi, embmedany_losum, embmedany_brsum,
626         embmedany_textuhi, embmedany_texthi, embmedany_textulo,
627         embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
628         movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
629         scheme, using unspecs, secondary reloads, and one to one sparc
630         insn to rtl insn mapping for better scheduling and code gen.
631         (define_expand reload_indi, reload_outdi): Reload helpers for
632         MEDANY and EMBMEDANY symbol address loading cases which require a
633         temporary register.
634         (define_expand movsicc): Remove v8plus_regcmp cases.
635         (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
636         cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
637         cmp_diqi_trunc_set): New patterns used by some of the new scc
638         splits on arch64.
639         (define_insn xordi3_sp64_dbl): New pattern used for constant
640         formation when crossing from 32-bit targets.
641         (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
642         split): Remove.
643         (define_insn addx, subx): Make visible and prettify.
644         (define_insn adddi3_insn_sp32): Likewise and force split.
645         (define_insn addx_extend, subx_extend, unnamed): New patterns for
646         64bit scc split usage.
647         (define_insn unnamed plusDI zero_extend, unnamed minusDI
648         zero_extend, subdi3): Force and implement splits.
649         
650         * final.c (final_scan_insn): Don't output labels if target
651         specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
652         instead.
653         
654         * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
655         don't forget to walk inside SEQUENCESs too as these are what the
656         delay slot scheduler will create.
657         
658 Mon Aug 10 01:21:01 1998  Richard Henderson  <rth@cygnus.com>
659
660         * alpha.md (extxl+1,+2): New patterns to work around
661         combine lossage.
662
663 Sat Aug  8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org)
664
665         * rs6000.c (rs6000_allocate_stack_space) Fix typo which
666         caused bad assembly code to be generated.
667
668 Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)
669
670         * netbsd.h: Fix typo.
671
672 Mon Aug  3 00:06:42 1998  Robert Lipe  <robertl@dgii.com> 
673
674         * config.sub: Fix typo.
675
676 Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  <hp@axis.se>
677
678         * invoke.texi (Environment Variables): Typo: Change "ascpects"
679         into "aspects".
680         (Running Protoize): Typo: Change "ther" into "other".
681
682 Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)
683
684         * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
685         * m68k/netbsd.h: Likewise.
686         * ns32k/netbsd.h: Likewise.
687         * sparc/netbsd.h: Likewise.
688
689 Sat Aug  1 17:59:30 1998  Richard Henderson  <rth@cygnus.com>
690
691         * ginclude/va-alpha.h (va_list): Use a typedef, not a define.
692         * ginclude/va-clipper.h (va_list): Likewise.
693
694 Fri Jul 31 20:22:02 1998  Michael Meissner  <meissner@cygnus.com>
695
696         * rs6000.c (rs6000_override_options): If big endian and -Os, use
697         load/store multiple instructions unless user overrides.
698
699 Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)
700
701         * ns32k/netbsd.h: Fix typo.
702
703 Fri Jul 31 10:23:55 1998  Doug Evans  <devans@canuck.cygnus.com>
704
705         * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
706         labels with .debugsym if no parallel insns.
707
708 Thu Jul 30 19:15:53 1998  Richard Henderson  <rth@cygnus.com>
709
710         * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
711         (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
712
713 Thu Jul 30 19:50:15 1998  David Edelsohn  <edelsohn@mhpcc.edu>
714
715         * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
716         (AR_FOR_TARGET): Define.
717
718 Thu Jul 30 12:29:12 1998  Mark Mitchell  <mark@markmitchell.com>
719
720         * dyn-string.h: New file.
721         * dyn-string.c: Likewise.
722         * Makefile.in (OBJS): Add dyn-string.o.
723         (dwarf2out.o): Add dyn-string.h dependency.
724         (dyn-string.o): List dependencies.
725         * dwarf2out.c: Include dyn-string.h.
726         (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
727         (addr_const_to_string): Take a dyn_string_t, not a char* as a
728         prototype.  Use dyn_string_append rather than strcat, throughout.
729         (addr_to_string): Use dyn_string_t.
730
731 Thu Jul 30 13:08:07 1998  Ken Raeburn  <raeburn@cygnus.com>
732
733         Function entry/exit profiling instrumentation:
734         * expr.h (profile_function_entry_libfunc,
735         profile_function_exit_libfunc): Declare new variables.
736         * optabs.c: Define them here.
737         (init_optabs): Initialize them.
738         * tree.h (struct tree_decl): New flag
739         no_instrument_function_entry_exit.
740         (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
741         * c-decl.c (duplicate_decls): Merge it.
742         * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
743         (init_attributes): Use it for "no_instrument_function".
744         (decl_attributes): Handle it, for functions that have not yet been
745         compiled.  Set decl flag.
746         * flags.h (flag_instrument_function_entry_exit): Declare new
747         variable.
748         * toplev.c (flag_instrument_function_entry_exit): Define it here.
749         (f_options): New option "instrument-functions".
750         * function.h (struct function): New field instrument_entry_exit.
751         * function.c (current_function_instrument_entry_exit): New
752         variable.
753         (push_function_context_to, pop_function_context_from): Save and
754         restore.
755         (expand_function_start): Set current_ variable, maybe emit return
756         label and entry profile call.
757         (expand_function_end): Maybe emit exit profile call.
758
759 Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)
760
761         * i386.md (movqi): When optimizing a load of (const_int 1) into a
762         NON_QI_REG_P, pretend the register is SImode.
763
764 Wed Jul 29 23:49:23 1998  Todd Vierling <tv@netbsd.org>
765
766         * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
767         Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
768         manufacturer id for ns32k.
769         * configure: Regenerated.
770         * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
771         * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
772         * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
773         * config/m68k/netbsd.h: Same.
774         * config/ns32k/netbsd.h: Same.
775         * config/sparc/netbsd.h: Same.
776
777 Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)
778
779         * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
780         or UNROLL_COMPLETELY loop that starts with a jump to its
781         exit code.
782
783 Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@mhpcc.edu>
784
785         * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
786         * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
787         (print_operand, case 'B'): Don't fall through.
788         (print_operand, case 'S'): Correct mask begin/end computation.
789         Use HOST_BITS_PER_WIDE_INT.
790         * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
791         (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
792         * rs6000/aix41.h (CPP_PREDEFINES): Same.
793         * rs6000/aix43.h (CPP_PREDEFINES): Same.
794
795 Wed Jul 29 11:47:10 1998  Nick Clifton  <nickc@cygnus.com>
796
797         * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
798         constraint from second alternative.
799
800 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
801
802         * configure.in: Fix --without/--disable cases for local-prefix, 
803         gxx-include-dir and checking.
804
805 Tue Jul 28 22:01:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
806
807         * configure.in (enable_haifa): Set by default for sparc64 too.
808         configure: Rebuilt.
809
810 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
811
812         * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
813         * i386/winnt.c (associated_type): New fn.
814         (i386_pe_valid_type_attribute_p): New fn.
815         (i386_pe_check_vtable_importexport): Remove.
816         (i386_pe_dllexport_p): Use associated_type.
817         (i386_pe_dllimport_p): Likewise.
818
819         From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
820         * i386.c (i386_valid_type_attribute_p): Also accept
821         attributes for METHOD_TYPEs.
822
823 Tue Jul 28 23:17:39 1998  Peter Gerwinski <peter@gerwinski.de>
824
825         * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
826
827 Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>
828
829         * gcc.c: Fix commentary describing %g, %u, %U, and %O.
830
831         * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
832         them from generating a new base name for each occurence of
833         a specific suffix.
834
835 1998-07-28  Vladimir N. Makarov  <vmakarov@cygnus.com>
836
837         * cse.c (cse_insn): Enable subsitution inside libcall only for REG,
838         SUBREG, MEM.
839         * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE. 
840
841
842
843         * cplus-dem.c (type_kind_t): New type.
844         (demangle_template_value_parm): Add type_kind_t parameter.  Rely
845         on this paramter, rather than demangling the type again.
846         (demangle_integral_value): Pass tk_integral.
847         (demangle_template_: Pass the value returned from do_type.
848         (do_type): Return a type_kind_t.  Pass tk_integral to
849         demangle_template_value_parm for array bounds.
850         (demangle_fund_type): Likewise.
851         
852 Mon Jul 27 00:54:41 1998  Jason Merrill  <jason@yorick.cygnus.com>
853
854         * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
855         identical.
856
857 Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)
858
859         * pa.c (move_operand): Accept CONSTANT_P_RTX.
860
861 Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
862
863         * stor-layout.c (layout_type): Handle arrays of bits, for Chill.
864
865         * expr.c (get_inner_reference): Handle zero-based, unsigned, array
866         index conversion.
867
868 Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)
869
870         * mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
871         (DEBUGGER_ARG_OFFSET): Likewise.
872
873         * mn10300.md (movsf): Remove last change.  Not needed.
874
875 Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>
876
877         * c-lex.c (yylex): Fix boundary conditions in character literal and
878         string literal loops.
879
880 Mon Jul 27 11:43:54 1998  Stan Cox  <scox@cygnus.com>
881
882         * longlong.h (count_leading_zeros): Sparclite scan instruction was
883         being invoked incorrectly.
884
885         * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
886         * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE): 
887         Add -pg support. 
888         * i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
889         * configure.in: Added i[34567]86-*-win32
890         * config.sub: Ditto.
891         * configure: Rebuilt.
892         
893 Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)
894
895         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
896         the frame pointer and compiling PIC code and reload has not completed.
897
898         * i386.c (output_to_reg): Add code to emulate non-popping DImode
899         case.
900
901 Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)
902
903         * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
904
905 Sat Jul 25 23:29:23 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
906
907         * Makefile.in (install-info): Only try to update the info
908         directory file if it exists in the first place.
909
910 Fri Jul 24 18:58:37 1998  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>
911
912         * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
913
914 Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
915
916         * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
917         CONST_DOUBLE source.
918
919 Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>
920
921         * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
922         strings as the insertion of USER_LABEL_PREFIX.
923         * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
924         valid code.
925         * config/arm/thumb.md: Use %_ as a prefix to gcc library function
926         calls. 
927
928 Thu Jul 23 18:53:20 1998  Jim Wilson  <wilson@cygnus.com>
929
930         * dbxout.c (dbxout_range_type): Only call dbxout_type_index for
931         already defined type.
932
933 Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)
934
935         * expr.c (check_max_integer_computation_mode): Allow conversions
936         of constant integers to MAX_INTEGER_COMPUTATION_MODE.
937         (expand_expr): Likewise.
938
939 Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
940
941         * expr.c (expand_expr): Expand RETURN_EXPR.
942
943 Thu Jul 23 11:00:29 1998  Jim Wilson  <wilson@cygnus.com>
944
945         * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
946
947 Wed Jul 22 19:10:00 1998  Catherine Moore  <clm@cygnus.com>
948
949         * dwarf2out.c (output_aranges):  Call stripattributes
950         for TEXT_SECTION references.
951         (output_line_info): Likewise.
952
953 Wed Jul 22 14:08:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
954
955         * profile.c (branch_prob): Call allocate_reg_info after outputting
956         profile rtl in instrument_arcs.
957
958 Wed Jul 22 12:47:49 1998  Jim Wilson  <wilson@cygnus.com>
959
960         * fixinc.irix (math.h): Install wrapper instead of copying.
961
962 Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco <apbianco@cygnus.com>
963
964         * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
965         so WFL are expanded correctly when contained in a COMPOUND_EXPR.
966         * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
967         lang_flag_0. Added documentation in the flag table.
968
969 Tue Jul 21 23:28:35 1998  Klaus Kaempf <kkaempf@rmi.de>
970
971         * cccp.c (do_include): Fix vax c style include handling.
972
973 Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
974
975         * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
976
977 Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
978
979         * fold-const.c (non_lvalue): Don't deal with null pointer 
980         constants here.
981         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
982
983 Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@mhpcc.edu>
984
985         * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
986         * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
987         * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
988         (u_short_cint_operand): Same.
989         (reg_or_cint_operand): Same.
990         (logical_operand): Same.
991         (input_operand): Same.
992         (reg_or_short_operand): Use u_short_cint_operand.
993
994 Tue Jul 21 08:56:42 1998  Richard Henderson  <rth@cygnus.com>
995
996         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
997         but keep the insns and splits.  Adjust so when the ultimate destination
998         is memory, use cvtql.
999
1000 Tue Jul 21 08:55:09 1998  Richard Henderson  <rth@cygnus.com>
1001
1002         * flow.c (regno_uninitialized): Fixed regs are never uninitialized.
1003
1004 Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)
1005
1006         * gcc.c (do_spec): Call "error" not "warning".
1007
1008         * configure.in: Fix minor problems with gas feature detection code.
1009         * configure: Rebuilt.
1010
1011         * gcc.c (do_spec): Issue a warning for '%[]' usage.
1012
1013         * Undo this change.
1014         * gcc.c: Delete %[spec] support.
1015         (do_spec_1, case '('): Likewise.
1016         (do_spec_1, case '['): Call error.
1017
1018 Mon Jul 20 22:34:17 1998  Richard Henderson  <rth@cygnus.com>
1019
1020         * alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
1021         (CPP_SUBTARGET_SPEC): Default to empty string.
1022         (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
1023         (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
1024         * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
1025         * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
1026         (LIB_SPEC): Tidy.
1027         * alpha/linux.h (CPP_PREDEFINES): Tidy.
1028         * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
1029         * alpha/netbsd.h (CPP_PREDEFINES): Tidy.
1030         * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
1031         * alpha/win-nt.h (CPP_PREDEFINES): Likewise.
1032         * alpha/vsf.h (CPP_PREDEFINES): Likewise.
1033         (CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
1034         * alpha/vxworks.h: Likewise.
1035
1036 Mon Jul 20 22:51:57 1998  Ken Raeburn  <raeburn@cygnus.com>
1037
1038         * mips.md (reload_outsi): Added missing REGNO call.
1039         (smulsi3_highpart, umulsi3_highpart): Provide prototype for
1040         function pointer.
1041         (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
1042         another match_operator and compare the codes.
1043
1044         * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
1045
1046         * MIPS multiply pattern fixes:
1047         * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
1048         Add union classes for HI, LO, or HILO plus general registers.
1049         (GENERATE_MADD): Deleted.
1050         * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
1051         Add TARGET_MAD to condition.
1052         (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
1053         (mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
1054         "*d" for accumulator, to give preference to LO initially but not
1055         during reload.
1056
1057 Mon Jul 20 16:16:38 1998  Dave Brolley  <brolley@cygnus.com>
1058
1059         * configure.in (enable_c_mbchar): New configure option.
1060         (extra_cpp_objs): Always available now.
1061
1062         * cexp.y (mbchar.h): #include it.
1063         (yylex): Handle Multibyte characters in character literals.
1064
1065         * cccp.c (mbchar.h): #include it.
1066         (main): Set character set based on LANG environment variable.
1067         (rescan): Handle multibyte characters in comments.
1068         (skip_if_group): See above.
1069         (validate_else): See above.
1070         (skip_to_end_of_comment): See above.
1071         (macarg1): See above.
1072         (discard_comments): See above.
1073         (rescan): Handle multibyte characters in string and character literals.
1074         (collect_expansion): See above.
1075         (skip_quoted_string): See above.
1076         (macroexpand): See above.
1077         (macarg1): See above.
1078         (discard_comments): See above.
1079         (change_newlines): See above.
1080
1081         * c-lex.c (mbchar.h): #include it.
1082         (GET_ENVIRONMENT): New macro.
1083         (init_lex): Set character set based on LANG environment variable.
1084         (yylex): Handle multibyte characters in character literals.
1085         (yylex): Handle multibyte characters in string literals.
1086
1087         * Makefile.in (mbchar.o): New target.
1088         (cccp$(exeext)): @extra_cpp_objs@ is always available.
1089         (cppmain$(exeext)): @extra_cpp_objs@ is always available.
1090
1091         * mbchar.[ch]: New files for multibyte character handling.
1092
1093 Mon Jul 20 01:11:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1094
1095         * jump.c (jump_optimize): When simplifying noop moves and
1096         PUSH_ROUNDING, fix thinko so we use same criterion for identifying
1097         the PUSHes to rewrite in second loop as we did in the first.
1098
1099 Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1100
1101         * cplus-dem.c (demangle_nested_args): Make function definition
1102         static to match the prototype.
1103
1104 Fri Jul 17 14:58:44 1998  Richard Henderson  <rth@cygnus.com>
1105
1106         * alloca.c: Respect USE_C_ALLOCA.
1107         * gencheck.c (xmalloc): Ignore __GNUC__ for definition.
1108         * gengenrtl.c (xmalloc): Likewise.
1109
1110 Fri Jul 17 14:18:14 1998  Richard Henderson  <rth@cygnus.com>
1111
1112         * loop.h (struct induction): Add no_const_addval.
1113         * loop.c (the_movables, reg_address_cost): New variables.
1114         (init_loop): Init reg_address_cost.
1115         (loop_optimize): Call end_alias_analysis.
1116         (scan_loop): Init the_movables.
1117         (record_giv): Init induction->no_const_addval.
1118         (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
1119         [REG]: Rearrange loop search test to catch more cases.
1120         (general_induction_var): Return success not benefit; take an extra
1121         argument for that.  Change all callers.
1122         (simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
1123         [MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
1124         [default]: Search the_movables for additional combinations.
1125         (sge_plus_constant, sge_plus): New functions.
1126         (express_from_1): New function.
1127         (express_from): Always define.  Rewrite using express_from_1.
1128         (combine_givs_p): Handle more cases.  Ignore address cost.
1129         (cmp_combine_givs_stats): New function.
1130         (combine_givs_used_once, combine_givs_benefit_from): New functions.
1131         (combine_givs): Rewrite to do best-fit combination.
1132
1133         * fold-const.c (operand_equal_p): Handle RTL_EXPR.
1134         (fold): Do a complete (A*C)+(B*C) association check.
1135
1136 Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>
1137
1138         * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
1139
1140 Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)
1141
1142         * mn10300.c (MODES_TIEABLE_P): Fix typo.
1143
1144 Fri Jul 17 03:26:12 1998  Rihcard Earnshaw (rearnsha@arm.com)
1145
1146         * tree.c (valid_machine_attribute): Only create a new type variant if
1147         there is a decl to use it.
1148
1149 Thu Jul 16 14:48:04 1998  Nick Clifton  <nickc@cygnus.com>
1150
1151         * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
1152         a suffix.
1153
1154 Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  <hp@axis.se>
1155
1156         * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
1157         be deleted" 
1158
1159 Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)
1160
1161         * mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
1162         Simplify tests for clearing an address register.
1163         (expand_prologue): Corresponding changes.
1164
1165         * mn10300.md (movXX patterns): Make sure the destination is an
1166         ADDRESS_REG when substituting "zero_areg" for (const_int 0).
1167         (logical patterns): Split into expanders + patterns
1168         (zero and sign extension patterns): Similarly.
1169         (shift patterns): Similarly.
1170
1171 Thu Jul 16 01:17:44 1998  Richard Henderson  <rth@cygnus.com>
1172
1173         * loop.c (emit_iv_add_mult): Scan the entire insn list generated
1174         for the sequence, recording base values.
1175
1176 Wed Jul 15 10:49:55 1998  Richard Henderson  <rth@cygnus.com>
1177
1178         * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
1179
1180 Tue Jul 14 14:15:30 1998  Nick Clifton  <nickc@cygnus.com>
1181
1182         * gcc.c: Remove ANSI-C ism from --help code.
1183
1184         * toplev.c: Support --help with USE_CPPLIB.
1185
1186 Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)
1187
1188         * configure.in: Rework gas feature code to work with symlink based
1189         source trees.
1190
1191         * extend.texi: Clarify some issues related to local variables
1192         assigned to explicit registers.
1193
1194         * mn10300.md (mulsi): Turn into expander + pattern.
1195
1196         * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
1197         alternative.
1198
1199 Tue Jul 14 07:41:59 1998  Richard Earnshaw (rearnsha@arm.com)
1200
1201         * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
1202
1203 Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)
1204
1205         * version.c: Bump again to distinguish mainline tree from the
1206         egcs-1.1 branch.
1207
1208 Tue Jul 14 02:20:38 1998  Jeffrey A Law  (law@cygnus.com)
1209
1210         * version.c: Bump to avoid problems with old spec files during
1211         bootstrap.
1212
1213 Mon Jul 13 23:11:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1214
1215         * config/sparc/sparc.c (output_scc_insn): Enclose || conditions in
1216         parens while walking over notes.
1217         * config/sparc/sparc.md (reg movdi split): Clean up matching
1218         conditions.
1219         (all DI arithop splits on 32-bit): Handle immediate arguments
1220         correctly when they are CONST_INTs.
1221
1222 Mon Jul 13 23:57:21 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
1223
1224         * m68k/m68k.h (TARGET_SWITCHES): Clear MASK_68040_ONLY for
1225         -m68020-40, -m68020-60 and -m5200.
1226
1227 Mon Jul 13 23:52:05 1998  Weiwen Liu <weiwen.liu@yale.edu>
1228
1229         * gcc.c (do_spec_1): Fix %O handling for secure temporary file
1230         creation.
1231
1232 Mon Jul 13 23:42:36 1998  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1233
1234         * sh/elf.h (MAX_OFILE_ALIGNMENT): Undefine before including svr4.h.
1235
1236 Mon Jul 13 23:36:08 1998  Jim Wilson  <wilson@cygnus.com>
1237
1238         * i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
1239         (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
1240         (EXTRA_SPECS): Support them.
1241         * gcc.c: Delete %[spec] support.
1242         (do_spec_1, case '('): Likewise.
1243         (do_spec_1, case '['): Call error.
1244         * i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
1245         linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
1246         sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
1247         %[cpp_cpu].
1248
1249 Mon Jul 13 23:31:04 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1250
1251         * m68k.c (output_scc_di): Use cmpw #0 only for address registers.
1252
1253 Mon Jul 13 23:26:43 1998  Jeffrey A Law  (law@cygnus.com)
1254
1255         * tree.h (tree_common): Note front-end dependencies on layout of
1256         this structure.
1257
1258 Mon Jul 13 23:18:39 1998  Craig Burley  <burley@gnu.org>
1259
1260         * stmt.c (expand_expr_stmt): If not assigning fresh
1261         value to last_expr_value, zero it, so old garbage
1262         doesn't get dereferenced.
1263
1264 Mon Jul 13 23:06:55 1998  Henning.Petersen@t-online.de (Henning Petersen)
1265
1266         * gcse.c (hash_scan_insn): Add missing argument declaration.
1267
1268 Mon Jul 13 18:59:13 1998  Jim Wilson  <wilson@cygnus.com>
1269
1270         * configure.in (mips-sgi-irix5cross64, mips-sgi-irix5*): Remove
1271         HAVE_INTTYPES_H from xm_defines.  Define xm_file to mips/xm-iris5.h.
1272         * mips/xm-iris5.h (USG): Delete.
1273
1274 Mon Jul 13 17:18:47 1998  Nick Clifton  <nickc@cygnus.com>
1275
1276         * cccp.c (main): Add support for parsing --help.
1277         (display_help): New function: display command line switches.
1278
1279         * cpplib.c (cpp_handle_option): Add support for parsing --help.
1280         (display_help): New function: display command line switches.
1281
1282         * gcc.c (main): Add support for parsing --help, and passing it on
1283         to the sub-processes invoked by gcc.
1284         (display_help): New function: display comman line switches.     
1285
1286         * tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
1287         'description' field added to structure.  
1288
1289         * toplev.c: Add support for parsing --help.
1290         Add documentation strings to command line option tables.
1291         (display_help): New function: display comman line switches.
1292
1293 Mon Jul 13 16:15:10 1998  John Carr  <jfc@mit.edu>
1294
1295         * sparc.c, sparc.h, sparc.md: New trampoline code.
1296         Allow integer operand 1 to V8+ DImode shift instructions.
1297         Fix bugs in V8+ wide multiply patterns.
1298         In 32 bit mode, split DImode register moves and logical instructions. 
1299         Write V9 branch prediction flag.
1300         Use V9 conditional move more often for scc.
1301
1302 Mon Jul 13 15:10:09 1998  Philippe De Muyter  <phdm@macqel.be>
1303
1304         * invoke.texi(-fno-builtin): Explain that the names of built-in
1305         functions begin with `__builtin_', not `__'.
1306
1307 Mon Jul 13 19:01:52 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1308
1309         * reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
1310
1311 Mon Jul 13 10:50:17 1998  Mark Mitchell  <mark@markmitchell.com>
1312
1313         * cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff.
1314         (cplus_demangle_opname):  Initialize work.
1315         (demangle_template): Remove is_java_array.
1316         (do_type): Remove DMGL_JAVA stuff.
1317         (long_options): Remove "java".
1318         (main): Remove 'j' option.
1319
1320 Mon Jul 13 10:19:00 1998  Jeffrey A Law  (law@cygnus.com)
1321
1322         * mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
1323         Handle 'x' as NO_REGS for this cpu.
1324         (REGNO_OK_FOR_BIT_BASE_P): Define.
1325         (REG_OK_FOR_BIT_BASE_P): Define.
1326         (GO_IF_LEGITIMATE_ADDRESS): Use them.
1327         (REG_OK_FOR_INDEX_P): Tweak.
1328         * mn13000.c (REG_SAVE_BYTES): Define.
1329         (expand_epilogue, initial_offset): Use it.
1330         (secondary_reload_class): Slightly reformat.
1331         (output_tst): Tweak comments.
1332         * mn10300.md: Change 'x' to 'y' for SP_REGS.  Then add 'x' to many
1333         patterns.
1334         (addsi3): Turn into a define_expand/define_insn pair.  Rework code for
1335         three operand addition case to be more efficient.
1336         (subsi3): Turn into a define_expand/define_insn pair.
1337
1338         * expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
1339         is not varying for REFERENCE_TYPE or when we think we might have found
1340         an optimized access to the first element in an array.
1341
1342 Mon Jul 13 02:24:08 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1343
1344         * regclass.c (reg_scan_mark_refs): New arg min_regno.  Only update
1345         regscan information for REGs with numbers greater than or equal to
1346         this.  All callers changed.
1347         (reg_scan_update): New function to efficiently update regscan
1348         information on the fly.
1349         * rtl.h: Add prototype.
1350         * jump.c (jump_optimize): Call it when we make a transformation
1351         which generates new pseudo-REGs.
1352
1353 Sun Jul 12 13:08:14 1998  Jeffrey A Law  (law@cygnus.com)
1354
1355         * collect2.c (main): Use "-x c" instead of "-lang-c" for force the
1356         compiler into C mode.
1357
1358 Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
1359
1360         * cplus-dem.c (demangle_nested_args): Return a value.
1361
1362         * tree.h (TYPE_P): New macro.
1363
1364 Sat Jul 11 16:19:48 1998  Mark Mitchell  <mark@markmitchell.com>
1365
1366         * cplus-dem.c (string): Move definition before work_stuff.
1367         (work_stuff): Add volatile_type, forgetting_types,
1368         previous_argument, and nrepeats fields.
1369         (SCOPE_STRING): New macro.
1370         (demangle_template): Add `remember' parameter.  Add comment.
1371         Register the `B' code type here, if remembering.  Tidy.  Fix crash
1372         on NULL tmpl_argvec.  Be consistent with use of tname/trawname.
1373         (demangle_nested_args): New function.
1374         (internal_cplus_demangle): Handle volatile-qualified member
1375         functions. 
1376         (mop_up): Delete the previous_argument string if present.
1377         (demangle_signature): Tidy.  Handle volatile-qualified member
1378         functions.  Handle back-references using the `B' code.  Use extra
1379         parameter to demangle_template and SCOPE_STRING where appropriate.
1380         (demangle_template_value_parm): Fix thinko; 'B' is not an integral
1381         code. 
1382         (demangle_class): Use SCOPE_STRING.
1383         (gnu_special): Pass additional argument to demangle_template.
1384         Use SCOPE_STRING.
1385         (demangle_qualified): Save qualified types for later
1386         back-references.  Handle constructors and destructors for template
1387         types correctly.
1388         (do_type): Tidy.  Use SCOPE_STRING.  Pass extra argument to
1389         demangle_template.  Use demangled_nested_args.  Don't remember
1390         qualified types here; that's now done in demangle_qualified.
1391         Similarly for templates.
1392         (do_arg): Improve commment.  Handle 'n' repeat code.
1393         (remember_type): Check forgetting_types.
1394         (demangle_args): Deal with 'n' repeat codes.  Tidy.
1395         
1396 Sat Jul 11 02:59:08 1998  Richard Earnshaw  <rearnsha@arm.com>
1397
1398         * arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
1399         and structure attribute flags to MEMs generated.
1400         (splits for sign-extended HI & QI mode from memory):  Also propagate 
1401         the volatile flag.
1402
1403         * configure.in (thumb-*-coff*): Don't cause fixincludes to be run.
1404
1405 Fri Jul 10 19:06:59 1998  Michael Meissner  <meissner@cygnus.com>
1406
1407         * varray.h: Include system.h if it hasn't already been included
1408         before to get size_t declared.
1409
1410 Fri Jul 10 12:53:58 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1411
1412         * jump.c (jump_optimize): If after_regscan and our transformations
1413         generate new REGs, rerun reg_scan.
1414
1415 Fri Jul 10 11:50:43 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
1416
1417         * config/i960/i960.c (i960_address_cost): MEMA operands with
1418         positive offsets < 4096 are free.
1419
1420 Fri Jul 10 12:34:37 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1421
1422         * config/m68k/m68k.c (const_uint32_operand): Recognize
1423         CONSTANT_P_RTX.
1424         (const_sint32_operand): Likewise. 
1425
1426 Thu Jul  9 22:58:59 1998  Jeffrey A Law  (law@cygnus.com)
1427
1428         * Makefile.in (alias.o): Depend on $(EXPR_H).
1429
1430 Thu Jul  9 18:24:56 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1431
1432         * reload1.c (choose_reload_regs): If using an equivalence from
1433         find_equiv_reg and reg_reloaded_valid is not set for this register,
1434         clear the associated spill_reg_store.
1435
1436 Thu Jul  9 18:12:49 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1437
1438         * reload1.c (emit_reload_insns): If an output reload copies only
1439         to a secondary reload register, indicate that the secondary reload
1440         does the actual store.
1441
1442 Thu Jul  9 18:01:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1443
1444         * reload.c (find_equiv_reg): If need_stable_sp is set,
1445         check if stack pointer is changed directly in a PARALLEL.
1446
1447 Thu Jul  9 10:38:14 1998  Jeffrey A Law  (law@cygnus.com)
1448
1449         * jump.c (duplicate_loop_exit_test): Fix thinko.
1450
1451 Thu Jul  9 01:30:37 1998  Joel Sherrill  <joel@OARcorp.com>
1452                           Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1453
1454         * config/i386/rtemself.h: Updated to keep in sync with
1455         config/i386/linux.h.
1456
1457         * configure.in: Added sh-rtemself.
1458         * configure: Rebuilt.
1459         * config/sh/rtems.h: Removed -D__ELF__ since it is now COFF.
1460         * config/sh/rtemself.h: New file.
1461
1462         * config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
1463
1464 Wed Jul  8 21:43:14 1998  Jeffrey A Law  (law@cygnus.com)
1465
1466         * configure.in: Check if the assembler supports ".balign" and
1467         ".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
1468         * acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
1469         * i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
1470         ".balign" then use it.
1471
1472         * print-rtl.c (print_rtx): Revert previous patch.
1473
1474         * jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
1475         test if the exit code has an insn with ASM_OPERANDS.
1476
1477         * i386/cygwin32.h (STDIO_PROTO): Fix typo.
1478         * m32r.h (STDIO_PROTO): Fix typo.
1479
1480         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses created by
1481         LEGITIMIZE_RELOAD_ADDRESS.
1482         * tm.texi (LEGITIMIZE_RELOAD_ADDRESS): Note that this macro must be
1483         able to handle addresses created by previous invocations of the macro.
1484
1485         * flow.c (find_auto_inc): Remove most recent change.  Real bug was
1486         elsewhere.
1487
1488         * cse.c (count_reg_usage): Count registers used in addresses of
1489         CLOBBERs.
1490
1491 Wed Jul  8 15:08:29 1998  Jim Wilson  <wilson@cygnus.com>
1492
1493         * Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge.
1494
1495         * configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h.
1496
1497 1998-07-08  Vladimir N. Makarov  <vmakarov@cygnus.com>
1498
1499         * config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
1500         stubs.
1501
1502         * toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
1503         options.
1504         * c-decl.c (warn_long_long): Define.
1505         (c_decode_option): Parse -Wlong-long, -Wno-long-long options.
1506         (grokdeclarator): Add flag `warn_long_long' as guard for
1507         warning "ANSI C does not support `long long'".
1508         * invoke.texi: Add description of options -Wlong-long,
1509         -Wno-long-long.
1510         * gcc.1: The same as above.
1511         
1512 Wed Jul  8 02:43:34 1998  Jeffrey A Law  (law@cygnus.com)
1513
1514         * rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART.  If
1515         either argument is CONSTANT_P, then return zero.
1516         * reload.c (reg_overlap_mentioned_for_reload_p): Similarly.
1517
1518         * configure.in: Also look at $srcdir/gas/configure to find a 
1519         gas version #.
1520
1521 Wed Jul  8 00:28:22 1998  Carlo Wood <carlo@runaway.xs4all.nl>
1522
1523         * dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS
1524
1525 Tue Jul  7 21:18:14 1998  Mumit Khan  <khan@xraylith.wisc.edu>
1526
1527         * i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate
1528         definitions from last two patches.
1529
1530 Tue Jul  7 23:03:34 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1531
1532         * reload1.c (choose_reload_regs): Don't set reload_override_in
1533         if EQUIV is clobbered in INSN and the reload is done after INSN.
1534
1535 Tue Jul  7 21:23:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1536
1537         * expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
1538         to the first insn of the sequence.
1539
1540 Tue Jul  7 21:05:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1541
1542         * cse.c (cse_insn): Don't make change without validation.
1543
1544 Tue Jul  7 11:40:05 1998  Jeffrey A Law  (law@cygnus.com)
1545
1546         * mn10200.md (various zero/sign extension patterns): zero and sign
1547         extensions which use "sub" clobber cc0.
1548
1549 Tue Jul 7 09:12:08 PDT 1998 Jeff Law  (law@cygnus.com)
1550
1551         * version.c: Bump for snapshot.
1552
1553 Tue Jul  7 10:07:20 1998  Jeffrey A Law  (law@cygnus.com)
1554
1555         * print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
1556
1557 Tue Jul  7 08:41:27 1998  Richard Henderson  (rth@cygnus.com)
1558
1559         * print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
1560         is a double.
1561
1562 Tue Jul 7 00:31:58 PDT 1998 Jeff Law  (law@cygnus.com)
1563
1564         * version.c: Bump for snapshot.
1565
1566 Tue Jul  7 01:03:03 1998  Mumit Khan <khan@xraylith.wisc.edu>
1567
1568         Support for dllimport and dllexport attributes for i386-pe.
1569
1570         * tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
1571         (struct tree_decl): Add non_addr_const_p field.
1572         * tree.c (staticp): Use.
1573
1574         * i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
1575         attributes.
1576         (SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
1577         attributes. Also accept -mwindows option.
1578         (VALID_MACHINE_DECL_ATTRIBUTE): New macro.
1579         (MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
1580         (REDO_SECTION_INFO_P): New macro.
1581         (DRECTVE_SECTION_FUNCTION): New macro.
1582         (drectve_section): Cover function to implement above.
1583         (SWITCH_TO_SECTION_FUNCTION): New macro.
1584         (switch_to_section): Covert function to implement above.
1585         (EXTRA_SECTIONS): Add in_drectve.
1586         (EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
1587         (ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
1588         (STRIP_NAME_ENCODING): Handle new attributes.
1589         (ASM_OUTPUT_LABELREF): New macro.
1590         (ASM_OUTPUT_FUNCTION_NAME): New macro.
1591         (ASM_OUTPUT_COMMON): New macro.
1592         (ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
1593
1594         * i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
1595         attributes.
1596
1597         * i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
1598         (i386_pe_merge_decl_attributes): New function.
1599         (i386_pe_check_vtable_importexport): New function.
1600         (i386_pe_dllexport_p): New function.
1601         (i386_pe_dllimport_p): New function.
1602         (i386_pe_dllexport_name_p): New function.
1603         (i386_pe_dllimport_name_p): New function.
1604         (i386_pe_mark_dllexport): New function.
1605         (i386_pe_mark_dllimport): New function.
1606         (i386_pe_encode_section_info): New function.
1607         (i386_pe_unique_section): Strip encoding from name first.
1608
1609 Tue Jul  7 00:50:17 1998  Manfred Hollstein   (manfred@s-direktnet.de)
1610
1611         * libgcc2.c (L_exit): Provide a fake for atexit on systems which
1612         define ON_EXIT but not HAVE_ATEXIT.
1613
1614 Tue Jul  7 00:44:35 1998  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1615
1616         * m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
1617
1618 Tue Jul  7 00:36:41 1998  Ulrich Drepper <drepper@cygnus.com>
1619
1620         * i386.c: Remove random whitespace at end of lines.
1621
1622         * i386.c (ix86_epilogue): For pentium processors, try to deallocate
1623         4 or 8 byte stacks with pop instructions instead of an add instruction.
1624
1625 Tue Jul  7 00:30:08 1998  Klaus Kaempf <kkaempf@rmi.de>
1626
1627         * alpha.c: Include tree.h before expr.h.
1628
1629 Mon Jul  6 22:50:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
1630
1631         * c-parse.in (struct_head, union_head, enum_head): New nonterminals.
1632         (structsp): Use them.  Update files generated from c-parse.in.
1633         * extend.texi (Type Attributes): Document it.
1634
1635         * c-decl.c: Add warn_multichar.
1636         (c_decode_option): Handle -Wno-multichar.
1637         * c-lex.c (yylex): Check it.
1638         * c-tree.h: Declare it.
1639         * toplev.c (lang_options): Add it.
1640         * invoke.texi: Document it.
1641
1642 Mon Jul  6 22:47:55 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1643
1644         * reload.c (find_equiv_reg): When looking for stack pointer + const,
1645         make sure we don't use a stack adjust.
1646
1647         * reload.c (find_equiv_reg): If need_stable_sp is set,
1648         check if stack pointer is changed directly.
1649
1650         * reload1.c (delete_dead_insn): Don't delete feeding insn
1651         if that insn has side effects.
1652
1653         * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
1654         changed.
1655
1656         * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
1657         precedes RELOAD_FOR_OUTADDR_ADDRESS.
1658
1659         * gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK.  Changed
1660         caller.
1661
1662 Mon Jul  6 22:21:56 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
1663
1664         * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
1665         testing address registers on the 68000.
1666
1667 Mon Jul  6 22:17:19 1998  Alasdair Baird        <alasdair@wildcat.demon.co.uk>
1668
1669         * i386.c (is_fp_test): Fix thinko.
1670
1671         * jump.c (jump_optimize) Check for CONST_INT before using INTVAL.
1672
1673 Mon Jul  6 22:14:31 1998  Richard Henderson  (rth@cygnus.com)
1674
1675         * print-rtl.c (print_rtx): Display the real-value equivalent of
1676         a const_double when easy.
1677
1678         * real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
1679         Zero memory first for predictability.
1680         (REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
1681         * varasm.c (immed_real_const_1): Notice width of H_W_I == double.
1682
1683         * regclass.c (allocate_reg_info): Initialize the entire reg_data
1684         virtual array.
1685
1686 Mon Jul  6 22:09:32 1998  Ian Lance Taylor  <ian@cygnus.com>
1687                           Jeff Law          <law@cygnus.com>
1688
1689
1690         * i386/cygwin32.h: Add some declaration of external functions.
1691         (ASM_DECLARE_FUNCTION_NAME): Define.
1692         (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
1693         (ASM_FILE_END): Define.
1694         * i386/winnt.c (i386_pe_declare_function_type): New function.
1695         (struct extern_list, extern_head): Define.
1696         (i386_pe_record_external_function): New function.
1697         (i386_pe_asm_file_end): New function.
1698
1699         * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
1700         matching July 18, 1995 change to cccp.c.  If -traditional then
1701         disable cplusplus_comments.
1702
1703 Mon Jul  6 21:28:14 1998  Jeffrey A Law  (law@cygnus.com)
1704
1705         * combine.c (expand_compound_operation): Fix thinko in code to optimize
1706         (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
1707
1708         * Disable the following change from gcc2.  Not appropriate for egcs:
1709
1710         Sun Jun  7 09:30:31 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1711         * reload.c (find_reloads): Give preference to pseudo that was the
1712         reloaded output of previous insn.
1713
1714 Mon Jul  6 21:07:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1715
1716         * aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
1717         Instead, define a new macro HAVE_PRINTF_PTR which only signifies
1718         whether we have the %p format specifier or not.
1719
1720         * acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
1721         
1722         * machmode.h (HOST_PTR_PRINTF): When determining the definition,
1723         check HAVE_PRINTF_PTR to see whether "%p" is okay.
1724
1725         * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
1726
1727         * Makefile.in (mips-tfile.o): Depend on machmode.h.
1728
1729 Mon Jul  6 10:42:05 1998  Mark Mitchell  <mark@markmitchell.com>
1730
1731         * jump.c (duplicate_loop_exit_test): Don't refuse to copy a
1732         section of code just because it contains
1733         NOTE_INSN_BLOCK_{BEG,END}.
1734         * stmt.c (expand_end_loop): Likewise.  Also, don't refuse to 
1735         move CALL_INSNs or CODE_LABELs.  When moving code, don't move
1736         NOTE_INSN_BLOCK_{BEG,END}.
1737
1738 Mon Jul  6 09:38:15 1998  Mark Mitchell  <mark@markmitchell.com>
1739
1740         * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but 
1741         dealing with ADDRESSOF.
1742         (find_best_addr): Use it. 
1743
1744 Mon Jul  6 09:27:08 1998  Richard Henderson  <rth@cygnus.com>
1745
1746         * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
1747
1748 Mon Jul  6 09:25:06 1998  Dave Love  <d.love@dl.ac.uk>
1749
1750         * libgcc2.c (__eprintf): Make args consistent with prototype in
1751         assert.h.
1752
1753 Mon Jul  6 00:28:43 1998  Mark Mitchell  <mark@markmitchell.com>
1754
1755         * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
1756         don't claim that the former is equivalent to the latter.
1757
1758 Sun Jul  5 23:58:19 1998  Jeffrey A Law  (law@cygnus.com)
1759
1760         * cse.c (cse_insn): Second arg is an RTX now.  Update all callers.
1761         (cse_basic_block): Keep track of the current RETVAL insn for a
1762         libcall instead of just noting that we're in a libcall.
1763
1764         * combine.c (simplify_comparison): Do not commute a AND into
1765         a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
1766
1767         * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
1768         HAVE_GAS_MAX_SKIP_P2ALIGN.
1769         * i386/linux.h: Likewise.
1770         
1771 Fri Jul  3 02:33:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1772
1773         * sparc.c (sparc_operand, move_operand, arith_operand,
1774         arith11_operand, arith10_operand, arith_double_operand,
1775         arith11_double_operand, arith10_double_operand, small_int,
1776         uns_small_int): Recognize CONSTANT_P_RTX.
1777         (output_sized_memop, output_move_with_extension,
1778         output_load_address, output_size_for_block_move,
1779         output_block_move, delay_operand): Remove, has not been
1780         enabled or referenced for years.
1781         * sparc.md (movstrsi, block_move_insn): Likewise.
1782         * sparc.h (PREDICATE_CODES): Define.
1783         * linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
1784         version which uses getcc/setcc traps to save/restore condition
1785         codes.
1786         * linux64.h: Likewise.
1787         * sunos4.h: Likewise.
1788         * linux.h: Likewise.
1789         * sol2.h: Likewise.
1790         * sun4o3.h: Likewise.
1791
1792 Fri Jul  3 02:28:05 1998  Richard Henderson  <rth@cygnus.com>
1793
1794         * alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
1795         lossage on VMS.  Reported by kkaempf@rmi.de.
1796         * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
1797
1798 Thu Jul  2 17:41:14 1998  Nick Clifton  <nickc@cygnus.com>
1799
1800         * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
1801         version. 
1802
1803 Thu Jul  2 14:34:48 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1804
1805         * expr.h (STACK_SIZE_MODE): New macro.
1806         * explow.c (allocate_dynamic_stack_space): Use it for
1807         mode of allocate_stack pattern increment operand.
1808         * tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
1809         * md.texi (stack_save_block, ...): Reflect use of macro.
1810
1811         * rs6000.h (PROMOTE_MODE): Always promote to word_mode.
1812         (PROMOTE_FUNCTION_ARGS): Define.
1813         (PROMOTE_FUNCTION_RETURN): Define.
1814         (FUNCTION_VALUE): Promote to word_mode if smaller.
1815         Convert to gen_rtx_FOO.
1816         * rs6000.md (call_indirect): Store doubleword in 64-bit mode.
1817         Convert to gen_rtx_FOO.
1818         * rs6000.c: Convert to gen_rtx_FOO.
1819         
1820 Thu Jul  2 14:16:11 1998  Michael Meissner  <meissner@cygnus.com>
1821
1822         * varray.{c,h}: New files to provide virtual array support.
1823
1824         * Makefile.in (OBJS): Add varray.o.
1825         (varray.o): Add new file.
1826         (REGS_H): New variable for dependencies for files including
1827         regs.h.  Add varray.h and files it includes.  Change all regs.h
1828         dependencies to $(REGS_H).
1829
1830         * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
1831         (xcalloc): Provide frontend for calloc.
1832         * {tree,rtl}.h (xcalloc): Add declaration.
1833
1834         * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
1835         varray.
1836
1837         * regs.h (toplevel): Include varray.h.
1838         (reg_n_info): Switch to use a varray.
1839         (REG_*): Ditto.
1840         (allocate_reg_info): Change num_regs argument to be size_t.
1841
1842         * regclass.c (reg_info_data): New structure to remember groups of
1843         reg_info structures allocated that are to be zeroed.
1844         ({pref,alt}class_buffer): New statics to hold buffers
1845         allocate_reg_info allocates for {pref,alt}class_buffer.
1846         (regclass): Use {pref,alt}class_buffer to initialize
1847         {pref,alt}class.
1848         (allocate_reg_info): Switch to make reg_n_info use varrays.
1849         Allocate buffers for the preferred and alter register class
1850         information.  Change num_regs argument to be size_t, not int.
1851
1852         * flow.c (reg_n_info): Switch to use varrays.
1853
1854 Thu Jul  2 10:11:47 1998  Robert Lipe  <robertl@dgii.com>
1855
1856         * install.texi (sco3.2v5): Document new --with-gnu-as flag.
1857         * config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
1858         in other targets.
1859         (USE_GAS): Conditionalize away native assembler usage.
1860         * config/i386/sco5gas.h: New file.
1861         * config/i386/t-sco5gas: New file.
1862         * configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
1863
1864 Thu Jul 2 08:20:00 1998  Catherine Moore  <clm@cygnus.com>
1865
1866         * haifa-sched.c (alloc_EXPR_LIST):  Change to use
1867         unused_expr_list.
1868
1869 Thu Jul  2 14:13:28 1998  Dave Love  <d.love@dl.ac.uk>
1870
1871         * Makefile.in (install-info): Don't use $realfile.  Ignore
1872         possible errors from the install-info program.
1873
1874 Thu Jul  2 01:53:32 1998  Alasdair Baird        <alasdair@wildcat.demon.co.uk>
1875
1876         * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
1877
1878 Wed Jul  1 23:06:03 1998  Richard Henderson  <rth@cygnus.com>
1879
1880         * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
1881         (MODES_TIEABLE_P): Tie SImode and HImode.
1882
1883 1998-07-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
1884
1885         * invoke.texi (Optimize Options): Fix typo.
1886
1887 Wed Jul  1 22:25:43 1998  Jim Wilson  <wilson@cygnus.com>
1888
1889         * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
1890         the zero'th block.
1891
1892 Wed Jul  1 23:12:58 1998  Ken Raeburn  <raeburn@cygnus.com>
1893
1894         * h8300.c (print_operand): Delete %L support.
1895         * h8300.md (branch_true, branch_false): Use %= with a prefix
1896         instead of %L for local branch labels.
1897
1898 Wed Jul  1 21:27:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1899
1900         * reload1.c (emit_reload_insns): Use proper register classes for
1901         SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
1902
1903 Wed Jul  1 21:17:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1904
1905         * reload.c (find_reloads): If there are multiple
1906         RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
1907         one operand, change RELOAD_FOR_INPADDR_ADDRESS /
1908         RELOAD_FOR_OUTADDR_ADDRESS for all but the first
1909         RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
1910
1911 Wed Jul  1 17:23:23 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1912
1913         * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
1914         using its PATTERN.
1915
1916 Wed Jul  1 05:04:41 1998  Richard Henderson  <rth@cygnus.com>
1917
1918         * expr.c (emit_group_load, emit_group_store): Rewrite considering
1919         the size and alignment of the structure being manipulated. 
1920         * expr.c, calls.c, function.c: Update all callers.
1921         * expr.h: Update prototypes.
1922         * cse.c (invalidate): Cope with parallels.
1923
1924 Wed Jul  1 04:22:23 1998  Richard Henderson  <rth@cygnus.com>
1925
1926         * sparc.c (function_arg_record_value): Take a MODE arg with which to
1927         create the PARALLEL.  Update all callers.
1928
1929 Wed Jul  1 04:10:35 1998  Richard Henderson  <rth@cygnus.com>
1930
1931         * expr.c (expand_assignment, store_constructor, expand_expr): Use
1932         convert_memory_address instead of convert_to_mode when possible.
1933
1934 Wed Jul  1 03:48:00 1998  Richard Henderson  <rth@cygnus.com>
1935
1936         * alpha.c (alpha_initialize_trampoline): Take arguments describing
1937         the layout.  Use ptr_mode.  Disable hint generation.  Use gen_imb.
1938         * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
1939         (TRANSFER_FROM_TRAMPOLINE): Move ...
1940         * alpha/osf.h: ... here.
1941         * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
1942         (TRANSFER_FROM_TRAMPOLINE): Remove undef.
1943         * alpha/win-nt.h: Likewise.
1944         * alpha/vxworks.h: Likewise.
1945
1946         * alpha/linux.h: Revert gcc2 merge lossage.
1947
1948 Wed Jul  1 10:56:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1949
1950         * c-decl.c (grokdeclarator): Don't warn about implicit int in
1951         `typedef foo = bar'.
1952
1953 Wed Jul  1 02:12:33 1998  Robert Lipe  <robertl@dgii.com>
1954
1955         * i386.c (asm_output_function_prefix): Make 686 function
1956         prologues not issue .types for non-global lables.
1957
1958 Tue Jun 30 23:46:53 1998  Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
1959
1960         * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
1961         (WCHAR_TYPE_SIZE): Update appropriately.
1962
1963 Tue Jun 30 23:16:39 1998  Jeffrey A Law  (law@cygnus.com)
1964
1965         * flow.c (recompute_reg_usage): Does not return a value.
1966         * rtl.h (recompute_reg_usage): Update prototype.
1967
1968         * jump.c (jump_optimize): Show that the jump chain is not
1969         valid when not optimizing.
1970
1971 Tue Jun 30 16:01:01 1998  Richard Henderson  <rth@cygnus.com>
1972
1973         * rtl.def (CONSTANT_P_RTX): New.
1974         * rtl.h (CONSTANT_P): Recognize it.
1975         * cse.c (fold_rtx): Eliminate it.
1976         * expr.c (can_handle_constant_p): New variable.
1977         (init_expr_once): Initialize it.
1978         (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
1979         immediately recognizable as a constant.
1980
1981         * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
1982         (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
1983         (sext_add_operand, and_operand, or_operand): Likewise.
1984         (reg_or_cint_operand, some_operand, input_operand): Likewise.
1985         * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
1986
1987 1998-06-30  Benjamin Kosnik  <bkoz@bliss.nabi.net>
1988
1989         * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
1990
1991 Tue Jun 30 14:03:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1992
1993         * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
1994         argument, which is typically preprocessor code used to draw in
1995         additional header files when looking for a function declaration.
1996         (GCC_NEED_DECLARATIONS): Likewise.
1997
1998         * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
1999         and setrlimit, search for them in sys/resource.h.
2000
2001         * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
2002         NEED_DECLARATION_SETRLIMIT.
2003
2004         * system.h: Prototype getrlimit/setrlimit if necessary.
2005
2006 Tue Jun 30 10:54:48 1998  Mark Mitchell  <mark@markmitchell.com>
2007
2008         * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
2009         upon.
2010
2011 Tue Jun 30 13:11:42 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2012
2013         * rs6000/sysv4.h (asm output): add tabs for asm directives.
2014
2015 Tue Jun 30 13:11:42 1998  David Edelsohn <edelsohn@mhpcc.edu>
2016
2017         * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
2018
2019 Tue Jun 30 08:59:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2020
2021         * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
2022         Don't define NULL here.  Also, remove all vestiges of autoconf
2023         based checks for bcmp/bcopy/bzero/index/rindex.
2024
2025         * system.h: Immediately after including stdio.h, check for and if
2026         necessary provide a default definition of NULL.
2027
2028 Tue Jun 30 08:22:05 1998  Michael Meissner  <meissner@cygnus.com>
2029
2030         * reload1.c (reload_cse_simplify_operands): Call
2031         fatal_insn_not_found, not abort.
2032
2033 Tue Jun 30 02:34:02 1998  Jeffrey A Law  (law@cygnus.com)
2034
2035         * choose-temp.c (make_temp_file): Accept new argument for the
2036         file suffix to use.  Allocate space for it and add it to the
2037         template.
2038         * mkstemp.c (mkstemps): Renamed from mkstemp.  Accept new argument
2039         for the length of the suffix.  Update template struture checks
2040         to handle optinal suffix.
2041         * collect2.c (make_temp_file): Update prototype.
2042         (main): Put proper suffixes on temporary files.
2043         * gcc.c (make_temp_file): Update prototype.
2044         (do_spec_1): Put proper suffixes on temporary files.
2045
2046 Tue Jun 30 00:56:19 1998  Bruno Haible <haible@ilog.fr>
2047
2048         * invoke.texi: Document new implicit structure initialization
2049         warning.
2050
2051 Mon Jun 29 22:12:06 1998  Jeffrey A Law  (law@cygnus.com)
2052
2053         * Merge from gcc2 June 9, 1998 snapshot.  See ChangeLog.13 for
2054         details.
2055
2056         * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
2057
2058 Mon Jun 29 20:12:41 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2059
2060         * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
2061
2062         * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
2063         void since it is evaluated in a comma list.
2064
2065         * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
2066         argument as a long and cast `NUM' to long to ensure it is of the
2067         proper width.  Wrap macro arguments in parens when they appear in
2068         the expansion.
2069
2070         * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2071
2072         * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2073         (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
2074         function argument return type.
2075         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
2076         REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
2077
2078         * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
2079         cpp_message.
2080
2081         * dbxout.c: Fix the comments after an #endif to reflect the actual
2082         condition tested in the preceding #if.
2083
2084         * except.c (find_all_handler_type_matches): Switch to old-style
2085         function definition.
2086
2087         * expr.c (expand_builtin): Remove unused variable `type' twice.
2088
2089         * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
2090         to an unsigned long.
2091
2092         * haifa-sched.c (print_insn_chain): Remove unused function.
2093
2094         * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
2095         definition.
2096
2097         * toplev.c: When testing whether to include dbxout.h, also include
2098         it when XCOFF_DEBUGGING_INFO is defined.
2099
2100         * unroll.c (unroll_loop): Add parentheses around assignment used
2101         as truth value.
2102
2103 Mon Jun 29 12:18:00 1998  Catherine Moore  <clm@cygnus.com>
2104
2105         * config/lb1spc.asm (.div, .udiv): Replace routines.
2106
2107 Mon Jun 29 09:44:24 1998  Mark Mitchell  <mark@markmitchell.com>
2108
2109         * rtl.h: Update comment about special gen_rtx variants.
2110         * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
2111
2112 Sun Jun 28 20:58:51 1998  Jeffrey A Law  (law@cygnus.com)
2113
2114         * choose-temp.c (choose_temp_base): Restore original variant of
2115         this function for compatibility.
2116         (make_temp_file): This is the new, preferred interface to create
2117         temporary files.
2118         * collect2.c (choose_temp_base): Delete declaration.
2119         (make_temp_file): Declare.
2120         (temp_filename_length, temp_filename): Delete.
2121         (main): Use make_temp_file to get temporary files.  Use --lang-c
2122         to force the resulting ctort/dtor file to be compiled with the C
2123         compiler.  Make sure to remove temporary files on all exit paths.
2124         * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
2125         defined.
2126         (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
2127         not defined.
2128         (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
2129
2130 Sun Jun 28 08:57:09 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2131
2132         * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
2133         getwd.
2134
2135         * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
2136         NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD. 
2137
2138         * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
2139         (my_strerror): Add prototype and make it static.
2140
2141         * collect2.c: Likewise.
2142
2143         * cpplib.c: Likewise.
2144
2145         * gcc.c: Likewise, but keep `my_strerror' extern.
2146
2147         * protoize.c: Likewise.
2148
2149         * pexecute.c (my_strerror): Add argument to prototype.
2150
2151         * system.h: Add prototypes for getcwd, getwd and strerror.  Add
2152         extern decls for sys_nerr and sys_errlist.  Make abort decl
2153         explicitly extern.
2154
2155         * getpwd.c: Remove decls for getwd and getcwd.
2156
2157 Sun Jun 28 02:11:16 PDT 1998 Jeff Law  (law@cygnus.com)
2158
2159         * version.c: Bump for snapshot.
2160
2161 Sat Jun 27 23:32:25 1998  Richard Henderson  <rth@cygnus.com>
2162
2163         * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
2164         of rtx_unsafe_p.  Use modified_between_p instead of reg_set_between_p.
2165         Allow FP moves to be optimized.
2166         (rtx_unsafe_p): Delete.
2167
2168 Sat Jun 27 23:02:04 1998  Richard Henderson  <rth@cygnus.com>
2169
2170         * objc/archive.c: Remove <string.h> prototypes.
2171
2172 Sat Jun 27 22:37:05 1998  Jeffrey A Law  (law@cygnus.com)
2173
2174         * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
2175
2176         * Makefile.in (gencheck): Remove $(TREE_H) dependency.
2177
2178 Sat Jun 27 20:20:00 1998  John Carr  <jfc@mit.edu>
2179
2180         * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
2181         * dsp16xx.c (next_cc_user_unsigned): New function.
2182         Remove save_next_cc_user_code.
2183         (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
2184         * dsp16xx.md: Call next_cc_user_unsigned instead of using
2185         save_next_cc_user_code.
2186         Use gen_rtx_* functions instead of gen_rtx.
2187
2188 Sat Jun 27 20:18:34 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2189
2190         * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
2191
2192 Sat Jun 27 16:45:42 1998  Jeffrey A Law  (law@cygnus.com)
2193
2194         * flow.c (count_reg_sets): New function.
2195         (count_reg_sets_1, count_ref_references): Likewise.
2196         (recompute_reg_usage): Likewise.
2197         * rtl.h (recompute_reg_usage): Add prototype.
2198         * toplev.c (rest_of_compilation): Call recompute_reg_usage just
2199         before local register allocation.
2200
2201 Sat Jun 27 13:15:30 1998  Richard Henderson  <rth@cygnus.com>
2202
2203         * alpha.md (negsf, negdf): Revert Jan 22 change.
2204
2205 Sat Jun 27 07:35:21 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2206
2207         * mkstemp.c: Include gansidecl.h.  Rename uint64_t to gcc_uint64_t.
2208         (mkstemp): Remove size specifier for variable `letters'.  Call
2209         gettimeofday, not __gettimeofday.
2210
2211         * Makefile.in (EXPR_H): New dependency variable.
2212         (c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
2213         (c-iterate.o): Likewise.
2214         (gencheck): Depend on $(TREE_H) instead of tree.h, etc.
2215         (stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
2216         (toplev.o): Likewise.  Also depend on $(RECOG_H) instead of recog.h.
2217         (varasm.o): Depend on $(EXPR_H) instead of expr.h.
2218         (function.o): Likewise.
2219         (stmt.o): Likewise.
2220         (except.o): Likewise.
2221         (expr.o): Likewise.
2222         (calls.o): Likewise.
2223         (expmed.o): Likewise.
2224         (explow.o): Likewise.
2225         (optabs.o): Likewise.
2226         (sdbout.o): Likewise.
2227         (dwarf2out.o): Likewise.
2228         (emit-rtl.o): Likewise.
2229         (integrate.o): Likewise.
2230         (jump.o): Likewise.
2231         (cse.o): Likewise.
2232         (gcse.o): Likewise.  Also depend on $(BASIC_BLOCK_H) instead of
2233         basic-block.h.
2234         (loop.o): Depend on $(EXPR_H) instead of expr.h.
2235         (unroll.o): Likewise.
2236         (combine.o): Likewise.
2237         (reload.o): Likewise.
2238         (reload1.o): Likewise.
2239         (caller-save.o): Likewise.
2240         (reorg.o): Likewise.
2241         (alias.o): Don't depend on insn-codes.h.
2242         (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
2243         (insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
2244         (insn-opinit.o): Likewise.
2245
2246 Sat Jun 27 01:35:14 1998  Jeffrey A Law  (law@cygnus.com)
2247
2248         * choose-temp.c (choose_temp_base): Remove MPW bits.  Use mkstemp
2249         instead of mktemp.
2250         * gcc.c (MKTEMP_EACH_FILE): Define.
2251         (main): No need to call choose_temp_base if we are going to
2252         use choose_temp_base to create each file later.
2253         * mkstemp.c: New file.  Adapted from glibc.
2254         * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o
2255         (mkstemp.o): Add dependencies.
2256
2257         * configure.in (gettimeofday): Check for its existance.
2258         * config.in (HAVE_GETTIMEOFDAY): Define.
2259         * configure: Rebuilt.
2260
2261 1998-06-26  Michael Meissner  <meissner@cygnus.com>
2262
2263         * rs6000.md (ne 0, non power case): Add missing & constraint.
2264         Name pattern ne0.
2265         (negative abs insns): Add pattern names.
2266
2267 Fri Jun 26 17:36:42 1998  Dave Love  <d.love@dl.ac.uk>
2268
2269         * Makefile.in (install-info): Run install-info program in separate
2270         loop.
2271
2272 Fri Jun 26 16:03:15 1998  Michael Meissner  <meissner@cygnus.com>
2273
2274         * haifa-sched.c (schedule_block): Add hooks for the machine
2275         description to reorder the ready list, and update how many more
2276         instructions can be issued this cycle.
2277         * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
2278         
2279 Fri Jun 26 11:54:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2280
2281         * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
2282         Explicitly mark the constant being compared against as unsigned.
2283         * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
2284         Fully initialize final members.
2285         (mem_aligned_8): Explicit init of offset to zero.
2286         (output_function_prologue): Explicit init of n_regs to zero.
2287         (output_function_epilogue): Likewise, and mark arg size as
2288         unused.
2289         (init_cumulative_args): Mark libname and indirect as unused.
2290         (function_arg_pass_by_reference): Likewise for cum and named.
2291         (sparc_builtin_saveregs): Likewise for arglist.
2292         (sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
2293
2294 Fri Jun 26 06:58:54 1998  Richard Earnshaw (rearnsha@arm.com)
2295
2296         * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
2297         if reloading a MEM.
2298
2299         * arm.h (arm_adjust_cost): Renamed bogus prototype from 
2300         arm_adjust_code.
2301         (bad_signed_byte_operand): Add prototype.
2302         * arm.c (arm_override_options): Make I unsigned.
2303         (const_ok_for_arm): Add casts to the constants. 
2304         (load_multiple_operation): Don't redeclare elt in sub-block.
2305         (arm_gen_movstrqi): Delete external declaration of optimize.
2306         (gen_compare_reg): Declare parameter fp.
2307
2308         * arm.c (final_prescan_insn): Only initialize scanbody if the insn
2309         has a pattern.
2310
2311 Fri Jun 26 09:31:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2312
2313         * alpha.c: Include system.h and toplev.h.
2314         (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
2315         (const48_operand): Likewise.
2316         (mode_width_operand): Likewise.
2317         (mode_mask_operand): Likewise.
2318         (mul8_operand): Likewise.
2319         (current_file_function_operand): Likewise.
2320         (signed_comparison_operator): Likewise.
2321         (divmod_operator): Likewise.
2322         (any_memory_operand): Likewise.
2323         (alpha_return_addr): Likewise for parameter `frame'.
2324         (alpha_builtin_saveregs): Likewise for parameter `arglist'.
2325         (vms_valid_decl_attribute_p): Likewise for parameters `decl' and
2326         `attributes'.
2327         (alpha_start_function): Likewise for parameter `decl'.  Use
2328         HOST_WIDE_INT_PRINT_DEC in call to fprintf.  Fix various format
2329         specifiers.  Remove unused variables `lab' and `name'.
2330         (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
2331         (check_float_value): Likewise for parameter `overflow'.
2332         (alpha_need_linkage): Likewise for parameters `name' and `is_local'.
2333         
2334         * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
2335         taking an argument.
2336         (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
2337         (ASM_OUTPUT_CHAR): Likewise.
2338         (ASM_OUTPUT_BYTE): Likewise.
2339         (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
2340         fprintf.
2341         (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
2342         Add prototypes for functions in alpha.c.
2343
2344         * alpha.md (ashldi3): Add default case in switch.
2345
2346 1998-06-26  Manfred Hollstein  <manfred@s-direktnet.de>
2347
2348         * Makefile.in (gcc_version, gcc_version_trigger): New macros.
2349         (version): Initialize from $(gcc_version).
2350
2351         * configure.in (version): Rename to gcc_version.
2352         (gcc_version_trigger): New variable; call AC_SUBST for it and
2353         emit it into the generated config.status.
2354         * configure: Regenerate.
2355
2356 Thu Jun 25 12:47:41 1998  Mark Mitchell  <mark@markmitchell.com>
2357
2358         * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
2359         nodes that are not expressions.
2360
2361 Thu Jun 25 15:08:16 1998  Mark Mitchell  <mark@markmitchell.com>
2362
2363         * invoke.texi (-fstrict-aliasing): Document.
2364         * rtl.texi (MEM_ALIAS_SET): Document.
2365
2366         * flags.h (flag_strict_aliasing): Declare.
2367         * toplev.c (flag_strict_aliasing): Define.
2368         (f_options): Add -strict-aliasing.
2369         (main): Set flag_strict_aliasing if -O2 or higher.
2370
2371         * tree.h (tree_type): Add alias_set field.
2372         (TYPE_ALIAS_SET): New macro.
2373         (TYPE_ALIAS_SET_KNOWN_P): Likewise.
2374         (get_alias_set): Declare.
2375         * tree.c (lang_get_alias_set): Define.
2376         (make_node): Initialize TYPE_ALIAS_SET.
2377         (get_alias_set): New function.
2378         * print-tree.c (print_node): Dump the alias set for a type.
2379
2380         * c-tree.h (c_get_alias_set): Declare.
2381         * c-common.c (c_get_alias_set): New function.
2382         * c-decl.c (init_decl_processing): Set lang_get_alias_set.
2383
2384         * expr.c (protect_from_queue): Propogage alias sets.
2385         (expand_assignment): Calculate alias set for new MEMs.
2386         (expand_expr): Likewise.
2387         * function.c (put_var_into_stack): Likewise.
2388         (put_reg_into_stack): Likewise.
2389         (gen_mem_addressof): Likewise.
2390         (assign_parms): Likewise.
2391         * stmt.c (expand_decl): Likewise.
2392         * varasm.c (make_decl_rtl): Eliminate redundant clearing of
2393         DECL_RTL.  Calculate alias set for new MEMs. 
2394
2395         * rtl.def (REG): Add dummy operand.
2396         (MEM): Add extra operand to store the MEM_ALIAS_SET.
2397         * rtl.h (MEM_ALIAS_SET): New macro.
2398         (gen_rtx_MEM): Declare.
2399         * emit-rtl.c (gen_rtx_MEM): New function.
2400         * gengenrtl.c (sepcial_rtx): Make MEMs special.
2401
2402         * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
2403         (DIFFERENT_ALIAS_SETS_P): Likewise.
2404         (canon_rtx): Propogate the alias set to the new MEM.
2405         (true_dependence): Check the alias sets.
2406         (anti_dependence): Likewise.
2407         (output_dependence): Likewise.
2408         * explow.c (stabilize): Progoate alias sets.
2409         * integrate.c (copy_rtx_and_substitute): Likewise.
2410         * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
2411         in an unpredictable state.  Propogate alias sets.
2412         * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
2413         we have no alias information.
2414         
2415 Thu Jun 25 16:59:18 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
2416
2417         * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
2418         (find_all_handler_type_matches): Add function prototype.
2419         * eh-common.h (CATCH_ALL_TYPE): Definition added.
2420         * except.c (find_all_handler_type_matches): Add function to find all
2421         runtime type info in the exception table.
2422         (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
2423
2424 Thu Jun 25 15:47:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2425
2426         * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
2427
2428         * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
2429         `yhigh' and `bit' into the scope in which they are used.
2430         (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
2431         `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
2432
2433         * rs6000.c: Move include of output.h below tree.h.  Include toplev.h.
2434         (any_operand): Mark unused parameters `op' and `mode' with
2435         ATTRIBUTE_UNUSED. 
2436         (count_register_operand): Likewise for parameter `mode'.
2437         (fpmem_operand): Likewise.
2438         (short_cint_operand): Likewise.
2439         (u_short_cint_operand): Likewise.
2440         (non_short_cint_operand): Likewise.
2441         (got_operand): Likewise.
2442         (got_no_const_operand): Likewise.
2443         (non_add_cint_operand): Likewise.
2444         (non_logical_cint_operand): Likewise.
2445         (mask_operand): Likewise.
2446         (current_file_function_operand): Likewise.
2447         (small_data_operand): Likewise for parameters `op' and `mode' but
2448         only when !TARGET_ELF.
2449         (init_cumulative_args): Mark parameters `libname' with
2450         ATTRIBUTE_UNUSED.
2451         (function_arg_pass_by_reference): Likewise for parameters `cum',
2452         `mode' and `named'.
2453         (expand_builtin_saveregs): Likewise for parameter `args'.
2454         (load_multiple_operation): Likewise for parameter `mode'.
2455         (store_multiple_operation): Likewise.
2456         (branch_comparison_operator): Likewise.
2457         (secondary_reload_class): Likewise.
2458         (print_operand): Add parentheses around & operation.
2459         (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
2460         (output_epilog): Likewise.  Cast argument to fprintf to int.
2461         (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
2462         (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
2463         `attributes', `identifier' and `args'.
2464         (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
2465         (rs6000_comp_type_attributes): Likewise for parameters `type1' and
2466         `type2'.
2467         (rs6000_set_default_type_attributes): Likewise for parameter `type'.
2468
2469         * rs6000.h (RTX_COSTS): Add parentheses around & operation.
2470         (toc_section, private_data_section, trap_comparison_operator): Add
2471         prototypes.
2472
2473         * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
2474         prototypes.
2475
2476         * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
2477
2478         * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
2479         xcoffout_begin_block, xcoffout_end_epilogue,
2480         xcoffout_end_function, xcoffout_end_block,
2481         xcoff_output_standard_types, xcoffout_declare_function,
2482         xcoffout_source_line): Add prototypes.
2483
2484 Thu Jun 25 09:54:55 1998  Nick Clifton  <nickc@cygnus.com>
2485
2486         * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
2487         noticed by grahams@rcp.co.uk.
2488
2489 Thu Jun 25 11:12:29 1998  Dave Brolley  <brolley@cygnus.com>
2490
2491         * gcc.c (default_compilers): Use new | syntax to eliminate
2492         string concatenation.
2493
2494 Thu Jun 25 01:00:48 1998  Richard Henderson  <rth@cygnus.com>
2495
2496         * alpha.c (alpha_function_name): Delete.
2497         (alpha_ra_ever_killed): Notice current_function_is_thunk.
2498         (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
2499         (alpha_start_function): Reorg from output_prologue.
2500         (alpha_end_function): Reorg from output_epilogue.
2501         * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
2502         (ASM_DECLARE_FUNCTION_SIZE): New.
2503         (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
2504         (PROFILE_BEFORE_PROLOGUE): Set.
2505         (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
2506         * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
2507
2508 Thu Jun 25 01:18:47 1998  John Wehle  (john@feith.com)
2509
2510         * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
2511
2512 1998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2513
2514         * expr.c (expand_assignment): Rework address calculation for structure
2515         field members to expose more invariant computations to the loop
2516         optimizer.
2517         (expand_expr): Likewise.
2518
2519 Wed Jun 24 22:44:22 1998  Jeffrey A Law  (law@cygnus.com)
2520
2521         * local-alloc.c (block_alloc): Do not try to avoid false dependencies
2522         when SMALL_REGISTER_CLASSES is nonzero.
2523
2524 Wed Jun 24 17:55:15 1998  Klaus Kaempf  <kkaempf@progis.de>
2525
2526         * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
2527
2528 Wed Jun 24 16:27:23 1998  John Carr  <jfc@mit.edu>
2529
2530         * expr.c (get_memory_rtx): New function.
2531         (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
2532         string functions.
2533
2534         * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
2535
2536         * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
2537         * expr.c: Likewise.
2538         * explow.c: Likewise.
2539         * combine.c: Likewise.
2540         * reload1.c: Likewise.
2541         * gcse.c: Likewise.
2542
2543 Wed Jun 24 15:13:01 1998  Dave Brolley  <brolley@cygnus.com>
2544
2545         * README.gnat: Add patch for new lang_decode_options interface.
2546
2547 Wed Jun 24 09:14:04 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
2548
2549         * except.c (start_catch_handler): Do nothing if EH is not on.
2550
2551 1998-06-24  Manfred Hollstein  <manfred@s-direktnet.de>
2552
2553         * configure.in (gxx_include_dir): Initialize default value depending on
2554         new flag --enable-version-specific-runtime-libs; remove superfluous
2555         default initialization afterwards.
2556         * configure: Regenerate.
2557
2558 Wed Jun 24 01:32:12 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2559
2560         * toplev.c (rest_of_compilation): Revert May 15 change.
2561
2562 Tue Jun 23 21:27:27 1998  Ken Raeburn  <raeburn@cygnus.com>
2563
2564         * reload.c (find_reloads): Fix check for failure to match any
2565         alternative, to account for Mar 26 change in initial "best" cost.
2566
2567 Tue Jun 23 16:44:21 1998  Dave Brolley  <brolley@cygnus.com>
2568
2569         * cpplib.c (do_line): Typo broke #line directive.
2570         (cpp_message_from_errno): New function.
2571         (cpp_error_from_errno): Call cpp_message_from_errno.
2572         * cpplib.h (cpp_message_from_errno): New function.
2573
2574 Tue Jun 23 13:38:18 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
2575
2576         * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
2577         functions to return exception descriptor information.
2578         (find_exception_handler): Pass match_info field to runtime matcher,
2579         not a descriptor table entry.
2580
2581 Tue Jun 23 09:30:58 1998  Dave Love  <d.love@dl.ac.uk>
2582
2583         * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
2584         accompany previous Makefile.in (install-info) change.
2585
2586 Tue Jun 23 10:06:07 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
2587
2588         * eh-common.h (struct __eh_info): Remove coerced value field.
2589         * libgcc2.c (find_exception_handler): Don't set coerced_value field.
2590         * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use 
2591         POINTER_SIZE instead of Pmode.
2592         (expand_start_all_catch): Call start_catch_handler() if we are not
2593         using new style exceptions.
2594
2595 Tue Jun 23 06:45:00 1998  Catherine Moore  <clm@cygnus.com>
2596
2597         * varasm.c (assemble_variable): Remove reference to warn_bss_align.
2598
2599 Mon Jun 22 23:57:31 1998  David S. Miller <davem@pierdol.cobaltmicro.com>
2600
2601         * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
2602         extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
2603         subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
2604         splits and peepholes): Change remaining generic gen_rtx calls to
2605         specific genrtl ones.
2606         * config/sparc/sparc.c: Likewise.
2607         
2608 Mon Jun 22 22:21:46 1998  Richard Henderson  <rth@cygnus.com>
2609
2610         * gcc.c (handle_braces): Recognize | between options as an or.
2611
2612 Mon Jun 22 23:13:47 1998  John Wehle  (john@feith.com)
2613
2614         * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
2615         * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
2616
2617         * i386.md (exception_receiver): Define.
2618
2619 Mon Jun 22 12:01:48 1998  Jim Wilson  <wilson@cygnus.com>
2620
2621         * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
2622         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
2623         (install-common): Use them.
2624
2625         * gcse.c (add_label_notes): New function.
2626         (pre_insert_insn): Call it.
2627         * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
2628         pass the label to set_label_in_map.
2629
2630 Mon Jun 22 19:01:14 1998  Dave Love  <d.love@dl.ac.uk>
2631
2632         * Makefile.in (install-info): Fix typpo in previous change.
2633
2634 Mon Jun 22 11:10:00 1998  Catherine Moore  <clm@cygnus.com>
2635
2636         * varasm.c (assemble_variable):  Emit alignment warning.
2637
2638 Mon Jun 22 08:18:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2639
2640         * Makefile.in (varasm.o): Depend on sdbout.h.
2641         (sdbout.o): Depend on toplev.h.
2642
2643         * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
2644         use %ld specifier.
2645
2646         * final.c (shorten_branches): Cast first arg of `bzero' to char *.
2647
2648         * genextract.c (main): When creating insn-extract.c, mark variable
2649         `i' with ATTRIBUTE_UNUSED.
2650
2651         * genpeep.c (main): When creating insn-peep.c, mark variables
2652         `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
2653
2654         * objc/init.c (__objc_tree_print): Wrap function definition in
2655         macro `DEBUG'.
2656
2657         * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
2658         and use %ld specifier.
2659         (adorn_decl): Likewise, twice.
2660
2661         * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
2662
2663         * sdbout.c: Include output.h and toplev.h.
2664         (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
2665         `a'.  Cast `a' to HOST_WIDE_INT to force it to always be so.
2666         (PUT_SDB_SIZE): Likewise.
2667
2668         * sdbout.h (sdbout_mark_begin_function): Add prototype.
2669
2670         * stmt.c (check_for_full_enumeration_handling): Cast argument of
2671         `warning' to long and use %ld specifier.
2672
2673         * toplev.c (main): Likewise for `fprintf'.
2674
2675         * toplev.h (output_file_directive): Add prototype.
2676
2677         * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
2678         call to `fprintf'.
2679         (precondition_loop_p): Likewise.
2680
2681         * varasm.c Include sdbout.h.
2682         (assemble_static_space): Move sometimes-unused variable `rounded'
2683         into the scope in which it is used. 
2684         
2685         * mips.c (gpr_mode): Don't say `static' twice.
2686
2687         * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
2688
2689         * objc/objc-act.c (init_selector): Hide prototype and definition.
2690
2691         * optabs.c (gen_cond_trap): Remove unused variable `icode'.
2692         
2693         * regmove.c (copy_src_to_dest): Likewise for `i'.
2694
2695         * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
2696         (add_ext_symbol): Likewise.
2697         (add_file): Likewise.
2698         (parse_def): Likewise.
2699         (write_varray): Use HOST_PTR_PRINTF to print a pointer.  Fix
2700         remaining format specifiers and arguments.
2701         (write_object): Likewise, several times.
2702         (read_seek): Likewise.
2703         (out_of_bounds): Likewise.
2704         (allocate_cluster): Likewise.
2705         (xmalloc): Likewise.
2706         (xcalloc): Likewise.
2707         (xrealloc): Likewise.
2708         (xfree): Likewise.
2709
2710         * mips-tdump.c (print_symbol): Likewise.
2711         
2712 Sun Jun 21 17:05:34 1998  Dave Love  <d.love@dl.ac.uk>
2713
2714         * Makefile.in (install-info): Use install-info program if
2715         available, per GNU standard.
2716
2717 Sun Jun 21 18:56:44 1998  Jeffrey A Law  (law@cygnus.com)
2718
2719         * invoke.texi: Document -mrelax for the mn10300 and mn10200.
2720
2721         * basic-block.h (init_regset_vector): Delete declaration.
2722         * flow.c (init_regset_vector): Make it static and add a prototype.
2723
2724         * bitmap.h (debug_bitmap): Declare.
2725
2726         * haifa-sched.c (debug_ready_list): Make static.
2727
2728         * toplev.h (fancy_abort): Declare.
2729
2730 Sun Jun 21 18:30:13 1998  H.J. Lu  (hjl@gnu.org)
2731
2732         * basic-block.h (init_regset_vector): New declaration.
2733
2734         * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
2735
2736         * global.c: Include machmode.h amd move hard-reg-set.h before
2737         rtl.h.
2738
2739         * haifa-sched.c (insn_issue_delay, birthing_insn_p,
2740         adjust_priority, print_insn_chaino): New declaration.
2741         (schedule_insns): Remove declaration.
2742         (init_target_units, get_visual_tbl_length,
2743         init_block_visualization): Add prototype.
2744
2745         * integrate.c (pushdecl, poplevel): Remove declaration.
2746
2747         * rtl.h (expand_expr): Remove declaration.
2748
2749         * loop.c (oballoc): Remove declaration.
2750         (replace_call_address): Add prototype.
2751
2752 Sun Jun 21 01:08:17 PDT 1998 Jeff Law  (law@cygnus.com)
2753
2754         * version.c: Bump for snapshot.
2755
2756 Sun Jun 21 01:16:38 1998  John Wehle  (john@feith.com)
2757
2758         * i386.c (output_fp_conditional_move): Don't bother handling
2759         (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
2760         prevent this from happening.
2761
2762         * i386.md (nonlocal_goto_receiver): Delete.
2763
2764 Sun Jun 21 00:42:20 1998  H.J. Lu  (hjl@gnu.org)
2765
2766         * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
2767         -DCRTSTUFFS_O.
2768         (INSTALL): cd $(srcdir) before make.
2769
2770         * flow.c (allocate_for_life_analysis, init_regset_vector):
2771         Remove declaration.
2772
2773         * function.h (get_first_block_beg): New declaration.
2774
2775         * gbl-ctors.h (__do_global_dtors): Add prototype.
2776
2777         * gcov-io.h (__fetch_long): New declaration.
2778         (__store_long): Likewise.
2779         (__read_long): Likewise.
2780         (__write_long): Likewise.
2781
2782         * gcov.c (print_usage): New declaration.
2783
2784         * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
2785
2786 Sat Jun 20 00:36:16 1998  Jeffrey A Law  (law@cygnus.com)
2787
2788         * calls.c (expand_call): Initialize "src" and "dest".
2789         * stmt.c (expand_return): Likewise.
2790         * expmed.c (extract_split_bit_field): Similarly for "result"
2791         * gcse.c (compute_hash_table): Mark first arg as unused.
2792         * jump.c (jump_optimize): Initialize reversep.
2793         * tree.c (make_node): Initialize length.
2794
2795         * c-common.c (check_format_info): Initialize length_char and
2796         fci to keep -Wall quiet.
2797
2798         * except.c (jumpif_rtx): Put declaration and definition
2799         inside a suitable #ifdef.
2800         (jumpifnot_rtx): Delete dead function.
2801
2802         * i386.h (output_int_conditional_move): Declare.
2803         (output_fp_conditional_move): Likewise.
2804         (ix86_can_use_return_insn_p): Likewise.
2805
2806         * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
2807
2808 Sat Jun 20 00:27:40 1998  Graham  <grahams@rcp.co.uk>
2809
2810         * alias.c: Include toplev.h
2811         * caller-save.c: Include toplev.h
2812         * combine.c: Include toplev.h
2813         * flow.c Include toplev.h
2814         * global.c: Include toplev.h
2815         * jump.c: Include toplev.h
2816         * local-alloc.c: Include toplev.h
2817         * loop.c: Include toplev.h
2818         * regmove.c: Include toplev.h
2819         * stupid.c: Include toplev.h
2820         * unroll.c: Include toplev.h
2821         * Makefile.in: Add toplev.h dependencies.
2822
2823 Fri Jun 19 22:40:25 1998  Jason Merrill  <jason@yorick.cygnus.com>
2824
2825         * regmove.c (copy_src_to_dest): Add decl for loop_depth.
2826
2827         * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
2828         * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
2829         Add parens to various macros.
2830
2831 Fri Jun 19 23:22:42 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
2832
2833         * c-typeck.c (pop_init_level): Warn about implicit zero initialization
2834         of struct members.
2835
2836 Fri Jun 19 23:06:33 1998  Jason Merrill  <jason@yorick.cygnus.com>
2837
2838         * varasm.c (assemble_start_function): Add weak_global_object_name.
2839         * tree.c (get_file_function_name): Use it.
2840
2841 Fri Jun 19 22:55:14 1998  Jeffrey A Law  (law@cygnus.com)
2842
2843         * except.c (jumpif_rtx): Make static and add prototype.
2844         (jumpifnot_rtx): Likewise.
2845
2846         * README.gnat: Add a build patch from Fred Fish.
2847
2848         * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
2849
2850         * Makefile.in (c-iterate.o): Depend on expr.h.
2851
2852 Fri Jun 19 20:38:34 1998  H.J. Lu  (hjl@gnu.org)
2853
2854         * except.h (emit_unwinder, end_eh_unwinder): Removed.
2855
2856         * dwarfout.c (getpwd): Add prototype.
2857         (is_pseudo_reg, type_main_variant, is_tagged_type,
2858         is_redundant_typedef): New declaration.
2859         (output_decl): Add prototype for FUNC.
2860         (type_main_variant): Make it static.
2861         (is_tagged_type): Likewise.
2862         (is_redundant_typedef): Likewise.
2863
2864         * expr.c (do_jump_by_parts_greater_rtx): Removed.
2865         (truthvalue_conversion): Likewise.
2866
2867         * c-iterate.c: Include "expr.h".
2868         (expand_expr): Use proper values when calling the function.
2869
2870         * explow.c (emit_stack_save): Add prototype for FCN.
2871         (emit_stack_restore): Likewise.
2872
2873         * dwarf2out.c (getpwd): Add prototype.
2874
2875         * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
2876
2877         * c-typeck.c (c_expand_asm_operands): Use proper values when calling
2878         expand_expr.
2879
2880         * c-lex.c (yyprint): Add prototype.
2881         (check_newline, build_objc_string): Remove declaration.
2882
2883         * c-tree.h (comptypes_record_hook): Removed.
2884         (finish_incomplete_decl): New prototype.
2885
2886         * alias.c (find_base_value): Add prototype.
2887         (true_dependence): Add prototype for function argument.
2888
2889         * c-aux-info.c (xmalloc): Remove declaration.
2890
2891 Fri Jun 19 20:23:05 1998   Robert Lipe  <robertl@dgii.com>
2892
2893         * i386.c: Include system.h.   Remove redundant includes.
2894         (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
2895         (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
2896         'identifier', 'args'.
2897         (i386_valid_type_attribute_p): Likewise for 'attributes'.
2898         (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
2899         (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
2900         and 'named'.
2901         (symbolic_operand): Likewise for 'mode'.
2902         (call_insn_operand): Likewise.
2903         (expander_call_insn_operand): Likewise.
2904         (ix86_logical_operator): Likewise.
2905         (ix86_binary_operator_ok): Likewise.
2906         (emit_pic_move): Likewise.
2907         (VOIDmode_compare_op): Likewise.
2908         (is_mul): Likewise.
2909         (str_immediate_operand): Likewise.
2910         (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
2911         (asm_output_function_prefix): Likewise for 'name'.
2912         (function_prologue): Likewise for 'file', and 'size'.
2913         (function_epilogue): Likewise.
2914
2915 1998-06-19  Jim Wilson  <wilson@cygnus.com>
2916
2917         * loop.h (struct induction): Clarify comment for unrolled field.
2918         * unroll.c (find_splittable_givs): Move set of unrolled field
2919         after address validity check.
2920
2921 Fri Jun 19 18:38:04 1998  Michael Meissner  <meissner@cygnus.com>
2922
2923         * config/fp-bit.c (INLINE): Only define if not already defined.
2924
2925 1998-06-19  Manfred Hollstein  <manfred@s-direktnet.de>
2926
2927         * Makefile.in (installdirs): Loop over directories in $(libsubdir)
2928         creating probably missing ones, instead of single if statements.
2929
2930 Fri Jun 19 10:43:52 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2931
2932         * c-common.c (truthvalue_conversion): Protect side effects in the
2933         expression when splitting a complex value.
2934         * fold-const.c (fold): Likewise. 
2935
2936 Fri Jun 19 02:31:16 1998  Klaus Kaempf (kkaempf@progis.de)
2937
2938         * cccp.c (hack_vms_include_specification): rewrite to handle
2939         '#include <dir/file.h>' correctly.
2940
2941 Fri Jun 19 02:24:11 1998  H.J. Lu  (hjl@gnu.org)
2942
2943         * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
2944
2945 Fri Jun 19 02:10:10 1998  John Wehle  (john@feith.com)
2946
2947         * i386.c (notice_update_cc): Integer conditional moves don't
2948         affect cc0.
2949
2950         * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
2951         to support LT, LE, GE, and GT signed integer comparisons.
2952         (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
2953         movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
2954         is LT, LE, GE, or GT.
2955         (movdicc): Remove code resulting from an earlier patch which
2956         didn't apply correctly.
2957
2958 Fri Jun 19 02:00:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2959
2960         * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
2961         consider a MEM in FP mode as equal.
2962
2963 Fri Jun 19 01:02:17 1998  Jeffrey A Law  (law@cygnus.com)
2964
2965         * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
2966         duplicate declarations of a function.
2967
2968 Fri Jun 19 00:33:33 1998  H.J. Lu  (hjl@gnu.org)
2969
2970         * config/float-i386.h: New.
2971
2972         * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
2973
2974 Thu Jun 18 20:11:00 1998  Jim Wilson  <wilson@cygnus.com>
2975
2976         * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
2977         indexed arrays.  Call free at the end of the function for them.
2978         * haifa-sched.c (schedule_insns): Likewise.
2979
2980 Thu Jun 18 18:16:01 1998  Jim Wilson  <wilson@cygnus.com>
2981
2982         * dwarf2out.c (size_of_string): Do count backslashes.
2983
2984 Thu Jun 18 11:43:54 1998  Nick Clifton  <nickc@cygnus.com>
2985
2986         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG 
2987         addressing when one register is the frame pointer or stack
2988         pointer.  Disallow REG+CONST addressing in HI mode.
2989
2990 Thu Jun 18 17:30:39 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2991
2992         * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
2993         RELOAD_FOR_INSN.
2994
2995 Thu Jun 18 09:36:50 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2996
2997         * Makefile.in (c-lang.o): Depend on output.h.
2998
2999         * c-lang.c: Include output.h.
3000
3001         * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
3002
3003         * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
3004
3005         * genrecog.c (write_subroutine): When writing insn-recog.c, mark
3006         variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
3007         with ATTRIBUTE_UNUSED.
3008
3009         * regmove.c (copy_src_to_dest): Make function static to match its
3010         prototype.
3011
3012         * reload1.c Include hard-reg-set.h before rtl.h to get macro
3013         HARD_CONST.  Include machmode.h before hard-reg-set.h.
3014
3015         * rtl.h: Prototype `retry_global_alloc' and wrap with macro
3016         HARD_CONST to protect usage of typedef HARD_REG_SET.
3017
3018         * tree.c: Prototype `_obstack_allocated_p'.
3019
3020         * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
3021         BSS_SECTION_ASM_OP.
3022
3023 Thu Jun 18 09:20:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3024
3025         * pa.c: Include system.h and toplev.h.  Remove redundant code.
3026         (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
3027         (symbolic_operand): Likewise.
3028         (symbolic_memory_operand): Likewise.
3029         (pic_label_operand): Likewise.
3030         (fp_reg_operand): Likewise.
3031         (pre_cint_operand): Likewise.
3032         (post_cint_operand): Likewise.
3033         (ireg_or_int5_operand): Likewise.
3034         (int5_operand): Likewise.
3035         (uint5_operand): Likewise.
3036         (int11_operand): Likewise.
3037         (uint32_operand): Likewise.
3038         (ior_operand): Likewise.
3039         (lhs_lshift_cint_operand): Likewise.
3040         (pc_or_label_operand): Likewise.
3041         (legitimize_pic_address): Likewise.
3042         (hppa_legitimize_address): Likewise for parameter `old'.
3043         (output_block_move): Likewise for parameter `size_is_constant'.
3044         (output_function_prologue): Likewise for parameter `size'.
3045         (output_function_epilogue): Likewise.
3046         (return_addr_rtx): Likewise for parameter `count'.
3047         (output_mul_insn): Likewise for parameter `unsignedp'.
3048         (hppa_builtin_saveregs): Likewise for parameter `arglist'.
3049         (output_bb): Likewise for parameter `operands'.
3050         (output_bvb): Likewise.
3051         (function_label_operand): Likewise for parameter `mode'.
3052         (plus_xor_ior_operator): Likewise.
3053         (shadd_operand): Likewise.
3054         (non_hard_reg_operand): Likewise.
3055         (eq_neq_comparison_operator): Likewise.
3056         (movb_comparison_operator): Likewise.
3057         (pa_combine_instructions): Likewise for parameter `insns'.
3058
3059         * pa.h: Add prototypes for functions `output_deferred_plabels',
3060         `override_options', `output_ascii', `output_function_prologue',
3061         `output_function_epilogue', `print_operand',
3062         `symbolic_expression_p', `reloc_needed', `compute_frame_size',
3063         `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
3064         `pa_adjust_cost', `pa_adjust_insn_length' and
3065         `secondary_reload_class'.
3066
3067 Wed Jun 17 22:28:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
3068
3069         * configure.in: Don't turn on collect2 unconditionally.
3070
3071 Wed Jun 17 20:20:48 1998  Mark Mitchell  <mark@markmitchell.com>
3072
3073         * cse.c (cse_basic_block): Don't include NOTE insns in the count
3074         that is used to decide whether or not it is time to erase the
3075         equivalence table.
3076
3077 Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 
3078
3079         * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
3080
3081 Wed Jun 17 19:05:03 1998  John Carr  <jfc@mit.edu>
3082
3083         * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
3084         (sched_analyze_2): Allow scheduling TRAP_IF.
3085
3086         * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
3087
3088         * rtl.h (TRAP_CODE): New macro.
3089
3090         * rtl.def (TRAP_IF): Change second operand type to rtx.
3091
3092         * optabs.c (gen_cond_trap): New function.
3093         (init_traps): New function.
3094         (init_optabs): Call init_traps.
3095         * expr.h: Declare gen_cond_trap.
3096
3097         * jump.c (jump_optimize): Optimize jumps to and around traps.
3098
3099         * sparc.md: Define trap instructions.
3100
3101         * rs6000.md: Define trap instructions.
3102         * rs6000.c (print_operand): New code 'V' for trap condition.
3103         (trap_comparison_operator): New function.
3104
3105         * m88k.md: Update use of TRAP_IF.
3106
3107         * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
3108         * c-decl.c (init_decl_processing): New builtin __builtin_trap.
3109         * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
3110
3111         * expr.c (expand_builtin): Error if __builtin_longjmp second argument
3112         is not 1.
3113
3114 Wed Jun 17 15:20:00 PDT 1998  Catherine Moore  <clm@cygnus.com>
3115
3116          * reload1.c (spill_hard_reg):  Check mode of register when
3117          spilling from scratch_list.
3118  
3119 Wed Jun 17 16:25:38 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
3120
3121         * except.c (add_new_handler): fix bug in finding last region handler.
3122         * libgcc2.c (find_exception_handler): Pass exception table pointer
3123         to runtime type matcher, not the match info field.
3124
3125 Wed Jun 17 15:57:48 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
3126
3127         * eh-common.h (struct eh_context): Add comment for hidden use of
3128         field dynamic_handler_chain.
3129         * except.c (get_dynamic_handler_chain): Comment on, and use the
3130         correct offset of the dynamic_handler_chain field.
3131
3132 1998-06-17 12:46:56 1998  Jim Wilson  <wilson@cygnus.com>
3133
3134         * mips/iris6.h (LINK_SPEC): Add -woff 131.
3135
3136 1998-06-17  Jason Merrill  <jason@yorick.cygnus.com>
3137
3138         * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
3139
3140         * configure.in: Don't disable collect2 when we have GNU ld.
3141
3142 Wed Jun 17 08:38:13 1998  Jeffrey A Law  (law@cygnus.com)
3143
3144         * fold-const.c (make_range): Do not widen the type of the expression.
3145
3146         * expr.c (check_max_integer_computation_mode): New function.
3147         (expand_expr): Avoid integer computations in modes wider than
3148         MAX_INTEGER_COMPUTATION_MODE.
3149         * fold-const.c (fold): Likewise.
3150         * tree.h (check_max_integer_computation_mode): Declare.
3151         * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
3152
3153         * configure.in (nm): Make a link to "nm" in the build tree too.
3154
3155         * mn10300.md (andsi3): Fix typo.
3156
3157 Tue Jun 16 22:58:40 1998  Richard Henderson  <rth@cygnus.com>
3158
3159         * reload1.c (reload_cse_regs): Call bzero instead of looping.
3160
3161 Tue Jun 16 18:30:35 1998  Jim Wilson  <wilson@cygnus.com>
3162
3163         * dwarf2out.c (stripattributes): Prepend '*' to the section name.
3164
3165 Tue Jun 16 16:49:26 1998  Richard Henderson  <rth@cygnus.com>
3166
3167         * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
3168         (output_prologue, output_epilogue): Merge VMS and OSF versions;
3169         Remove anything related to the actual code generation.
3170         (output_end_prologue): New function.
3171         (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
3172         (alpha_does_function_need_gp): Return false for VMS.
3173         (alpha_function_needs_gp): Make static.
3174         (add_long_const): Delete.
3175         (summarize_insn): Don't assume a SUBREG is of a REG.
3176         Prototype all static functions.  Rename VMS-specific global
3177         variables vms_*.
3178         * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
3179         (FUNCTION_BOUNDARY): Align to cache line.
3180         (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
3181         (FUNCTION_END_PROLOGUE): New macro.
3182         * alpha.md (attribute length): New.  Mark all insns.
3183         (return_internal, prologue_stack_probe_loop) New patterns.
3184         (prologue, init_fp, epilogue): New patterns.
3185         Disable peepholes.
3186         * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
3187
3188 Tue Jun 16 17:36:35 1998  Dave Brolley  <brolley@cygnus.com>
3189
3190         * toplev.c (lang_options): Add -trigraphs option for cpplib.
3191
3192 Tue Jun 16 23:33:24 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3193
3194         * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
3195         is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
3196         is earlier than RELOAD_FOR_INPUT_ADDRESS.
3197
3198 Tue Jun 16 13:15:16 1998  Jim Wilson  <wilson@cygnus.com>
3199
3200         * libgcc1-test.c (memcpy): Define.
3201
3202 Tue Jun 16 13:44:02 1998  Michael Meissner  <meissner@cygnus.com>
3203
3204         * genattrtab.c (struct attr_desc): Change int flags to bit
3205         fields.  Add bit fields for this being function_units_used
3206         or *_blockage_range attributes.
3207         (write_unit_name): New function to print a function unit name
3208         given unit #.
3209         (expand_units): Indicate whether this is function_units_used or
3210         *_blockage_range attributes.
3211         (write_toplevel_expr): Print function_units_used and
3212         *_blockage_range attributes in a more friendly fashion.
3213         (make_internal_attr): Indicate whether this attribute is either
3214         function_units_used or *_blockage_range.
3215
3216 Mon Jun 15 17:06:43 1998  Michael Meissner  <meissner@cygnus.com>
3217                           Jim Wilson  <wilson@cygnus.com>
3218
3219         * regmove.c (copy_src_to_dest): Do not copy src to dest if either
3220         the source or destination is special.
3221
3222 Mon Jun 15 13:20:33 1998  Jim Wilson  <wilson@cygnus.com>
3223
3224         * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
3225
3226 Mon Jun 15 07:16:29 PDT 1998 Jeff Law  (law@cygnus.com)
3227
3228         * version.c: Bump for snapshot.
3229
3230 Sat Jun 13 13:10:40 1998  Krister Walfridsson <cato@df.lth.se>
3231
3232         * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
3233         redefining it.
3234
3235 Fri Jun 12 18:06:45 1998  Doug Evans  <devans@egcs.cygnus.com>
3236
3237         * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
3238         (ENDFILE_SPEC): Add -lgloss.
3239
3240 Fri Jun 12 14:57:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3241
3242         * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
3243         (large_int): Likewise.
3244         (pc_or_label_operand): Likewise.
3245         (call_insn_operand): Likewise.
3246         (consttable_operand): Likewise.
3247         (m16_uimm3_b): Likewise.
3248         (m16_simm4_1): Likewise.
3249         (m16_nsimm4_1): Likewise.
3250         (m16_simm5_1): Likewise.
3251         (m16_nsimm5_1): Likewise.
3252         (m16_uimm5_4): Likewise.
3253         (m16_nuimm5_4): Likewise.
3254         (m16_simm8_1): Likewise.
3255         (m16_nsimm8_1): Likewise.
3256         (m16_uimm8_1): Likewise.
3257         (m16_nuimm8_1): Likewise.
3258         (m16_uimm8_m1_1): Likewise.
3259         (m16_uimm8_4): Likewise.
3260         (m16_nuimm8_4): Likewise.
3261         (m16_simm8_8): Likewise.
3262         (m16_nsimm8_8): Likewise.
3263         (m16_usym8_4): Likewise.
3264         (m16_usym5_4): Likewise.
3265         (mips_move_1word): Change type of variable `i' from int to size_t.
3266         (mips_move_2words): Likewise.
3267         (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
3268         (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
3269         (function_arg): Likewise.
3270         (function_arg_partial_nregs): Mark parameter `named' with
3271         ATTRIBUTE_UNUSED.
3272         (override_options): Use ISDIGIT instead of isdigit.
3273         (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
3274         (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
3275         (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
3276         function `fatal' to long before printing.  Use
3277         HOST_WIDE_INT_PRINT_DEC in fprintf.  Both changes done several
3278         times in this function.
3279         (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
3280         (function_epilogue): Likewise for parameters `file' and `size'.
3281         Print an int with "%d" not "%ld".
3282         (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
3283         (mips_function_value): Likewise for parameter `func'.
3284         (function_arg_pass_by_reference): Likewise for parameters `cum'
3285         and `named'.
3286         (extend_operator): Likewise for parameter `mode'
3287         (highpart_shift_operator): Likewise.
3288
3289         * mips.md (mul_acc_si): Remove unused variable `macc'.
3290
3291 Fri Jun 12 09:33:44 1998  Richard Henderson <rth@cygnus.com>
3292
3293         * fold-const.c (fold): Revert last change.  It breaks constant
3294         expressions somehow.
3295
3296 Fri Jun 12 10:23:36 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3297
3298         * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
3299         prevent operands from being evaluated twice.
3300
3301 Fri Jun 12 00:50:27 1998  Sergey Okhapkin <sos@prospect.com.ru>
3302
3303         * toplev.c (lang_options): Add -remap as a preprocessor option.
3304
3305 Fri Jun 12 00:30:32 1998  John Wehle  (john@feith.com)
3306
3307         * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
3308         which set CC_REVERSED since reload should ensure that
3309         the operands are already the correct type.
3310
3311 Thu Jun 11 17:14:15 1998  Jim Wilson  <wilson@cygnus.com>
3312
3313         * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
3314         calling gen_rtx_SET.
3315
3316 Thu Jun 11 18:45:49 1998  David Edelsohn  <edelsohn@mhpcc.edu>
3317
3318         * config/rs6000/x-aix43 (AR): Delete.
3319         (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
3320
3321 Thu Jun 11 16:19:17 1998  David W. Schuler  <schuld@btv.ibm.com>
3322
3323         * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
3324
3325 Thu Jun 11 12:40:27 1998  Jim Wilson  <wilson@cygnus.com>
3326
3327         * mips.c (override_options): Replace word_mode with explicit
3328         TARGET_64BIT check.
3329
3330 Thu Jun 11 14:50:02 1998  Michael Meissner  <meissner@cygnus.com>
3331
3332         * regmove.c (regmove_optimize): If we can't replace the
3333         destination in an insn that sets the source, generate an explicit
3334         move of the source to the destination.
3335         (copy_src_to_dest): New function.
3336         (toplevel): Include basic-block.h
3337
3338         * Makefile.in (regmove.o): Add basic-block.h dependencies.
3339
3340 Thu Jun 11 10:30:09 1998  Dave Brolley  <brolley@cygnus.com>
3341
3342         * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
3343
3344 Wed Jun 10 23:39:32 1998  Mark Mitchell  <mark@markmitchell.com>
3345
3346         * rtl.h (rtx_def): Improve documentation.
3347         (MEM_IN_STRUCT_P): Likewise.
3348
3349 Wed Jun 10 23:23:17 1998  Graham  <grahams@rcp.co.uk>
3350
3351         * c-decl.c (start_decl): Correct test for -Wmain.
3352
3353         * c-decl.c (grokdeclarator): Remove unused variable "last".
3354
3355 Wed Jun 10 14:52:27 1998  Jim Wilson  <wilson@cygnus.com>
3356
3357         * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
3358         (expand_builtin_longjmp): Abort if value isn't const1_rtx.
3359         Delete code storing value in static_chain_rtx.
3360         (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
3361         to second expand_expr call.
3362
3363 Wed Jun 10 13:08:41 1998  Mark Mitchell  <mark@markmitchell.com>
3364
3365         * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
3366
3367 Wed Jun 10 13:41:23 1998  Dave Brolley  <brolley@cygnus.com>
3368
3369         * cppmain.c (fatal): New function.
3370         * configure.in (cpp_main): New configuration variable.
3371         * configure: Regenerated.
3372         * Makefile.in (CCCP): Use a configuration variable to select basex
3373         for cccp.
3374         (cppmain$(exeext)): Add @extra_cpp_objs@.
3375
3376 Wed Jun 10 13:07:02 1998  Dave Brolley  <brolley@cygnus.com>
3377
3378         * objc/objc-act.c: Add cpplib declarations.
3379         (lang_decode_option): Initialize cpplib if necessary.
3380         (lang_decode_option): New argc/argv interface. 
3381         * tree.h (lang_decode_option): New argc/argv interface. 
3382         * toplev.c (lang_options): Add cpp options.
3383         (main): New interface for lang_decode_option.
3384         * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
3385         unless -E, -M or -MM is specified.
3386         * cpplib.h (cpp_handle_option): New function. 
3387         * cpplib.c (cpp_handle_option): New function.
3388         (cpp_handle_options): Now calls cpp_handle_option.
3389         * c-tree.h (c_decode_option): New argc/argv interface. 
3390         * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
3391         * c-lang.c (lang_decode_option): New argc/argv interface.
3392         * c-decl.c: Add cpplib declarations.
3393         (c_decode_option): New argc/argv interface.
3394         (c_decode_option): Call cpp_handle_option.
3395         (c_decode_option): Now returns number of strings processed.
3396
3397 Wed Jun 10 09:47:13 1998  Richard Earnshaw (rearnsha@arm.com)
3398
3399         * unroll.c (verify_addresses): Use validate_replace_rtx to undo the 
3400         changes.  Abort if the undo fails.
3401
3402 1998-06-10  Vladimir N. Makarov  <vmakarov@cygnus.com>
3403
3404         * config/rs6000/rs6000.c (output_prolog): Change locations and
3405         directions of saving and restoring arguments of main on the stack.
3406
3407 Wed Jun 10 08:56:27 1998  John Carr  <jfc@mit.edu>
3408
3409         * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
3410         for each alternative.  Do not replace a CONST_INT with a REG unless
3411         the reg is cheaper.
3412
3413 Wed Jun 10 02:11:55 1998  Jeffrey A Law  (law@cygnus.com)
3414
3415         * decl.c (init_decl_processing): Fix typo.
3416
3417         * mips.c (gpr_mode): New variable.
3418         (override_options): Initialize gpr_mode.
3419         (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
3420         determine size and offset of general purpose registers save slots.
3421         (save_restore_insns, mips_expand_prologue): Similarly.
3422
3423         * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
3424         between constant representations when we have (SUBREG (REG)) with
3425         REG equivalent to a constant.
3426
3427 Wed Jun 10 01:39:00 1998  Juha Sarlin <juha@c3l.tyreso.se> 
3428
3429         * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
3430
3431 Tue Jun  9 22:05:34 1998  Richard Henderson  <rth@cygnus.com>
3432
3433         * fold-const.c (fold): Even with otherwise constant trees, look for
3434         opportunities to combine integer constants.
3435
3436 Wed Jun  3 23:41:24 EDT 1998  John Wehle  (john@feith.com)
3437
3438         * i386.c (notice_update_cc): Clear cc_status.value2 in the
3439         case of UNSPEC 5 (bsf).
3440
3441         * i386.md (movsfcc, movdfcc, movxfcc): The floating point
3442         conditional move instructions don't support signed integer
3443         comparisons.
3444
3445 Tue Jun  9 14:31:19 1998  Nick Clifton  <nickc@cygnus.com>
3446
3447         * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
3448         overlfows. 
3449
3450         * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
3451         16,sp,sp' ratehr than 'add 16,sp'.  Patch courtesy of Biomedin
3452         <glctr@abc.it>.
3453
3454 Tue Jun  9 16:23:13 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
3455
3456         * except.c (expand_start_catch): Rename to start_catch_handler.
3457         (expand_end_catch): Delete function.
3458         (expand_end_all_catch): Remove catch status that expand_end_catch
3459         use to do.
3460         * except.h (expand_start_catch): Rename prototype.
3461         (expand_end_catch): Delete prototype.
3462
3463 Tue Jun  9 12:57:32 1998  Mark Mitchell  <mark@markmitchell.com>
3464
3465         * invoke.texi: Add documentation for -mips4 and -mabi=*.
3466
3467 Tue Jun  9 12:12:34 1998  Klaus Kaempf (kkaempf@progis.de)
3468
3469         * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
3470         (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.       
3471         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.                
3472
3473 Tue Jun  9 12:10:27 1998  John Carr  <jfc@mit.edu>
3474
3475         * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
3476         as the threshold to permit splitting memory operations.
3477
3478 Tue Jun  9 12:36:16 1998  Jeffrey A Law  (law@cygnus.com)
3479
3480         * mips.c (gpr_mode): New variable.
3481         (override_options): Initialize gpr_mode.
3482         (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
3483         determine size and offset of general purpose registers save slots.
3484         (save_restore_insns, mips_expand_prologue): Similarly.
3485
3486         * Makefile.in (LIB2FUNCS_EH): Define.  Just "_eh" for now.
3487         (LIBGCC2_CFLAGS): Remove -fexceptions.
3488         (LIB2FUNCS): Remove "_eh".
3489         (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
3490         it with -fexceptions.
3491
3492         * Makefile.in (local-alloc.o): Depend on insn-attr.h.
3493         * local-alloc.c (block_alloc): Avoid creating false 
3494         dependencies for targets which use instruction scheduling.
3495
3496 Tue Jun  9 02:40:49 1998  Richard Henderson  <rth@cygnus.com>
3497
3498         * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
3499         (ASM_FINISH_DECLARE_OBJECT): Define;
3500         * mips/elf64.h: Likewise.
3501
3502 Tue Jun  9 01:08:47 1998  Richard Henderson  <rth@cygnus.com>
3503
3504         * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
3505
3506 Mon Jun 8 23:24:48 PDT 1998 Jeff Law  (law@cygnus.com)
3507
3508         * version.c: Bump for snapshot.
3509
3510 Mon Jun  8 23:24:58 1998  David Edelsohn  <edelsohn@mhpcc.edu>
3511
3512         * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
3513         (mulsidi3_ppc64): Delete.
3514
3515 Mon Jun  8 20:57:40 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3516
3517         * Makefile.in (varasm.o): Depend on dbxout.h.
3518         (cse.o): Depend on toplev.h and output.h.
3519         (gcse.o): Depend on output.h.
3520
3521         * mips.c: Include system.h and toplev.h and remove redundant code.
3522         Include output.h after tree.h so all its prototypes get activated.
3523         * mips.md (table_jump): Remove unused variable `dest'.
3524
3525         * sparc.h: Add prototype for `v8plus_regcmp_op'.
3526
3527         * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
3528         with __attribute__ ((__unused__)).
3529         (__frame_dummy): Provide prototype before use, wrap it with
3530         EH_FRAME_SECTION_ASM_OP.
3531
3532         * cse.c: Move inclusion of <setjmp.h> above local headers.
3533         Include toplev.h and output.h.
3534
3535         * dbxout.h: Add prototype for `dbxout_begin_function'.
3536
3537         * final.c (final_scan_insn): Wrap variable `max_skip' in macro
3538         ASM_OUTPUT_MAX_SKIP_ALIGN.
3539
3540         * gcse.c: Include system.h and output.h.
3541         (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
3542         Make extern instead of static.
3543         (compute_can_copy): Only declare variables `reg' and `insn' when
3544         AVOID_CCMODE_COPIES is not defined.
3545         (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
3546         (hash_scan_clobber): Likewise for `x' and `insn'.
3547         (hash_scan_call): Likewise.
3548         (record_last_set_info): Likewise for `setter'.
3549         (mark_call): Likewise for `pat'.
3550         (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
3551
3552         * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
3553         length parameter so that it multiplies the number of elements by
3554         the sizeof(element).
3555
3556         * output.h: Add prototype for `weak_finish'.
3557
3558         * recog.h: Likewise for `validate_replace_src'.
3559
3560         * rtl.h: Likewise for `optimize_save_area_alloca',
3561         `fix_sched_param', `purge_addressof', `gcse_main',
3562         `regmove_optimize', `dbr_schedule', `branch_prob' and
3563         `end_branch_prob'.
3564
3565         * toplev.h: Likewise for `set_float_handler' and
3566         `output_quoted_string'.
3567
3568         * varasm.c: Include dbxout.h.
3569
3570 Mon Jun  8 18:12:06 1998  Jim Wilson  <wilson@cygnus.com>
3571
3572         * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
3573         GP_REG_P.  Use gr_regs instead of GR_REGS.
3574
3575 Mon Jun  8 16:54:12 1998  Ken Raeburn   <raeburn@cygnus.com>
3576                           Jeff Law      <law@cygnus.com>
3577
3578         * Revamped multiply support for MIPS chips.
3579         * mips.c (extend_operator): New function.
3580         (highpart_shift_operator): Likewise.
3581         * mips.h: Declare new functions.
3582         (PREDICATE_CODES): Add support for new predicates.
3583         * mips.md (mulsi3 expander): Simplify.
3584         (mulsi_mult3): Add another constraint alternative.  Support
3585         3 operand multiply instructions as found on various mips
3586         parts.
3587         (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
3588         (mul_acc_si): New pattern and associated splitters.
3589         (mulsidi3 expander): Rework to use mulsidi3_64bit and
3590         mulsidi3_internal.
3591         (umulsidi3): New expander.
3592         (mulsidi3_internal): Accept either sign or zero extended
3593         operands and generate code as appropriate appropriately.
3594         (mulsidi3_64bit): Similarly.
3595         (smulsi3_highpart): Turn into an expander and generate code
3596         to match new patterns.
3597         (umulsi3_highpart): Likewise.
3598         (xmulsi3_highpart_internal): New pattern.
3599         (maddi patterns): Delete.  Replace with:
3600         (mul_acc_di, mul-acc_64bit_di): New patterns.
3601
3602 Mon Jun  8 14:16:15 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
3603
3604         * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
3605         flag_new_exceptions runtime flag.
3606         (struct old_exception_table): New struct which represents what
3607         the exception table looks like without the new model.
3608         (NEW_EH_RUNTIME): New value used as a tag in the exception table to
3609         flag that this is a new style table.
3610         * except.h: Remove compile time flag NEW_EH_MODEL.
3611         (expand_builtin_eh_stub_old): New prototype.
3612         * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
3613         * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
3614         * c-decl.c (init_decl_processing): Add new builtin function
3615         __builtin_eh_stub_old.
3616         * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
3617         * flags.h (flag_new_exceptions): New runtime flag.
3618         * toplev.c (flag_new_exceptions): Initialize default to 0, 
3619         -fnew-exceptions sets to 1.
3620         * except.c (output_exception_table_entry): Output New style exception 
3621         identifier into table, and replace compile time flag NEW_EH_MODEL
3622         with runtime flag flag_new_exceptions.
3623         (output_exception_table): Replace compile time flag NEW_EH_MODEL.
3624         (expand_builtin_eh_stub_old): Duplicates original functionality of
3625         expand_builtin_eh_stub.
3626         (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
3627         * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
3628         (old_find_exception_handler): New func, same as find_exception_handler
3629         except it works on the old style exception table.
3630         (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
3631         of identifier in the exception table, and call appropriate routines.
3632
3633 Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
3634
3635         * function.c: Define current_function_cannot_inline.
3636         (push_function_context_to): Save it.
3637         (pop_function_context_from): Restore it.
3638         * function.h (struct function): Provide it a home.
3639         * output.h: Declare it.
3640         * integrate.c (function_cannot_inline_p): Check it.
3641
3642 Mon Jun  8 10:43:15 1998  Richard Henderson  <rth@cygnus.com>
3643
3644         * expr.c (force_operand): Detect PIC address loads before 
3645         splitting arithmetic.
3646
3647 Mon Jun 8 09:22:38 PDT 1998 Jeff Law  (law@cygnus.com)
3648
3649         * version.c: Bump for snapshot.
3650
3651 Mon Jun  8 02:55:56 1998  Graham  <grahams@rcp.co.uk>
3652
3653         * tree.c (tree_class_check): Add braces to eliminate ambigious
3654         else warning.
3655         (tree_check): Likewise.
3656
3657 Mon Jun  8 02:49:23 1998  H.J. Lu  (hjl@gnu.org)
3658
3659         * reg-stack.c (subst_stack_regs_pat): Make sure the top of
3660         stack is the destination for conditional move insn.
3661
3662 Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
3663
3664         * tree.h (TREE_VEC_END): Cast unused value to void.
3665
3666         * i386.c (print_operand): Use %lx for long operand.
3667
3668 Mon Jun  8 00:04:07 1998  Richard Henderson  <rth@cygnus.com>
3669
3670         * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
3671
3672 Sun Jun  7 14:15:45 1998  John Carr  <jfc@mit.edu>
3673
3674         * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
3675         conversion functions.
3676
3677 Sun Jun  7 14:02:58 1998  Richard Henderson  <rth@cygnus.com>
3678
3679         * toplev.c (flag_exceptions): Default to 0.
3680         (compile_file): Remove flag_exceptions == 2 hack.
3681         (main): Call lang_init_options.
3682         * tree.h: Declare it.
3683         * c-lang.c: Implement it.
3684         * objc/objc-act.c: Likewise.
3685         
3686 Sun Jun  7 12:27:30 1998  David Edelsohn  <edelsohn@mhpcc.edu>
3687
3688         * rs6000.md (restore_stack_block): Generate MEM and specify mode.
3689         * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
3690         * rs6000.c (rs6000_output_load_toc_table): Use fputs.
3691         (output_function_profiler): Use asm_fprintf and fputs.
3692
3693 Sat Jun  6 12:17:12 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3694
3695         * gencheck.c: Remove redundant stdio.h include.  Add a definition
3696         of xmalloc for when we are forced to link with alloca.o.
3697
3698         * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
3699         instead of `1U'.
3700
3701         * fold-const.c (constant_boolean_node): Make definition static to
3702         match the prototype.
3703
3704 Fri Jun  5 15:53:17 1998  Per Bothner  <bothner@cygnus.com>
3705
3706         * gcc.c (lang_specific_pre_link):  New LANG_SPECIFIC_DRIVER function.
3707         (lang_specific_extra_outfiles):  New LANG_SPECIFIC_DRIVER variable.
3708         (do_spec, input_filename, input_filename_length):  Make public.
3709         (main):  Adjust outfiles allocation by lang_specific_extra_outfiles.
3710         Call lang_specific_pre_link befor elinking.
3711
3712 Fri Jun  5 12:29:28 1998  Jeffrey A Law  (law@cygnus.com)
3713
3714         * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
3715         the insn which has the most insns dependent on it.
3716
3717 Fri Jun  5 09:03:22 1998  John Carr  <jfc@mit.edu>
3718
3719         * alias.c (find_base_value): Avoid reading past end of reg_base_value.
3720
3721 Fri Jun  5 03:05:34 1998  Richard Henderson  <rth@cygnus.com>
3722
3723         * alpha.md (insxh-1): New insxl pattern for combine.
3724
3725 Fri Jun  5 01:12:15 1998  H.J. Lu  (hjl@gnu.org)
3726
3727         * i386/i386.c (output_fp_conditional_move): New function
3728         to output floating point conditional move.
3729         (output_int_conditional_move): New function to output integer
3730         conditional move.
3731
3732         * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
3733         output_int_conditional_move () to output int conditional move.
3734         (movsfcc+5, movdfcc+5, movxfcc+5): Call
3735         output_fp_conditional_move () to output floating point
3736         conditional move.
3737
3738         * i386/i386.c (put_condition_code): In INT mode, check
3739         cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
3740
3741 Thu Jun  4 16:09:51 1998  Dave Brolley  <brolley@cygnus.com>
3742
3743         * dbxout.c (dbxout_type): Output arrays of bits as if
3744         they were bitstrings for Chill
3745
3746 Thu Jun  4 14:35:27 1998  David Edelsohn  <edelsohn@mhpcc.edu>
3747
3748         * tree.c (get_inner_array_type): New function.
3749         * tree.h (get_inner_array_type): Prototype.
3750         * expr.h (STACK_SAVEAREA_MODE): New macro.
3751         * expr.c (expand_builtin_setjmp): Initialize sa_mode using
3752         STACK_SAVEAREA_MODE.
3753         (expand_builtin_longjmp): Likewise.
3754         * explow.c (emit_stack_save): Likewise.
3755         (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
3756
3757         * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
3758         (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
3759         * rs6000/aix43.h: New file.
3760         * rs6000/t-aix43: New file.
3761         * rs6000/x-aix41: New file.
3762         * rs6000/x-aix43: New file.
3763         * configure.in (rs6000-ibm-aix*): Use them.
3764         * rs6000/powerpc.h: Delete.
3765         * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
3766         * rs6000/netware.h: and here.
3767         * rs6000/win-nt.h: and here.
3768
3769         * rs6000/rs6000.c (processor_target_table, 620): Do not affect
3770         MASK_POWERPC64.
3771         (rs6000_override_options): Ignore flag_pic for AIX.
3772         (rs6000_immed_double_const): Delete.
3773         (u_short_cint_operand): Don't assume 32-bit CONST_INT.
3774         (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
3775         (num_insns_constant): mask64_operand() is 2 insns.
3776         (logical_operand): Don't assume 32-bit CONST_INT.
3777         (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
3778         (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
3779         (mask_constant): HOST_WIDE_INT parameter.
3780         (non_and_cint_operand): Delete.
3781         (mask64_operand): New function.
3782         (and64_operand): New function.
3783         (function_arg_advance): DImode arguments do not need special
3784         alignment when 64-bit.
3785         (function_arg): Likewise.
3786         (setup_incoming_varargs): Reverse reg_size assignment.
3787         (print_operand): HOST_WIDE_INT second parameter.
3788         (print_operand, 'B'): New case.
3789         (print_operand, 'M'): Fix typo in lossage string.
3790         (print_operandm 'S'): New case.
3791         (rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
3792         to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
3793         (rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
3794         TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
3795         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
3796         (rs6000_allocate_stack_space): Use {cal|la}.
3797         (output_epilog): Use {cal|la}
3798         (output_function_profiler): Add call glue to mcount call.
3799         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
3800
3801         * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
3802         (STACK_BOUNDARY): Depend on TARGET_32BIT.
3803         (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
3804         (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
3805         (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'.  Replace 'S' with
3806         64-bit mask operand.
3807         (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
3808         (STACK_SAVEAREA_MODE): New macro.
3809         (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
3810         (LEGITIMIZE_RELOAD_ADDRESS): New macro.
3811         (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
3812         (ASM_FILE_START): Emit 64-bit ABI directive.
3813         (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
3814         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
3815         (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
3816         Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
3817
3818         * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
3819         Restore define_splits.
3820         (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
3821         (floatsidf2_internal, floatunssidf2_internal2): Likewise.
3822         Do not specify base register operand mode.
3823         (floatsidf2_loadaddr): Do not specify base register operand mode.
3824         (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
3825         register; do not specify mode.  Remove !TARGET_POWERPC64 final
3826         constraint.
3827         (floatsidf2_load): Do not specify base register operand mode.  Remove
3828         !TARGET_POWERPC64 final constraint.
3829         (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
3830         base register operand mode.
3831         (adddi3): Split large constants early.
3832         (absdi3): Shift by 63, not 31.
3833         (*mulsidi3_ppc64): New pattern.
3834         (rotldi3): Add masking combiner patterns.
3835         (anddi3): Add rldic{r,l} masking.  Remove split of large constants
3836         because PPC insns zero-extend.
3837         (iordi3, xordi3): Split large constants early.
3838         (movsi matcher): Remove S and T constraints.
3839         (movsf const_double): create SImode constant from TARGET_DOUBLE.
3840         (movdf_hardfloat32): Add default abort() case.
3841         (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
3842         (movdi): Remove 64-bit constant generator.  Try to convert
3843         CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
3844         (movdi_32): Add default abort() case.
3845         (movdi_64): Add numerous ways to split 64-bit constants.
3846         Make catch-all define_split more optimal and never FAIL.
3847         (movti_ppc64): Add default abort() case.
3848         (allocate_stack): Remove operand modes.  Use Pmode.
3849         (restore_stack_block): Remove operand modes.  Generate Pmode
3850         temporary.
3851         (save_stack_nonlocal, restore_stack_nonlocal):  Generate Pmode
3852         temporary.  Save area is double Pmode.
3853         (call_indirect_aix64, call_value_indirect_aix64): New patterns.
3854         (call, call_value): Do not specify address operand mode.  Choose
3855         appropriate AIX ABI.
3856         (*call_local64, *ret_call_local64): New patterns.
3857         (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
3858         (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
3859         (compare): Materialize DImode truthvalues.
3860
3861 Thu Jun  4 01:26:57 1998  Craig Burley  <burley@gnu.org>
3862
3863         * expr.c (safe_from_p): Avoid combinatorial explosion
3864         over duplicate SAVE_EXPRs by ensuring we never recurse
3865         on one that has already been visited.
3866
3867 Thu Jun  4 00:54:21 1998  Graham  <grahams@rcp.co.uk>
3868
3869         * loop.c (check_dbra_loop): Initialise final_value before
3870         normalizing the loop.
3871
3872 Wed Jun  3 20:00:04 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3873
3874         * reload1.c (reload_reg_free_for_value_p): New arguments out and
3875         reloadnum.  Changed all callers.
3876
3877 1998-06-03  Ulrich Drepper  <drepper@cygnus.com>
3878
3879         * system.h: Add _() and N_() macros in preparation for gettext.
3880
3881 Wed Jun  3 11:02:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3882
3883         * c-common.c (check_format_info): Put back check for C9x `hh'
3884         length modifier.  Warn about %n format writing into const.  Remove
3885         obsolete comment.
3886         (format_char_info): Fix comments.
3887
3888         * configure.in: Set float_format to m68k for all m68k targets that
3889         do not override LONG_DOUBLE_TYPE_SIZE.
3890         * config/float-m68k.h: New file.
3891
3892 Tue Jun  2 23:14:01 1998  Richard Henderson  <rth@cygnus.com>
3893
3894         * jump.c (jump_optimize): Remove debug messages accidentally left in
3895         with the previous change.
3896
3897 Tue Jun  2 22:46:08 1998  Richard Henderson  <rth@cygnus.com>
3898
3899         * expr.c (store_expr): Revert stray patch associated with
3900         1998-05-23 commit.
3901
3902 Tue Jun  2 21:59:01 1998  Richard Henderson  <rth@cygnus.com>
3903
3904         * jump.c (rtx_unsafe_p): New function.
3905         (jump_optimize): Use it on if/then/else transformations and
3906         conditional move transformations.
3907
3908 Tue Jun  2 22:50:10 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3909
3910         * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
3911         or VAR-- == CONST construct a proper mask if VAR is a bitfield.
3912         Cope with CONST being out of range for the bitfield.
3913
3914 Tue Jun  2 22:28:31 1998  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
3915
3916         * expr.c (emit_move_insn_1): When moving complex values in several
3917         steps, emit a CLOBBER to show the destination dies.
3918
3919 Tue Jun  2 22:17:26 1998  Jeffrey A Law  (law@cygnus.com)
3920
3921         * Makefile.in (site.exp): Use the object testsuite directory as
3922         the temporary directory.
3923
3924         * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
3925         address of an ADDRESSOF rtx.
3926
3927 1998-06-02  Mike Stump  <mrs@wrs.com>
3928
3929         * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
3930         * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
3931         * i960.md (ret, flush_register_windows): Define.
3932         (nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
3933         work yet.
3934         * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
3935
3936 Tue Jun  2 14:02:38 1998  Richard Henderson  <rth@cygnus.com>
3937
3938         * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
3939         around an OSF/1 library bug wrt sign-extension of inputs.
3940
3941 Tue Jun  2 13:02:44 1998  Richard Henderson  <rth@cygnus.com>
3942
3943         * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
3944
3945 Mon Jun  1 03:44:03 1998  Catherine Moore <clm@cygnus.com>
3946
3947         * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
3948
3949         * varasm.c (assemble_variable): Augment alignment warning.
3950
3951 Mon Jun  1 12:14:28 1998  Michael Meissner  <meissner@cygnus.com>
3952
3953         * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
3954         in the presence of IEEE negative 0's.
3955
3956 Sun May 31 16:11:41 1998  John Wehle  (john@feith.com)
3957
3958         * reload.c (find_reloads): Record the existing mode if
3959         operand_mode == VOIDmode before replacing a register with
3960         a constant.
3961         * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
3962         i386_compare_op1 to const0_rtx for the benefit of the
3963         conditional move patterns.
3964         (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
3965         based on suggestions from Jim Wilson.
3966
3967 Sun May 31 00:44:02 PDT 1998 Jeff Law  (law@cygnus.com)
3968
3969         * version.c: Bump for snapshot.
3970
3971 Sun May 31 00:34:17 1998  Bruce Korb <korbb@datadesign.com>
3972
3973         * Makefile.in (fixinc.sh): Update rules again.
3974
3975 Sun May 31 00:27:47 1998  Jeffrey A Law  (law@cygnus.com)
3976
3977         * extend.texi: Bring back reference to trampoline paper.
3978
3979 Sun May 31 00:22:34 1998  Ulrich Drepper  <drepper@cygnus.com>
3980
3981         * Makefile.in (USER_H): Add stdbool.h.
3982         * ginclude/stdbool.h: New file.
3983
3984 Fri May 29 01:48:25 1998  Jeffrey A Law  (law@cygnus.com)
3985
3986         * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
3987         of a non-note insn.
3988
3989         * gcse.c (pre_delete): Fix code to determine the mode of
3990         the reaching pseudo register.
3991
3992 Fri May 29 01:07:28 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
3993
3994         * Makefile.in (GEN): Add gencheck
3995         (STAGESTUFF): Add tree-check.h and gencheck.
3996
3997 Fri May 29 00:57:37 1998  Bruce Korb <korbb@datadesign.com>
3998
3999         * Makefile.in (cstamp-h.in): Remove before trying to recreate.
4000         (fixinc.sh): Set some additional environment variables before
4001         calling mkfixinc.sh.
4002
4003 Thu May 28 12:57:05 1998  Jeffrey A Law  (law@cygnus.com)
4004
4005         * reload.c (find_reloads): Do not force a reloads of match_operators.
4006
4007 Thu May 28 10:22:22 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
4008
4009         * except.h (remove_handler): Add new prototype.
4010         * except.c (remove_handler): New function to remove handlers
4011         from an exception region.
4012         * flow.c (find_basic_blocks_1): Remove handlers from regions when
4013         handler label is deleted; remove exception regions with no handlers.
4014
4015 Thu May 28 09:36:39 1998  Michael Meissner  <meissner@cygnus.com>
4016
4017         * except.h (rtx): Define rtx type correctly if needed.
4018         * function.h (rtx): Ditto.
4019         (tree): Define tree type correctly if needed.
4020
4021         * c-pragma.c (toplevel): Include rtl.h.
4022
4023         * stor-layout.c (toplevel): Move include of rtl.h before
4024         except.h.
4025
4026         * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
4027         (tree.o): Add except.h dependency.
4028
4029 Wed May 27 22:02:40 1998  Jeffrey A Law  (law@cygnus.com)
4030
4031         * reload1.c: Revert accidental checkin.
4032
4033         * configure.lang: Fix thinko when adding a definition for
4034         target_alias to the Makefile.
4035
4036 Wed May 27 02:50:00 1998  Catherine Moore (clm@cygnus.com)
4037
4038         * config/sparc/lb1spc.asm (.rem and .urem):  Replace
4039         routines.
4040
4041 Wed May 27 02:48:31 1998  Richard Earnshaw (rearnsha@arm.com)
4042
4043         * arm.c (arm_gen_constant): Rework to eliminate uninitialized
4044         variable warnings.  Don't generate scratch registers if only
4045         counting insns.
4046         (find_barrier): Eliminate unused variable SRC.
4047
4048 1998-05-27  Manfred Hollstein  <manfred@s-direktnet.de>
4049
4050         * toplev.h (rtx_def): Provide global declaration to avoid
4051         `limited scope' warnings.
4052
4053 Tue May 26 23:47:52 1998  Mumit Khan <khan@xraylith.wisc.edu>
4054
4055         * Makefile.in (gencheck.o): Use HOST_CC.
4056         * i386/t-mingw32: New file.
4057         * configure.in (i386-*-mingw32*): Use.
4058
4059 Tue May 26 07:31:04 1998  Richard Earnshaw (rearnsha@arm.com)
4060
4061         * arm.c (bad_signed_byte_operand): New predicate function.
4062         * arm.h (PREDICATE_CODES): Add it to the list.
4063         * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
4064         can't handle.
4065         (define_split): Two new splits for above insns.
4066
4067         * arm.c: Include toplev.h.
4068         (arm_override_options): Add parentheses around use of tune_flags.
4069         (arm_split_constant): Remove unused variable.
4070         (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
4071         (output_func_prologue, arm_expand_prologue): Likewise.
4072         (arm_canonicalize_comparison): Make I unsigned; rework constants
4073         accordignly.  Add missing paratheses around << operation.
4074         (arm_rtx_costs): Correctly parenthesise MULT costs.  Add a DEFAULT
4075         clause.
4076         ({load,store}_multiple_sequence): Initialize BASE_REG.
4077         (select_dominance_cc_mode): Add DEFAULT clauses.
4078         (broken_move): Return zero if the destination is not a register.
4079         (arm_reorg): Move unused REGNO declaration into the dead code.
4080         * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
4081
4082 Mon May 25 22:49:56 PDT 1998 Jeff Law  (law@cygnus.com)
4083
4084         * version.c: Bump for snapshot.
4085
4086 Mon May 25 11:56:24 PDT 1998 Jeff Law  (law@cygnus.com)
4087
4088         * version.c: Bump for snapshot.
4089
4090 Mon May 25 14:00:13 1998  Dave Brolley  <brolley@cygnus.com>
4091
4092         * cpperror.c (v_cpp_message): Remove static prototype.
4093         * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
4094         * cpplib.h (v_cpp_message): Add protoptype.
4095         (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
4096
4097 Sun May 24 20:36:15 PDT 1998 Jeff Law  (law@cygnus.com)
4098
4099         * version.c: Bump for snapshot.
4100
4101 Sun May 24 02:08:57 PDT 1998 Jeff Law  (law@cygnus.com)
4102
4103         * version.c: Bump for snapshot.
4104
4105 1998-05-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4106
4107         * m68k.h: Declare more functions used in macros.
4108         (REG_CLASS_CONTENTS): Completely embrace initializer.
4109         * m68k.md (adddi3, subdi3): Add abort call to avoid warning
4110         about returning no value.
4111         * cse.c (find_best_addr): Declare p and found_better only if
4112         needed.
4113         * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
4114         * dwarfout.c (string_length_attribute): #if 0 away.
4115         * function.c (expand_function_end): Define varible blktramp only
4116         if needed.
4117         * jump.c (find_insert_position): Define only if !HAVE_cc0.
4118         * loop.c (combine_givs_p): Define variable tem only if needed.
4119         * real.c: Comment out unused functions eabs, eround,
4120         e{24,53,64,113}toasc and eiinfin.
4121
4122
4123 Sat May 23 23:44:53 1998  Alexandre Oliva <oliva@dcc.unicamp.br>
4124
4125         * Makefile.in (boostrap2-lean, bootstrap3-lean,
4126         bootstrap4-lean): New targets.
4127
4128 Sat May 23 23:35:14 1998  Jeffrey A Law  (law@cygnus.com)
4129
4130         * warn_summary, test_summary: Moved into the contrib directory.
4131
4132 1998-05-23  Manfred Hollstein  <manfred@s-direktnet.de>
4133
4134         * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
4135         of the Makefile.
4136         (FLOAT_H_TEST): Likewise.
4137         (ENQUIRE): Likewise.
4138         (float.h-nat): Likewise.
4139         (float.h-cross): Likewise.
4140         (enquire): Likewise.
4141         (enquire.o): Likewise.
4142         (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
4143         (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
4144         no-op.
4145         (FLOAT_H): Remove old float.h-nat version; move current definition
4146         to CROSS_FLOAT_H location.
4147         (all.cross): Remove comments about enquire stuff.
4148
4149         * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
4150         (rest.encap): Likewise.
4151         (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
4152
4153         * toplev.h (tree_node): Provide global declaration to avoid
4154         `limited scope' warnings.
4155
4156 Sat May 23 23:23:35 1998   Robert Lipe  <robertl@dgii.com>
4157
4158         * test_summary: Display section breaks for each entry
4159         in a multilibbed target's output.
4160
4161 1998-05-23  Richard Henderson  <rth@cygnus.com>
4162
4163         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
4164         offset's mode is not ptr_mode, convert it.
4165
4166 1998-05-22  Jason Merrill  <jason@yorick.cygnus.com>
4167
4168         * fold-const.c (ssize_binop): New fn.
4169         * tree.h: Declare it.
4170
4171 Fri May 22 03:42:05 1998  Richard Earnshaw (rearnsha@arm.com)
4172
4173         * genextract.c (print_path): Handle zero-length path as a special
4174         case.
4175
4176 Fri May 22 01:38:07 1998  Hans-Peter Nilsson  <hp@axis.se>
4177
4178         * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
4179
4180 Fri May 22 00:57:00 1998  Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
4181
4182         * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
4183         (shorten_branches, final_scan_insn): Test value of
4184         JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
4185         is defined.
4186         * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
4187         * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
4188         * arm/tcoff.h: Likewise.
4189         * i386/386bsd.h: Likewise.
4190         * i386/freebsd-elf.h: Likewise.
4191         * i386/freebsd.h: Likewise.
4192         * i386/netbsd.h: Likewise.
4193         * i386/ptx4-i.h: Likewise.
4194         * i386/sysv4.h: Likewise.
4195         * pa/pa.h: Likewise.
4196         * rs6000/linux.h: Likewise.
4197         * rs6000/rs6000.h: Likewise.
4198         * sh/sh.h: Likewise.
4199         * sparc/sp64-elf.h: Likewise.
4200         * v850/v850.h: Likewise.
4201         * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
4202         * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
4203
4204 Thu May 21 19:50:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4205
4206         * regmove.c (gen_add3_insn): New function.
4207         (fixup_match_2): Use it instead of calling gen_addsi3.
4208
4209 Thu May 21 23:09:50 1998  Jeffrey A Law  (law@cygnus.com)
4210
4211         * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
4212
4213         * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
4214         address.
4215
4216 Thu May 21 20:18:13 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
4217
4218         * Makefile.in (TREE_H): Add tree-check.h.
4219         (tree-check.h, gencheck): New targets.
4220         * gencheck.c: New file.
4221         * tree.c (tree_check, tree_class_check): New functions.
4222         * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
4223         (TYPE_CHECK, DECL_CHECK): Define.
4224         Modify all access macros to use generated checking macros.
4225
4226 Wed May 20 23:44:28 EDT 1998  John Wehle  (john@feith.com)
4227
4228         * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
4229         * configure.in: Check for it.
4230         * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
4231         * final.c (uid_align, uid_shuid, label_align): Make static.
4232         (label_align): Change type to struct label_alignment pointer.
4233         (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
4234         (LABEL_TO_MAX_SKIP): Define.
4235         (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
4236         LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
4237         (shorten_branches): Record the maximum bytes to skip when
4238         aligning a label.
4239         (final_scan_insn): Use the maximum bytes to skip when aligning a label
4240         if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
4241         * i386.h (LOOP_ALIGN_MAX_SKIP,
4242         LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
4243         * i386.c (override_options): i386_align_jumps and i386_align_loops
4244         default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
4245         * invoke.texi: Document new i386 align-loops and align-jumps behavior.
4246
4247 1998-05-21  Mark Mitchell  <mmitchell@usa.net>
4248
4249         * cplus-dem.c (do_type): Handle volatile qualification.
4250
4251 Thu May 21 12:23:17 1998  Per Bothner  <bothner@cygnus.com>
4252
4253         * function.c (init_function_start):  Don't call emit_line_note if
4254         lineno is 0.  (Can happen when compiling Java .class files.)
4255
4256 Thu May 21 19:50:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4257
4258         * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
4259         end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
4260
4261 Thu May 21 19:32:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4262
4263         * combine.c (nonzero_bits): For paradoxical subregs, take
4264         LOAD_EXTENDED_OP into account.
4265
4266 Thu May 21 11:51:15 1998  Dave Brolley  <brolley@cygnus.com>
4267
4268         * configure.in (extra_c_objs): add prefix.o.
4269         (extra_cxx_objs): extra objects for C++ with cpplib.
4270         * configure: Regenerate.
4271
4272         * c-tree.h: (get_directive_line): Different prototype for cpplib.
4273         (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
4274
4275         * c-lex.h: (get_directive_line): Not needed here for cpplib.
4276
4277         * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
4278         (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
4279
4280         * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
4281         (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
4282
4283 Thu May 21 09:04:42 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4284
4285         * gengenrtl.c (type_from_format, accessor_from_format): Change
4286         type of parameter `c' from `char' to `int'.
4287
4288 Wed May 20 22:28:34 1998  Jeffrey A Law  (law@cygnus.com)
4289
4290         * warn_summary, test_summary: New scripts from
4291         Kaveh Ghazi and Alexandre Oliva respectively.
4292
4293         * gcse.c (current_function_calls_longjmp): Declare.
4294
4295 1998-05-20  Jason Merrill  <jason@yorick.cygnus.com>
4296
4297         * dwarf2out.c (base_type_die): Use int_size_in_bytes.
4298
4299 Wed May 20 01:11:02 1998  Doug Evans (devans@cygnus.com)
4300                           Jeff Law (law@cygnus.com)
4301
4302         * Global CSE and constant/copy propagation.
4303         * Makefile.in (OBJS): Add gcse.o
4304         (STAGESTUFF): Add *.gcse.
4305         (gcse.o): Add dependencies.
4306         (mostlyclean): Remove *.gcse and */*.gcse.
4307         * gcse.c: New file.
4308         * loop.c (loop_optimize): Move call to init_alias_analysis.
4309         * recog.c (validate_replace_src): New function.
4310         * toplev.c (gcse_dump): New global variable.
4311         (flag_gcse, gcse_time): Likewise.
4312         (compile_file): Initialize gcse_time and clean out the gcse dump
4313         file if necessary.
4314         (rest_of_compilation): Call gcse_main as requested.  Dump RTL
4315         after gcse if requested.
4316         (main): Enable gcse for -O2 and above.  Handle -dG.  Enable gcse
4317         dumps for -da.
4318         * gcc.texi: Add gcse related internal documentation.
4319         * invoke.texi: Note new command line options for gcse.
4320         * tm.texi: Document AVOID_CCMODE_COPIES.
4321         * mips.h (AVOID_CCMODE_COPIES): Define.
4322
4323 Tue May 19 22:31:20 1998  Jeffrey A Law  (law@cygnus.com)
4324
4325         * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
4326         exists.
4327         (stmp-fixproto): Simlarly for running fixproto.
4328         * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
4329
4330 Tue May 19 19:08:52 1998  Jim Wilson  <wilson@cygnus.com>
4331
4332         * config/mips/mips.c (double_memory_operand): Accept any MEM during
4333         reload when TARGET_64BIT.
4334
4335 Tue May 19 18:21:25 1998  Jim Wilson  <wilson@cygnus.com>
4336
4337         Finish incomplete change started by Kenner.
4338         * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
4339         (powerpcle-*-cygwin32): Delete xm_defines.
4340         * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
4341         HAVE_STAB_H instead of NO_STAB_H.
4342         * config/xm-linux.h (NO_STAB_H): Delete.
4343         (HAVE_STAB_H): Undefine.
4344         * config/i386/xm-go32.h (NO_STAB_H): Delete.
4345
4346 1998-05-19  Jim Wilson  <wilson@cygnus.com>
4347
4348         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
4349         LANG_TYPE trees with DECL_SOURCE_LINE of 0.
4350
4351 Tue May 19 15:07:54 1998  Todd Vierling  <tv@netbsd.org>
4352
4353         * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
4354
4355 Tue May 19 17:19:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4356
4357         * reload1.c (reload_reg_free_for_value_p): New function.
4358         (allocate_reload_reg, choose_reload_regs): Use it.
4359
4360 Tue May 19 11:51:00 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
4361
4362         * except.c (expand_start_catch): Correct logic for when to
4363         generate a new handler label, and when to use the old one.
4364
4365 Tue May 19 11:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4366
4367         * Makefile.in (print-rtl.o): Depend on bitmap.h.
4368         (dbxout.o): Depend on toplev.h.
4369         ($(SCHED_PREFIX)sched.o): Likewise.
4370         ($(out_object_file)): Likewise for system.h and toplev.h.
4371         (cppmain.o): Depend on gansidecl.h.
4372         (cpplib.o): Likewise.
4373         (cpperror.o): Likewise.
4374         (cppexp.o): Likewise.
4375         (cpphash.o): Likewise.
4376         (cppalloc.o): Likewise.
4377         (fix-header.o): Depend on cpplib.h and cpphash.h.
4378         (scan-decls.o): Depend on gansidecl.h.
4379
4380         * basic-block.h (free_regset_vector): Add prototype.
4381
4382         * cccp.c (check_precompiled): Mark parameter `fname' with
4383         ATTRIBUTE_UNUSED.
4384         (do_assert): Likewise for `op' and `keyword'.
4385         (do_unassert): Likewise.
4386         (do_line): Likewise for `keyword'.
4387         (do_error): Likewise for `op' and `keyword'.
4388         (do_warning): Likewise.
4389         (do_ident): Likewise for `keyword'.
4390         (do_pragma): Likewise for `limit', `op' and `keyword'.
4391         (do_sccs): Likewise.
4392         (do_if): Likewise for `keyword'.
4393         (do_elif): Likewise.
4394         (do_else): Likewise.
4395         (do_endif): Likewise.
4396
4397         * collect2.c (getenv): Remove redundant prototype.
4398         (collect_exit, collect_execute, dump_file): Likewise.
4399         (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
4400         (dump_prefix_list): Hide prototype and definition.
4401
4402         * sparc.c: Include toplev.h.
4403         (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
4404         (symbolic_memory_operand): Likewise.
4405         (sp64_medium_pic_operand): Likewise.
4406         (data_segment_operand): Likewise.
4407         (text_segment_operand): Likewise.
4408         (splittable_symbolic_memory_operand): Likewise.
4409         (splittable_immediate_memory_operand): Likewise.
4410         (eq_or_neq): Likewise.
4411         (normal_comp_operator): Likewise.
4412         (noov_compare_op): Likewise.
4413         (v9_regcmp_op): Likewise.
4414         (v8plus_regcmp_op): Likewise.
4415         (extend_op): Likewise.
4416         (cc_arithop): Likewise.
4417         (cc_arithopn): Likewise.
4418         (small_int): Likewise.
4419         (uns_small_int): Likewise.
4420         (clobbered_register): Likewise.
4421         (legitimize_pic_address): Likewise.
4422         (delay_operand): Likewise.
4423         (sparc_builtin_saveregs): Remove unused variable `stdarg'.
4424
4425         * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
4426         sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
4427
4428         * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
4429
4430         * cppalloc.c: Include gansidecl.h.
4431
4432         * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
4433         (cpp_file_line_for_message): Mark parameter `pfile' with
4434         ATTRIBUTE_UNUSED.
4435         (v_cpp_message): New function.
4436         (cpp_message): Use it.  Also convert to variable arguments.
4437         (cpp_fatal): Likewise.
4438         (cpp_pfatal_with_name): Constify parameter `name'.
4439
4440         * cppexp.c: Move gansidecl.h before cpplib.h.
4441         * cpphash.c: Likewise.
4442         * cpphash.h (hashf, delete_macro): Add prototypes.
4443
4444         * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
4445         cpplib.h.  Don't include errno.h.
4446         (update_path): Add arguments to prototype.
4447         (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
4448         cpp_print_containing_files): Remove redundant prototypes.
4449         (cpp_hash_cleanup, add_import, append_include_chain,
4450         make_assertion, path_include, initialize_builtins,
4451         initialize_char_syntax, finclude, validate_else, comp_def_part,
4452         lookup_import, redundant_include_p, is_system_include,
4453         read_name_map, read_filename_string, open_include_file,
4454         check_macro_name, compare_defs, compare_token_lists,
4455         eval_if_expression, change_newlines): Add prototype arguments.
4456         (hashf): Remove redundant prototype.
4457         (read_token_list, free_token_list, safe_read, xcalloc, savestring,
4458         conditional_skip, skip_if_group): Add prototype arguments.
4459         (fdopen): Remove redundant prototype.
4460         (do_define, do_line, do_include, do_undef, do_error, do_pragma,
4461         do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
4462         do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
4463         (struct directive): Add prototype arguments to function pointer
4464         member `func'.
4465         (handle_directive): Add missing arguments to call to `do_line'.
4466         (do_include): Mark parameters `unused1' and `unused2' with
4467         ATTRIBUTE_UNUSED.
4468         (do_line): Likewise for `keyword' and new parameters `unused1' and
4469         `unused2'.
4470         (do_error): Likewise for `keyword'.
4471         (do_warning): Likewise.  Also add missing argument `pfile' in call
4472         to cpp_pedwarn.
4473         (do_once): Mark parameter `keyword', `unused1' and `unused2' with
4474         ATTRIBUTE_UNUSED.
4475         (do_ident): Likewise for `keyword', `buf' and `limit'.
4476         (do_pragma): Likewise.  Also add missing arguments in call to do_once.
4477         (do_sccs): Mark parameter `keyword', `buf' and `limit' with
4478         ATTRIBUTE_UNUSED.
4479         (do_if): Likewise for `keyword'.
4480         (do_elif): Likewise.
4481         (eval_if_expression): Likewise for `buf' and `length'.
4482         (do_xifdef): Likewise for `unused1' and `unused2'.
4483         (do_else): Likewise for `keyword', `buf' and `limit'.
4484         (do_endif): Likewise.
4485         (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
4486         (cpp_handle_options): Remove superfluous NULL argument in call to
4487         cpp_fatal.
4488         (cpp_handle_options): Likewise.
4489         (do_assert): Mark parameter `keyword', `buf' and `limit' with
4490         ATTRIBUTE_UNUSED.
4491         (do_unassert): Likewise.
4492         (cpp_print_file_and_line): Add missing argument `pfile' in call to
4493         cpp_file_line_for_message.
4494         (v_cpp_error): New function.
4495         (cpp_error): Use it. Also accept variable arguments.
4496         (v_cpp_warning): New function.
4497         (cpp_warning): Use it. Also accept variable arguments.
4498         (cpp_pedwarn): Accept variable arguments.
4499         (v_cpp_error_with_line): New function
4500         (cpp_error_with_line): Use it.  Accept variable arguments.
4501         (v_cpp_warning_with_line): New function.
4502         (cpp_warning_with_line): Use it.  Accept variable arguments.  Hide
4503         definition.
4504         (cpp_pedwarn_with_line): Accept variable arguments.
4505         (cpp_pedwarn_with_file_and_line): Likewise.
4506         (cpp_error_from_errno): Constify parameter `name'.  Add missing
4507         argument `pfile' in call to cpp_file_line_for_message.
4508         (cpp_perror_with_name): Constify parameter `name'.
4509
4510         * cpplib.h: Define PARAMS() in terms of PROTO().
4511         (fatal): Remove redundant prototype.
4512         (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
4513         cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
4514         cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
4515         cpp_fatal, cpp_message, cpp_pfatal_with_name,
4516         cpp_file_line_for_message, cpp_print_containing_files): Add
4517         arguments to prototypes.
4518         (scan_decls, cpp_finish): Add prototypes.
4519
4520         * cppmain.c: Include gansidecl.h.
4521         (main): Remove unused variable `i'.
4522
4523         * dbxout.c: Include toplev.h.
4524
4525         * demangle.h (do_tlink, collect_execute, collect_exit,
4526         collect_wait, dump_file, file_exists): Add prototype.
4527
4528         * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
4529         prototype and definition.
4530         (gen_unspecified_parameters_die): Don't assign results of call to
4531         function new_die() to unused variable `parm_die'.
4532         (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
4533         (dwarf2out_define): Likewise for `lineno' and `buffer'.
4534
4535         * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
4536         prototype and definition.
4537         (output_die): Add prototype arguments to function pointer arg.
4538         (output_unspecified_parameters_die): Mark parameter `arg' with
4539         ATTRIBUTE_UNUSED.
4540
4541         * except.c (output_exception_table_entry): Remove unused variable
4542         `eh_entry'.
4543
4544         * except.h (expand_fixup_region_start, expand_fixup_region_end):
4545         Add prototypes.
4546
4547         * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
4548
4549         * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
4550
4551         * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
4552         before cpplib.h, include cpphash.h, remove redundant prototype of
4553         cpp_fatal, don't define `const', add a prototype for `fatal'.
4554         (cpp_file_line_for_message): Add missing arguments `pfile'.
4555         (v_cpp_message): New function.
4556         (cpp_message): Use it.
4557         (v_fatal): New function.
4558         (fatal, cpp_fatal): Use it.
4559         (cpp_pfatal_with_name): Constify parameter `name'.
4560
4561         * flow.c (free_regset_vector): Remove redundant prototype.
4562
4563         * function.c (round_down): Wrap prototype and definition with
4564         macro ARGS_GROW_DOWNWARD.
4565         (record_insns): Wrap prototype and definition with
4566         defined (HAVE_prologue) || defined (HAVE_epilogue).
4567
4568         * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
4569
4570         * gen-protos.c: Include gansidecl.h.
4571         (hashf): Don't make it static, constify parameter `name'.
4572
4573         * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
4574         specifier %s in calls to function `fatal'.
4575
4576         * haifa-sched.c: Include toplev.h.
4577         (find_rgns): Remove unused variable `j'.
4578
4579         * integrate.c (note_modified_parmregs): Mark parameter `x' with
4580         ATTRIBUTE_UNUSED.
4581         (mark_stores): Likewise.
4582
4583         * jump.c (mark_modified_reg): Likewise.
4584
4585         * output.h (insn_current_reference_address): Add prototype.
4586         (eh_frame_section): Likewise.
4587
4588         * print-rtl.c: Include bitmap.h.
4589
4590         * reload1.c (reload): Wrap variables `note' and `next' in macro
4591         PRESERVE_DEATH_INFO_REGNO_P.
4592         (forget_old_reloads_1): Mark parameter `ignored' with
4593         ATTRIBUTE_UNUSED.
4594         (choose_reload_regs): Remove unused variable `in'.
4595         (reload_cse_invalidate_mem): Mark parameter `ignore' with
4596         ATTRIBUTE_UNUSED.
4597         (reload_cse_check_clobber): Likewise.
4598
4599         * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
4600         (mark_elimination): Fix typo in prototype.
4601
4602         * scan-decls.c: Include gansidecl.h.
4603
4604         * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
4605
4606 Mon May 18 22:37:33 1998  Jeffrey A Law  (law@cygnus.com)
4607
4608         * function.c (identify_blocks): Fix thinko when setting the
4609         block number for NOTE_INSN_BLOCK_END.
4610
4611 Mon May 18 15:30:42 1998  Nick Clifton  <nickc@cygnus.com>
4612
4613         * config/v850/lib1funcs.asm: Add .text pseudo op to start of
4614         ___udivsi3.
4615
4616         * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
4617         underscores for the prefixes to the names of the maths functions.
4618
4619         * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE.  Add
4620         comment explaining why.
4621
4622 Mon May 18 13:20:23 1998  Richard Henderson  <rth@cygnus.com>
4623
4624         * tree.h (TYPE_SIZE_UNIT): New.
4625         (struct tree_type): Add size_unit member.
4626         * stor-layout.c (layout_type): Initialize it.
4627         * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
4628         * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
4629
4630 Mon May 18 12:07:37 1998  Richard Earnshaw (rearnsha@arm.com)
4631
4632         * stor-layout.c (layout_record): Fix off-by-one error when checking
4633         length of the TYPE_BINFO vector.
4634
4635 Mon May 18 10:59:23 1998  Nick Clifton  <nickc@cygnus.com>
4636
4637         * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
4638         function parameter passed in memory.
4639
4640 Mon May 18 09:02:09 1998  Robert Lipe  <robertl@dgii.com>
4641
4642         * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h:  New files.
4643         Prototypes for externally used functions in respective C files.
4644         * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
4645         final.c: Include above files.
4646         * Makefile.in (toplev.o): Add dependency for above four headers.
4647         (final.o): Likewise.
4648         (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
4649         respective header files.
4650
4651 Mon May 18 01:23:33 1998  Jeffrey A Law  (law@cygnus.com)
4652
4653         * Makefile.in (TARGET_TOOLPREFIX): No longer define.
4654         (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
4655         the build tree if they exist.
4656         (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
4657         appropriately.
4658         (objdir): Let configure substitute value.
4659         (FLOAT_H): Let configure select a pre-built version from the
4660         config subdir.
4661         * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
4662         * configure.in: Substitute for objdir.
4663
4664         * Makefile.in (build_canonical, host_canonical): Let configure
4665         substitute values for these variables.
4666         * configure.in: Substitute for build_canonical, host_canonical
4667         and target_subdir in generated Makefile.
4668
4669         * output.h (find_basic_blocks): Declare.
4670         (free_basic_block_vars, set_block_num, life_analysis): Likewise.
4671
4672         * Makefile.in (BISON): Use bison from the build tree if it exists.
4673         (FLEX): Similarly.
4674
4675 Mon May 18 00:08:19 1998  Nick Clifton  <nickc@cygnus.com>
4676
4677         * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
4678         (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
4679         (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
4680         command line arguments to see if an executable is not being
4681         created, and if so - do not append the suffix.
4682
4683         * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
4684         driver macro.
4685
4686 Sun May 17 23:59:45 1998  John Wehle  (john@feith.com)
4687
4688         * i386.h (ALIGN_DFmode): Delete.
4689         (CONSTANT_ALIGNMENT): Define.
4690         * varasm.c (force_const_mem): Use it.
4691
4692 Sun May 17 19:31:05 1998  Richard Henderson  <rth@cygnus.com>
4693
4694         * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
4695         using it with swap_condition, not before.
4696
4697 Sun May 17 13:44:32 1998  Jim Wilson  <wilson@cygnus.com>
4698
4699         * alias.c (mode_alias_check): Delete.
4700         (true_dependence, anti_dependence, output_dependence): Revert April 21
4701         change.
4702
4703 Sun May 17 08:45:21 1998  Krister Walfridsson <cato@df.lth.se>
4704
4705         * toplev.c (output_lang_identify): Enable prototype and definition.
4706
4707 Sun May 17 01:12:27 PDT 1998 Jeff Law  (law@cygnus.com)
4708
4709         * version.c: Bump for snapshot.
4710
4711 Sat May 16 23:20:32 1998  Richard Henderson  <rth@cygnus.com>
4712
4713         * alpha/osf.h (HAVE_STAMP_H): Define.
4714         * alpha.c: Use it.
4715         * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
4716         * configure.in (alpha*-*-netbsd*): New.
4717         Based on patches from Paul H. Anderson <pha@pdq.com>.
4718
4719         * configure.in (alpha*-*-linux-*): Kill xm_defines.
4720         (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
4721         * alpha/xm-linux.h: Remove file.
4722
4723 Sat May 16 18:32:45 1998  Doug Evans  <devans@canuck.cygnus.com>
4724
4725         * dbxout.c (dbxout_parms): If mode of type of parameter living
4726         in memory doesn't match mode of DECL_RTL, make big endian correction.
4727
4728 Fri May 15 21:40:06 1998  John Wehle  (john@feith.com)
4729
4730         * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
4731
4732 Fri May 15 18:55:22 1998  Jason Merrill  <jason@yorick.cygnus.com>
4733
4734         * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
4735         * stor-layout.c (layout_record): Set it.
4736
4737 Fri May 15 18:49:30 1998  Mark Mitchell  <mmitchell@usa.net>
4738
4739         * toplev.c (rest_of_compilation): Don't defer nested functions.
4740
4741 Fri May 15 17:42:52 1998  Bob Manson  <manson@charmed.cygnus.com>
4742
4743         * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
4744         to an 8-byte boundary if info_ptr->fpmem_p.
4745
4746 Fri May 15 17:36:11 1998  Bill Moyer <ttk@cygnus.com>
4747
4748         * loop.c (basic_induction_var): Added test preventing
4749         CCmode parameter passed to convert_modes().
4750
4751 Fri May 15 17:26:18 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
4752
4753         * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
4754         input_filename and lineno around expand_expr call.  Set them to values
4755         in WFL before expand_expr call.
4756
4757 Fri May 15 12:44:57 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
4758
4759         * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
4760
4761 Fri May 15 07:20:03 1998  Mark Mitchell  <mmitchell@usa.net>
4762
4763         * fold-const.c (constant_boolean_node): New function.
4764         (fold): Use it.
4765
4766 Fri May 15 11:21:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4767
4768         * sh.c (gen_shl_and): Don't sign extend constant for kind two.
4769         Abort if trying to split kind 3 or 4 outside of combine.
4770
4771 Fri May 15 01:47:37 1998  Jeffrey A Law  (law@cygnus.com)
4772
4773         * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
4774
4775 Fri May 15 01:42:45 1998  Mumit Khan <khan@xraylith.wisc.edu>
4776
4777         * objc/Make-lang.in (OBJC_O): Add missing exeext.
4778         (libobjc.a, runtime-info.h): Likewise.
4779
4780 Fri May 15 01:29:39 1998  John Wehle  (john@feith.com)
4781
4782         * i386.h (DATA_ALIGNMENT): Define.
4783
4784 Fri May 15 05:35:37 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4785
4786         * reload1.c (delete_output_reload): Ignore single USE that
4787         was emitted for the pseudo use of this INSN.
4788         If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
4789         remains, we can always delete OUTPUT_RELOAD_INSN.
4790
4791 Thu May 14 18:38:50 1998  Jim Wilson  <wilson@cygnus.com>
4792
4793         * reload.c (find_reloads): Don't penalize SCRATCH output reload.
4794
4795 Thu May 14 15:10:30 1998  Jeffrey A Law  (law@cygnus.com)
4796
4797         * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
4798
4799 Thu May 14 16:30:47 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
4800
4801         * eh-common.h: New file for basic EH data structures.
4802         * except.h: Various prototypes and structures for NEW_EH_MODEL
4803         * function.h (struct function): Add a struct eh_stack for the catch
4804         clause stack.
4805         * except.c (gen_exception_label): New function to generate an
4806         exception label.
4807         (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
4808         (push_entry): New function to push an existing entry onto a stack.
4809         (receive_exception_label): New function to emit the code required
4810         at the start of all catch blocks.
4811         (struct func_eh_entry): New structure for maintaining handlers
4812         associated with EH regions.
4813         (new_eh_region_entry): New function to register an EH region.
4814         (add_new_handler): New function to register a handler with a region.
4815         (get_new_handler): Creates  anew handler entry for registering.
4816         (find_func_region): New function to convert a NOTE eh region number
4817         to an Eh region index.
4818         (get_first_handler): New function to get the first handler in a region.
4819         (clear_function_eh_region): New function to release memory.
4820         (duplicate_handlers): New function to duplicate a list of handlers.
4821         (expand_eh_region_end): Create a new region entry node as well.
4822         (expand_leftover_cleanups): Call receive_exception_label() and
4823         register the cleanup as a handler to the current region.
4824         (expand_start_catch): New function to start a catch clause.
4825         (expand_end_catch): New function to end a catch clause.
4826         (expand_start_all_catch): restructure to not do the equivilent of
4827         what expand_start_catch() does now. Push the exception region being
4828         handled onto the catch stack.
4829         (output_exception_table_entry): Issue an entry for each handler
4830         associated with a region.
4831         (set_exception_lang_code): New function for setting the language code.
4832         (set_exception_version_code): New function to set the version number.
4833         (output_exception_table): Output version and language codes.
4834         (find_exception_handler_labels): Find handler labels using new scheme.
4835         (is_exception_handler_label): New function, returns 1 if label is
4836         present as a handler in some exception region.
4837         (check_exception_handler_labels): Use the new scheme.
4838         (init_eh_for_function): Initialize the catch stack.
4839         (save_eh_status): Save the catch stack.
4840         (restore_eh_status): Restore the catch stack.
4841         (scan_region): Don't remove unreferenced handler label. Flow does it.
4842         (get_reg_for_handler): New function to get the eh_context pointer
4843         passed by __throw.
4844         (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
4845         * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
4846         entry when processing END region rather that START region.
4847         * flow.c (find_basic_blocks_1): Find all potential handler regions
4848         now that we don't automatically know what the labels might be.
4849         Let scan_region() remove unreferenced EH BEGIN/END labels.
4850         * integrate.c (get_label_from_map): Put inlined labels onto the
4851         permanent obstack since we dont know which ones might be exception
4852         labels.
4853         (save_for_inline_copying): Make new copies of all the handlers.
4854         (expand_inline_function): Make new copies of all the handlers.
4855         * libgcc2.c: Remove local struct decls, and include eh-common.h.
4856         (find_exception_handler): With NEW_EH_MODEL the first matching
4857         region we find is the right one. Add eh_info as a new parameter.
4858         (__throw): Pass eh_info to find_exception_handler. Set handler
4859         and pass use different regs  under NEW_EH_MODEL.
4860
4861 Thu May 14 12:58:21 1998  Jim Wilson  <wilson@cygnus.com>
4862
4863         * i960.h (hard_regno_mode_ok): Changed to function from array of
4864         unsigned.
4865         (HARD_REGNO_MODE_OK): Call function instead of testing bit.
4866         * i960.c (hard_regno_mode_ok): Changed to function from array of
4867         unsigned.
4868
4869 Thu May 14 08:41:46 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4870
4871         * reload.c (remove_replacements): New function.
4872         * reload.h (remove_replacements): Declare.
4873         * reload1.c (choose_reload_regs): Disable some reloads that
4874         belong to inherited reloads.
4875
4876 Thu May 14 02:17:17 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4877
4878         * loop.c (scan_loop): Don't call move_moveables for optimize_size.
4879
4880         * reload1.c (merge_assigned_reloads):  When merging, reset
4881         reload_spill_index for the eliminated reload.
4882
4883 Wed May 13 17:51:13 1998  Jeffrey A Law  (law@cygnus.com)
4884
4885         * haifa-sched.c (schedule_insns): Fix merge goof.
4886
4887 1998-05-13  Jim Wilson  <wilson@cygnus.com>
4888
4889         * varasm.c (make_decl_rtl): Revert April 1 change.
4890         * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
4891         m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
4892         Get function name from the SYMBOL_REF in the DECL_RTL, not from
4893         DECL_ASSEMBLER_NAME.
4894         * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
4895         DECL_ASSEMBLER_NAME.
4896
4897 Wed May 13 13:09:19 1998  Jim Wilson  <wilson@cygnus.com>
4898
4899         * i386.c (notice_update_cc, output_float_compare): Disable
4900         TARGET_CMOVE support.
4901
4902 Wed May 13 15:28:59 1998  Michael Meissner  <meissner@cygnus.com>
4903                           Jeff Law <law@cygnus.com>
4904
4905         * rtlanal.c (find_reg_note): Ignore notes that are not on on
4906         insns of class 'i'.
4907         (find_regno_note): Likewise.
4908
4909         * Makefile.in (stor-layout.o): Depend on except.h
4910         (varasm.o, function.o): Likewise.
4911         (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
4912
4913         * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
4914         (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
4915         ($(HOST_PREFIX_1)rtl.o): Likewise.
4916         ($(HOST_PREFIX_1)bitmap.o): New host object.
4917         * emit-rtl.c (toplevel): Include bitmap.h.
4918         (gen_rtx): Handle 't' and 'b' nodes.
4919         * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
4920         Print block number for block begin/end notes.  Print 't' type
4921         nodes as a pointer.  Know that the 3rd argument of live range
4922         start/stop notes is really a range_info rtx.  If type is 'b', print
4923         out argument as a bitmap.
4924         * rtl.c: Include bitmap.c.
4925         (copy_rtx): Copy tree nodes as is.  Copy bitmaps if type is 'b'.
4926         (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
4927         * rtl.def (RANGE_LIVE): New node to hold live information while we
4928         recalculate the basic blocks.
4929         (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
4930         (RANGE_VAR): New node, to hold information saved in symbol node for New
4931         communicating live range information to the debug output functions.
4932         * rtl.h (rtunion_def): Add rttree and rtbit fields.
4933         (XBITMAP, XTREE): New accessor macros.
4934         (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
4935         (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
4936         (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
4937         (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
4938         (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
4939         (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
4940         (RANGE_INFO_*): Likewise.
4941         * sched.c (sched_analyze): Keep live range start/stop notes.
4942         (unlink_other_notes): Likewise.
4943         * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
4944         (unlink_other_notes): Likewise.
4945         * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
4946         (BLOCK_LIVE_RANGE_FLAG): Likewise.
4947         (DECL_LIVE_RANGE_RTL): Likewise.
4948         (struct tree_block): Add live_range_flag, live_range_var_flag,
4949         live_range_start and live_range_end.
4950         (struct tree_decl): Add live_range_rtl field.
4951         * gengenrtl.c (type_from_format): Handle 'b' and 't'.
4952         (accessor_from_format): Likewise.
4953
4954         * haifa-sched.c (schedule_block): Make verbose output line up.
4955         Also add a blank line in printing the individual ready lists.
4956
4957 Wed May 13 15:43:44 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4958
4959         * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
4960         (c-lex.o): Depend on output.h.
4961         (c-common.o): Likewise.
4962         (stmt.o): Likewise.
4963         (calls.o): Likewise.
4964         (integrate.o): Depend on toplev.h.
4965         (regclass.o): Depend on output.h.
4966         (final.o): Depend on reload.h.
4967
4968         * c-common.c: Include output.h.
4969         (check_format_info): Remove unused variable `integral_format'.
4970
4971         * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
4972         `indent' with ATTRIBUTE_UNUSED.
4973         (print_lang_type): Likewise.
4974         (maybe_build_cleanup): Likewise for parameter `decl'.
4975         (copy_lang_decl): Likewise for parameter `node'.
4976
4977         * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
4978         (lang_print_xnode): Mark parameters `file', `node' and `indent'
4979         with ATTRIBUTE_UNUSED.
4980         (lookup_interface): Likewise for parameter `arg'.
4981         (is_class_name): Likewise.
4982         (maybe_objc_check_decl): Likewise for parameter `decl'.
4983         (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
4984         `reflexive'.
4985         (maybe_objc_method_name): Likewise for parameter `decl'.
4986         (build_objc_string): Likewise for parameters `len' and `str'.
4987
4988         * c-lex.c: Include output.h.
4989
4990         * c-lex.h (position_after_white_space): Correct typo in prototype.
4991
4992         * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
4993         c_expand_end_cond, init_iterators): Add prototypes.
4994
4995         * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
4996         with ATTRIBUTE_UNUSED.
4997
4998         * calls.c: Include output.h.
4999
5000         * cccp.c (pipe_closed): Mark parameter `signo' with
5001         ATTRIBUTE_UNUSED.
5002
5003         * combine.c: Move inclusion of expr.h to after insn-config.h.
5004
5005         * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
5006         as empty, rather define as ((void)0).
5007
5008         * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
5009         Add parentheses around assignment used as truth value.
5010
5011         * cplus-dem.c (squangle_mop_up): Change return type to void.
5012         (internal_cplus_demangle): Remove unused parameter `options'.
5013         All callers changed.
5014         (cplus_demangle_opname): Remove function wide variable `int i' and
5015         replace with `size_t i' at each location where it is used.
5016         (cplus_demangle_opname): change type of `i' from int to size_t.
5017
5018         * cppexp.c (right_shift): Mark parameter `pfile' with
5019         ATTRIBUTE_UNUSED.
5020
5021         * cpphash.c (cpp_lookup): Likewise.
5022         (cpp_hash_cleanup): Likewise.
5023
5024         * cpplib.c (parse_name): Add a prototype and make it static.
5025         (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
5026         (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
5027         (macro_cleanup): Likewise for parameter `pfile'.
5028         (file_cleanup): Likewise.
5029
5030         * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
5031         cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
5032
5033         * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
5034         __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
5035
5036         * cse.c (cse_check_loop_start): Mark parameter `set' with
5037         ATTRIBUTE_UNUSED.
5038
5039         * dbxout.c (flag_minimal_debug, have_used_extensions,
5040         source_label_number): Move inside macro wrapper check against
5041         defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
5042
5043         * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
5044
5045         * except.h (doing_eh): Provide prototype.
5046
5047         * expr.c: Move inclusion of expr.h to after insn-config.h.
5048
5049         * final.c: Include reload.h.
5050         (shorten_branches): Cast the first argument of bzero to char *.
5051
5052         * fix-header.c (cpp_print_containing_files): Mark parameter
5053         `pfile' with ATTRIBUTE_UNUSED.
5054         (cpp_fatal): Likewise.
5055
5056         * flow.c (find_basic_blocks_1): Cast the first argument of bzero
5057         to char *.
5058
5059         * genattrtab.c (make_length_attrs): Change the type of variable
5060         `i' from int to size_t.
5061         (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
5062         (one_fn): Likewise.
5063
5064         * genextract.c (main): When generating insn-extract.c, mark
5065         variable `junk' with ATTRIBUTE_UNUSED.
5066
5067         * gengenrtl.c (gencode): When generating genrtl.c, cast the first
5068         argument of bzero to char*.
5069
5070         * integrate.c: Include toplev.h.
5071
5072         * libgcc2.c: Wrap `struct exception_table' and
5073         `find_exception_handler' in macro DWARF2_UNWIND_INFO.
5074
5075         * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
5076
5077         * objc/objc-act.c: Include toplev.h.
5078         (lang_print_xnode): Mark parameters `file', `node' and `indent'
5079         with ATTRIBUTE_UNUSED.
5080         (finish_protocol): Likewise for parameter `protocol'.
5081
5082         * output.h (declare_weak): Add prototype.
5083         (decode_reg_name): Don't wrap with TREE_CODE macro.
5084         (assemble_alias): Add prototype.
5085
5086         * regclass.c: Include output.h.
5087
5088         * reload.h (reloads_conflict): Add prototype.
5089
5090         * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
5091         output_func_start_profiler): Add prototypes.
5092
5093         * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
5094         ATTRIBUTE_UNUSED.
5095
5096         * scan-decls.c: Include scan.h.
5097
5098         * scan.h (recognized_function, recognized_extern): Add prototypes.
5099
5100         * stmt.c: Include output.h.
5101
5102         * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
5103         (output_lang_identify): Hide prototype and definition.
5104         (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
5105         (pipe_closed): Likewise.
5106
5107         * toplev.h (count_error, strip_off_ending, error_for_asm,
5108         warning_for_asm): Add prototypes.
5109
5110 Wed May 13 12:54:19 1998  Michael Meissner  <meissner@cygnus.com>
5111
5112         * toplev.c (rest_of_compilation): "Charge" final for any time
5113         doing various cleanup operations after finishing compilation
5114         of a function.
5115
5116         * flow.c (dump_flow_info): Also print number of sets and
5117         whether or not the pseudo is a user variable.
5118
5119         * flow.c (reg_n_max): New global variable.
5120         * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
5121         Delete regno_max variable.
5122         * regs.h (REG_N_CHECK): Define.
5123         (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
5124         (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
5125         (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
5126
5127 Wed May 13 12:54:19 1998  Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
5128
5129         * acconfig.h (ENABLE_CHECKING): Undefine.
5130         * configure.in (--enable-checking): New option.
5131
5132 Wed May 13 08:52:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5133
5134         * reload1.c (merge_assigned_reloads):  Can merge
5135         RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
5136         if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
5137
5138 Tue May 12 20:05:57 1998  Jim Wilson  <wilson@cygnus.com>
5139
5140         * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
5141
5142 Wed May 13 03:23:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5143
5144         * reload1.c (gen_reload): Create REG_EQUIV notes.
5145
5146 Tue May 12 22:21:07 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5147
5148         * reload1.c (reload): Fix check for USEs to use code of pattern.
5149         (choose_reload_regs): Remove dead variable use_insn.
5150
5151 Tue May 12 14:04:49 1998  Jeffrey A Law  (law@cygnus.com)
5152
5153         * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
5154
5155 Tue May 12 15:16:02 1998  Michael Meissner  <meissner@cygnus.com>
5156
5157         * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
5158         already defined.
5159         (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
5160         (insn_{unit,issue_delay}): Ditto.
5161         (blockage_range): Ditto.
5162         (actual_hazard{,_this_instance}): Ditto.
5163         (schedule_unit): Ditto.
5164         (potential_hazard): Ditto.
5165         (insn_cost): Ditto.
5166         (swap_sort): Ditto.
5167         (queue_insn): Ditto.
5168         (birthing_insn_p): Ditto.
5169         (adjust_priority): Ditto.
5170         (get_block_head_tail): Ditto.
5171         (init_rgn_data_dependences): Ditto.
5172
5173 Tue May 12 10:27:54 1998  Klaus Kaempf  <kkaempf@progis.de>
5174
5175         * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
5176
5177 Tue May 12 11:44:14 1998  Gavin Koch  <gavin@cygnus.com>
5178
5179         * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
5180
5181 Tue May 12 11:38:31 1998  Gavin Koch  <gavin@cygnus.com>
5182
5183         * config/mips/mips.md (dslot): Move after definition of "cpu"
5184         attribute.  Handle r3900 case.
5185
5186 Tue May 12 10:21:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5187
5188         * system.h: Define the STRINGIFY macro here.
5189         * protoize.c: Not here.
5190         * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
5191
5192 Tue May 12 00:47:33 1998  John Wehle  (john@feith.com)
5193
5194         * varasm.c (assemble_variable): Compute the alignment of the data
5195         earlier so that both initialized and uninitialized variables are
5196         effected by DATA_ALIGNMENT.
5197         * tm.texi (DATA_ALIGNMENT): Updated appropriately.
5198
5199 Mon May 11 19:57:58 1998  Jeffrey A Law  (law@cygnus.com)
5200
5201         * mips.c: Prototype static functions.
5202
5203 Mon May 11 17:43:03 1998  Jim Wilson  <wilson@cygnus.com>
5204
5205         * regmove.c (fixup_match_2, find_matches, regmove_profitable):
5206         Add explanatory comments.
5207
5208         * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
5209
5210 Mon May 11 17:24:27 1998  Richard Henderson  <rth@cygnus.com>
5211
5212         * sparc.md (ffsdi2): Disable.  Simplify the expression as well.
5213
5214 Mon May 11 13:30:44 1998  Jim Wilson  <wilson@cygnus.com>
5215
5216         * varasm.c (make_decl_rtl): Disable April 1 change.
5217
5218 Mon May 11 09:14:41 1998  Richard Henderson  <rth@cygnus.com>
5219
5220         * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
5221
5222 Mon May 11 08:24:18 1998  Richard Henderson <rth@cygnus.com>
5223
5224         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
5225         * alpha.c (print_operand): Handle it.
5226         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
5227         related define_splits.  Also add peepholes for SImode reload
5228         plus sign_extend lossage.
5229
5230 Mon May 11 09:33:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5231
5232         * genattr.c: Include stdarg.h/varargs.h.  Change function
5233         `fatal' to use variable arguments instead of faking it with
5234         integer parameters.  Provide a prototype which also
5235         checks the format specifiers using ATTRIBUTE_PRINTF_1.
5236
5237         * genattrtab.c: Likewise.
5238         * gencodes.c: Likewise.
5239         * genconfig.c: Likewise.
5240         * genemit.c: Likewise.
5241         * genextract.c: Likewise.
5242         * genflags.c: Likewise.
5243         * genopinit.c: Likewise.
5244         * genpeep.c: Likewise.
5245         * genrecog.c: Likewise.
5246         * genoutput.c: Likewise.  Similarly for function `error'.
5247
5248 Sun May 10 02:27:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5249
5250         * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
5251         * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
5252         * configure.in: Use GCC_C_VOLATILE.
5253         * system.h (volatile): Define as empty if no volatile support is
5254         available.
5255
5256 Sun May 10 01:21:43 1998  Jeffrey A Law  (law@cygnus.com)
5257
5258         * genemit.c (output_add_clobbers): Removed unused variable 'i' from
5259         generated fucntion.
5260
5261 Sat May  9 02:02:15 1998  Richard Henderson  <rth@cygnus.com>
5262
5263         * loop.c (get_condition): Don't combine when either compare is MODE_CC.
5264         * alpha.c (alpha_emit_conditional_branch): New function.  Taken from
5265         the body of beq; additionally set the mode of the branch to CCmode for
5266         FP compares and not fast_math.
5267         (alpha_emit_conditional_move): Always use a compare insn for FP
5268         when not fast_math, as well as setting CCmode on the cmov.
5269         * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
5270
5271         * machmode.h (COMPLEX_MODE_P): New macro.
5272
5273 Sat May  9 01:53:23 1998  Richard Henderson  <rth@cygnus.com>
5274
5275         * haifa-sched.c (print_exp): Fix typo.
5276
5277 Fri May 8 21:48:50 PDT 1998 Jeff Law  (law@cygnus.com)
5278
5279         * version.c: Bump for snapshot.
5280
5281 Fri May  8 18:23:08 1998  Michael Meissner  <meissner@cygnus.com>
5282
5283         * final.c (final_scan_insn): Call fatal_insn instead of abort if
5284         we could not split an insn when required to.
5285
5286         * m32r.md ({add,sub}di3): Add define_splits and appropriate low
5287         level insns.
5288         (peepholes): Disable peepholes that call dead_or_set_p.
5289         (movsi): Rewrite to handle addresses better after last change.
5290         Add define_split to split load of addresses in large/medium modes.
5291         (prologue): Call m32r_expand_prologue.
5292         (movsi_{push,pop}): Generators for push/pop.
5293         (movsi): Support PRE_{INC,DEC}, POST_INC.
5294         (mov{di,df}): Rewrite.  Always split the insns.
5295         (movsf): Add define_split to get register load in correct mode.
5296         (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
5297         (attributes): Rewrite attributes so that type indicates both the
5298         type and the length of the insn directly.
5299         (all insns): Change to use new type attributes.
5300         (debug): New attribute to convey whether -mdebug was used.
5301         (opt_space): New attribute to convey whether -Os was used.
5302         (function units): Loads are 3 cycles, not 2.  Better classify all
5303         insns into short/long.
5304         (load/store/extend insns): Add separate case for load/store
5305         indirect operations without an offset.
5306         (divsi3): Division is a long operation, not short.
5307
5308         * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
5309         modes > 1 word.
5310         (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
5311         (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
5312         (EXTRA_CONSTRAINT): Remove 'S' special support.  Add 'U' for
5313         operands with PRE_{INC,DEC}, POST_INC.
5314         (FUNCTION_PROFILER): Call abort instead of doing nothing.
5315         (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
5316         SImode variables.
5317         (gen_split_move_double): Declare.
5318         (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
5319
5320         * m32r.c (gen_split_move_double): Fix typo.  Also, don't call
5321         emit_move_insn, build up SET's directly.
5322         (toplevel): Include system.h, not stdio.h.
5323         (move_double_src_operand): Allow any DF or DI mode constant.
5324         (gen_split_move_double): Split moves of DI or DF values into the
5325         appropriate moves, loads, or stores.  Don't handle use of auto
5326         inc/dec if using dead index.  Do handle overlapping moves, etc.
5327         (m32r_frame_info): Remove prologue_size field.
5328         (m32r_compute_frame_size): Don't calculate prologue size.
5329         (m32r_output_function_prologue): Change to pretty much a NOP.
5330         (m32r_expand_prologue): Expand prologue as a series of INSNs.
5331         (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
5332         (m32r_print_operand_address): Ditto.
5333
5334 Fri May  8 14:13:21 1998  H.J. Lu  (hjl@gnu.org)
5335
5336         * reload1.c (emit_reload_insns): When performing expensive
5337         optimizations, do not output the last reload insn if OLD is
5338         not the dest of NSN and is in the src and is clobbered by INSN.
5339
5340 Fri May  8 09:47:29 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5341
5342         * Makefile.in (genrtl.o): Depend on system.h.
5343         * gengenrtl.c (gencode): When creating genrtl.c, have it
5344         include system.h.
5345
5346 Fri May  8 10:57:33 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5347
5348         * config/m68k/t-linux: Remove extra stuff already included in
5349         config/t-linux.
5350
5351 Fri May  8 09:53:24  Paul Eggert  <eggert@twinsun.com>
5352
5353         * fixinc.wrap: Renamed from fixinc.math.  Put wrapper around
5354         curses.h if it contains `typedef char bool;', as suggested by
5355         Manfred Hollstein <manfred@s-direktnet.de>.
5356
5357         * configure.in: Rename fixinc.math to fixinc.wrap.
5358
5359 Thu May  7 19:26:34 1998  Jim Wilson  <wilson@cygnus.com>
5360
5361         * gcc.c (read_specs): Handle missing blank line at end of specs file.
5362
5363         * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
5364         movdfcc_1): Disable.
5365
5366 Thu May  7 15:39:14 1998  Jim Wilson  <wilson@cygnus.com>
5367
5368         * configure.in (enable_threads): Rename to enable_threads_flag before
5369         main loop.  Set enable_threads to enable_threads_flag inside main
5370         loop.
5371
5372 Thu May  7 17:38:03 1998  Michael Meissner  <meissner@cygnus.com>
5373
5374         * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
5375         multiple times.
5376
5377 Thu May  7 14:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5378
5379         * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
5380
5381         * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
5382         (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
5383         (AC_CHECK_FUNCS): Remove unused check for vprintf.
5384
5385         * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
5386         (cccp.o): Depend on gansidecl.h.
5387         (cexp.o): Likewise.
5388
5389         * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
5390         per the rest of gcc source.
5391         * cexp.y: Likewise.  Include gansidecl.h and remove all code made
5392         redundant.
5393
5394         * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
5395         used when vfprintf is missing.
5396         * cexp.y: Likewise.
5397         * gcc.c: Likewise.
5398         * genattrtab.c: Likewise.
5399         * mips-tfile.c: Likewise.
5400         * toplev.c: Likewise.
5401
5402         * vfprintf.c: New file.
5403         * doprint.c: New file.
5404
5405 Thu May  7 10:18:41 1998  Jeffrey A Law  (law@cygnus.com)
5406
5407         * config/linux.h (ASM_COMMENT_START): Remove from here,
5408         * config/linux-aout.h (ASM_COMMENT_START): and here,
5409         * config/i386/linux.h (ASM_COMMENT_START): to here,
5410         * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
5411         * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
5412         here as '#' too.
5413
5414 Thu May  7 10:55:59 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5415
5416         * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
5417         constant.
5418
5419 Wed May  6 22:32:37 CDT 1998 Robert Lipe  <robertl@dgii.com>
5420
5421         * Makefile.in (dwarfout.o) Add toplev.h dependency.
5422         * dwarfout.c, i386.c: Include toplev.h
5423         * toplev.h: (pfatal_with_name) Add prototype.
5424
5425 Wed May  6 19:02:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
5426
5427         * Makefile.in: Fix .SUFFIXES.
5428
5429 Wed May  6 19:31:32 1998  Alan Modra <alan@spri.levels.unisa.edu.au>
5430
5431         * config/linux.h (ASM_COMMENT_START): Define as "#".
5432         * config/linux-aout.h (ASM_COMMENT_START): Likewise.
5433
5434 Wed May  6 15:51:39 1998  Jim Wilson  <wilson@cygnus.com>
5435
5436         * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
5437         * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
5438
5439         * toplev.c: Include toplev.h.
5440         * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
5441         c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
5442         dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
5443         hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
5444         reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
5445         toplev.h dependency.
5446
5447         * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
5448         HARD_FRAME_POINTER_REGNUM.
5449
5450         * expr.c (target_temp_slot_level): Delete duplicate definition.
5451
5452 Wed May  6 16:46:01 1998  Jeffrey A Law  (law@cygnus.com)
5453
5454         * stmt.c (mark_seen_cases): Make it have external linkage again.
5455         * expr.h (mark_seen_cases): Add declaration, but only when tree.h
5456         has been included.
5457
5458         * haifa-sched.c (print_value, case SUBREG): Fix typo.
5459
5460         * i386.c (output_387_binary_op): Add some braces to avoid warnings.
5461         * i386.h (REG_CLASS_CONTENTS): Similarly.
5462
5463         * toplev.c (-fsched-max): Delete flag.
5464         (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
5465         * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
5466         and -fsched-interblock-max-insns-N support.  Remove INTERBLOCK_DEBUG
5467         conditionals.
5468
5469         * haifa-sched.c (find_rgns): Correctly handle reducible loops with
5470         inner loops which are not reducible.
5471
5472         * loop.c (regs_match_p): Fix typo in prototype.
5473
5474         * regmove.c (try_auto_increment): Wrap declaration inside an
5475         #ifdef AUTO_INC_DEC.
5476
5477 Wed May  6 17:07:47 1998  Michael Meissner  <meissner@cygnus.com>
5478
5479         * final.c (output_operand_lossage): Call fatal with the operand
5480         lossage message instead of calling abort.
5481
5482 Wed May  6 15:37:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5483
5484         * c-common.c: Convert to using ctype macros defined in system.h.
5485         * c-lex.c: Likewise.
5486         * cccp.c: Likewise.
5487         * collect2.c: Likewise.
5488         * rs6000.c: Likewise.
5489         * cpplib.c: Likewise.
5490         * fix-header.c: Likewise.
5491         * gcc.c: Likewise.
5492         * gen-protos.c: Likewise.
5493         * pexecute.c: Likewise.
5494         * protoize.c: Likewise.
5495         * rtl.c: Likewise.
5496         * scan.c: Likewise.
5497         * stmt.c: Likewise.
5498         * tlink.c: Likewise.
5499         * toplev.c: Likewise.
5500
5501 Wed May  6 14:44:14 1998  Gavin Koch  <gavin@cygnus.com>
5502
5503         * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
5504         Replace -gdwarf-2 with -g0.
5505
5506 Wed May  6 11:43:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5507
5508         * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
5509         * mips-tdump.c: Include system.h, remove redundant headers.
5510         * mips-tfile.c: Likewise.  Also, convert all ctype function calls
5511         to calls of the macro versions defined in system.h.
5512
5513         * objc/Make-lang.in (objc-act.o): Depend on system.h.
5514         * objc/objc-act.c: Include system.h, remove redundant headers.
5515
5516 Wed May  6 11:21:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5517
5518         * configure.in (AC_CHECK_FUNCS): Add isascii.
5519         (GCC_NEED_DECLARATIONS): Add atof.
5520
5521         * system.h: Provide prototypes for abort, atof, atol and sbrk here.
5522         * rtl.c, rtl.h, toplev.c, tree.h: Not here.
5523
5524 Wed May  6 10:52:49 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5525
5526         * system.h: Wrap time.h and sys/file.h in autoconf checks.
5527         Provide default definitions for O_RDONLY and O_WRONLY here.
5528
5529         * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
5530
5531 1998-05-06 Mark Mitchell  <mmitchell@usa.net>
5532
5533         * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
5534
5535 Wed May  6 06:35:38 1998  Robert Lipe  <robertl@dgii.com>
5536
5537         * toplev.h: New file.   Protypes for functions in toplev.c.
5538         * tree.h, rtl.h: Deleted protos for functions in toplev.c.
5539         * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
5540         c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
5541         convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
5542         function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
5543         reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
5544         varasm.c: include it.
5545
5546 Wed May  6 01:09:01 1998  Jeffrey A Law  (law@cygnus.com)
5547                           Jim Wilson (wilson@cygnus.com)
5548
5549         * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
5550         blocks.  Check for 1 successor which is the EXIT_BLOCK.
5551
5552         * haifa-sched.c (find_rgns): Detect unreachable blocks, including
5553         unreachable loops with more than one block.
5554
5555 Wed May  6 08:22:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5556
5557         * fix-header.c (write_rbrac): Add "abort" to functions which need to
5558         be protected.
5559
5560 Wed May  6 00:09:36 1998  Jeffrey A Law  (law@cygnus.com)
5561
5562         * Check in merge from gcc2.  See ChangeLog.12 for details.
5563
5564 Tue May  5 14:33:49 1998  Jim Wilson  <wilson@cygnus.com>
5565
5566         * c-common.c (scan_char_table): Separate 's' and 'c'.  'c' does not
5567         accept 'a' flag.  'S' does accept 'a' flag.
5568         (check_format_info): When pedantic, warn for m/C/S/a/A formats,
5569         and `a' flag.
5570
5571         * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
5572
5573 Tue May  5 10:50:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5574
5575         * config/m68k/m68k.h: Declare functions from m68k.c used in
5576         macros and machine description.
5577         (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
5578         long values.
5579         (ASM_OUTPUT_FLOAT): Likewise.
5580         (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5581
5582 Tue May  5 01:28:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
5583
5584         * tree.def: Add NAMESPACE_DECL.
5585         * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
5586         * dwarf2out.c (push_decl_scope): Likewise.
5587         (scope_die_for): Likewise.
5588         * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
5589         how to get next context level.
5590
5591 Tue May  5 01:43:16 1998  Jim Wilson  <wilson@cygnus.com>
5592
5593         * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
5594         case.
5595
5596 Tue May  5 01:15:06 1998  Jeffrey A Law  (law@cygnus.com)
5597
5598         * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
5599
5600         * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
5601         for any insns skipped at the start of a block because they were
5602         redundant.
5603
5604 Mon May  4 20:23:51 1998  Jim Wilson  <wilson@cygnus.com>
5605
5606         * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
5607
5608 1998-05-04  Ulrich Drepper  <drepper@cygnus.com>
5609
5610         * c-common.c (format_char_info): Add new field hhlen.
5611         (print_char_table, scan_char_table, time_char_table): Initialize
5612         hhlen field appropriately.
5613         (char_format_info): Recognize hh modifier and lookup correct char
5614         table entry.
5615
5616 Mon May  4 19:15:29 1998  Jim Wilson  <wilson@cygnus.com>
5617
5618         * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
5619         reference if this is a store.
5620
5621 Mon May  4 17:25:17 1998  Richard Henderson  <rth@cygnus.com>
5622
5623         * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
5624
5625 Sun May  3 23:57:25 1998  Robert Lipe   <robertl@dgii.com>
5626
5627         Make UnixWare 7 bootstrap support work with final shipping product.
5628         * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
5629         Pick up xm-siglist and xm-alloca.
5630         (xm_defines): Add USG so dbxout will build.
5631         * configure: Regenerate.
5632
5633 Sun May  3 13:51:34 PDT 1998  Richard Henderson  <rth@cygnus.com>
5634
5635         Support for official Sparc V9 ABI:
5636         * sparc.c (sparc_override_options): Force stack bias off for !arch64.
5637         Care for flag_pcc_struct_return default.
5638         (output_move_quad): Rewrite to move by halves on v9 and in the
5639         proper direction.
5640         (move_quad_direction): New function.
5641         (output_fp_move_quad): Use it to determine the direction of copy.
5642         (function_arg_slotno): Return -1 for FP reg overflow as well.
5643         (function_arg_record_value*): New functions.
5644         (function_arg): Use them.  Streamline unprototyped parameter passing.
5645         (function_arg_pass_by_reference): Pass TCmode by reference.
5646         (function_value): New function.
5647         * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
5648         long long in 64-bit mode.
5649         (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
5650         (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
5651         (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
5652         (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
5653         (BASE_INCOMING_ARG_REG): Likewise.
5654         (FUNCTION_VALUE): Call function_value.
5655         (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
5656         * sparc.md (movdi_sp32_v9): Disable for arch64.
5657         (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
5658         (call_value_address_sp64): Remove register class constraints.
5659         (call_value_symbolic_sp64): Likewise.
5660         (nonlocal_goto): Pass label reg directly to goto_handlers.  Constrain
5661         v9 case to 32-bit constants.
5662         (goto_handler_and_restore_v9): Provide a version for arch64.
5663         * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
5664         * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
5665         (CPP_PREDEFINES): New.
5666         * sparc/sp64-elf.h: Likewise.
5667         (PREFERRED_DEBUGGING_TYPE): Dwarf2.
5668         (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
5669         * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
5670
5671 Sat May 2 17:47:17 PDT 1998 Jeff Law  (law@cygnus.com)
5672
5673         * version.c: Bump for snapshot.
5674
5675 Sat May  2 01:37:29 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5676
5677         * reload.c (find_reloads): Emit USEs to mark where a pseudo
5678         is reloaded with the MEM of its stack slot.
5679         * reload1.c (cannot_omit_stores): Delete.
5680         (reload): Don't initialize it.
5681         Don't apply avoid_return_reg logic to USEs.
5682         When done, remove USEs that have a REG_EQUAL note on them.
5683         (emit_reload_insns): Handle case where we have inherited a MEM.
5684         (choose_reload_regs): Likewise.
5685         (delete_output_reload): Don't use cannot_omit_stores.
5686
5687 Thu Apr 30 18:59:03 1998  Jim Wilson  <wilson@cygnus.com>
5688
5689         * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
5690
5691 Thu Apr 30 16:57:34 1998  Michael Meissner  <meissner@cygnus.com>
5692
5693         * haifa-sched.c (print_{exp,value}): Various changes to make the
5694         debug output easier to read.  Also, use only one buffer, and make
5695         sure the buffer we are passed in doesn't overflow.
5696         (safe_concat): Concatenate to a buffer without overflow.
5697
5698 Thu Apr 30 16:57:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5699
5700         * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
5701         with the prototype.
5702
5703 Wed Apr 29 21:45:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5704
5705         * sched.c (new_insn_dead_notes): Check if the register was
5706         used in the original instruction.
5707         * haifa-sched.c (new_insn_dead_notes): Likewise.
5708
5709 Wed Apr 29 13:46:03 1998  Jim Wilson  <wilson@cygnus.com>
5710
5711         * dwarf2out.c (scope_die_for): If could not find proper scope,
5712         check for and handle tagged type with incorrect TYPE_CONTEXT.
5713
5714 Wed Apr 29 15:34:40 1998  John Carr  <jfc@mit.edu>
5715
5716         * calls.c (expand_call): Fix recognition of C++ operator new.
5717
5718         * alias.c (mode_alias_check): Disable type based alias detection.
5719
5720 Wed Apr 29 15:06:42 1998  Gavin Koch  <gavin@cygnus.com>
5721
5722         * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
5723         ASM_OUTPUT_WEAK_ALIAS): Define.
5724         * config/mips/elf64.h: Same.
5725         * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
5726         ASM_WEAKEN_LABEL): Removed.
5727
5728 Wed Apr 29 10:53:29 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5729
5730         * calls.c (expand_call): Bump the length limit on the specially
5731         recognized function names to 17.
5732
5733 Tue Apr 28 17:53:33 1998  Jim Wilson  <wilson@cygnus.com>
5734
5735         * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
5736         when undefining macros at the end.
5737
5738         * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
5739         val or len has TREE_SIDE_EFFECTS set.
5740
5741         * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
5742         (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
5743         (smuldi3_highpart): Call const v8plus routine.
5744         (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
5745         (const_smulsi3_highpart_v8plus): New pattern.
5746         (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
5747         (umulsidi3): Call const v8plus routine.
5748         (umulsi3_highpart): Handle const before v8plus.  Call const v8plus
5749         routine.
5750         (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
5751         (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
5752
5753 Tue Apr 28 08:55:26 1998  Michael Meissner  <meissner@cygnus.com>
5754
5755         * m32r.c (*_oper{and|ator}): Change enum arguments and return
5756         values to int, so they can be prototyped even in files that don't
5757         include rtl.h.
5758         ({small,large}_insn_p): Ditto.
5759         (m32r_select_cc_mode): Ditto.
5760         (gen_compare): Ditto.
5761         (function_arg_partial_nregs): Ditto.
5762         (m32r_setup_incoming_varargs): Ditto.
5763         (init_reg_tables): Add prototype.
5764         (m32r_frame_info): Add prolog_size field.
5765         (m32r_compute_frame_size): Calculate the size of the prologue.
5766         (m32r_first_insn_address): Return prologue size.
5767         (m32r_output_function_prologue): Calculate frame size before
5768         printing out information.  Print out the prologue size.
5769
5770         * m32r.h: Prototype all functions in m32r.c.
5771         (FIRST_INSN_ADDRESS): Declare, returning prologue size.
5772
5773         * m32r.md (bcc functions): Cast enum's to int.
5774
5775         * m32r.c (conditional_move_operand): Silence a debug message.
5776         ({small,long}_insn): New predicates.
5777
5778         * m32r.h (TARGET_M32R): New macro.
5779         (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
5780         (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
5781         was selected.
5782         (ISSUE_RATE): Define as 2.
5783
5784         * m32r.md (insn_size): New attribute.
5785         ({,rev_}branch_insn): Add .s qualifier to branches believed to be
5786         short.
5787         (m32r): New attribute.
5788
5789         * configure.in (enable_haifa): Switch m32r to Haifa by default.
5790         * configure: Regenerate.
5791
5792         (Changes from Nick Clifton <nickc@cygnus.com>)
5793         * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
5794         the equivalent of a negated 'I' constraint.
5795         (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
5796         optimisation to work.
5797
5798         * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
5799         than 'I' since the value is negated.
5800         (peephole): Add peephole optimisation to cope with optimization of
5801         divide and subtracts of the same operands.
5802
5803         * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
5804         * m32r.h: Ditto.
5805         * m32r.md: Ditto.
5806
5807         * m32r.h (PREDICATE_CODES): Add declaration of machine specific
5808         predicates.
5809
5810 Tue Apr 28 07:25:53 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5811
5812         * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
5813
5814 Mon Apr 27 18:39:47 1998  Nick Clifton  <nickc@cygnus.com>
5815
5816         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
5817         frame_pointer_rtx not FRAME_POINTER_REGNUM.
5818
5819 Mon Apr 27 18:36:28 1998  Jim Wilson  <wilson@cygnus.com>
5820
5821         * reg-stack.c: Revert last patch (Apr 20).
5822         (convert_regs): Set insn to PREV_INSN (next) after do while loop.
5823
5824         * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
5825
5826         * loop.c (check_dbra_loop): New locals jump, first_compare, and
5827         compare_and_branch.  Call get_condition to set first_compare.
5828         Set compare_and_branch to number of compare/branch instructions.
5829         Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
5830         Replace '2' with compare_and_branch.
5831
5832 Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
5833
5834         * cplus-dem.c (demangle_qualified): Replace missing else.
5835
5836 Mon Apr 27 20:22:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5837
5838         * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
5839
5840 Mon Apr 27 18:23:51 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5841
5842         * sh.c (sh_expand_prologue, sh_expand_epilogue):
5843         If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
5844         * sh.h (STACK_BOUNDARY): Likewise.
5845
5846 Mon Apr 27 17:22:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5847
5848         * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
5849
5850 Mon Apr 27 08:55:23 1998  Michael Meissner  <meissner@cygnus.com>
5851
5852         * system.h (abort): If abort is not defined, and neither is
5853         USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
5854         reporting the line and filename of the error.
5855
5856         * .gdbinit: Add breakpoints on exit and fancy_abort.
5857
5858         * final.c (split_double): Avoid a compiler warning if
5859         BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
5860
5861         * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}):  New macros
5862         for calling jump_optimize.
5863
5864         * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
5865         macros, rather than 0/1's.
5866
5867 Sun Apr 26 23:19:10 1998  Richard Henderson  <rth@cygnus.com>
5868
5869         * alpha.h (CONST_COSTS): Zero is always free.
5870         (RTX_COSTS): Add EV6 costs.  Abort if alpha_cpu is unknown.
5871
5872 Sun Apr 26 15:38:50 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5873
5874         * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
5875         length in the name of a virtual table.
5876
5877 Sun Apr 26 01:21:06 1998  Richard Henderson  <rth@cygnus.com>
5878
5879         * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
5880
5881 Sat Apr 25 22:11:38 PDT 1998 Jeff Law  (law@cygnus.com)
5882
5883         * version.c: Bump for snapshot.
5884
5885 Sat Apr 25 17:17:15 1998  Jeffrey A Law  (law@cygnus.com)
5886
5887         * fold-const.c (fold_convert): Fix typo.
5888
5889 Sat Apr 25 17:55:54 1998  John Carr  <jfc@mit.edu>
5890
5891         * alias.c (alias_invariant): New variable.
5892         (record_base_value): New argument INVARIANT.
5893         (memrefs_conflict_p): If a register has an entry in the alias_invariant
5894         array, try substituting that value for the register.
5895
5896         * rtl.h: Declare record_base_value.
5897
5898         * loop.c, unroll.c: Update callers of record_base_value.
5899
5900         * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
5901         ZERO_EXTEND do not affect base values.
5902
5903 Fri Apr 24 15:57:02 1998  Jeffrey A Law  (law@cygnus.com)
5904
5905         * dbxout.c (dbxout_type): Fix typo.
5906         (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
5907
5908         * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
5909
5910 Fri Apr 24 16:11:47 1998  John Carr  <jfc@mit.edu>
5911
5912         * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
5913         if the argument is the address of a structure or array.
5914
5915         * configure.in: Enable Haifa scheduler by default for SPARC.
5916
5917 Fri Apr 24 20:55:47 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5918
5919         * cse.c (cse_set_around_loop): Don't do optimization when
5920         new pseudos are created.
5921
5922 Fri Apr 24 11:00:18 1998  Jeffrey A Law  (law@cygnus.com)
5923
5924         * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
5925         appropriately.
5926         (dbxout_type_method_1, dbxout_type): Likewise.
5927         (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
5928         (dbxout_type): Fix check for when to print a type range in
5929         octal vs decimal.
5930
5931 Fri Apr 24 16:45:03 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5932
5933         * (gen_shl_and, in case 1): Fix comparison with mask.
5934
5935 Fri Apr 24 06:46:40 1998  Nick Clifton  <nickc@cygnus.com>
5936
5937         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
5938         pointer as second register in REG+REG pair.
5939
5940 Fri Apr 24 09:22:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5941
5942         * c-common.c (check_format_info): Don't check for the 'x' format
5943         character twice, instead check for 'x' and 'X'
5944
5945 Fri Apr 24 08:02:30 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5946
5947         * Makefile.in (libgcc2.ready): Add explicit dependancy from
5948         $(STMP_FIXPROTO) to ensure all necessary include files have
5949         been created and to guarantee proper parallel builds.
5950
5951 Fri Apr 24 04:42:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5952
5953         * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
5954         register for stdarg functions.
5955         * sh.h (current_function_varargs): Declare.
5956         (FUNCTION_ARG): Ignore NAMED for stdarg functions.
5957
5958 1998-04-23  Jim Wilson  <wilson@cygnus.com>
5959
5960         * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
5961         inhibit_libc is defined.
5962
5963         * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
5964
5965 Thu Apr 23 19:09:33 1998  Jim Wilson  <wilson@cygnus.com>
5966
5967         * profile.c (tablejump_entry_p): New function.
5968         (branch_prob): Add code to recognize MIPS tablejump entry branch.
5969         Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
5970
5971 Thu Apr 23 15:01:13 1998  Nick Clifton  <nickc@cygnus.com>
5972
5973         * config/arm/arm.c (find_barrier): Return as soon as a barrier is
5974         found, rather than at end of the loop, after the insn has been
5975         changed.
5976
5977 Thu Apr 23 20:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
5978
5979         * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
5980         * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
5981
5982 Wed Apr 22 17:07:35 1998  Michael Meissner  <meissner@cygnus.com>
5983
5984         * loop.c (note_addr_stored): Correct function to take 2 arguments,
5985         instead of 1.
5986
5987         * rtl.def (MATCH_INSN2): Add new matching pattern.
5988         * genrecog.c (add_to_sequence): Support MATCH_INSN2.
5989
5990 Wed Apr 22 15:52:22 1998  John Carr  <jfc@mit.edu>
5991
5992         * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
5993         if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
5994
5995         * final.c (split_double): Sign extend both halves of a split CONST_INT.
5996
5997 Wed Apr 22 10:42:45 1998  Jeffrey A Law  (law@cygnus.com)
5998
5999         * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
6000
6001 Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod  <amacleod@cygnus.com>
6002
6003         * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
6004         (cplus_demangle_opname): Call mop_up_squangle.
6005         (cplus_demangle): Initialize squangle info, then call
6006         internal_cplus_demangle. (Most code moved there as well)
6007         (internal_cplus_demangle): New function, performs most of what use
6008         to be done in cplus_demangle, but is only called with this file.
6009         (squangle_mop_up): New function to clean up B and K code data.
6010         (mop_up): set pointers to NULL after freeing.
6011         (demangle_signature, demangle_template, demangle_class): Add
6012         switch elements to handle K and B codes.
6013         (demangle_prefix, gnu_special, demangle_qualified): Add
6014         code to handle K and B codes.
6015         (do_type, demangle_fund_type): Handle B and K codes.
6016         (remember_Ktype): New function to store K info.
6017         (register_Btype, remember_Btype): New functions for B codes.
6018         (forget_B_and_K_types): New function to destroy B and K info.
6019
6020 1998-04-21  Jim Wilson  <wilson@cygnus.com>
6021
6022         * stmt.c (check_seenlabel): When search for line number note for
6023         warning, handle case where there is no such note.
6024
6025 Tue Apr 21 20:48:37 1998  John Carr  <jfc@mit.edu>
6026
6027         * genemit.c (gen_exp): Allow machine description to set mode of
6028         MATCH_OP_DUP.
6029
6030 Tue Apr 21 16:36:01 1998  John Carr  <jfc@mit.edu>
6031
6032         * alias.c (mode_alias_check): New function.
6033         (true_dependence, anti_dependence, output_dependence): Call
6034         mode_alias_check.
6035
6036 Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
6037
6038         * mips.h (STACK_BOUNDARY): Allow specific targets to override.
6039         (MIPS_STACK_ALIGN): Similarly.
6040
6041         * c-common.c (type_for_mode): Handle TI types.
6042         * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
6043         (init_decl_processing): Handle TI types.
6044         * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
6045
6046         * mips.c (block_move_loop): Test Pmode == DImode instead of
6047         TARGET_MIPS64.
6048         (expand_block_move, save_restore_insns): Likewise.
6049         (function_prologue, mips_expand_prologue): Likewise.
6050         (mips_expand_epilogue): Likewise.
6051         * mips.h (POINTER_SIZE): Allow specific targets to override.
6052         (Pmode): Allow specific targets to override.
6053         (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
6054         (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
6055         (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
6056         (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
6057         (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
6058         (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
6059         * mips.md (indirect, tablejump & casesi support): Test for
6060         Pmode == DImode instead of TARGET_MIPS64.
6061         (call patterns): Likewise.
6062
6063 Tue Apr 21 09:43:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6064
6065         * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
6066         for gen_rtx(MEM, ...).
6067
6068 Tue Apr 21 02:15:36 1998  Richard Henderson  <rth@cygnus.com>
6069
6070         * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
6071         to not be so gross, and to properly function with PIC.
6072
6073 Mon Apr 20 20:44:25 1998  Jim Wilson  <wilson@cygnus.com>
6074
6075         * frame.c (heapsort): Rename to frame_heapsort.
6076
6077         * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
6078
6079 Mon Apr 20 12:43:09 1998  Doug Evans  <devans@canuck.cygnus.com>
6080
6081         * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
6082
6083 Mon Apr 20 15:04:14 1998  John Wehle  (john@feith.com)
6084
6085         * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
6086         operands during and after reload.
6087
6088 Mon Apr 20 22:37:50 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6089
6090         * final.c (shorten_branches, init_insn_lengths): Move code
6091         to free label_align, uid_shuid, insn_lengths, insn_addresses
6092         and uid_align from the former function into the latter one;
6093         Add code to clear these variables.
6094         * sh.h (label_align): Remove declaration.
6095
6096 Mon Apr 20 14:48:29 1998  Michael Meissner  <meissner@cygnus.com>
6097
6098         * gcc.c (lang_specific_driver): Declare prototype properly so
6099         fatal can be passed to it without error.
6100
6101         * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
6102         * configure: Regenerate.
6103         * config.in: Add #undef's for strchr and strrchr.
6104
6105         * protoize.c (toplevel): If we have rindex, but not strrchr, map
6106         rindex to strrchr.
6107         (file_could_be_converted): Use strrchr, not rindex since rindex is
6108         not defined on Linux systems when _POSIX_SOURCE is defined.
6109         (file_normally_convertible): Ditto.
6110         (process_aux_info_file): Ditto.
6111         (main): Ditto.
6112
6113         * rs6000.md (mov{sf,df} define_splits): When splitting a move of
6114         a constant to an integer register, don't split the insns that do
6115         the simple AND and OR operations, rather just split each word, and
6116         let the normal movsi define split handle it further.
6117
6118 Mon Apr 20 18:19:40 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6119
6120         * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
6121         (split_branches): Call init_insn_lengths.
6122
6123 Mon Apr 20 07:37:49 1998  Michael Meissner  <meissner@cygnus.com>
6124
6125         * i386.c: Include expr.h to get the change_address prototype
6126         declared.
6127
6128 Mon Apr 20 01:00:05 1998  H.J. Lu  (hjl@gnu.org)
6129
6130         * reg-stack.c (subst_asm_stack_regs): Change to return the last
6131         new insn generated by this function.
6132         (subst_stack_regs): Likewise.
6133         (convert_regs): Record the last newly generated insn and use
6134         it for change_stack () instead of INSN.
6135
6136 Sun Apr 19 15:41:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6137
6138         * fix-header.c (enum special_file): Undefine enumerators if they
6139         are already defined by include files.
6140         * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
6141         macro with '__' to not pollute user namespace.
6142
6143 Sun Apr 19 02:42:06 1998  Richard Henderson  <rth@cygnus.com>
6144
6145         * haifa-sched.c (queue_to_ready): Fix typo in prototype.
6146
6147 Sat Apr 18 23:52:35 PDT 1998 Jeff Law  (law@cygnus.com)
6148
6149         * version.c: Bump for snapshot.
6150
6151 Sat Apr 18 18:30:22 1998  Jim Wilson  <wilson@cygnus.com>
6152
6153         * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
6154
6155         * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
6156         Add missing -Dpentium* options.
6157         (CPP_CPU_SPEC): Delete redundant definition.  Include cpp_cpu_default
6158         instead of CPP_CPU_DEFAULT.
6159         (EXTRA_SPECS): Add entry for cpp_cpu_default.
6160
6161 Sat Apr 18 19:06:59 1998  David Edelsohn  <edelsohn@mhpcc.edu>
6162
6163         * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
6164         negative in a stackless frame.
6165         * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
6166         in stackless frame size.  Support 64-bit stackless frame size.
6167         Combine fpmem offset calculations and don't add total_size to
6168         offset if not pushing a stack frame.
6169
6170 Sat Apr 18 15:41:16 1998  Jim Wilson  <wilson@cygnus.com>
6171
6172         * regmove.c (fixup_match_1): In three places, in flag_exceptions
6173         check, change p to q.
6174
6175 Sat Apr 18 15:30:49 1998  Jim Wilson  <wilson@cygnus.com>
6176
6177         * gcc.c (lang_specific_driver): Add new parm type to prototype.
6178         (added_libraries): New file scope static variable.
6179         (process_command): Initialize added_libraries.  Pass it to
6180         lang_specific_driver.
6181         (main): Use added_libraries in check for no input files.
6182
6183 Sat Apr 18 01:23:11 1998  John Carr  <jfc@mit.edu>
6184
6185         * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
6186         code generation.  Use 64 bit instructions in 32 bit mode when
6187         possible.  Use V9 return instruction.  UltraSPARC optimizations.
6188
6189         * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
6190
6191 Fri Apr 17 22:38:17 1998  Jeffrey A Law  (law@cygnus.com)
6192
6193         * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
6194         just pass zero.  That will work regardless of the size of HARD_REG_SET.
6195
6196         * libgcc2.c (__floatdisf): Fix a couple typos.
6197
6198 Fri Apr 17 17:28:26 1998  Jim Wilson  <wilson@cygnus.com>
6199
6200         * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
6201
6202 Fri Apr 17 16:35:35 1998  Greg McGary  <gkm@gnu.org>
6203
6204         * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
6205
6206 Fri Apr 17 14:30:37 1998  John Carr <jfc@mit.edu>
6207
6208         * emit-rtl.c (operand_subword_force): If a register can not be
6209         accessed by words, copy it to a pseudo register.
6210
6211 Fri Apr 17 14:30:37 1998  Jim Wilson  <wilson@cygnus.com>
6212
6213         * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
6214
6215 Fri Apr 17 17:01:25 1998  Michael Meissner  <meissner@cygnus.com>
6216
6217         * tree.h (mark_seen_cases): Delete declaration.
6218
6219 Fri Apr 17 13:32:20 1998  Jeffrey A Law  (law@cygnus.com)
6220
6221         * stmt.c (mark_seen_cases): Make static and add prototype.
6222
6223 Fri Apr 17 11:21:43 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6224
6225         * frame.c: Include stdlib.h and unistd.h to possibly get various
6226         function prototypes.  The fixproto script guarantees these header
6227         files exist on the target system.
6228         * libgcc2.c: Likewise.
6229
6230         * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
6231         __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
6232         function parameters.
6233         * libgcc2.c (__udiv_w_sdiv): Likewise.
6234
6235 Thu Apr 16 22:41:02 1998  Jeffrey A Law  (law@cygnus.com)
6236
6237         * varasm.c (asm_output_bss): Add prototype.
6238         (asm_output_aligned_bss): Likewise.
6239
6240         * unroll.c (verify_addresses): Add prototype.
6241
6242         * toplev.c: Add many prototypes.  Too many to mention here.
6243
6244         * stmt.c (check_seenlabel): Add prototype.
6245
6246         * rtlanal.c (reg_set_p_1): Add prototype.
6247         (reg_set_last_1): Likewise.
6248
6249         * reorg.c (find_dead_or_set_registers): Add prototype.
6250
6251         * regmove (try_auto_increment): Add prototype.
6252
6253         * reg-stack.c (pop_stack): Add prototype.
6254
6255         * recog.c (validate_replace_rtx_1): Add prototype.
6256         (find_cosntant_term_loc): Likewise.
6257
6258         * loop.c (regs_patch_p): Add prototype.
6259         (add_label_notes, count_nonfixed_reads): Likewise.
6260         (find_single_use_in_loop): Likewise.
6261         (express_from): Surround prototype with #ifdef.
6262         (giv_sort): Similarly.
6263
6264         * jump.c (mark_modified_reg): Add prototype.
6265
6266         * haifa-sched.c (is_prisky): Add prototype.
6267         (queue_to_ready): Likewise.
6268
6269         * genextract.c (gen_insn): Add prototype.
6270
6271         * genemit.c (max_operand_1): Add prototype.
6272         (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
6273         (gen_expand, gen_explit, output_add_clobbers): Likewise.
6274         (output_init_mov_optab): Likewise.
6275
6276         * genattrtab.c (attr_hash_add_rtx): Add prototype.
6277         (attr_hash_add_string, write_length_unit_log): Likewise.
6278
6279         * genattr.c (init_range): Add prototype.
6280
6281         * combine.c (sets_function_arg_p): Add prototype.
6282
6283         * expr.c (store_constructor_field): Add prototype.
6284         (get_memory_usage_from_modifier): Likewise
6285
6286         * expmed.c (synth_mult): Add prototype.
6287         (choose_multiplier, invert_mod2n): Likewise.
6288
6289         * except.c (push_eh_entry): Add prototype.
6290         (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
6291         (call_get_eh_context, start_dynamic_cleanup): Likewise.
6292         (start_dynamic_handler, can_throw): Likewise.
6293         (output_exception_table_entry, scan_region): Likewise.
6294         (eh_regs, set_insn_eh_region): Likewise.
6295
6296         * dwarfout.c (decl_class_context): Add prototype.
6297         (output_inheritance_die, type_ok_for_scope): Likewise.
6298
6299         * c-lex.c (skip_white_space_on_line): Add prototype.
6300
6301         * alias.c (record_set): Add prototype.
6302         (find_base_term, base_alias_check): Likewise.
6303
6304         * function.c (assign_outer_stack_local): Make static and add prototype.
6305
6306         * haifa-sched.c (build_control_flow): Accept raw data as inputs
6307         instead of computing it locally.  Callers changed.
6308         (find_rgns): Several new arguments.  Callers changed.
6309         Generally clean up and comment better.  Use dominators to
6310         identify reducible loops.  Convert some flag arrays to bitmaps.
6311         Convert most of the code to work on pred/succ lists instead of
6312         an edge table.  Add comments for future improvements.
6313         (schedule_insns): Allocate temporary tables for flow data, call
6314         routines to compute flow data and pass it along to children as
6315         arguments.
6316         (debug_control_flow): Delete.  Use dump_bb_data instead.
6317
6318         * basic-block.h (compute_dominators): Declare.
6319
6320         * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
6321         functions.
6322         * basic-block.h: Declare them.
6323
6324 Thu Apr 16 13:45:51 1998  Jim Wilson  <wilson@cygnus.com>
6325
6326         * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
6327         no operands.
6328
6329 Wed Apr 15 11:33:09 1998  Alexandre Petit-Bianco  <apbianco@sendai.cygnus.com>
6330
6331         * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
6332         Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
6333         node is non NULL. Cache last file name and file name identifier node.
6334
6335 1998-04-15  Mark Mitchell  <mmitchell@usa.net>
6336
6337         * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
6338         the length of an array, not TREE_TYPE.
6339
6340 Wed Apr 15 15:31:34 1998  Jeffrey A Law  (law@cygnus.com)
6341
6342         * flow.c (sbitmap_union_of_successors):  New function.
6343         * basic-block.h (sbitmap_union_of_successors): Declare it.
6344
6345 Wed Apr 15 12:38:03 1998  Jim Wilson  <wilson@cygnus.com>
6346
6347         * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
6348         Set gnu_ld to gnu_ld_flag inside main loop.
6349         (gas): Likewise.
6350
6351 Wed Apr 15 14:50:05 1998  Dave Brolley  <brolley@cygnus.com>
6352
6353         * toplev.c (compile_file): Call init_parse using new interface.
6354         (init_lex): Remove declaration.
6355
6356         * c-lex.c (init_parse): Now returns char* containing filename.
6357
6358 Wed Apr 15 12:37:10 1998  Jeffrey A Law  (law@cygnus.com)
6359
6360         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
6361
6362 Wed Apr 15 12:10:18 1998  Michael Meissner  <meissner@cygnus.com>
6363
6364         * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
6365         (gen{extract,peep,opinit,output}): Ditto.
6366
6367         * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
6368         global definition so print-rtl.o can be linked in.
6369         * gen{peep,recog}.c (insn_attr_name): Ditto.
6370
6371 Tue Apr 14 07:30:57 1998  K. Richard Pixley  <rich@kyoto.noir.com>
6372
6373         * fixincludes: discard empty C++ comments, as found in sys/time.h
6374         on hpux-11.0.
6375
6376 Wed Apr 15 10:47:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6377
6378         * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
6379         operand.
6380
6381 Wed Apr 15 01:21:21 1998  Jeffrey A Law  (law@cygnus.com)
6382
6383         * emit-rtl.c (operand_subword): Rework slightly to avoid
6384         bogus warning from previous change.
6385
6386 Tue Apr 14 23:39:13 1998  Richard Henderson  <rth@cygnus.com>
6387
6388         * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
6389         Nov 8 find_replacement change.  Move decls of get_unaligned_address
6390         * alpha.h: ... here.
6391
6392 Tue Apr 14 22:00:39 1998  John Carr <jfc@mit.edu>
6393
6394         * function.c (assign_parms): Initialize unsignedp before passing
6395         its pointer to promote_mode.
6396
6397         * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
6398         (write_test_expr): Allow MATCH_INSN.
6399
6400 Tue Apr 14 21:57:57 1998  Paul Eggert <eggert@twinsun.com>
6401
6402         * install.texi: Update section on warnings that can be safely ignored.
6403
6404 Tue Apr 14 14:55:16 1998  Jim Wilson  <wilson@cygnus.com>
6405
6406         * mips.md (reload_outdi): Change the scratch mode from DImode to
6407         TImode.  New variable scratch, used instead of operand[2] in template.
6408         Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
6409
6410 Tue Apr 14 16:19:03 1998  Michael Meissner  <meissner@cygnus.com>
6411
6412         * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
6413
6414 Tue Apr 14 11:31:28 1998  Krister Walfridsson <cato@df.lth.se>
6415
6416         * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
6417
6418 Tue Apr 14 09:02:32 1998  Jeffrey A Law  (law@cygnus.com)
6419
6420         * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
6421         (ASM_FINISH_DECLARE_OBJECT): Likewise.
6422
6423         * Idea and part of the patch from HJ.
6424         * Makefile.in: auto-host.h renamed from auto-config.h.  All references
6425         changed.
6426         (distclean): Remove auto-build.h too.
6427         * configure.in: Rename host autoconf generated file to auto-host.h.
6428         If host != build, then run autoconf to generate auto-build.h for
6429         the build machine and include it in build_xm_files.
6430         Check for wait.h and sys/wait.h.
6431
6432         * combine.c (simplify_rtx, case TRUNCATE): Respect value of
6433         TRULY_NOOP_TRUNCATION.
6434
6435 Mon Apr 13 11:31:49 1998  Jason Merrill  <jason@yorick.cygnus.com>
6436
6437         * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
6438
6439 Sun Apr 12 20:55:32 1998  Catherine Moore <clm@cygnus.com>
6440
6441         * invoke.texi (ld options)  Include memset requirements
6442         for options -nodstdlib and -nodefaultlibs.
6443
6444 1998-04-12  Paul Eggert  <eggert@twinsun.com>
6445
6446         This change is from an idea suggested by Arthur David Olson.
6447
6448         * c-common.c (decl_attributes, record_function_format,
6449         check_format_info, init_function_format_info):
6450         Add support for strftime format checking.
6451         (enum format_type): New type.
6452         (record_function_format): Now static, and takes value of type
6453         enum format_type instead of int.
6454         (time_char_table): New constant.
6455         (struct function_format_info): format_type member renamed from is_scan.
6456         (check_format_info): Use `warning' rather than sprintf followed by
6457         `warning', to avoid mishandling `%' in warnings.
6458         Change `pedwarn' to `warning', since these warnings do not necessarily
6459         mean the program does not conform to the C Standard, as the code
6460         need not be executed.
6461
6462         * c-tree.h (record_function_format): Remove decl; no longer extern.
6463
6464         * extend.texi: Add documentation for strftime format checking.
6465
6466 Sun Apr 12 20:23:03 1998  Jeffrey A Law  (law@cygnus.com)
6467
6468         * mips/ecoffl.h: Do not include mips.h.
6469         * mips/elf.h: Likewise.
6470
6471         * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
6472         * mips/ecoff.h: Include "mips/mips.h".
6473
6474 Sat Apr 11 22:42:54 PDT 1998 Jeff Law  (law@cygnus.com)
6475
6476         * version.c: Bump for snapshot.
6477
6478 Sat Apr 11 01:24:28 1998  Jeffrey A Law  (law@cygnus.com)
6479
6480         * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
6481         (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
6482         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns              instead of delete_dead_from_cse.  Also call delete_trivially_dead_insns
6483         between loop optimization passes.
6484         * rtl.h: Updated appropriately.
6485
6486 Fri Apr 10 22:28:32 1998  Jeffrey A Law  (law@cygnus.com)
6487
6488         Reinstall this patch from Jason.
6489         * function.c (push_function_context_to): Don't call init_emit.
6490
6491 Fri Apr 10 13:40:20 1998  Nick Clifton  <nickc@cygnus.com>
6492
6493         * rtl.c (read_skip_spaces): Prevent infinite loops upon
6494         encountering unterminated comments.
6495
6496 Fri Apr 10 10:43:41 1998  Jeffrey A Law  (law@cygnus.com)
6497
6498         * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
6499         64x32 cross builds.
6500
6501         * configure.in: Handle --with-fast-fixincludes.
6502         (fixincludes): If --with-fast-fixincludes, then use a different
6503         fixincludes program by default.
6504         * Makefile.in (fixinc.sh): New rule.
6505
6506 Fri Apr 10 00:36:31 1998  H.J. Lu  (hjl@gnu.org)
6507
6508         * i386.md (movqi+1): Handle invalid QI register.
6509         (movsf_push-1): Likewise.
6510
6511 Thu Apr  9 16:53:59 1998  Nick Clifton  <nickc@cygnus.com>
6512
6513         * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
6514         addresses.
6515         symbolic_memort_operand(), call32_operand(), int8_operand(),
6516         int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
6517         Not used.
6518         uint16_operand(): Made static.
6519
6520 Thu Apr  9 01:43:04 1998  Jeffrey A Law  (law@cygnus.com)
6521
6522         * calls.c (expand_call): Fix typo.
6523
6524 Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
6525
6526         * c-lex.c (finput): New global.
6527         (init_parse): Always included.  Handle !USE_CPPLIB using
6528         code originally in compile_file.
6529         (finish_parse): Update for CPPLIB.
6530         * toplev.c (init_parse, finish_parse): Declare.
6531         (finput): Delete variable.  Now in front-ends.
6532         (compile_file): Remove code which is now handled by init_parse
6533         which is unconditionally called.  Similarly for finish_parse.
6534
6535 Wed Apr  8 23:13:50 1998  Gavin Koch  <gavin@cygnus.com>
6536
6537         * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
6538         ASM_WEAKEN_LABEL): Add.
6539
6540 Wed Apr  8 18:21:30 1998  Richard Henderson  <rth@cygnus.com>
6541
6542         * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
6543         * configure.in (alpha-*-linux*): Use them.
6544
6545 Fri Apr  3 17:02:13 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
6546
6547         * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
6548         * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
6549         COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
6550         (build_expr_wfl): New prototype declaration.
6551         * tree.c (build_expr_wfl): New function, to build
6552         EXPR_WITH_FILE_LOCATION nodes.
6553         (copy_node): Don't zero TREE_CHAIN if copying a
6554         EXPR_WITH_FILE_LOCATION node.
6555         * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
6556         * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
6557
6558 Wed Apr  8 12:51:19 1998  Jeffrey A Law  (law@cygnus.com)
6559
6560         * configure.in (v850): Use t-v850.
6561         (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
6562
6563         * protoize.c (creat, read, write): Do not declare.
6564
6565         * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
6566         refer to the CODE_LABEL before a dispatch table.
6567
6568         * invoke.texi: Add ARC options.
6569
6570         * gcc.c (proces_command): Improve error message for -o with
6571         either -c or -S.
6572
6573         * i386/x-cygwin32 (CLIB): Link in advapi32.
6574
6575         * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
6576         (ASM_IDENTIFY_LANGUAGE): Likewise.
6577
6578         * i386.md (movqi recognizer): Don't perfom byte increment into
6579         a NON_QI_REG_P.
6580
6581         * configure.in (x86-dg-dgux): Run fixinc.dgux.
6582
6583         * i370.h: Fix typo in GEN_INT changes.
6584
6585         * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
6586         of an empty arglist in prototype.
6587
6588         * Makefile.in: Remove bytecode crud that crept back in after the
6589         gcc2 merge.
6590
6591 1998-04-08  Brendan Kehoe  <brendan@cygnus.com>
6592
6593         * c-lex.h (is_class_name): Fix arg type to be tree, not void.
6594         (make_pointer_declarator, reinit_parse_for_function): Fix typo.
6595
6596 Wed Apr  8 06:16:45 1998  Richard Earnshaw (rearnsha@arm.com)
6597
6598         * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
6599
6600 Wed Apr  8 00:44:18 1998  Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
6601
6602         * c-lex.c (is_class_name): Delete declaration.
6603         (whitespace_cr): Make static and add prototype.
6604         * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
6605         yylex, get_directive_line): Turn declarations into prototypes.
6606         (position_after_whitespace, check_newline, yyerror,, is_class_name,
6607         forget_protocol_qualifiers, remember_protocol_qualifiers): Add
6608         prototypes.
6609         * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
6610         prototypes.
6611         * gencodes.c (gen_insn): Add prototype.
6612         * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
6613         gen_peephole): Add prototypes.
6614         * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
6615         prototypes.
6616         * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
6617         special_format, find_formats, gendecl, genmacro, gendef, genlegend,
6618         genheader, gencode): Add prototypes.
6619         * genopinit.c (gen_insn): Add prototype.
6620         * genoutput.c (output_prologue, output_epilogue, scan_operands,
6621         process_template, validate_insn_alternatives, gen_insn, gen_peephole,
6622         gen_expand, gen_split, n_occurrences): Add prototypes.
6623         * genpeep.c (gen_peephole): Add prototype.
6624         * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
6625         reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
6626         labels_in_range_p, count_loop_regs_set, note_addr_stored,
6627         loop_reg_used_before_p, scan_loop, replace_call_address,
6628         skip_consec_insns, libcall_benefit, ignore_some_movables,
6629         force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
6630         strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
6631         check_final_value, record_giv, update_giv_derive, basic_induction_var,
6632         simplify_giv_expr, general_induction_var, consec_sets_giv,
6633         check_dbra_loop, express_from, combine_givs_p, combine_givs,
6634         product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
6635         last_use_this_basic_block, record_initial, update_reg_last_use,
6636         iteration_info, analyze_loop_iterations, insert_bct,
6637         instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
6638         into prototypes.
6639
6640 Tue Apr  7 21:48:52 1998  Jeffrey A Law  (law@cygnus.com)
6641
6642         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
6643
6644 1998-04-07  Ken Raeburn  <raeburn@cygnus.com>
6645
6646         * config/mips/mips.c (siginfo): Deleted.
6647         (override_options): Don't install SIGINFO signal handler.
6648
6649 Tue Apr  7 11:58:04 1998  Jim Wilson  <wilson@cygnus.com>
6650
6651         * loop.c (check_dbra_loop): When normalize comparison_val, add check
6652         to verify it is non-negative.
6653
6654 Tue Apr  7 02:01:47 1998  Richard Henderson  <rth@cygnus.com>
6655
6656         * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
6657         (alpha_expand_block_clear): Likewise.
6658
6659 Mon Apr  6 23:36:01 1998  Richard Henderson  <rth@cygnus.com>
6660
6661         * tree.h (sizetype_tab): Fix previous change for K&R.
6662
6663 Mon Apr 6 22:23:29 PDT 1998 Jeff Law  (law@cygnus.com)
6664
6665         * version.c: Bump for snapshot.
6666
6667 Mon Apr  6 23:16:10 1998  Richard Earnshaw (rearnsha@arm.com)
6668
6669         * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
6670         Add USG and POSIX to xm_defines.
6671
6672 Mon Apr  6 21:49:57 1998  Bob Manson  <manson@charmed.cygnus.com>
6673
6674         * gcc.c: Add linker spec.
6675         (link_command_spec): Use %(linker) instead of ld.
6676         (main): If collect2 is requested as the linker, see if it exists;
6677         if not, use ld instead.
6678
6679         * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
6680         (ld:) Deleted.
6681         (install-collect2): Install as collect2, not ld.
6682
6683         * configure.in(will_use_collect2): It's named collect2 now.
6684
6685         * collect2: Remove checks to see if we were invoked recursively.
6686         (collect_execute): Use _spawnvp under cygwin32.
6687
6688 Mon Apr  6 17:23:41 1998  Jim Wilson  <wilson@cygnus.com>
6689
6690         * haifa-sched.c (build_control_flow): Set unreachable for block whose
6691         only predecessor is itself.
6692
6693 Mon Apr  6 16:08:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6694
6695         * c-parse.in: Include system.h, and remove stuff now made redundant.
6696         * cccp.c: Likewise.
6697         * cexp.y: Likewise.
6698         * protoize.c: Likewise.  Properly check for cpp stringification.
6699
6700         * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
6701         Depend on system.h.
6702
6703         * objc/Make-lang.in (objc-parse.o): Likewise.
6704
6705 Mon Apr  6 14:59:58 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6706
6707         * gansidecl.h: Check if compiler supports __attribute__.  Provide
6708         definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
6709         __attribute__ when its available.  Also provide definitions for
6710         ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
6711         terms of ATTRIBUTE_PRINTF.
6712
6713         * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
6714         of __attribute__.
6715
6716 Mon Apr  6 07:17:52 1998  Catherine Moore  <clm@cygnus.com>
6717
6718         * combine.c (can_combine_p):  Include successor in volatile test.
6719
6720 Mon Apr  6 14:16:33 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6721
6722         * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
6723         offset_unsigned.
6724
6725 Mon Apr  6 02:03:29 1998  Jeffrey A Law  (law@cygnus.com)
6726
6727         * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
6728         in prototype and definition.
6729
6730 Mon Apr 6 00:48:56 PDT 1998 Jeff Law  (law@cygnus.com)
6731
6732         * version.c: Bump for snapshot.
6733
6734 Mon Apr  6 00:08:50 1998  Richard Henderson  <rth@cygnus.com>
6735
6736         * alpha.c (alpha_expand_block_clear): Add missing offset arg to
6737         alpha_expand_unaligned_store_words.
6738
6739 Sun Apr  5 21:31:24 1998  John Wehle  (john@feith.com)
6740
6741         * i386.md (movsf_push, movsf_mem): Remove.
6742         (movsf_push): Rename from movsf_push_nomove and move in front of
6743         movsf.  Use nonmemory_operand predicate and don't bother checking
6744         TARGET_MOVE.
6745         (movsf_push_memory): New pattern.
6746         (movsf): Don't bother checking for push_operand.  If TARGET_MOVE and
6747         both operands refer to memory then force operand[1] into a register.
6748         (movsf_normal): Change to unnamed pattern.
6749         Likewise for movdf, movxf, and friends.
6750
6751 Sun Apr 5 18:45:51 PDT 1998 Jeff Law  (law@cygnus.com)
6752
6753         * version.c: Bump for snapshot.
6754
6755 Sun Apr  5 16:31:10 1998  Richard Henderson  <rth@cygnus.com>
6756
6757         * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
6758
6759 Sun Apr  5 16:53:37 1998  Don Bowman <don@pixsci.com>
6760
6761         * configure.in (mips-wrs-vxworks): New target.
6762
6763 Sat Apr 4 23:34:32 PST 1998 Jeff Law  (law@cygnus.com)
6764
6765         * expmed.c (synth_mult): The value -1, has no zeros, so it can
6766         never have the form ...011.
6767
6768         * version.c: Bump for snapshot.
6769
6770 Sat Apr  4 20:16:46 1998  Richard Henderson  <rth@cygnus.com>
6771
6772         * i386.c (asm_output_function_prefix, load_pic_register):
6773         Use ASM_GENERATE_INTERNAL_LABEL properly.
6774         (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
6775         (print_operand): Ignore it.
6776         (load_pic_register): Use it for the got load call.
6777         * i386.md (prologue_set_got, prologue_get_pc): Likewise.
6778         (prologue_get_pc_and_set_got): Likewise.
6779         * i386.h: Update print_operand docs.
6780
6781 Sat Apr  4 19:08:37 1998  Richard Henderson  <rth@cygnus.com>
6782
6783         * i386.md (ffssi, ffshi): Rewrite as define_expands.
6784         (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
6785         * i386.c (notice_update_cc): Recognize unspec 5.
6786
6787 Sat Apr  4 18:07:16 1998  David Mosberger-Tang  (davidm@mostang.com)
6788
6789         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
6790         * alpha.c (print_operand): Handle it.
6791         * alpha.md (fix_truncsfdi2): Use it.  Add earlyclobber pattern
6792         for ALPHA_TP_INSN.
6793         (fix_truncdfdi2): Likewise.
6794
6795 Sat Apr  4 17:42:05 1998  Richard Henderson  <rth@cygnus.com>
6796
6797         * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
6798         of these into a single struct, with additional [us]sizetype entries.
6799         * stor-layout.c (set_sizetype): Initialize [us]sizetype.
6800         * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
6801         an array.
6802
6803 Sat Apr  4 17:04:41 1998  Richard Henderson  <rth@cygnus.com>
6804
6805         * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
6806
6807 Sat Apr  4 13:50:01 1998  Richard Henderson  <rth@cygnus.com>
6808
6809         * haifa-sched.c (split_block_insns): Don't supress insn splitting
6810         on subsequent passes.
6811
6812         * alpha.c (hard_fp_register_operand): New function.
6813         * alpha.h (PREDICATE_CODES): Add it.
6814         * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case.  Add an
6815         f<-m case and accompanying define_split.
6816         (trapb): Use a unique unspec_volatile number.
6817
6818 Sat Apr  4 13:32:08 1998  Richard Henderson  <rth@cygnus.com>
6819
6820         * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
6821         from gcc2 merge.
6822
6823 Sat Apr  4 10:23:41 1998  Jeffrey A Law  (law@cygnus.com)
6824
6825         * Check in merge from gcc2.  See ChangeLog.11 and ChangeLog.12
6826         for details.
6827
6828         * haifa-sched.c: Mirror recent changes from gcc2.
6829
6830 Fri Apr  3 00:17:01 1998  Jeffrey A Law  (law@cygnus.com)
6831
6832         * Makefile.in (insn*.o): Depend on system.h.
6833
6834         * pa.c (output_global_address): Initialize base.
6835         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
6836
6837 1998-04-03  Mike Stump  <mrs@wrs.com>
6838
6839         * gthr.h: Support systems that don't have weak, but have threads.
6840         * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
6841         * gthr-vxworks.h: New file.
6842         * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
6843
6844 Thu Apr  2 18:00:52 1998  Jim Wilson  <wilson@cygnus.com>
6845
6846         * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
6847
6848 1998-04-02  Vladimir N. Makarov  <vmakarov@cygnus.com>
6849
6850         * ginclude/va-i960.h (va_end): Change void * to void.
6851
6852 Thu Apr  2 13:51:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6853
6854         * Makefile.in (choose-temp.o): Depend on system.h.
6855
6856         * choose-temp.c: Include system.h when IN_GCC.
6857
6858 Thu Apr  2 02:37:07 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
6859                           Richard Henderson  <rth@cygnus.com>
6860
6861         * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
6862         (move_replacements): New function.
6863         * reload.h: Prototype it.
6864
6865         * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
6866
6867 Thu Apr  2 01:01:34 1998  Richard Henderson  <rth@cygnus.com>
6868
6869         * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
6870         Run fixincludes.
6871
6872         * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
6873         (gen_highpart): Likewise.
6874         * final.c (alter_subreg): Allow the target to hook by-mode subreg
6875         hard register number changes.
6876
6877 Wed Apr  1 22:26:22 1998  Jeffrey A Law  (law@cygnus.com)
6878
6879         * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
6880         rnbitsize, rnmode and rinner.
6881         (make_range): Initialize type.
6882         (fold): Initialize arg0, arg1 and varop.
6883
6884         * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
6885         and regnor.
6886         (expand_function_start): Initialize last_ptr.
6887
6888         * stor-layout.c (layout_record): Initialize desired_align.
6889         (get_best_mode): Initialize unit.
6890
6891         * tree.c (copy_node): Initialize length.
6892
6893         * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
6894
6895         * caller-save.c (insert_save_restore): Initialize pat, code and
6896         numregs.
6897
6898         * emit-rtl.c (push_to_sequence): Initialize top.
6899         (push_topmost_sequence): Likewise.
6900
6901         * genattrtab.c (simplify_by_exploding): Initialize defval.
6902
6903         * profile.c (branch_prob): Initialize dest.
6904
6905         * rtl.h (note_stores): Remove duplicate prototype.
6906         (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
6907
6908         * cplus-dem.c (gnu_special): Don't get confused by .<digits>
6909         strings that are not actually lengths.
6910
6911         * genattrtab.c: Make generated file use system.h, instead of
6912         including stdio.h, etc directly.
6913         * genextract.c, genopinit.c, genoutput.c: Likewise.
6914         * genpeep.c, genrecog.c: Likewise
6915
6916         * genoutput.c (process_template): Mark operands in the generated
6917         function as potentially unused if compiling with GNU CC.
6918
6919         * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
6920
6921         * pa.md (reload peepholes): Remove unused variable "mode".
6922
6923 Wed Apr  1 17:06:19 1998  Nick Clifton  <nickc@cygnus.com>
6924
6925         * config/arm/thumb.h: Add super interworking support.
6926         * config/arm/thumb.c: Add super interworking support.
6927         * config/arm/thumb.md: Add super interworking support.
6928         * config/arm/lib1funcs.asm: Add interworking support.
6929         * config/arm/lib1thumb.asm: Add super interworking support.
6930         * config/arm/t-semi: Add interworking support.
6931         * config/arm/t-thumb: Add interworking support.
6932         * config/arm/README-interworking: New file.
6933
6934 Wed Apr  1 14:38:10 1998  Jim Wilson  <wilson@cygnus.com>
6935
6936         * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
6937         (MD_STARTFILE_PREFIX): Unset.
6938
6939 1998-04-01  Mark Mitchell  <mmitchell@usa.net>
6940
6941         * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
6942         entity in a local scope.
6943
6944         * fold-const.c (fold): Call truthvalue_conversion for values which
6945         are folded to boolean type.
6946
6947 Wed Apr  1 06:09:53 1998  Jeffrey A Law  (law@cygnus.com)
6948
6949         * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
6950         * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
6951         * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
6952         * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
6953         * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
6954         * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
6955         * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
6956         * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
6957         * md.texi: Likewise.
6958
6959 Wed Apr  1 08:33:44 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6960
6961         * fixincludes (limits.h): Fix nested comments in Motorola's
6962         limits.h and sys/limits.h.
6963
6964 Tue Mar 31 16:57:33 1998  Jim Wilson  <wilson@cygnus.com>
6965
6966         * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
6967         as dest of expand_binop call.
6968
6969         * alpha.md (extzv): Correct check for valid operand[2] values.
6970
6971         * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
6972         branch.
6973
6974         * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
6975
6976 Mon Mar 30 13:11:05 1998  Stan Cox  <scox@cygnus.com>
6977
6978         * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
6979         For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
6980
6981         * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
6982         cygwin32 can override this to allow both unix and win32 style PATHs.
6983
6984         * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
6985         style environment paths.
6986
6987 Mon Mar 30 14:43:20 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6988
6989         * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
6990         cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
6991         gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
6992         system.h.
6993
6994         * cpphash.c: Include config.h.
6995         * cppalloc.c: Include system.h.  Add parameters to various
6996         function prototypes.
6997         * cpperror.c: Likewise.
6998         * cppexp.c: Likewise.
6999         * cpphash.c: Likewise.
7000         * cpplib.c: Likewise.
7001         * cppmain.c: Likewise.
7002         * fix-header.c: Likewise.
7003         * gcov.c: Likewise.
7004         * gen-protos.c: Likewise.
7005         * gengenrtl.c: Likewise.
7006         * halfpic.c: Likewise.
7007         * hash.c: Likewise.
7008         * scan-decls.c: Likewise.
7009         * scan.c: Likewise.
7010
7011 Mon Mar 30 11:06:45 1998  Jim Wilson  <wilson@cygnus.com>
7012
7013         * README.gnat: Add lang_print_xnode definition.
7014
7015 Mon Mar 30 11:12:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7016
7017         * config/m68k/m68k.c (standard_68881_constant_p): Don't use
7018         fmovecr on the 68060.
7019
7020 Mon Mar 30 00:21:03 1998  Jeffrey A Law  (law@cygnus.com)
7021
7022         * genemit.c (DONE): Rework so that it works in the true arm if
7023         an if-else conditional.
7024         (FAIL): Likewise.
7025
7026 Sun Mar 29 12:45:23 1998  Jeffrey A Law  (law@cygnus.com)
7027
7028         * rs6000.c: Do not include stdioh or ctype.h anymore.
7029
7030         * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
7031         $(RTL_H).
7032         (stor-layout.o): Likewise.
7033         * c-typeck.c: Include rtl.h and expr.h.
7034         * stor-layout.c: Likewise.
7035
7036         * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
7037         All callers changed.
7038         (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
7039         * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
7040         All callers changed.
7041
7042         * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
7043
7044         * local-alloc.c (reg_classes_overlap_p): Delete dead function.
7045
7046         * tree.h (lang_print_xnode): Provide prototype.
7047
7048 Sat Mar 28 23:50:44 PST 1998 Jeff Law  (law@cygnus.com)
7049
7050         * version.c: Bump for snapshot.
7051
7052 Sun Mar 29 00:42:21 1998  Jeffrey A Law  (law@cygnus.com)
7053
7054         * objc/sendmsg.c (__objc_block_forward): Add braces for return
7055         value if INVISIBLE_STRUCT_RETURN.
7056
7057         * pa.c (arith_double_operand): Fix parens.
7058
7059         * haifa-sched.c (print_pattern): Correct arg to sprintf.
7060
7061         * Makefile.in (libgcc1.null): Make return type for __foo void.
7062
7063 Sat Mar 28 14:37:20 1998  Jeffrey A Law  (law@cygnus.com)
7064
7065         * pa.h: Add declarations for many functions defined in pa.c.
7066
7067         * genpeep.c (main): Remove unused variable 'i' from the generated
7068         file.
7069
7070         * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
7071         (gen_split): Likewise.
7072         (main): Rework generated definitions of DONE and FAIL so that they
7073         no longer use gotos.  Avoids warnings about unused labels.
7074
7075         * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
7076         unused "junk" variable.
7077
7078         * genattrtab.c (write_complex_function): Add a default case in
7079         generated switch statement to keep -W -Wall quiet.
7080
7081 Sat Mar 28 10:47:21 1998  Nick Clifton  <nickc@cygnus.com>
7082
7083         * invoke.texi: Document more ARM and Thumb command line options.
7084
7085         * config/arm/xm-thumb.h: New file.
7086
7087 Sat Mar 28 01:37:33 1998  Craig Burley  <burley@gnu.ai.mit.edu>
7088
7089         * stmt.c (expand_expr_stmt): Must generate code for
7090         statements within an expression (gcc's `({ ... )}')
7091         even if -fsyntax-only.
7092
7093 Sat Mar 28 01:06:12 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
7094                           Jeffrey A Law  (law@cygnus.com)
7095
7096         * basic-block.h (basic_block_computed_jump_target): Declare.
7097         * flags.h: (current_function_has_computed_jump): Declare.
7098         * flow.c: (basic_block_computed_jump_target): Define.
7099         (flow_analysis): Allocate it. Set current_function_has_computed_jump
7100         to 0.
7101         (find_basic_blocks): Set current_function_has_computed_jump and
7102         elements of basic_block_computed_jump_target to 1 as appropriate.
7103         * function.c: (current_function_has_computed_jump): Define.
7104         * global.c (global_conflicts): Don't allocate pseudos into stack regs
7105         at the start of a block that is reachable by a computed jump.
7106         * reg-stack.c (stack_reg_life_analysis): If must restart, do so
7107         immediately.
7108         (subst_stack_regs): Undo change from Sep 4 1997.
7109         (uses_reg_or_mem): Now unused, deleted.
7110         * stupid.c (stupid_life_analysis): Compute
7111         current_function_has_computed_jump.
7112         (stupid_find_reg): Don't allocate stack regs if the function has a
7113         computed goto.
7114         * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
7115         the current function has a computed jump.  Use the global value
7116         instead.
7117
7118 Sat Mar 28 00:21:37 1998  Jeffrey A Law  (law@cygnus.com)
7119
7120         * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
7121         (DWARF2_UNWIND_INFO): Define to zero.
7122
7123 Fri Mar 27 16:04:49 1998  Michael Meissner  <meissner@cygnus.com>
7124
7125         * gcc.c (set_std_prefix): Add declaration.
7126         (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
7127         suffix, and update the standard prefix prefix.c uses.
7128
7129         * prefix.c (std_prefix): New global to hold default prefix value.
7130         (get_key_value): Change to use std_prefix instead of PREFIX.
7131         (translate_name): Ditto.
7132         (update_path): Ditto.
7133         (get_key_value): Release allocated scratch storage.
7134         (set_std_prefix): New function to reset the standard prefix.
7135
7136 Fri Mar 27 18:08:21 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7137
7138         * sh.c (find_barrier): Fix calculations for alignment increase.
7139
7140 Fri Mar 27 08:56:52 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7141
7142         * Makefile.in (stmp-fixinc): If we're actually fixing include
7143         files, copy gcc's assert.h into the fixed include dir.
7144         * fixincludes (assert.h): Avoid any attempts to fix a probably
7145         broken system specific assert.h file.
7146         * fixproto (stdlib.h): Make sure, it'll contain a definition of
7147         size_t.
7148
7149 Fri Mar 27 00:49:46 1998  Jeffrey A Law  (law@cygnus.com)
7150
7151         * regclass.c (reg_scan_mark_refs): Be more selective about
7152         when we mark a register with REGNO_POINTER_FLAG.
7153
7154 Thu Mar 26 23:00:11 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7155
7156         reload inheritance improvement:
7157         * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
7158         Change meaning: index is now hard reg number.
7159         (reg_reloaded_valid, reg_reloaded_dead): New variables.
7160         (reload_spill_index): Content is now a hard reg number.
7161         (reload_as_needed): Change to fit new variable meaning.
7162         (forget_old_reloads_1, allocate_reload_reg): Likewise.
7163         (choose_reload_regs, emit_reload_insns): Likewise.
7164
7165 Thu Mar 26 18:34:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7166
7167         * regclass.c (record_reg_classes): '?' increases cost by two.
7168
7169         * reload.c (find_reloads): Double previous costs.  Output
7170         reloads cost one unit extra.
7171
7172         * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
7173         boiled down to && ! 0.
7174
7175         * reload.c (find_equiv_reg): Also consider a goal offset from the
7176         frame pointer to be constant.
7177
7178 Thu Mar 26 17:34:46 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7179
7180         * sh.h (OPTIMIZATION_OPTIONS): Define.
7181
7182 Thu Mar 26 00:19:47 1998  Richard Henderson  <rth@cygnus.com>
7183
7184         * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
7185
7186 Wed Mar 25 23:53:11 1998  Jeffrey A Law  (law@cygnus.com)
7187
7188         * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
7189
7190 Wed Mar 25 13:40:48 1998  Jim Wilson  <wilson@cygnus.com>
7191
7192         * c-common.c (check_format_info): Initialize type, is_type.  New local
7193         integral_format.  Don't warn for 'L' when pedantic.  Do warn for 'L'
7194         when pedantic if used with integral format specifier.
7195
7196 Wed Mar 25 16:09:01 1998  Michael Meissner  <meissner@cygnus.com>
7197
7198         * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
7199         direction.
7200         (function_arg_padding): Declare.
7201
7202         * rs6000.c: Include system.h.
7203         (function_arg_padding): Change return type to int, cast enum's to
7204         int.
7205
7206         (From Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>)
7207         * collect2.c (scan_prog_file): Add explicit braces to avoid
7208         ambiguous `else'.
7209
7210         * dbxout.c (dbxout_type_fields): Add braces around empty body in
7211         an if-statement.
7212         (dbxout_type): Likewise.
7213
7214         * rs6000.c (rs6000_override_options): Change type of `i', `j' and
7215         `ptt_size' from int to size_t.
7216         (rs6000_file_start): Likewise for `i'.
7217         (rs6000_replace_regno): Add default case in enumeration switch.
7218         (output_epilog): Remove unused variable `i'.
7219         (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
7220         and `reg2'.
7221
7222         * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
7223         initializer.
7224         (get_issue_rate, non_logical_cint_operand): Add prototype.
7225         (rs6000_output_load_toc_table): Ditto.
7226
7227         * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
7228         `else'.
7229
7230 Wed Mar 25 10:05:19 1998  Nick Clifton  <nickc@cygnus.com>
7231
7232         * config/arm/thumb.c: New File.  Support for ARM's Thumb
7233         instruction set.
7234         * config/arm/thumb.h: New File.  Thumb definitions.
7235         * config/arm/thumb.md: New File.  Thumb machine description.
7236         * config/arm/tcoff.h: New File.  Thumb COFF support.
7237         * config/arm/t-thumb: New File.  Thumb makefile fragment.
7238         * config/arm/lib1thumb.asm: New File.  Thumb libgcc support functions.
7239
7240         * configure.in: Add Thumb-coff target.
7241         * configure: Add Thumb-coff target.
7242         * config.sub: Add Thumb-coff target.
7243
7244 Wed Mar 25 10:30:32 1998  Jim Wilson  <wilson@cygnus.com>
7245
7246         * loop.c (scan_loop): Initialize move_insn_first to zero.
7247
7248 Wed Mar 25 01:06:49 1998  Joel Sherrill (joel@OARcorp.com)
7249
7250         * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
7251         * config/i386/rtems.h: Likewise.
7252         * config/i960/rtems.h: Likewise.
7253         * config/m68k/rtems.h: Likewise.
7254         * config/mips/rtems64.h: Likewise.
7255         * config/pa/rtems.h: Likewise.
7256         * config/rs6000/rtems.h: Likewise.
7257         * config/sh/rtems.h: Likewise.
7258         * config/sparc/rtems.h: Likewise.
7259
7260 Wed Mar 25 00:57:26 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7261
7262         * pa.c (emit_move_sequence): If in reload, call find_replacement.
7263
7264 Tue Mar 24 10:44:11 1998  Nick Clifton  <nickc@cygnus.com>
7265
7266         * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
7267
7268         * collect2.c (find_a_file): Add debugging.
7269         (find_a_file): Test for win32 style absolute paths if
7270         DIR_SERPARATOR is defined.
7271         (prefix_from_string): Add debugging.
7272         (main): Test for debug command line switch at start of program
7273         execution.
7274         (main): Use GET_ENVIRONMENT rather than getenv().
7275         (prefix_from_env): Use GET_ENVIRONMENT.
7276
7277 1998-03-24  Mark Mitchell  <mmitchell@usa.net>
7278
7279         * cplus-dem.c (optable): Add sizeof.
7280         (demangle_template_value_parm): New function containing code
7281         previously found in demangle_template.
7282         (demangle_integral_value): New function which handles complicated
7283         integral expressions.
7284         (demangle_template): Use them.
7285
7286 Tue Mar 24 12:13:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7287
7288         * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
7289         genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
7290         genattrtab.o, genoutput.o): Depend on system.h.
7291
7292         * genattr.c: Include system.h.  Add arguments to various function
7293         prototypes.  Remove redundant prototype of read_rtx().
7294         * genattrtab.c: Likewise.
7295         * gencodes.c: Likewise.
7296         * genconfig.c: Likewise.
7297         * genemit.c: Likewise.
7298         * genextract.c: Likewise.
7299         * genflags.c: Likewise.
7300         * genopinit.c: Likewise.
7301         * genoutput.c: Likewise.
7302         * genpeep.c: Likewise.
7303         * genrecog.c: Likewise.
7304
7305 1998-03-24  Martin von Loewis  <loewis@informatik.hu-berlin.de>
7306
7307         * c-lang.c (lang_print_xnode): New function.
7308         * objc/objc-act.c (lang_print_xnode): Likewise.
7309         * print-tree.c (print_node): Call it
7310
7311 Mon Mar 23 23:59:11 1998  H.J. Lu  (hjl@gnu.org)
7312
7313         * c-parse.in: Recognize protocol qualifiers in class
7314         definitions for objc.
7315         Include "output.h".
7316         (yyerror): Remove redundant decl.
7317         (yyprint): Fix prototype.
7318
7319 Mon Mar 23 23:49:47 1998  Jeffrey A Law  (law@cygnus.com)
7320
7321         * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
7322
7323         * stmt.c (unroll_block_trees): Free block_vector if needed.
7324
7325 Mon Mar 23 23:26:42 1998  Philippe De Muyter  <phdm@macqel.be>
7326
7327         * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
7328         (zero_extendsidi2): Avoid useless copy.
7329         (iordi_zext): New pattern.
7330         (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
7331         operand 2.
7332         (iorsi_zext): New name for old unnamed pattern; indentation fixes.
7333
7334         * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
7335         (ashldi3): Allow constant shift count in range ]32,63].
7336         (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
7337
7338 1998-03-22  Mark Mitchell  <mmitchell@usa.net>
7339
7340         * tree.h (IS_EXPR_CODE_CLASS): New macro.
7341
7342 Mon Mar 23 23:18:48 1998  Jeffrey A Law  (law@cygnus.com)
7343
7344         * h8300.h (CONST_COSTS): Remove definition.
7345         (DEFAULT_RTX_COSTS): Define.
7346
7347 Mon Mar 23 22:58:22 1998  Joel Sherrill (joel@OARcorp.com)
7348
7349         * config/sh/rtems.h: Switched from ELF to COFF.
7350
7351 Mon Mar 23 14:14:20 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7352
7353         * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
7354
7355 Sat Mar 21 23:52:56 PST 1998 Jeff Law  (law@cygnus.com)
7356
7357         * version.c: Bump for snapshot.
7358
7359 Sun Mar 22 00:50:42 1998  Nick Clifton  <nickc@cygnus.com>
7360                           Geoff Noer    <noer@cygnus.com>
7361
7362         * Makefile.in: Various fixes for building cygwin32 native toolchains.
7363
7364         * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
7365         * objc/Make-lang.in: Likewise.
7366
7367         * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
7368
7369 Sun Mar 22 00:21:46 1998  R. Ganesan  <rganesan@novell.com>
7370
7371         * configure.in: Handle with-PACKAGE=no correctly
7372
7373 Fri Mar 20 17:36:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7374
7375         * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
7376         c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
7377         caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
7378         dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
7379         expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
7380         integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
7381         prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
7382         reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
7383         rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
7384         tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
7385         on system.h.
7386
7387         * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
7388         c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
7389         caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
7390         dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
7391         expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
7392         integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
7393         prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
7394         reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
7395         rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
7396         stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
7397         xcoffout.c: Include system.h.  Organize include ordering so
7398         that stdarg/varargs comes before other system headers.  Remove
7399         spurious casts of functions assured of a prototype in system.h.
7400
7401 Fri Mar 20 11:19:40 1998  Stan Cox  <scox@equinox.cygnus.com>
7402
7403         * reg-stack.c (pop_stack): Define. Pops any register on the
7404         regstack and adjusts regstack.
7405         (compare_for_stack_reg): Use pop_stack.
7406
7407 Thu Mar 19 23:51:01 1998  Jeffrey A Law  (law@cygnus.com)
7408
7409         * configure.in (hppa1.0-hp-hpux10): Handle threads for this
7410         config too.
7411
7412 Thu Mar 19 20:30:31 1998  Philippe De Muyter  <phdm@macqel.be>
7413
7414         * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
7415
7416         * fold-const.c (fold): Replace sign-extension of a zero extended
7417         value by a single zero extension.
7418
7419 Thu Mar 19 00:58:07 1998  Jason Merrill  <jason@yorick.cygnus.com>
7420
7421         * except.c (init_eh): Do nothing.
7422         (save_eh_status): Call init_eh_for_function, not init_eh.
7423         * function.c (push_function_context_to): Don't call init_emit.
7424
7425 Thu Mar 19 13:39:52 1998  Michael Meissner  <meissner@cygnus.com>
7426
7427         * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
7428         and EABI.
7429
7430 Thu Mar 19 10:10:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7431
7432         * final.c (shorten_branches): Add parentheses around +/- in
7433         operand of &.
7434
7435         * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
7436
7437 Thu Mar 19 09:15:17 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7438
7439         * regclass.c (memory_move_secondary_cost): Wrap uses of
7440         SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
7441         with #ifdef tests.
7442
7443 Thu Mar 19 09:06:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7444
7445         * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
7446
7447         * flow.c (life_analysis): #include <sys/types.h> to make sure
7448         size_t is defined.
7449         * cplus-dem.c (demangle_function_name): Likewise.
7450
7451 Thu Mar 19 09:00:01 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7452
7453         * final.c (insn_noperands): Change type to unsigned int.
7454         (final_scan_insn): Likewise for noperands;
7455         properly check operand number boundaries.
7456
7457 Wed Mar 18 16:20:30 1998  Richard Henderson  <rth@cygnus.com>
7458
7459         * alpha.md (extzv): Don't reject register operands.  Fix
7460         mode of operand 1.
7461
7462 Wed Mar 18 16:14:23 1998  Richard Henderson  <rth@cygnus.com>
7463
7464         * dbxout.c (dbxout_function_end): Fix last change.  The correct
7465         predicate is ASM_OUTPUT_SECTION_NAME.
7466
7467 Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
7468
7469         * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
7470         (ashlsi): Use match_dup 1 instead of match_operand 2.
7471
7472 Wed Mar 18 13:46:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7473
7474         * fold-const.c (operand_equal_for_comparison_p): See if equal
7475         when nop conversions are removed.
7476
7477 Wed Mar 18 13:42:01 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7478
7479         * expr.c (expand_expr, case COND_EXPR): If have conditional move,
7480         don't use ORIGINAL_TARGET unless REG.
7481
7482 Wed Mar 18 16:53:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7483
7484         * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
7485
7486 Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
7487
7488         * loop.c (struct movable): New field move_insn_first.
7489         (scan_loop): In consec sets code, set it.  Clear it otherwise.
7490         (move_movables): In consec sets code, use it.  Copy REG_NOTES from
7491         p to i1 only if i1 does not have REG_NOTES.  Delete obsolete ifdefed
7492         out code.
7493
7494 Wed Mar 18 09:52:56 1998  Richard Henderson  <rth@cygnus.com>
7495
7496         * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
7497         is large, and the system doesn't provide atoll or atoq.
7498         (atoll): New.
7499
7500         * alpha/xm-vms.h (HAVE_ATOLL): Define.
7501         Reported by Klaus Kaempf <kkaempf@progis.de>.
7502
7503 Wed Mar 18 09:56:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7504
7505         * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
7506         test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
7507
7508         * calls.c (emit_call_1): Wrap variable `already_popped' with macro
7509         test !ACCUMULATE_OUTGOING_ARGS.
7510
7511         * collect2.c (write_c_file_glob): Wrap function definition in
7512         macro test !LD_INIT_SWITCH.
7513
7514         * combine.c (try_combine): Wrap variables `cc_use' and
7515         `compare_mode' in macro test EXTRA_CC_MODES.
7516
7517         * cpplib.c (do_ident): Remove unused variable `len'.
7518         (skip_if_group): Remove unused variables `at_beg_of_line' and
7519         `after_ident'.
7520         (cpp_get_token): Remove unused variable `dummy'.
7521
7522         * dbxout.c (scope_labelno): Move static variable definition inside
7523         the one function scope where it is used.
7524         (dbxout_function_end): Wrap prototype and definition in
7525         macro test !NO_DBX_FUNCTION_END.
7526
7527         * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
7528         in macro test !MIPS_DEBUGGING_INFO.
7529
7530         * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
7531         into the scope where it is used.  Wrap empty else-statement body
7532         in braces.
7533
7534         * fix-header.c: Fix typo in comment.
7535         (inf_skip_spaces): Cast results of INF_UNGET to (void).
7536         (check_protection, main): Likewise.
7537
7538         * flow.c (find_basic_blocks_1): Remove dangling comment text.
7539
7540         * function.c (contains): Wrap prototype and definition in macro
7541         test HAVE_prologue || HAVE_epilogue.
7542         (fixup_var_refs_1): Remove unused variable `width'.
7543
7544         * gen-protos.c (main): Remove unused variable `optr'.
7545
7546         * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
7547
7548         * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
7549         (__sjpopnthrow): Remove unused variable `jmpbuf'.
7550         (__throw): Remove unused variable `val'.
7551
7552         * protoize.c: Check for a previously existing definition before
7553         defining *_OK macros.
7554
7555         * scan-decls.c (scan_decls): Remove unused variable `old_written'.
7556
7557 Tue Mar 17 00:45:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7558
7559         * vax.h (ADDR_VEC_ALIGN): Define.
7560
7561 Mon Mar 16 15:57:17 1998  Michael Meissner  <meissner@cygnus.com>
7562
7563         * gcc.c (default_arg): Don't wander off the end of allocated
7564         memory.
7565
7566         (From Geoffrey Keating  <geoffk@ozemail.com.au>)
7567         * rs6000.c (small_data_operand): Ensure that any address
7568         referenced relative to the small data area is inside the SDA.
7569
7570 Mon Mar 16 12:55:15 1998  Jim Wilson  <wilson@cygnus.com>
7571
7572         * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
7573
7574 Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
7575
7576         * except.h (in_same_eh_region): New prototype.
7577         (free_insn_eh_region, init_insn_eh_region): New prototypes.
7578         * except.c (insn_eh_region, maximum_uid): New static variables.
7579         (set_insn_eh_region): New static function to set region numbers.
7580         (free_insn_eh_region): New function to free EH region table.
7581         (init_insn_eh_region): New function to initialize EH region table.
7582         (in_same_eh_region): New function used to determine if two rtl
7583         instructions are in the same exception region or not.
7584         * final.c (final): Initialize the table indicating which instructions
7585         belong in which exception region.
7586         * genpeep.c (main): Add "except.h" to include file list in generated
7587         file insn-peep.c.
7588         * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
7589         peepholes involving calls and unconditional branches.
7590
7591 Mon Mar 16 11:16:50 1998  Jim Wilson  <wilson@cygnus.com>
7592
7593         * README.gnat: New file.
7594
7595 Mon Mar 16 11:14:20 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7596
7597         * config/m68k/m68k.c: Include <stdlib.h> for atoi.  Include
7598         "recog.h" for offsettable_memref_p.
7599         (legitimize_pic_address): Remove unused variable `offset'.
7600         (notice_update_cc): Change return type to void.  Add default label
7601         to switch.
7602         (standard_68881_constant_p): Remove unused variable mode.
7603         (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
7604         (const_int_cost): Explicitly declare as returning int.
7605         (output_dbcc_and_branch): Change return type to void.
7606
7607         * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
7608         config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
7609         (...).  Use GEN_INT instead of gen_rtx_CONST_INT.
7610
7611 Sun Mar 15 22:30:44 PST 1998 Jeff Law  (law@cygnus.com)
7612
7613         * version.c: Bump for snapshot.
7614
7615 Fri Mar 13 11:30:12 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7616
7617         * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
7618         check for 'M' constraint.
7619
7620 Thu Mar 12 14:47:14 1998  Jim Wilson  <wilson@cygnus.com>
7621
7622         * cccp.c (create_definition): If pedantic, call pedwarn for macro
7623         varargs feature.
7624
7625 Thu Mar 12 13:43:25 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
7626
7627         * i386.c (ix86_logical_operator): New function.
7628         (split_di): Ensure that when a MEM is split, the resulting MEMs have
7629         SImode.
7630         * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
7631         to implement them.
7632
7633 Thu Mar 12 15:13:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7634                           Richard Earnshaw <rearnsha@arm.com>
7635                           Nick Clifton  <nickc@cygnus.com>
7636
7637         * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
7638
7639         * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
7640
7641         * cse.c (rtx_cost): Provide a default case in an enumeration
7642         switch, and call DEFAULT_RTX_COSTS if it's defined.
7643
7644 Thu Mar 12 10:02:38 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7645
7646         * basic-block.h (compute_preds_succs): Change return type in
7647         prototype to void.
7648         * flow.c (compute_preds_succs): Likewise in function definition.
7649
7650         * regmove.c (find_matches): Cast char used as array index to unsigned char
7651         to supress warning.
7652
7653 Thu Mar 12 09:39:40 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7654
7655         * i386.h (RTX_COSTS): Insert braces around nested if.
7656         (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
7657         elements.
7658
7659         * gcc.c (default_compilers): Properly put brackets around array elements in
7660         initializer.
7661
7662         * getopt.c (_getopt_internal): Add explicit braces around nested if;
7663         reformatted.
7664
7665         * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
7666         (record_reg_life_pat): Add explicit parens around && and || in expression.
7667         (stack_reg_life_analysis): Add parens around assignment used as expression.
7668         (convert_regs): Likewise.
7669
7670 Thu Mar 12 09:25:29 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7671
7672         * bitmap.c (bitmap_element_allocate): Remove unused parameter;
7673         change callers accordingly.
7674
7675         * cplus-dem.c (arm_special): Remove unused parameter work in prototype
7676         and definition; change all callers accordingly.
7677
7678         * except.c (init_eh): Avoid assignment of unused return value of
7679         build_pointer_type; cast it to void, instead, and remove unused
7680         variable type.
7681
7682         * gcc.c (lang_specific_driver): Define prototype only #ifdef
7683         LANG_SPECIFIC_DRIVER.
7684         (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
7685
7686         * genoutput.c (output_epilogue): Initialize next_name to 0.
7687
7688         * real.c (efrexp): #if 0 prototype and function definition.
7689         (eremain): Likewise.
7690         (uditoe): Likewise.
7691         (ditoe): Likewise.
7692         (etoudi): Likewise.
7693         (etodi): Likewise.
7694         (esqrt): Likewise.
7695
7696         * reload.c (push_secondary_reload): Define prototype only
7697         #ifdef HAVE_SECONDARY_RELOADS.
7698
7699         * varasm.c (assemble_static_space): Define rounded only
7700         #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
7701
7702 Thu Mar 12 09:11:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7703
7704         * i386.md (andsi): Add default case in enumeration switch.
7705         (iorsi3): Likewise.
7706         (iorhi3): Likewise.
7707         (xorsi3): Likewise.
7708
7709 Thu Mar 12 08:37:02 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7710
7711         * c-decl (finish_struct): Change type of min_align to unsigned.
7712
7713         * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
7714         remove unused variable len.
7715
7716         * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
7717         comment indicating this is proper behaviour.
7718         (reg_loc_descriptor): Remove redundant comparison of unsigned variable
7719         reg >= 0.
7720         (based_loc_descr): Likewise.
7721
7722         * enquire.c (bitpattern): Change type of variable i to unsigned.
7723
7724         * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
7725
7726         * flow.c (life_analysis): Change type of variable i to size_t;
7727         remove unused variable insn.
7728
7729         * gcc.c (translate_options): Change type of variables optlen, arglen and
7730         complen to size_t.
7731         (input_filename_length): Change type to size_t.
7732         (do_spec_1): Change type of variable bufsize to size_t.
7733         (main): Change type of variables i and j to size_t;
7734         remove subblock local definition of variable i.
7735         (lookup_compiler): Change type of second argument to size_t;
7736         change type of variable i to size_t.
7737
7738         * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
7739
7740         * genopinit.c (get_insn): Change type of variable pindex to size_t.
7741
7742         * genrecog.c (add_to_sequence): Change type of variable i to size_t.
7743
7744         * global.c (global_alloc): Change type of variable i to size_t.
7745
7746         * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
7747
7748         * stmt.c (expand_end_bindings): Change type of variable i to size_t.
7749         (expand_end_case): Change type of variable count to size_t.
7750
7751         * toplev.c (main): Change type of variable j to size_t.
7752         (set_target_switch): Change type of variable j to size_t.
7753         (print_switch_values): Change type of variable j to size_t;
7754         remove unused variable flags.
7755
7756         * varasm.c (assemble_variable): Change type of variable align to size_t.
7757         (const_hash_rtx): Change type of variable i to size_t.
7758
7759 1998-03-11  Mark Mitchell  <mmitchell@usa.net>
7760
7761         * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
7762         TREE_VEC if that's what it really is.
7763
7764 Wed Mar 11 15:16:01 1998  Michael Meissner  <meissner@cygnus.com>
7765
7766         * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
7767         as per ISO C spec.
7768
7769 Wed Mar 11 12:05:20 1998  Teemu Torma  <tot@trema.com>
7770
7771         * gthr.h: Changed the comment about return values.
7772         * gthr-solaris.h (__gthread_once): Do not use errno; return the
7773         error number instead of -1.
7774         (__gthread_key_create): Any non-zero return value is an error.
7775         * libgcc2.c (eh_context_initialize): Check for non-zero return
7776         value from __gthread_once.
7777         Check that the value of get_eh_context was really changed.
7778
7779 Wed Mar 11 18:26:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7780
7781         * sh.h (LOOP_ALIGN): Only align when optimizing.
7782         * sh.c (find_barrier): Clear inc for CODE_LABELs.
7783         When not optimizing, calculate alignment for BARRIERs directly.
7784
7785 Wed Mar 11 15:07:18 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7786
7787         * final.c (shorten_branches): Remove conditionalizing on
7788         SHORTEN_WITH_ADJUST_INSN_LENGTH
7789         * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
7790
7791 Wed Mar 11 02:37:41 1998  Jeffrey A Law  (law@cygnus.com)
7792
7793         * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
7794         an unconditional jump around deleted blocks.
7795
7796 Mon Mar  9 12:02:23 1998  Jim Wilson  <wilson@cygnus.com>
7797
7798         * profile.c (branch_prob): If see computed goto, call fatal instead of
7799         abort.
7800
7801         * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
7802
7803         * configure.in (alpha-dec-osf): Add default case for osf* to switch.
7804         Patch from Bruno Haible.
7805
7806         * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
7807         (assign_parms): Set aggregate if hide_last_arg and last_named.
7808
7809 Mon Mar  9 19:57:56 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7810
7811         * final.c (shorten_branches): Initialize insn_addresses.
7812
7813 Mon Mar  9 14:10:23 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7814
7815         * sh.h (MUST_PASS_IN_STACK): Define.
7816
7817 Sun Mar  8 13:01:56 1998  Jeffrey A Law  (law@cygnus.com)
7818
7819         * final.c (shorten_branches): Fix minor logic error in
7820         ADDR_DIFF_VEC shortening support.
7821
7822 Sun Mar 8 02:17:42 PST 1998 Jeff Law  (law@cygnus.com)
7823
7824         * version.c: Bump for snapshot.
7825
7826 Sat Mar  7 00:54:15 1998  Jeffrey A Law  (law@cygnus.com)
7827
7828         * haifa-sched.c (is_cfg_nonregular): Change return type to
7829         an int.  No longer compute "estimated" number of edges.  Use
7830         computed_jump_p instead of duplicating the code.  Fixup/add
7831         some comments.
7832         (build_control_flow): Returns a value indicating an irregularity
7833         in the cfg was detected.  Count the number of edges in the cfg.
7834         allocate various edge tables.
7835         (find_rgns): No longer look for unreachable blocks.
7836         (schedule_insns): Do not allocate memory for edge tables here.
7837         Free memory for edge tables before returning.  Do not perform
7838         cross block scheduling if build_control_flow returns nonzero.
7839         * flow.c (compute_preds_succs): More accurately determine when
7840         a block drops in.
7841
7842         * basic-block.h (free_basic_block_vargs): Provide prototype.
7843
7844         * cccp.c (main): Fix dumb mistakes in last change.
7845
7846 Fri Mar  6 21:28:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7847
7848         * rtl.h (addr_diff_vec_flags): New typedef.
7849         (union rtunion_def): New member rt_addr_diff_vec_flags.
7850         (ADDR_DIFF_VEC_FLAGS): New macro.
7851
7852         * sh.c (output_branch): Fix offset overflow problems.
7853
7854         * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
7855         (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
7856         * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
7857         * stmt.c (expand_end_case): Supply new arguments to
7858         gen_rtx_ADDR_DIFF_VEC.
7859         * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
7860         * alpha.h, arc.h, clipper.h, convex.h : Likewise.
7861         * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
7862         * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
7863         * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
7864         * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
7865         * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
7866         * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
7867         * i386/freebsd.h, i386/linux.h : Likewise.
7868         * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
7869         * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
7870         * m68k/mot3300.h, m68k/sgs.h : Likewise.
7871         * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
7872         * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
7873         (CASE_VECTOR_SHORTEN_MODE): Define.
7874         (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
7875         (med_branch_p, braf_branch_p): Don't declare.
7876         (mdep_reorg_phase, barrier_align): Declare.
7877         (ADJUST_INSN_LENGTH): Remove alignment handling.
7878         * sh.c (uid_align, uid_align_max): Deleted.
7879         (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
7880         (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
7881         (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
7882         (output_far_jump): Don't use braf_branch_p.
7883         (output_branchy_insn): Don't use branch_offset.
7884         (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
7885         Remove paired barrier stuff.
7886         Don't use cache_align_p.
7887         Take alignment insns into account.
7888         (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
7889         the addr_diff_vec.
7890         (barrier_align, branch_dest): New function.
7891         (machine_dependent_reorg, split_branches): Remove infrastructure
7892         for branch shortening that is now provided in the backend.
7893         * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
7894         (braf_branch_p, braf_cbranch_p): Likewise.
7895         (attribute length): Use new attributes.
7896         (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
7897         (addr_diff_vec_adjust): Delete.
7898         (align_2): Now a define_expand.
7899         (align_log): Now length 0.
7900
7901 Fri Mar  6 14:41:33 1998  Michael Meissner  <meissner@cygnus.com>
7902
7903         * m32r.md (right): Correctly check for length == 2, not 1.
7904
7905 Fri Mar  6 14:00:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7906
7907         * mips/mips.h: Prototype `machine_dependent_reorg'.
7908         (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
7909
7910 Fri Mar  6 11:43:35 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
7911
7912         * final.c (shorten_branches): Restore accidentally removed code.
7913
7914 Fri Mar  6 11:00:49 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7915
7916         * configure.in: Remove duplicate uses of AC_PROG_CC and
7917         AC_PROG_MAKE_SET.
7918
7919 Fri Mar  6 00:59:30 1998  Richard Henderson  <rth@cygnus.com>
7920
7921         * configure.in (target_cpu_default2): Correct typo for alphapca56.
7922
7923 Thu Mar  5 23:24:50 1998  Jeffrey A Law  (law@cygnus.com)
7924                           Doug Evans     (devans@cygnus.com)
7925
7926         * haifa-sched.c (build_jmp_edges): Delete dead function.
7927         (build_control_flow): Use cfg routines from flow.c
7928         (schedule_insns): Remove debugging code accidentally checked
7929         in earlier today.
7930
7931         * basic-block.h: Add external integer list structures, typdefs,
7932         accessor macros and function declarations.  Simlarly for
7933         basic block pred/succ support and simple bitmap stuff.
7934         * flow.c: Add functions for integer list, basic block pred/succ
7935         support and simple bitmap support.
7936         (compute_dominators): New function to compute dominators and
7937         post dominators.
7938         (find_basic_blocks): Split into two functions.
7939         (life_analysis): Likewise.
7940         (flow_analysis): Removed.  Now handled by calling find_basic_blocks,
7941         the life_analysis from toplev.c
7942         * toplev.c (rest_of_compilation): Call find_basic_blocks, then
7943         life_analysis instead of flow_analysis.
7944
7945 Thu Mar  5 23:06:26 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7946
7947         * jump.c (jump_optimize): Call mark_jump_label also for deleted
7948         insns.
7949         (mark_jump_label): Don't increment ref counts for deleted insns.
7950
7951 Thu Mar  5 09:55:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7952
7953         * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
7954
7955         * mips/mips.c: Include stdlib.h and unistd.h.
7956         (mips_asm_file_end): Add braces around empty body in an if-statement.
7957         (function_prologue): Wrap variable `fnname' in
7958         !FUNCTION_NAME_ALREADY_DECLARED.  Correct format specifier in fprintf.
7959         (mips_select_rtx_section, mips_select_section): Declare as void.
7960
7961         * mips/mips.h: Add prototypes for extern functions in mips.c.
7962         (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
7963         (ENCODE_SECTION_INFO): Add braces around empty body in an
7964         if-statement.
7965
7966         * mips/mips.md (movdi): Add parentheses around && within ||.
7967         (movsf, movdf): Likewise.
7968         (branch_zero, branch_zero_di): Add default case in
7969         enumeration switch.
7970
7971
7972 Thu Mar  5 02:45:48 1998  Richard Henderson  <rth@cygnus.com>
7973
7974         * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
7975         real constants, since they can't be changed.
7976         (TARGET_AS_CAN_SUBTRACT_LABELS): New.
7977         * alpha/alpha.md (builtin_setjmp_receiver): Use it.
7978         * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
7979         * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
7980         * alpha/vms.h (TARGET_OPEN_VMS): New.
7981         * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
7982
7983 Thu Mar  5 02:41:27 1998  Richard Henderson  <rth@cygnus.com>
7984
7985         * reload.c (find_reloads): Always force (subreg (mem)) to be
7986         reloaded if WORD_REGISTER_OPERATIONS.
7987
7988 Thu Mar  5 02:14:44 1998  Richard Henderson  <rth@cygnus.com>
7989
7990         * haifa-sched.c (free_list): Rename from free_pnd_lst.
7991         (free_pending_lists): Rename free_pnd_lst uses.
7992         (remove_dependence): Place expunged element on unused_insn_list.
7993         (alloc_INSN_LIST, alloc_EXPR_LIST): New.  Change all callers of
7994         gen_rtx_*_LIST and alloc_rtx to use them.
7995         (compute_block_backward_dependences): Free the reg_last_* lists.
7996
7997 Thu Mar  5 00:05:40 1998  Jeffrey A Law  (law@cygnus.com)
7998
7999         * cccp.c (main): Avoid undefined behavior when setting pend_includes
8000         and pend_files.
8001
8002 Wed Mar  4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
8003
8004         * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
8005         USE_GNULIBC_1 is defined
8006         * configure.in: add a new case powerpc-*-linux-gnulibc1 which
8007         includes the t-linux-gnulibc1 fragment
8008
8009 Wed Mar  4 12:11:36 1998  Jim Wilson  <wilson@cygnus.com>
8010
8011         * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
8012
8013 Wed Mar  4 18:47:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8014
8015         * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
8016
8017 Wed Mar  4 15:51:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8018
8019         * final.c (shorten_branches): Tag the loop alignment onto the
8020         first label after NOTE_INSN_LOOP_BEG even if there is an
8021         intervening insn.
8022
8023 Tue Mar  3 21:48:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8024
8025         * final.c (insn_current_reference_address):
8026         Use SEQ instead of BRANCH as argument to align_fuzz, to get a
8027         proper alignment chain.
8028
8029         * final.c (max_labelno): New static variable.
8030         (final_scan_insn): Check max_labelno before outputting an
8031         alignment for a label.
8032         (shorten_branches): Remove unused variable length_align.
8033
8034 Tue Mar  3 14:27:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8035
8036         * sparc.c (ultrasparc_adjust_cost): Add default case in
8037         enumeration switch.
8038
8039          * sparc.h: Add prototypes for extern functions defined in
8040         sparc.c.
8041
8042 Tue Mar  3 10:00:11 1998  Nick Clifton  <nickc@cygnus.com>
8043
8044         * toplev.c: Only generate <name>.dbr file when dumping RTL if
8045         DEALY_SLOTS is defined.
8046
8047 Tue Mar  3 07:36:37 1998  Manfred Hollstein  <manfred@s-direktnet.de>
8048
8049         * reorg.c (fill_eager_delay_slots): Add new argument delay_list
8050         in call to fill_slots_from_thread.
8051
8052 Mon Mar  2 13:45:03 1998  Richard Henderson  <rth@cygnus.com>
8053
8054         * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
8055         to SUB_CPP_PREDEFINES.  Reported by asun@saul4.u.washington.edu.
8056
8057 Mon Mar  2 22:59:28 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8058
8059         * final.c (insn_last_address, insn_current_align, uid_align):
8060         New variables.
8061         (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
8062         (insn_current_reference_address): Likewise.
8063         (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
8064         LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
8065         (label_to_alignment): New function.
8066         * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
8067         LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
8068         insn_current_reference_address instead of insn_current_address.
8069         (or_attr_value, write_length_unit_log): New functions.
8070         (main): Call write_length_unit_log.
8071         (write_const_num_delay_slots): Output extra '\n'.
8072         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
8073         replace with:
8074         (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
8075         * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
8076         * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
8077         (LOOP_ALIGN).
8078         * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
8079         (LABEL_ALIGN_AFTER_BARRIER).
8080         * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
8081         * ns32k/tek6000.h: Likewise.
8082         * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
8083         * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
8084         ASM_OUTPUT_ALIGN_CODE.
8085
8086 Mon Mar 2 01:05:50 PST 1998 Jeff Law  (law@cygnus.com)
8087
8088         * version.c: Bump for snapshot.
8089
8090 Mon Mar 2 00:52:18 PST 1998 Jeff Law  (law@cygnus.com)
8091
8092         * version.c: Bump for snapshot.
8093
8094 Sun Mar  1 18:25:49 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
8095
8096         * reorg.c (fill_slots_from_thread): Don't steal delay list from target
8097         if condition code of jump conflicts with opposite_needed.
8098
8099         * reorg.c (fill_slots_from_thread): Mark resources referenced in
8100         opposite_needed thread.  Return delay_list even when cannot get
8101         any more delay insns from end of subroutine.
8102
8103 Sun Mar  1 18:26:21 1998  Ken Rose (rose@acm.org)
8104
8105         * reorg.c (fill_slots_from_thread): New parameter, delay_list.
8106         All callers changed.
8107
8108 Sun Mar  1 18:25:37 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
8109
8110         * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
8111         end_fde_sort): New functions for fast sorting of an FDE array.
8112         (fde_insert): Simplified.
8113         (add_fdes): Change argument list.
8114         (frame_init): Use the new functions.
8115
8116 Sun Mar  1 18:06:21 1998  Jeffrey A Law  (law@cygnus.com)
8117
8118         * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
8119
8120         * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
8121
8122         * fold-const.c (fold_range_test): Always return a value.
8123
8124 Sun Mar  1 17:57:34 1998  Mumit Khan <khan@xraylith.wisc.edu>
8125
8126         * config/i386/winnt.c (i386_pe_unique_section): Put read-only
8127         data in the text section unless READONLY_DATA_SECTION is defined.
8128
8129 Sun Mar  1 17:48:46 1998  Jeffrey A Law  (law@cygnus.com)
8130
8131         * c-parse.in (undeclared variable error): Tweak error message to
8132         be clearer.
8133
8134 Sun Mar 1 10:22:36 PST 1998 Jeff Law  (law@cygnus.com)
8135
8136         * version.c: Bump for snapshot.
8137
8138 1998-02-28  Mark Mitchell  <mmitchell@usa.net>
8139
8140         * final.c (final_scan_insn): Undo overzealous removal of `set'.
8141
8142 Sat Feb 28 07:54:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8143
8144         * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
8145         case, add parentheses to specify the proper order of precedence in
8146         the if-statement.
8147
8148
8149         * c-aux-info.c: Include string.h/strings.h.
8150
8151         * pa.c: Include stdlib.h.
8152         (pa_combine_instructions): Prototype the function.
8153         (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
8154         (reloc_needed): Add default case for enumeration switch.
8155         (remove_useless_addtr_insns): Remove unused variable `all'.
8156         (hppa_expand_prologue): Add explicit braces to avoid
8157         ambiguous `else'.
8158         (output_function_epilogue): Remove unused variable `i'.
8159         (output_millicode_call): Remove unused variable `link'.
8160         (shadd_constant_p, forward_branch_p): Make the function static.
8161         (following_call): Explicitly declare to return int.
8162         (pa_reorg): Declare as void.
8163         (pa_combine_instructions): Declare as static void.  Add
8164         parentheses around && within ||.
8165
8166         * pa.h: Add prototypes for pa_reorg, symbolic_operand,
8167         following_call, function_label_operand, lhs_lshift_cint_operand
8168         and zdepi_cint_p.
8169
8170         * pa.md: Add parentheses around && within ||.
8171
8172         * cppalloc.c: Include stdlib.h.
8173
8174         * cpperror.c (cpp_print_containing_files): Remove unused variable
8175         `i'.  Fix format specifier in fprintf.
8176
8177         * cse.c (cse_around_loop): Add explicit braces to avoid
8178         ambiguous `else'.
8179         (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
8180
8181         * expr.c (expand_expr): Add parentheses around && within ||.
8182
8183         * final.c (app_enable): Replace fprintf with fputs where there are
8184         no format specifiers and no trailing argument after the string.
8185         Eg, when printing ASM_APP_ON/ASM_APP_OFF.
8186         (app_disable): Likewise.
8187         (final_end_function): Likewise.
8188         (final_scan_insn): Likewise.  Remove unused variable `set'.
8189         (profile_function): Wrap empty if-statement body in {} brackets.
8190
8191         * function.c: Include stdlib.h.
8192         (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
8193         (reposition_prologue_and_epilogue_notes): Add parentheses
8194         around assignment used as truth value.
8195
8196         * integrate.c (expand_inline_function): Wrap variable
8197         `cc0_insn' in macro HAVE_cc0.
8198
8199         * jump.c (jump_optimize): Wrap variable `q' in macro
8200         HAVE_cc0.  Remove unused variable `prev1'.
8201
8202         * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
8203         within ||.  Fix format specifier in fprintf.
8204         (__bb_init_prg): Add parentheses around assignment used as
8205         truth value.
8206
8207         * local-alloc.c: Include stdlib.h.
8208         (requires_inout): Add parentheses around assignment used
8209         as truth value.
8210
8211         * loop.c (analyze_loop_iterations): Wrap prototype and definition
8212         in macro HAVE_decrement_and_branch_on_count.
8213         (insert_bct, instrument_loop_bct): Likewise.
8214         (move_movables): Add parentheses around assignment used as
8215         truth value.
8216         (consec_sets_invariant_p): Likewise.
8217         (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
8218
8219         * objc/objc-act.c: Include stdlib.h.
8220         (lookup_method_in_protocol_list): Wrap empty else-statement body
8221         in braces.
8222         (lookup_protocol_in_reflist): Likewise.
8223         (objc_add_static_instance): Remove unused variables `decl_expr'
8224         and `decl_spec'.
8225         (get_objc_string_decl): Remove unused variable `decl'.
8226         (generate_static_references): Remove unused variables `idecl' and
8227         `instance'.
8228         (check_protocols): Wrap empty else-statement body in braces.
8229
8230         * protoize.c: Include stdlib.h.
8231         (substr): Add parentheses around assignment used as truth value.
8232         (abspath): Likewise.
8233         (shortpath): Likewise.
8234
8235         * regmove.c (fixup_match_1): Add parentheses around assignment
8236         used as truth value.
8237
8238         * reload.c (push_secondary_reload): Remove unused variable `i'.
8239         (find_reloads): Add parentheses around assignment used as truth
8240         value.
8241
8242         * reload1.c: Include stdlib.h.
8243
8244         * rtl.h: Correct typo in prototype of offsettable_memref_p.
8245
8246         * stmt.c (add_case_node): Add parentheses around assignment used
8247         as truth value.
8248         (case_tree2list): Likewise.
8249
8250         * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
8251         in macro VALID_MACHINE_DECL_ATTRIBUTE.  Wrap variable
8252         `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
8253         (merge_attributes): Add explicit braces to avoid ambiguous
8254         `else'.
8255
8256         * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
8257         macro HAVE_cc0.
8258
8259         * varasm.c: Include stdlib.h.
8260
8261
8262         * system.h: Remove sys/stat.h.
8263         * gcc.c: Add sys/stat.h.
8264
8265         * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
8266         * genattrtab.c: Likewise.
8267         * genconfig.c: Likewise.
8268         * genemit.c: Likewise.
8269         * genextract.c: Likewise.
8270         * genflags.c: Likewise.
8271         * genopinit.c: Likewise.
8272         * genoutput.c: Likewise.
8273         * genpeep.c: Likewise.
8274         * genrecog.c: Likewise.
8275         * tlink.c: Likewise.  Also wrap `getenv' in NEED_DECLARATION_GETENV.
8276
8277 Fri Feb 27 11:02:47 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8278
8279         * invoke.texi: Use @itemx for a secondary item in a @table.
8280
8281         * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
8282         zero.
8283
8284 Thu Feb 26 00:13:21 1998  Ian Lance Taylor  <ian@cygnus.com>
8285
8286         * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
8287
8288 Wed Feb 25 23:40:54 1998  Jeffrey A Law  (law@cygnus.com)
8289
8290         * i386.c (struct machine_function): Add new fields for PIC stuff.
8291         (save_386_machine_status): Fix argument to xmalloc.  Save pic_label_rtx
8292         and pic_label_name.
8293         (restore_386_machine_status): Corresponding changes.
8294         (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
8295
8296 Wed Feb 25 01:31:40 1998  Jeffrey A Law  (law@cygnus.com)
8297
8298         * c-parse.y (undeclared variable error): Tweak error message
8299         to be clearer.
8300
8301 Tue Feb 24 23:54:07 1998  Richard Henderson  <rth@cygnus.com>
8302
8303         * flags.h (g_switch_value, g_switch_set): Declare.
8304         * alpha.c (override_options): Set g_switch_value=8 if not set.
8305         * alpha/elf.h (CC1_SPEC): New.
8306         (ASM_SPEC): New.
8307         (LINK_SPEC): Pass along the -G value we were given.
8308         (LOCAL_ASM_OP): Remove.
8309         (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
8310         (MAX_OFILE_ALIGNMENT): New.
8311         (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
8312         (EXTRA_SECTIONS): Add sbss and sdata.
8313         (SECTION_FUNCTION_TEMPLATE): New.
8314         (EXTRA_SECTION_FUNCTIONS): Use it.
8315         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
8316         (SELECT_SECTION): Use sdata when small enough.
8317         * alpha/linux.h (ASM_SPEC): Remove.
8318
8319
8320 Mon Feb 23 15:09:18 1998  Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8321         * config.sub (sco5): Fix typo.
8322
8323 Mon Feb 23 18:19:31 1998  Manfred Hollstein  <manfred@s-direktnet.de>
8324
8325         * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
8326         set to empty.
8327         * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
8328         * config/alpha/t-linux: Remove file.
8329         * config/sparc/t-linux: Remove file.
8330         * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
8331         * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
8332         * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
8333         for tmake_file.
8334         (alpha*-*-linux-gnu*): Likewise.
8335         (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
8336         (sparc-*-linux-gnu*): Likewise.
8337
8338 Mon Feb 23 10:47:39 1998  Robert Lipe  <robertl@dgii.com>
8339         * collect2.c (ldd_file_name): Bracket declaration with same
8340         manifests as use.
8341         (full_real_ld_suffix): Deleted.  Variable was calloced and
8342         written into, but never read.
8343
8344 1998-02-23  Mike Stump  <mrs@wrs.com>
8345
8346         * configure.in: Add support for i386-wrs-vxworks configuration.
8347         * i386/vxi386.h: New file.
8348
8349 Sun Feb 22 21:16:51 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
8350
8351         * tree.c (contains_placeholder_p): Ensure function always returns
8352         a value.
8353         * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
8354         (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
8355
8356 Sun Feb 22 20:58:19 1998  Jeffrey A Law  (law@cygnus.com)
8357
8358         * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
8359
8360 1998-02-22  Paul Eggert  <eggert@twinsun.com>
8361
8362         * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
8363         Define this new symbol.
8364         (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
8365         * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
8366         LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
8367
8368 Sun Feb 22 20:07:32 1998  Jim Wilson  <wilson@cygnus.com>
8369
8370         * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
8371         * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
8372
8373 Sun Feb 22 15:29:48 1998  Richard Henderson  <rth@cygnus.com>
8374
8375         * objc/Object.m (-error): Call objc_verror with our va_list.
8376
8377 Sun Feb 22 09:45:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8378
8379         * collect2.c (scan_prog_file): Completely cover uses of variable
8380         `exports' with macro COLLECT_EXPORT_LIST.
8381
8382 Sat Feb 21 20:36:23 1998  Jeff Law  (law@cygnus.com)
8383
8384         * version.c: Bump for snapshot.
8385
8386 Fri Feb 20 16:22:13 1998  Michael Meissner  <meissner@cygnus.com>
8387
8388         * sched.c (schedule_block): Remove code to get arguments from hard
8389         regs into pseudos early.  Same as Aug 25, 1997 change to
8390         haifa-sched.c.
8391
8392 1998-02-20  Jason Merrill  <jason@yorick.cygnus.com>
8393
8394         * collect2.c (main): Still handle !do_collecting for non-AIX targets.
8395
8396 1998-02-16  Mark Mitchell  <mmitchell@usa.net>
8397
8398         * toplev.c (rest_of_compilation): Do not defer the output of a
8399         nested function.
8400
8401 Fri Feb 20 10:39:47 1998  Michael Tiemann  <michael@impact.tiemann.org>
8402
8403         * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
8404         continuation character (line 243).
8405
8406 Fri Feb 20 12:10:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8407
8408         * genrecog.c (main): Remove duplicated sentence in emitted comment.
8409
8410 Thu Feb 19 22:36:53 1998  Andrey Slepuhin  <pooh@msu.net>
8411                           David Edelsohn  <edelsohn@mhpcc.edu>
8412
8413         * collect2.c (XCOFF_SCAN_LIBS): Remove.
8414         (export_flag): New variable.
8415         (export_file): #ifdef COLLECT_EXPORT_LIST.
8416         (import_file, exports, imports, undefined): New variables.
8417         (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
8418         (dump_list, dump_prefix_list, is_in_list): New functions.
8419         (write_export_file): $ifdef COLLECT_EXPORT_LIST.
8420         (write_import_file, resolve_lib_name): New functions.
8421         (use_import_list, ignore_library): Same.
8422         (collect_exit): maybe_unlink import_file and #ifdef.
8423         (handler): Same.
8424         (main): New variable importf, #ifdef exportf.  Move parsing of
8425         -shared before general argument parsing.  Resolve AIX library
8426         paths and import libgcc.a symbols.  Treat .so shared libraries the
8427         same as objects and .a libraries.  Create alias for object_lst and
8428         increment it instead of original pointer.  Scan AIX libraries as
8429         objects earlier instead of using scan_libraries.  Perform AIX
8430         tlink later to resolve templates instead of forking ld.
8431         (GCC_OK_SYMBOL): Ensure symbol not in undef section.
8432         (GCC_UNDEF_SYMBOL): New macro.
8433         (scan_prog_file): Loop for members of AIX libraries.  Handle
8434         export/import of ctors/dtors.
8435         (aix_std_libs): New variable.
8436         (scan_libraries, XCOFF): Delete.
8437
8438 Thu Feb 19 22:36:52 1998  Robert Lipe   <robertl@dgii.com>
8439
8440         * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
8441
8442 1998-02-19  Mike Stump  <mrs@wrs.com>
8443
8444         * Makefile.in: Use $tooldir for sys-include to match toplevel
8445         configure.
8446
8447 Thu Feb 19 01:32:37 1998  Jeffrey A Law  (law@cygnus.com)
8448                           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8449
8450         * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
8451
8452         * emit-rtl.c (hard-reg-set.h): Include.
8453         (get_lowpart_common): Don't make new REG for hard reg in a
8454         class that cannot change size.
8455         * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
8456
8457         * combine.c: Revert previous patch.
8458
8459 1998-02-19  Paul Eggert  <eggert@twinsun.com>
8460
8461         * config/sparc/sol2-sld.h: New file.
8462         * configure.in (sparc-*-solaris2*): Use it when using the
8463         system linker.
8464
8465 Thu Feb 19 00:46:59 1998  Jeffrey A Law  (law@cygnus.com)
8466
8467         * loop.c (force_movables): Fix typo.
8468
8469 Thu Feb 19 08:26:30 1998  Manfred Hollstein <manfred@s-direktnet.de>
8470
8471         * m88k.h: Change file pattern to match reality.
8472
8473 Wed Feb 18 23:19:52 1998  Jeffrey A Law  (law@cygnus.com)
8474
8475         * varasm.c (output_constant_pool): Fix dumb thinko in last
8476         change.
8477
8478         * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
8479         a function name to a section name.
8480
8481 1998-02-18  Doug Evans  <devans@cygnus.com>
8482
8483         * tree.h (merge_machine_{type,decl}_attributes): Declare.
8484         (split_specs_attrs, strip_attrs): Add prototypes.
8485         * tree.c (merge_machine_{type,decl}_attributes): New functions.
8486         * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
8487         Update olddecl's attributes too.
8488         * c-common.c (strip_attrs): New function.
8489         * c-typeck.c (common_type): Call merge_machine_type_attributes.
8490         * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
8491         (make_decl_rtl): Likewise.
8492
8493 1998-02-18  Jim Wilson  <wilson@cygnus.com>
8494
8495         * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
8496
8497 Wed Feb 18 09:09:50 1998  Jeffrey A Law  (law@cygnus.com)
8498
8499         Remove this change until we can fix it correctly.
8500         * collect2.c: Bracket declaration of 'exportf' and
8501         'full_real_ld_suffix'.
8502
8503 Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
8504
8505         * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
8506
8507 Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
8508
8509         * c-common.c (c_expand_start_cond, c_expand_end_cond,
8510         c_expand_start_else): Don't warn about non-ambiguous else even if
8511         braces are missing.
8512
8513 Tue Feb 17 23:56:50 1998   Robert Lipe  <robertl@dgii.com>
8514
8515         * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
8516         ASM_OUTPUT_LONG_DOUBLE): Delete.   Use the ones from i386.h
8517         instead.
8518
8519 Tue Feb 17 22:56:14 1998  Richard Henderson  <rth@cygnus.com>
8520
8521         * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
8522         simplifying a subreg of a hard reg.
8523         (expand_compound_operation): Likewise.
8524         (force_to_mode): Likewise.
8525
8526 Tue Feb 17 22:37:22 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8527
8528         * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
8529         (lshift_double): Add parentheses around + or - inside shift.
8530         (rshift_double): Likewise.
8531         (size_int_wide): Explicitly set type of `bit_p' to `int'.
8532
8533         * Makefile.in (fold-const.o): Depend on system.h.
8534
8535         * Makefile.in (gcc.o): Depend on system.h, in accordance with last
8536         change to gcc.c.
8537
8538         * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
8539         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
8540         (sched_note_set): Remove unused parameter `b', all callers changed.
8541         (schedule_block): Likewise for `rgn'.
8542         (split_hard_reg_notes): Likewise for `orig_insn'.
8543         (check_live): Likewise for `trg'.
8544         (update_live): Likewise.
8545         (check_live_1): Explcitly declare variable `i' as int.
8546         (update_live_1): Likewise.
8547         (insn_issue_delay): Remove unused variable `link'.
8548         (sched_analyze_2): Add default case in enumeration switch.
8549         (schedule_insns): Remove unused variable `i'.
8550
8551         * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
8552
8553 Tue Feb 17 22:31:04 1998  Jeffrey A Law  (law@cygnus.com)
8554
8555         * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
8556         a dangling else clause.
8557
8558 Tue Feb 17 21:28:12 1998  Gavin Koch  <gavin@cygnus.com>
8559
8560         * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
8561         pointer for the stack pointer in MIPS16 and 64BIT.
8562
8563 Tue Feb 17 21:17:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
8564
8565         * rtl.h (force_line_numbers, restore_line_number_status): Declare.
8566         * emit-rtl.c (force_line_numbers, restore_line_number_status):
8567         New functions.
8568         * stmt.c (struct nesting): Replace seenlabel with line_number_status.
8569         (expand_start_case): Adjust to this change.
8570         (check_seenlabel): New function.
8571         (pushcase, pushcase_range, expand_endcase): Use it.
8572
8573 Tue Feb 17 10:14:32 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8574
8575         * i386.md (adddi3): Add =!r,0,0,X alternative.
8576
8577 Mon Feb 16 16:13:43 1998  David Edelsohn  <edelsohn@mhpcc.edu>
8578
8579         * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
8580         * x-aix31 (INSTALL): Delete.
8581
8582 Mon Feb 16 09:24:32 1998  Gavin Koch  <gavin@cygnus.com>
8583
8584         * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
8585         tsize changes to something other than zero.
8586
8587 Mon Feb 16 09:11:48 1998  Gavin Koch  <gavin@cygnus.com>
8588
8589         * ginclude/va-mips.h: Replace casts of pointers to int with
8590         casts of pointers to __PTRDIFF_TYPE__.
8591
8592 Mon Feb 16 08:17:14 1998  John Carr  <jfc@mit.edu>
8593
8594         * loop.c (strength_reduce, record_biv, record_giv): Use
8595         HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
8596
8597 1998-02-16  Jason Merrill  <jason@yorick.cygnus.com>
8598
8599         * tree.c (first_rtl_op): New fn.
8600         (unsave_expr_now): Use it.
8601         * print-tree.c (print_node): Likewise.
8602         * tree.c (has_cleanups): New fn.
8603         * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it.  Be more
8604         conservative about pushing the cleanup point down.
8605         * tree.h: Declare them.
8606
8607 Sun Feb 15 23:28:44 1998  Jeffrey A Law  (law@cygnus.com)
8608
8609         * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
8610         (flag_schedule_reverse_after_reload): Likewise.
8611         (f_options): Remove reverse scheduling support.
8612         * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
8613         (flag_schedule_reverse_after_reload): Likewise.
8614         * haifa-sched.c (rank_for_schedule): Remove support for reverse
8615         scheduling.
8616
8617 Sun Feb 15 21:33:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8618
8619         * gcc.c: Get system includes, prototypes and macros via "system.h"
8620         instead of doing it manually.  Change all calls of the ctype
8621         macros to custom versions defined in "system.h".
8622
8623         * system.h: Fix return type of bcmp prototype from `void' to `int'.
8624         Make bcopy, bcmp and bzero prototypes explicitly `extern'.
8625         Add a prototype for getenv.
8626
8627 Sun Feb 15 17:05:41 1998  Jim Wilson  <wilson@cygnus.com>
8628
8629         * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
8630
8631 Sun Feb 15 15:23:15 1998  John Carr  <jfc@mit.edu>
8632
8633         * alias.c: Include <stdlib.h> and <string.h>.
8634         (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
8635
8636 Sat Feb 14 11:23:09 PST 1998 Jeff Law  (law@cygnus.com)
8637
8638         * version.c: Bump for snapshot.
8639
8640 Sat Feb 14 05:08:21 1998  Richard Earnshaw (rearnsha@arm.com)
8641
8642         * arm.md (movsfcc): Also validate operands[3] when compiling hard
8643         float.
8644         (movdfcc): Only accept fpu_add_operand for operands[3].
8645
8646         * arm/t-semi (STMP_FIXPROTO): Define to nothing.
8647         * arm/t-semiaof (STMP_FIXPROTO): Likewise.
8648
8649 Sat Feb 14 02:02:41 1998  Jeffrey A Law  (law@cygnus.com)
8650
8651         * varasm.c (output_constant_pool): Bring back 'done' label inside
8652         an appropriate #ifdef.
8653
8654         * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
8655         appropriate #ifdef.
8656         (bitmap_copy, bitmap_operation): Likewise.
8657         * combine.c (combinable_i3pat): Similarly for 'src'.
8658         * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
8659         (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
8660         * regclass.c (copy_cost): Similarly for 'secondary_class'.
8661         * reload.c (make_memloc): Simliarly for 'i'.
8662         (find_reloads_address_1): Similarly for 'link'.
8663         * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
8664         (emit_reload_insns): Similarly for 'second_reloadreg'.
8665         * unroll.c (iteration_info): Similarly for 'v'.
8666
8667         * caller-save.c (insert_save_restore): Remove unused variable 'i'.
8668         * calls.c (expand_call): Similarly for 'i'.
8669         (emit_library_call, emit_library_call_value): Similarly for 'mode'.
8670         * fold-const.c (strip_compund_expr): Similarly for 'type'.
8671         * function.c (fixup_var_refs_1): Similarly  for 'width'.
8672         (fixup_memory_subreg): Similarly for 'saved'.
8673         (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
8674         (setjmp_protect): Similarly for 'sub'.
8675         (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
8676         * loop.c (record_giv): Similarly for 'p'.
8677         (combine_givs): Similarly for 'temp_iv'.
8678         (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
8679         * recog.c (validate_replace_rtx_1): Similarly for 'width'.
8680         * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
8681         * unroll.c (unroll_loop): Similarly for 'copy'.
8682         (iteration_info): Similarly for 'b'.
8683         * varasm.c (assemble_string): Similarly for 'i'.
8684         * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
8685
8686 1998-02-13  Martin von Loewis  <loewis@informatik.hu-berlin.de>
8687
8688         * c-lang.c (lang_print_xnode): New function.
8689         * objc/objc-act.c (lang_print_xnode): Likewise.
8690         * print-tree.c (print_node): Call it
8691
8692 Fri Feb 13 14:38:34 1998  Jim Wilson  <wilson@cygnus.com>
8693
8694         * dwarf2out.c (decl_scope_node): New type.
8695         (decl_scope_table): Change type to use it.
8696         (decl_scope_table_allocated, decl_scope_depth): Change type to int.
8697         (push_decl_scope): Use new type.  New locals containing_scope, i.
8698         Add code to handle setting previous field.
8699         (scope_die_for): Change type of local i to int.  Add code to use
8700         previous field.
8701         (dwarf2out_init): Use new type.
8702
8703 1998-02-13  Jason Merrill  <jason@yorick.cygnus.com>
8704
8705         * except.c (emit_throw): Lose throw_used.
8706
8707 Fri Feb 13 20:36:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8708
8709         * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
8710         was deleted.
8711         * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
8712
8713 Fri Feb 13 12:18:40 1998  Jeffrey A Law  (law@cygnus.com)
8714
8715         * genextract.c (main): Fix typo.
8716
8717 Fri Feb 13 08:41:49 1998  Robert Lipe   <robertl@dgii.com>
8718
8719         * c-lang.c (finish_file): Bracket declaration of static_ctors,
8720         static_dtors.
8721
8722         * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
8723         'old_stack_arg_under_construction'
8724         (emit_library_call): Bracket declaration of 'upper_bound',
8725         'lower_bound', 'i', 'reg_parm_stack_space'
8726         (emit_library_call_value): Likewise.
8727         (store_one_arg):
8728
8729         * collect2.c: include <unistd.h> when appropriate.
8730         Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
8731
8732         * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
8733
8734         * explow.c (plus_constant_for_output_wide): Remove unused variable
8735         'code'.
8736         (memory_address): Remove unused variable 'orig_x'.
8737
8738         * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
8739         (write_const_num_delay_slots): Remove unused variable 'i'.
8740
8741         * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
8742         (gen_insn): Remove unused variable 'obstack_ptr'.
8743
8744         * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
8745         'j', 'tmp', 'i'.
8746         (__bb_exit_trace_func): Remove unused variable 'e'.
8747
8748         * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
8749         'funexp'.
8750         (expand_unop): Remove unused variable 'funexp'.
8751         (expand_complex_abs): Remove unused variable 'funexp'.
8752         (init_optabs): Bracket declaration of 'j'.
8753         (init_complex_libfuncs): Deleted.  Dead static function.
8754
8755         * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
8756
8757         * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
8758         (reg_to_stack): 'initialized', 'before_function_beg'
8759         explictly type as ints instead of defaulting.
8760         (emit_swap_insn): Remove unused variable 'i2'.
8761         (compare_for_stack_reg): Remove unused variable 'src_note'.
8762
8763         * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
8764
8765         * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
8766
8767         * stmt.c (add_case_node): Add parens for assignment used as truth.
8768         (all_cases_count):  Remove unused variable 'count_high'.
8769         (mark_seen_cases): Remove unused variable 'i'.
8770         (check_for_full_enumeration_handling): Remove unused variable 't'.
8771         Bracket declaration of  'all_values', 'l'.
8772
8773         * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
8774
8775         * varasm.c (assemble_string): Remove unused variable 'i'.
8776         (immed_double_const): Remove unused variable 'in_current_obstack'.
8777         (immed_real_const_1): Likewise.
8778         (output_constant_pool): Remove unreferenced label 'done'.
8779         (output_constant): Remove unused variable 'x'.
8780
8781         * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
8782         a string.
8783
8784         * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
8785         as truth.
8786
8787 Fri Feb 13 10:21:41 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8788
8789         * combine.c (can_combine_p): Handle USEs in PARALLELs.
8790
8791 Fri Feb 13 01:34:14 1998  H.J. Lu  (hjl@gnu.org)
8792
8793         * config/linux.h (LIB_SPEC): Add -lc for -shared if
8794         USE_GNULIBC_1 is not defined.
8795         * config/sparc/linux.h; Ditto.
8796
8797         * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
8798
8799         * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
8800         USE_GNULIBC_1 is not defined.
8801
8802 Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
8803
8804         * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
8805         for -mcall-linux
8806
8807 Fri Feb 13 01:23:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8808
8809         * system.h: New file to get common systems includes and various
8810         definitions and declarations based on autoconf macros.
8811
8812 Fri Feb 13 00:46:19 1998  Jeffrey A Law  (law@cygnus.com)
8813
8814         * cccp.c (new_include_prefix): Correctly handle -I./.
8815
8816 Thu Feb 12 20:16:35 1998  Michael Meissner  <meissner@cygnus.com>
8817
8818         * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
8819
8820 Thu Feb 12 16:45:17 1998  Robert Lipe  <robertl@dgii.com>
8821
8822         * expr.c (expand_assignment):  Correct typo exposed by -Wall.
8823         offset should have been a truth value, not an assignment.
8824
8825 Thu Feb 12 15:26:50 1998  Jeffrey A Law  (law@cygnus.com)
8826
8827         * cse.c (delete_dead_from_cse): If a libcall produces a constant
8828         result and that result can be substituted into SET_SRC of the
8829         insn with the REG_RETVAL note, then perform the substitution
8830         and delete the libcall.
8831
8832 Thu Feb 12 14:04:09 1998  Gavin Koch  <gavin@cygnus.com>
8833
8834         * mips.md (trucndihi2,truncdiqi2): Change these to support
8835         mips16.
8836
8837 Thu Feb 12 11:34:55 1998  Gavin Koch  <gavin@cygnus.com>
8838
8839         * mips/mips.c (movdi_operand): Direct referances to symbols
8840         that arn't mips16 consts in mips16 mode arn't valid operands.
8841
8842         * mips/mips.c (mips_move_2words): Add gprel handling.
8843
8844 Thu Feb 12 11:18:37 1998  Gavin Koch  <gavin@cygnus.com>
8845
8846         * mips.md (extendsidi2): Allow extension to/from a non-mips16
8847         register.
8848
8849 Thu Feb 12 00:04:16 1998  Marc Lehmann <pcg@goof.com>
8850
8851         * i386.c: Conditionally include <stdlib.h>, <string.h>, and
8852         <strings.h>.
8853
8854 Wed Feb 11 11:43:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8855
8856         * Makefile.in (WARN_CFLAGS): New variable.
8857         (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
8858
8859 1998-02-11  Mark Mitchell  <mmitchell@usa.net>
8860
8861         * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
8862         falling through default case in switch.
8863         (i386_aligned_p): Likewise.
8864
8865 Wed Feb 11 12:59:56 1998  Lee Iverson  <leei@Canada.AI.SRI.COM>
8866
8867         * mips/mips.h (mips_abi_string): Correct typo in comment.
8868
8869 Wed Feb 11 08:29:56 1998  Gavin Koch  <gavin@cygnus.com>
8870
8871         * mips/mips.md (movdi): These PLUS's need to be Pmode.
8872
8873 Wed Feb 11 01:47:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8874
8875         * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
8876         reorg.o, regmove.o): Depend on insn-codes.h, it gets included
8877         indirectly via expr.h.
8878
8879 Wed Feb 11 01:44:13 1998  Richard Henderson  <rth@cygnus.com>
8880
8881         * stor-layout.c (layout_type): Do upper - lower in the native type,
8882         so as to properly handle negative indices.
8883
8884 Wed Feb 11 01:35:55 1998  Robert Lipe   <robertl@dgii.com>
8885
8886         * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
8887         (expand_eh_region_start_tree): Remove unused variable 'note'.
8888         (exception_optimize): Remove unused variable 'regions'.
8889         (expand_builtin_eh_stub):  Remove unused variable 'temp'.
8890         (copy_eh_entry): Deleted.   Dead function.
8891
8892         * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
8893         'last' with same #if HAVE_load_multiple as use of it.
8894         (move_block_from_reg): Likewise.
8895         (emit_move_insn_1): Remove unused variable 'insns'.
8896         (store_constructor): Bracket declaration of startb, endb with
8897         #if TARGET_MEMFUNCTIONS.  Remove unused variables 'set_word_size'
8898         'target', and 'xtarget'.
8899         (expand_builtin_setjmp): Remove unused variables 'op0',
8900         'next_arg_reg', 'old_inhibit_defer_pop'.
8901         (expand_builtin): Remove unused variable 'offset'.
8902         (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
8903         (emit_queue): Add parens for assignment used as conditional.
8904         (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
8905
8906 Wed Feb 11 01:30:49 1998  Marc Lehmann <pcg@goof.com>
8907
8908         * i386.c: Added include for recog.h.
8909         (override_options): Removed unused variable p. Initialized regno to
8910         avoid warning.
8911         (order_regs_for_local_alloc): Initialized regno to avoid warning.
8912         (legitimize_address): Likewise for 'other'.
8913         (i386_aligned_reg_p): Added default case with abort ().
8914         (print_operand): Likewise.
8915         (reg_mentioned_in_mem): Likewise.
8916         (ix86_expand_binary_operator): Removed unused variables i & insn.
8917         (ix86_expand_unary_operator): Removed unused variable insn.
8918         (output_fp_cc0_set): Removed unused variable unordered_label.
8919
8920 Wed Feb 11 01:23:03 1998  John F. Carr  <jfc@mit.edu>
8921
8922         * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
8923         Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
8924         and format string match.
8925
8926 Wed Feb 11 01:17:39 1998  Jeffrey A Law  (law@cygnus.com)
8927
8928         * flow.c (life_analysis): Do not conside the stack pointer live at
8929         the end of a function if the fucntio ncalls alloca.
8930         (mark_used_regs): Similarly.
8931
8932 1998-02-10  John F Carr  <jfc@mit.edu>
8933
8934         * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
8935         1, fzero on alternative 8.
8936
8937 Tue Feb 10 09:02:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8938
8939         * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
8940
8941 Tue Feb 10 03:35:43 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8942
8943         * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
8944         SUBREGs of CONST_INTs.
8945
8946 Mon Feb  9 17:52:36 1998  John Carr  <jfc@mit.edu>
8947
8948         * mips.c (print_operand, function_prologue): Make printf format
8949         match argument type.
8950
8951 Mon Feb  9 02:37:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8952
8953         * alpha.c (alpha_return_addr): Remove unused variable `first'.
8954         (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
8955         (output_epilog): Remove unused variable `frame_size_from_reg_save'.
8956
8957 Sun Feb  8 14:56:03 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8958
8959         * loop.c (strength_reduce): When placing increment for auto-inc
8960         case, do comparison in loop order.
8961
8962 Sun Feb  8 13:21:38 1998  John Carr  <jfc@mit.edu>
8963
8964         * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
8965         not a HOST_WIDE_INT.
8966
8967         * calls.c (expand_call): Change test of expand_inline_function
8968         return value to stop compiler warning.
8969
8970         * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
8971
8972 Sun Feb  8 12:04:24 1998  Jim Wilson  (wilson@cygnus.com)
8973                           Jeff Law (law@cygnus.com)
8974
8975         * regmove.c: Fix various minor formatting problems.
8976         (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
8977         is true.  Make end of basic block tests consistent through regmove.c.
8978         (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
8979         (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
8980
8981 Sun Feb  8 01:49:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8982
8983         * gansidecl.h: Check for a conflicting macro definition before
8984         attempting to prototype bcopy, bcmp or bzero.
8985
8986 Sun Feb  8 00:09:59 1998  Jeffrey A Law  (law@cygnus.com)
8987
8988         * expr.c (clear_pending_stack_adjust): Handle case where a function
8989         calls alloca, but the user has specified -fomit-fframe-pointer.
8990
8991         * function.c (assign_parms): Fix typo in last change.
8992
8993 Sat Feb  7 23:54:29 1998   Robert Lipe  <robertl@dgii.com>
8994
8995         * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
8996         <fcntl.h>.
8997         (free_path_suffix): Remove unreferenced static function.
8998         (process_command): Remove unused variable temp.
8999         (default_arg): Remove unused variable i.
9000         (do_spec_1):  Add parens for assignment used as truth value.
9001         (main): Likewise.
9002         (validate_all_switches): Likewise.
9003         (main): Remove unused variables i, first_time>
9004
9005         * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
9006
9007         * calls.c (expand_call): Remove unused variables funtree,
9008         n_regs, and tmpmode.
9009
9010         * dbxout.c, except.c: Include <string.h>/<strings.h>.
9011
9012         * explow.c: (plus_constant_for_output_wide) Removed unused
9013         variable all_constant.
9014
9015         * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
9016         genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
9017         genrecog.c, global.c, integrate.c , stupid.c : Include
9018         <stdlib.h>.
9019
9020         * genextract.c: (walk_rtx) Remove unused variable link.
9021
9022         * genrecog.c: (concat) Remove unreferenced static function.
9023
9024         * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
9025
9026         * stmt.c: Include <stdlib.h>.
9027         (expand_asm_operands): Remove unused variable val1.
9028         (expand_return): Remove unused variable block.
9029         (pushcase): Remove unused variables l and n.
9030         (pushcaserange): Likewise.
9031
9032         * unroll.c (unroll_loop): Remove unused variable temp.
9033
9034 Sat Feb  7 23:46:09 1998  Greg McGary  <gkm@gnu.org>
9035
9036         * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
9037
9038 Sat Feb  7 15:11:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9039
9040         * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
9041         functions for whether they support the %p format specifier.
9042         * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
9043         * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
9044         * configure, config.in: Rebuild.
9045
9046 Fri Feb  6 14:20:16 1998  Jim Wilson  <wilson@cygnus.com>
9047
9048         * function.c (assign_parms): New variable named_arg, with value
9049         depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
9050
9051 Fri Feb  6 14:34:28 1998  Gavin Koch  <gavin@cygnus.com>
9052
9053         * mips/t-r3900: New - same as t-ecoff but eliminate
9054         multilibs: mips1 and mips3.
9055         * configure.in (tx39*): Use new mips/t-r3900.
9056         * configure: Rebuild.
9057         * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
9058
9059 1998-02-06  Jason Merrill  <jason@yorick.cygnus.com>
9060
9061         * dwarf2out.c: Add old_args_size.
9062         (dwarf2out_args_size): Use it.
9063         (dwarf2out_begin_prologue): Initialize it.
9064         (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
9065         pushed args until we see a call.
9066         * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
9067         before outputting them.
9068
9069 1998-02-06  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
9070
9071         * cplus-dem.c (demangle_template_template_parm): New function.
9072         (demangle_template): Handle template template parameters.
9073
9074 1998-02-02  Mark Mitchell  <mmitchell@usa.net>
9075
9076         * calls.c (expand_call): Don't confuse member functions named
9077         realloc, setjmp, and so forth with the standard library
9078         functions of the same names.
9079
9080 Thu Feb  5 21:59:49 1998  Jeffrey A Law  (law@cygnus.com)
9081
9082         * stmt.c (expand_asm_operands): Correctly identify asm statements
9083         no output operands.
9084
9085 Thu Feb  5 21:56:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
9086
9087         * c-common.c (decl_attributes): Flag unrecognized attribute
9088         functions as warnings instead of as errors.
9089
9090 1998-02-05  Marc Lehmann  <pcg@goof.com>
9091
9092         * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
9093         when -Os is specified.
9094         * toplev.c (main): Don't disable flag_inline_functions anymore when
9095         -Os is in effect.
9096
9097 Fri Feb  6 00:27:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9098
9099         * regmove.c: Update.
9100         * flags.h (flag_regmove): Declare.
9101         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
9102         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
9103         Moved into regmove; changed caller.
9104         * toplev.c (rest_of_compilation): Call regmove_optimize also for
9105         expensive_optimizations.
9106
9107 Thu Feb 5 13:38:42 PST 1998 Jeff Law  (law@cygnus.com)
9108
9109         * version.c: Bump for snapshot.
9110
9111 Thu Feb  5 01:45:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9112         Undo this change (the problem was actually in reload):
9113         Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9114
9115           * sh.md (movqi_i+1): New peephole.
9116
9117 Tue Feb  3 01:11:12 1998  Jeffrey A Law  (law@cygnus.com)
9118
9119         * jump.c (jump_optimize): Lose calls to modified_in_p they are
9120         not needed anymore due to changes elsewhere in jump.c.
9121
9122         * jump.c (jump_optimize): Fix first arg to modified_in_p in
9123         previous change.
9124
9125 Mon Feb  2 19:18:14 1998  Richard Henderson  <rth@cygnus.com>
9126
9127         * expr.c (expand_builtin_setjmp): Accept two new arguments for
9128         the labels to branch to on first and subsequent executions.  Don't
9129         play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
9130         and provide it with the jmp_buf.  Use only one of
9131         `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
9132         and provide the former with the target label.
9133         (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
9134         (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
9135         (expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
9136         insn to replace all of the normal nonlocal_goto code.  Don't play
9137         with __dummy.  Correct arguments to nonlocal_goto.
9138         * expr.h (expand_builtin_setjmp): Update prototype.
9139         * except.c (start_dynamic_handler): When using builtin_setjmp,
9140         generate more accurate flow information.
9141
9142         * alpha.md (nonlocal_goto_receiver_osf): Delete.
9143         (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
9144         (builtin_longjmp, builtin_setjmp_receiver): New.
9145         * sparc.md (update_return): Disambiguate unspec number.
9146         (nonlocal_goto): Rearrange arguments to match caller in except.c.
9147         (builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
9148         jmp_buf operand.
9149         * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
9150         (builtin_setjmp_setup*, builtin_longjmp): New.
9151
9152 Mon Feb  2 16:43:10 1998  John Carr  <jfc@mit.edu>
9153
9154         * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
9155
9156 Mon Feb  2 13:06:47 1998  Jim Wilson  <wilson@cygnus.com>
9157
9158         * vmsconfig.com: Remove bytecode references.
9159
9160 1998-01-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
9161
9162         * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
9163         -fno-sjlj-exceptions works for a target that defines
9164         DWARF2_UNWIND_INFO as zero.
9165
9166         * regmove.c (fixup_match_1): Undo last change which removed some
9167         "useless" code, and add a comment explaining this.
9168
9169 Mon Feb  2 10:47:14 1998  Gavin Koch  (gavin@cygnus.com)
9170
9171         * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
9172         to TARGET_LONG64.
9173
9174 Mon Feb  2 10:38:41 1998  Klaus Kaempf  <kkaempf@progis.de>
9175
9176         * makefile.vms: Remove bytecode references.
9177         Create genrtl files.
9178
9179 Mon Feb  2 02:08:04 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
9180
9181         * jump.c (jump_optimize): Allow conditional loading of floating point
9182         constants and constants from memory.  Reinstalled modified_in_p tests.
9183
9184 Mon Feb  2 01:38:39 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9185
9186         * loop.c (get_condition): Handle sign-extended constants.
9187
9188 Mon Feb  2 01:22:46 1998  Hans-Peter Nilsson  <hp@axis.se>
9189
9190         * expr.c (emit_push_insn): Add code to use movstrti if present.
9191
9192         * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
9193         and movstrqi as in emit_block_move ().
9194
9195 Mon Feb  2 00:09:52 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
9196
9197         * config/m68k/x-next: Remove /NextDeveloper/Headers from
9198         the directories to fixinclude - /usr/include is a link
9199         to it and hence its contents are fixed by default.
9200
9201 Sun Feb  1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
9202
9203         * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
9204
9205 Sun Feb  1 13:01:15 1998  Klaus Kaempf  <kkaempf@progis.de>
9206
9207         * cccp.c (main): Predefine __VMS_VER on VMS.
9208
9209 Sun Feb  1 12:39:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9210
9211         * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
9212         * fold-const.c (size_int): Replace with
9213         (size_int_wide).
9214         (make_bit_field_ref): Use bitsize_int for bit position.
9215         * stor-layout.c (sizetype): Delete.
9216         (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
9217         (layout_record, layout_union, layout_type):
9218         Use bitsize_int for bit size.
9219         (set_sizetype): New function.
9220         (make_signed_type, make_unsigned_type): Use it.
9221         * c-decl.c (init_decl_processing): Likewise.
9222         * tree.h (size_int): Don't delcare, #define.
9223         (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
9224         (set_sizetype): Declare.
9225         (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
9226         Define.
9227         * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
9228         Convert result to sizetype.
9229         (really_start_incremental_init, push_init_level):
9230         Set type of constructor_bit_index to sbitsizetype.
9231         (push_init_level): Use unsigned arithmetic to determine padding.
9232         (output_init_element): Likewise.
9233
9234 Sun Feb  1 03:32:07 1998  Jeffrey A Law  (law@cygnus.com)
9235
9236         * combine.c (simplify_shift_const): Fix typo in last change.
9237
9238 Sun Feb  1 02:50:46 1998  John Carr  <jfc@mit.edu>
9239
9240         * combine.c (simplify_shift_const):  (lshiftrt (truncate (lshiftrt)))
9241         is (truncate (lshiftrt)).
9242
9243 Sun Feb  1 01:06:53 1998  Richard Henderson  <rth@cygnus.com>
9244
9245         * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
9246         Make sure result winds up in TGT.
9247         (alpha_expand_unaligned_store): Use expand_binop properly.  Allow
9248         src to be other than DImode.
9249         (alpha_expand_unaligned_load_words): Tidy.  Take an offset argument.
9250         (alpha_expand_unaligned_store_words): Likewise.
9251         (alpha_expand_block_move): Use REGNO_POINTER_ALIGN.  Restructure so
9252         that source and destination are separately optimized for alignment.
9253         (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
9254
9255 Sun Feb  1 01:55:09 1998  Jeffrey A Law  (law@cygnus.com)
9256
9257         * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
9258         with handling of -32768.
9259
9260 Sun Feb  1 01:48:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9261
9262         * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
9263         shell variable argument instead of only hard coded functions.
9264         (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
9265
9266         * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
9267         call.  Collapse multiple calls to GCC_NEED_DECLARATION into one
9268         call to GCC_NEED_DECLARATIONS (new macro.)  Check if we need
9269         declarations for bcopy, bcmp and bzero.
9270
9271         * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
9272
9273         * gansidecl.h: If we have bcopy but don't declare it, then do so.
9274         Likewise for bcmp and bzero.  Only define macros for bcopy, bcmp,
9275         bzero, index and rindex if they aren't already present.
9276
9277 Sat Jan 31 11:26:58 1998  Jeffrey A Law  (law@cygnus.com)
9278
9279         * toplev.c (close_dump_file): Wrap function prototype for
9280         argument "func" in PROTO.
9281         (dump_rtl): Likewise.
9282
9283 Fri Jan 30 22:30:39 1998  John Carr  <jfc@mit.edu>
9284
9285         * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
9286         MASK_V8PLUS.
9287         (output_function_epilogue): Omit epilogue if nothing drops through.
9288         (output_move_double): Supress int ldd usage on ultrasparc and v9.
9289         (registers_ok_for_ldd_peep): Likewise.
9290         (print_operand): Supress b,a on ultrasparc.  Let Y accept a constant.
9291         (ultrasparc_adjust_cost): New function.
9292         (sparc_issue_rate): New function.
9293         * sparc.h (MASK_VIS, TARGET_VIS): New
9294         (MASK_V8PLUS, TARGET_V8PLUS): New.
9295         (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
9296         (TARGET_SWITCHES): Add vis and v8plus.
9297         (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
9298         (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
9299         (RTX_COSTS): Use TARGET_HARD_MUL
9300         (ADJUST_COST): Call ultrasparc_adjust_cost.
9301         (ISSUE_RATE): New.
9302         * sparc.md (attr type): Add sload, fpmove, fpcmove.  Adjust users
9303         of load & fp appropritely.
9304         (supersparc function units): Adjust for Haifa.
9305         (ultrasparc function units): Likewise.
9306         (get_pc_via_rdpc): All v9, not just arch64.
9307         (movdi_v8plus, movdi_v8plus+1): New.
9308         (adddi3_sp32+1): New.
9309         (subdi3_sp32+1): New.
9310         (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
9311         (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
9312         (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
9313         (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
9314         (one_cmpldi2_sp32, one_cmplsi2): Likewise.
9315         (ldd peepholes): Suppress for v9.
9316         (return_adddi): Kill redundant test.  Arg1 may be arith_operand.
9317         (return_subsi): Revmove.
9318
9319 Fri Jan 30 18:30:03 1998  John F Carr  <jfc@mit.edu>
9320
9321         * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
9322         save/restore MEM rtl.
9323
9324 Fri Jan 30 09:08:16 1998  Jeffrey A Law  (law@cygnus.com)
9325
9326         * configure.in: Check for declaration of abort.
9327         * acconfig.h: Corresponding changes.
9328         * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
9329         be declared.
9330
9331 Thu Jan 29 20:26:12 1998  Jeffrey A Law  (law@cygnus.com)
9332
9333         * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
9334         uses it.
9335
9336 Thu Jan 29 09:27:56 PST 1998 Jeff Law  (law@cygnus.com)
9337
9338         * version.c: Bump for snapshot.
9339
9340 Thu Jan 29 10:12:27 1998  Jeffrey A Law  (law@cygnus.com)
9341
9342         * configure.in: Check for atoq and atoll.
9343         * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
9344         proper routine for converting ascii into long long values.
9345
9346 Thu Jan 29 01:28:14 1998  Klaus Kaempf  <kkaempf@progis.de>
9347
9348         * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
9349
9350         * vmsconfig.com: Remove bytecode references.
9351
9352         * alpha/vms.h (PREFIX): Define.
9353
9354         * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
9355
9356         * am-alpha.h: Don't include alloca for OPEN_VMS.
9357
9358         * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
9359
9360         * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
9361         (GCC_INCLUDE_DIR): Define
9362
9363         * make-cc.com, make-cccp.com, make-cc1.com: Removed.
9364         * makefile.vms: New file.
9365
9366         * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
9367
9368         * alpha.c (output_prolog): Output '.name' directive
9369         for minimal traceback information.
9370
9371         * alpha.c (output_prolog): Don't prepend entry point symbols
9372         with '$' on OPEN_VMS.
9373
9374 Thu Jan 29 00:25:35 1998  David S. Miller  <davem@tanya.rutgers.edu>
9375                           Jeffrey A Law  (law@cygnus.com)
9376
9377         * rtl.c (read_rtx): Use atol/atoq based upon disposition of
9378         HOST_WIDE_INT.
9379
9380         * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
9381         as needed.
9382         * genemit.c (gen_exp): Likewise.
9383         * genpeep.c (match_rtx): Likewise.
9384         * genrecog.c (write_tree_1): Likewise.
9385
9386         * c-lex.c (yyprint): Use proper format string based upon
9387         disposition of HOST_BITS_PER_WIDE_INT.
9388         (yylex): Put casts in right place for args to build_int_2.
9389
9390 Thu Jan 29 00:24:29 1998  Jeffrey A Law  (law@cygnus.com)
9391
9392         * combine.c: Fix typos in Jan27 changes.
9393
9394 Thu Jan 29 00:07:49 1998  Ollivier Robert <roberto@keltia.freenix.fr>
9395
9396         * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
9397         (LINK_SPEC): Likewise.
9398         (STARTFILE_SPEC): Likewise.
9399
9400 1998-01-28  Mike Stump  <mrs@wrs.com>
9401
9402         * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
9403         reload completes.
9404         * genattrtab.c (reload_completed): Define.
9405
9406         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
9407         comments.
9408
9409 Wed Jan 28 20:11:06 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9410
9411         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
9412         SUBREG_REG if the word count is unchanged, also in the input reload
9413         case.  Disable non-applicable sanity checks.
9414
9415 Wed Jan 28 20:08:26 1998  Jeffrey A Law  (law@cygnus.com)
9416
9417         * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
9418
9419 Wed Jan 28 20:04:43 1998  Ian Lance Taylor  <ian@cygnus.com>
9420
9421         * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
9422
9423 Wed Jan 28 11:45:27 1998  Per Bothner  <bothner@cygnus.com>
9424
9425         * dbxout.c (dbxout_type):  For a RECORD_TYPE, check that TYPE_BINFO
9426         is a TREE_VEC before trying to use it for baseclasses.
9427         (Chill uses the same field for a different purpose.)
9428
9429         * toplev.c (strip_off_ending):  Generalize to endings up to 5 chars.
9430
9431 Tue Jan 27 23:15:55 1998  Lassi A. Tuura  <lat@iki.fi>
9432
9433         * config.sub: More accurate determination of HP processor types.
9434
9435 Tue Jan 27 23:11:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9436
9437         * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>.  Add
9438         prototype for `handle_sysv_pragma', and make it static.  Add
9439         parentheses around assignment used as truth value.
9440
9441         * combine.c (combine_instructions): Protect variable `prev' with
9442         macro HAVE_cc0.
9443         (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
9444         (extract_left_shift): Add parentheses around operand of &.
9445         (merge_outer_ops): Avoid an empty body in an else-statement.
9446         (gen_rtx_combine): Remove unused variable `i'.
9447
9448         * sparc/gmon-sol2.c: Include <fcntl.h>.  Make return type of
9449         function monstartup `void'.  Likewise for internal_mcount.  Add
9450         `static void' prototype for moncontrol.  Reconcile sprintf format
9451         vs. args.
9452
9453         * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
9454         Make return type of function_arg_slotno explicitly `int'.
9455         (reg_unused_after): Add parentheses around assignment used as
9456         truth value.
9457         (save_regs): Add explicit braces to avoid ambiguous `else'.
9458         (function_arg_slotno): Add parentheses around && within ||.
9459         (function_arg_pass_by_reference): Likewise.
9460         (sparc_flat_output_function_prologue): Reconcile fprintf format
9461         vs. args.
9462
9463         * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
9464         assignment used as truth value.
9465
9466         * cplus-dem.c: Include <stdlib.h>.
9467         (demangle_signature): Avoid an empty body in an else-statement.
9468         (do_type): Remove unused variable `lvl'.
9469
9470         * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
9471         Include <string.h>/<strings.h>.
9472         (cpp_lex): Remove unused variable `namelen'.
9473         (cpp_lex): Explicitly declare `num_chars' as an int.
9474
9475         * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
9476         <unistd.h> instead.  Explicitly declare is_system_include
9477         returning int.
9478         (make_assertion): Remove unused variable `kt'.
9479         (cpp_expand_to_buffer): Hide variable `obuf'.
9480         (output_line_command): Remove unused variables, `line_end',
9481         `line_cmd_buf' and `len'.
9482         (macarg): Remove unused variable `arg_start'.
9483         (special_symbol): Remove unused variable `i'.  Add parentheses
9484         around assignment used as truth value.
9485         (do_include):  Remove unused variables `pcfname' and `retried',
9486         hide `pcf' and `pcfbuflimit'.
9487         (do_line): Remove unused variable `i'.
9488         (finclude): Hide variable `missing_newline'.
9489         (cpp_handle_options): Remove unused variable `j'.
9490         (read_token_list): Remove unused variable `eofp'.
9491         (cpp_error_with_line): Remove unused variable `i'.
9492         (cpp_warning_with_line): Likewise.
9493         (cpp_pedwarn_with_line): Explicitly declare `column' as int.
9494         (cpp_error_from_errno): Remove unused variable `i'.
9495
9496         * cse.c (invalidate): Add parentheses around assignment used as
9497         truth value.
9498         (find_best_addr): Move declaration of variable `our_cost' inside
9499         the conditional macro where its used.
9500         (fold_rtx): Avoid an empty body in an if-statement.
9501         (cse_insn): Wrap variables  `this_insn_cc0_mode' and
9502         `this_insn_cc0' in macro HAVE_cc0.
9503
9504         * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
9505         (ASM_OUTPUT_DWARF_DATA8):  Reconcile format vs. args in fprintf's.
9506         (output_uleb128): Likewise.
9507         (output_sleb128): Likewise.
9508         (output_cfi): Likewise.
9509         (output_call_frame_info): Remove unused variables `j', `fde_size'
9510         and `fde_pad'.
9511         (comp_unit_has_inlines): Hide declaration as per rest of file.
9512         (size_of_line_prolog): Correct typo in prototype.
9513         (add_arange): Likewise.
9514         (output_aranges): Likewise.
9515         (add_name_and_src_coords_attributes): Likewise.
9516         (gen_array_type_die): Likewise.
9517         (gen_inlined_subroutine_die): Likewise.
9518         (equate_decl_number_to_die): Remove unused variable `i'.
9519         (print_die): Reconcile format vs. args in fprintf's.
9520         (print_dwarf_line_table): Likewise.
9521         (output_die): Likewise.
9522         (output_line_info): Likewise.
9523         (add_subscript_info): Avoid an empty body in an else-statement.
9524         (gen_subprogram_die): Remove unused variable `fp_loc'.
9525
9526         * dwarfout.c: Explicitly declare `next_pubname_number' as int.
9527         Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
9528         macro.  Protect `src_coords_attribute' prototype with
9529         DWARF_DECL_COORDINATES macro.  Hide `output_entry_point_die'
9530         prototype as in the rest of the file.  Likewise for
9531         `output_pointer_type_die' and `output_reference_type_die'.  Remove
9532         prototype for `type_of_for_scope'.
9533         (output_unsigned_leb128): Reconcile format vs. args in fprintf.
9534         (type_attribute): Add explicit braces to avoid ambiguous `else'.
9535
9536         * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
9537         (shorten_branches): Protect declaration of tmp_length with
9538         SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
9539         (profile_function): Protect declaration of `sval' and `cxt'
9540         variables with appropriate macros.
9541         (final_scan_insn): Likewise for `note' variable.  Add explicit
9542         braces to avoid empty body in an if-statement.
9543         (output_asm_insn): Move variable `i' inside macro conditional
9544         where it is used.  Add parentheses around assignment used as truth
9545         value.
9546         (asm_fprintf) Likewise, likewise.
9547
9548         * fix-header.c (main): Remove unused variable `done'.  Protect
9549         declaration of `i' with FIXPROTO_IGNORE_LIST.
9550
9551         * pexecute.c: Include <unistd.h>.  Prototype `my_strerror'.
9552
9553         * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
9554         `ind'.
9555
9556         * profile.c: Include <string.h>/<strings.h>.
9557         (instrument_arcs): Remove unused variables `note', `inverted',
9558         `zero' and `neg_one'.
9559         (branch_prob): Avoid empty body in an if-statement.
9560
9561         * regclass.c: Include <stdlib.h>.
9562         (reg_alternate_class): Explicitly declare parameter `regno'.
9563
9564         * regmove.c (regmove_optimize): Remove unused variable `p'.  Add
9565         parentheses around assignment used as truth value.
9566         (find_matches):  Remove unused variables `output_operand' and
9567         `matching_operand'.
9568         (fixup_match_1): Remove statement with no effect: "if (0) ;".
9569
9570         * scan.c (sstring_append): Explicitly declare `count' as int.
9571         (scan_string): Explicitly declare parameter `init' as int.
9572
9573         * sched.c: Include <stdlib.h>.
9574         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
9575         (rank_for_schedule): Add parentheses around assignment used as
9576         truth value.
9577         (schedule_block): Likewise.
9578         (regno_use_in): Likewise.
9579         (schedule_insns): Remove unused variable `i'.
9580
9581         * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
9582         (v_message_with_decl): Remove unused variable `n'.
9583         (botch): Explicitly declare parameter `s' as char *.
9584         (main): Add parentheses around assignment used as truth value.
9585
9586         * tree.c (make_node): Protect the variable `kind' with the
9587         GATHER_STATISTICS macro.
9588         (real_value_from_int_cst): Move variable `e' inside conditional
9589         macro area where it is used.
9590         (tree_last): Add parentheses around assignment used as truth value.
9591         (build1): Protect the variable `kind' with the GATHER_STATISTICS
9592         macro.
9593         (print_obstack_statistics): Reconcile format vs. args in fprintf.
9594         Protect variables `i', `total_nodes', and `total_bytes' with the
9595         GATHER_STATISTICS macro.
9596
9597 Tue Jan 27 23:01:55 1998  Mike Stump  (mrs@wrs.com)
9598
9599         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
9600         some comments regarding use of dead_or_set_p.
9601
9602 Tue Jan 27 22:14:48 1998  Todd Vierling <tv@pobox.com>
9603
9604         * fixincludes: Tweak fix for struct exception in math.h
9605
9606 Tue Jan 27 17:21:09 1998  Gavin Koch  (gavin@cygnus.com)
9607
9608         * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
9609         Change mode of registers used to add/sub from
9610         hard_frame_pointer_rtx from word_mode to Pmode.
9611
9612 Tue Jan 27 11:02:04 1998  Nick Clifton  <nickc@cygnus.com>
9613
9614         * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
9615         asm_output_aligned_bss() instead of asm_output_bss().
9616
9617         * toplev.c (rest_of_compilation): Replace references to
9618         stack_reg_dump_file and dbr_sched_dump_file with references to
9619         rtl_dump_file.
9620
9621 Tue Jan 27 10:22:13 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
9622
9623         * tlink.c (scan_linker_output): Call fclose() for opened files.
9624
9625 Tue Jan 27 05:05:26 1998  Richard Henderson  <rth@cygnus.com>
9626
9627         * alpha.c (output_epilog [!VMS]): Don't tag global functions if
9628         compiling with -fpic -- we want to be able to override symbols
9629         properly.
9630         (alpha_expand_block_move): Fix thinko in last change.
9631
9632         * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
9633         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
9634         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
9635
9636 Tue Jan 27 03:21:23 1998  Richard Henderson  <rth@cygnus.com>
9637
9638         * alpha.md (abssf, absdf): Revert last change.
9639
9640 Tue Jan 27 00:26:50 1998  John Carr  <jfc@mit.edu>
9641
9642         * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
9643         * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
9644
9645 Tue Jan 27 00:07:02 1998  Jeffrey A Law  (law@cygnus.com)
9646
9647         * emit-rtl.c (gen_lowpart_common): Handle more case where converting
9648         a CONST_INT into SFmode.
9649
9650 Tue Jan 20 16:01:03 1998  Anthony Green  <green@cygnus.com>
9651
9652         * flags.h: New flag (optimize_size).
9653         * toplev.c (main): Parse -Os option and set optimize_space
9654         accordingly.
9655         * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
9656         __OPTIMIZE_SIZE__ when compiling with -Os.
9657         * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
9658         config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
9659         config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
9660         to macro.
9661         * config/i386/i386.c (optimization_options): Accept new SIZE argument.
9662
9663 Mon Jan 26 23:57:39 1998  Manfred Hollstein  <manfred@s-direktnet.de>
9664
9665         * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
9666         stuff only if MCT_TEXT is #define'd.
9667
9668 Mon Jan 26 23:52:51 1998  Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
9669
9670         * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
9671         configurations.
9672
9673 Fri Jan 23 09:39:36 1998  Nick Clifton  <nickc@cygnus.com>
9674
9675         * toplev.c: Add -dM command line option to dump RTL after the
9676         machine dependent reorganisation pass, if there is one.
9677         Reorganise RTL dump code, so that only one file handle is
9678         needed.
9679
9680 Mon Jan 26 12:09:42 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
9681
9682         * except.c (check_exception_handler_labels): Disable warning when
9683         flag_syntax_only.
9684
9685 Mon Jan 26 18:17:32 1998  Jim Wilson  <wilson@cygnus.com>
9686
9687         * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
9688
9689 Mon Jan 26 18:11:30 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9690
9691         * c-decl.c (grokdeclarator): Get parameter tags from
9692         last_function_parm_tags.
9693         * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
9694         traversing the parameter types.
9695         (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
9696
9697 Mon Jan 26 01:44:12 1998  Jeffrey A Law  (law@cygnus.com)
9698
9699         * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
9700         the default case.
9701         (get_shift_alg): Fix typo.
9702
9703 Sun Jan 25 22:22:04 1998  Richard Henderson  <rth@cygnus.com>
9704
9705         * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
9706
9707 Sun Jan 25 22:14:28 1998  Richard Henderson  <rth@cygnus.com>
9708
9709         * toplev.c (get_run_time): Make sure each case gets its variables.
9710
9711 Sun Jan 25 22:10:21 1998  Richard Henderson  <rth@cygnus.com>
9712
9713         * configure.in (build_xm_file): Add auto-config.h if host=build.
9714         (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
9715         (build_xm_file_list): Likewise.
9716         * configure: Rebuild.
9717
9718 Sun Jan 25 22:00:25 1998  Alasdair Baird <alasdair@wildcat.demon.co.uk>
9719
9720         * recog.c (validate_replace_rtx_1): Only perform substitutions
9721         of arguments to commutative and comparison operators once.
9722
9723 Sun Jan 25 12:30:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9724
9725         * sparc.c (output_cbranch): Add default case in
9726         enumeration switch.
9727
9728         * reorg.c (insn_sets_resource_p): Correct typo in prototype.
9729         (emit_delay_sequence): Eliminate unused parameter, all callers
9730         changed.
9731         (fill_simple_delay_slots): Likewise.
9732         (fill_slots_from_thread): Likewise.
9733         (fill_eager_delay_slots):  Likewise.
9734         (mark_referenced_resources): Add default case in enumeration switch.
9735         (mark_set_resources): Likewise.
9736         (rare_destination): Likewise.
9737         (mostly_true_jump): Likewise.
9738         (find_dead_or_set_registers): Likewise.
9739         (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
9740         (update_reg_unused_notes): Remove unused variable `p'.
9741         (mark_target_live_regs): Remove unused variables `next' and
9742         `jump_count'.
9743         (fill_simple_delay_slots): Remove unused variable `j'.
9744         (fill_slots_from_thread): Add parentheses around assignment used
9745         as truth value.
9746         (dbr_schedule): Likewise.
9747
9748         * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
9749         (objc.stage2, objc.stage3, objc.stage4): Likewise.
9750
9751 Sun Jan 25 12:13:47 1998  Michael Tiemann  <michael@tiemann.org>
9752
9753         * cse.c (simplify_ternary_operation): Don't try to simplify
9754         IF_THEN_ELSE expressions (created by combine) that don't use
9755         relational operators.
9756
9757 Fri Jan 23 22:48:24 1998  Jeffrey A Law  (law@cygnus.com)
9758
9759         * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
9760         simplifications.
9761
9762         * crtstuff.c (init_dummy): Keep the epilogue in the init
9763         section for non-ELF systems.
9764
9765 Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9766
9767         * sh.md (movqi_i+1): New peephole.
9768
9769 Fri Jan 23 15:39:42 1998  Jim Wilson  <wilson@cygnus.com>
9770
9771         * Makefile.in: Remove remaining bytecode stuff.
9772         * emit-rtl.c, expr.c: Likewise.
9773
9774 Fri Jan 23 12:41:10 1998  Nick Clifton  (nickc@cygnus.com)
9775
9776         * toplev.c (lang_options): Add unknown-pragma options.
9777
9778 Thu Jan 22 23:43:38 1998  Per Bothner  <bothner@cygnus.com>
9779
9780         * dwarfout.c (byte_size_attribute):  Simplify and fix - don't need
9781         special (and incomplete) handling for Chill arrays.
9782
9783 Fri Jan 23 00:27:23 1998  John Carr  <jfc@mit.edu>
9784
9785         * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
9786         to get clock rate.
9787
9788 Fri Jan 23 00:19:36 1998  Gavin Koch  (gavin@cygnus.com)
9789
9790         * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
9791
9792 1998-01-22  scott snyder  <snyder@d0sgif.fnal.gov>
9793
9794         * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
9795         .frame directive instead of FRAME_POINTER_REGNUM.
9796
9797 Fri Jan 23 00:08:55 1998  Robin Kirkham <rjk@mlb.dmt.csiro.au>
9798
9799         * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
9800         (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
9801         * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
9802         (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
9803         (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
9804         * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
9805         (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
9806         (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
9807         mcpu32 or m5200.
9808         * longlong.h: Replace __mc68332__ with __mcpu32__.
9809
9810 Thu Jan 22 19:55:40 PST 1998 Jeff Law  (law@cygnus.com)
9811
9812         * version.c: Bump for snapshot.
9813
9814 Thu Jan 22 14:47:31 1998  Jim Wilson  <wilson@cygnus.com>
9815
9816         * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
9817         to require the SUBREG mode to be smaller than the SUBREG_REG mode.
9818         * reload1.c (eliminate_regs): Likewise.
9819
9820 Thu Jan 22 14:49:14 1998  Jeffrey A Law  (law@cygnus.com)
9821
9822         * regmove.c (find_matches): Initialize matches->earlyclobber too.
9823
9824 Thu Jan 22 01:40:52 1998  Richard Henderson  <rth@cygnus.com>
9825
9826         * alpha.md (abssf2, absdf2): Disable in IEEE mode.
9827         (negsf2, negdf2): Use proper subtract in IEEE mode.
9828
9829 Tue Jan 20 09:29:09 1998  Jeffrey A Law  (law@cygnus.com)
9830
9831         * Makefile.in: Remove more bytecode stuff.
9832         * expr.c, stmt.c, config/msdos/top.sed: Likewise.
9833         * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
9834         * f/install.texi, objc/Make-lang.in: Likewise.
9835
9836         * Makefile.in: Remove all bytecode support.
9837         (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
9838         * emit-rtl.c: Remove all bytecode support.
9839         * expr.c, expr.h function.c, integrate.c: Likewise.
9840         * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
9841         * tree.h, varasm.c: Likewise.
9842         * config/m68k/m68k.h: Likewise.
9843         * bi-*, bc-*, bytecode*: Delete bytecode related files.
9844         * modemap.def: Likewise.
9845
9846 Tue Jan 20 09:02:31 1998  Gavin Koch  (gavin@cygnus.com)
9847
9848         * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
9849         umodsi3,umoddi3): Handle mips16 div/mod by a constant.
9850
9851 Mon Jan 19 21:57:00 1998  Richard Henderson  <rth@cygnus.com>
9852
9853         * i386.md (push): Prohibit symbolic constants if flag_pic.
9854         (movsi+1): Likewise for move to non-register.
9855
9856 Mon Jan 19 11:15:38 1998  Jim Wilson  <wilson@cygnus.com>
9857
9858         * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
9859         (print_operand): Handle 0xffffffff on 32 bit host.
9860
9861         * configure.in (thread_file): Rename uses before main loop to
9862         target_thread_file.  Initialize to empty in main loop.  Set thread_file
9863         to target_thread_file after main loop if not set.
9864         * configure: Rebuild.
9865
9866         * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
9867         (add_values_to_cover): Revert last change (which had no ChangeLog
9868         entry).
9869         (simplify_with_current_value_aux): Handle CONST_INT.
9870
9871 Mon Jan 19 10:14:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
9872
9873         * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
9874
9875 Mon Jan 19 10:11:52 1998  Richard Henderson  <rth@cygnus.com>
9876
9877         * configure.in: Add cpp stringify test.
9878         * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
9879         * gengenrtl.c: Use it.
9880         * configure, config.in: Rebuild.
9881
9882 Mon Jan 19 09:43:15 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
9883
9884         * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
9885
9886 Mon Jan 19 09:38:18 1998  Richard Henderson  <rth@cygnus.com>
9887
9888         * configure.in: Find declaration for sbrk.
9889         * acconfig.h (NEED_DECLARATION_SBRK): New tag.
9890         * config.in, configure: Rebuild.
9891         * mips-tfile.c: Properly protect declaration of sbrk and free.
9892         * toplev.c: Properly protect declaration of sbrk.
9893
9894 Sun Jan 18 20:18:01 1998  Richard Henderson  <rth@cygnus.com>
9895
9896         * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
9897
9898 Sun Jan 18 01:54:27 1998  Jeffrey A Law  (law@cygnus.com)
9899
9900         * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
9901
9902 Sun Jan 18 00:57:35 1998  Mike Stump  (mrs@wrs.com)
9903
9904         * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
9905
9906 Sat Jan 17 23:41:36 1998  David S. Miller  <davem@tanya.rutgers.edu>
9907
9908         * combine.c (force_to_mode, nonzero_bits): Correctly optimize
9909         constant offset computations from objects with known alignment in
9910         the presence of STACK_BIAS.
9911
9912         * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
9913         necessary.
9914         (const_hash): Hash val is unsigned long.
9915         (SYMHASH): Likewise.
9916
9917         * tree.c (TYPE_HASH): Type of hash val is unsigned long.
9918
9919         * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
9920         char pointer, not HOST_WIDE_INT.
9921         (print_node): Likewise.  Also hash is unsigned long not
9922         HOST_WIDE_INT.
9923
9924         * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
9925
9926         * explow.c (optimize_save_area_alloca): New function for targets
9927         where SETJMP_VIA_SAVE_AREA is true.
9928         (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
9929         compute the amount of stack space needed should we find later that
9930         setjmp is never called by this function, stuff rtl for this inside
9931         a REG_NOTE of the final SET of stack_pointer_rtx.
9932         * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
9933         current_function_calls_alloca, call optimize_save_area_alloca.
9934
9935 Sat Jan 17 23:22:59 1998  John Wehle  (john@feith.com)
9936
9937         * i386.md: Remove redundant integer push patterns.
9938         Don't bother checking for TARGET_PUSH_MEMORY when
9939         pushing constants or registers.
9940
9941 Sat Jan 17 22:35:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
9942                           J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
9943
9944         * pexecute.c (pexecute): New function for mingw32. Supports pipes.
9945         (pwait): New function for mingw32.
9946
9947         * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
9948         pipe support is broken for now.
9949
9950 1998-01-17  Lee Iverson  <leei@Canada.AI.SRI.COM>
9951
9952         * emit_rtl.c (init_emit_once): Ensure that potential aliasing
9953         between frame_pointer_rtx, hard_frame_pointer_rtx, and
9954         arg_pointer_rtx is respected in initialization.
9955         (init_emit_once): Use gen_rtx_raw_REG() to create
9956         return_address_pointer_rtx.
9957
9958         * reorg.c: #include "expr.h" for rtx prototypes.
9959         * Makefile.in (reorg.o): Depend on expr.h
9960
9961 Sat Jan 17 21:28:08 1998  Pieter Nagel <pnagel@epiuse.co.za>
9962
9963         * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
9964         local_prefix to sub-make invocations.
9965
9966 Sat Jan 17 21:24:16 1998  David T. McWherter <dtm@waterw.com>
9967
9968         * objc-parse.c: Recognize protocol qualifiers in class definitions.
9969
9970 Sat Jan 17 21:16:19 1998  Jeffrey A Law  (law@cygnus.com)
9971
9972         * rtl.h: Fix typos.
9973
9974         * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
9975         * configure.in: Check for atol.
9976         * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
9977
9978         * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
9979
9980         * loop.c (find_and_verify_loops): When attempting to move insns from
9981         inside the loop outside the loop, create a BARRIER if no suitable
9982         one was found.
9983
9984         * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
9985         favor of an equivalent change from gcc-2.8.
9986
9987         * i386/x-sco5 (CC): Remove trailing whitespace.
9988
9989 Sat Jan 17 21:09:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9990
9991         * gengenrtl.c (type_from_format): De-ANSIfy function signature.
9992         (accessor_from_format): Likewise.
9993         (xmalloc): New function for use when linking with alloca.o.
9994
9995 Mon Jan  5 02:53:01 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
9996
9997         * frame.c (find_fde): Correct FDE's upper bound.
9998
9999 Fri Jan 16 16:23:52 1998  Richard Henderson  <rth@cygnus.com>
10000
10001         * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
10002
10003 Fri Jan 16 10:16:10 1998  Jeffrey A Law  (law@cygnus.com)
10004
10005         * calls.c (expand_call): Move #ifdef code out of macro argument
10006         lists.
10007         (emit_library_call, emit_library_call_value): Likewise.
10008
10009 Fri Jan 16 00:46:40 1998  Jeffrey A Law  (law@cygnus.com)
10010
10011         * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
10012
10013 Thu Jan 15 01:02:30 1998  Jeffrey A Law  (law@cygnus.com)
10014
10015         * version.c: Bump for snapshot.
10016
10017 Wed Jan 14 22:49:17 1998  Richard Henderson  <rth@cygnus.com>
10018
10019         * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
10020         change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
10021         * caller-save.c, calls.c, combine.c, cse.c: Likewise.
10022         * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
10023         * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
10024         * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
10025         * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
10026         * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
10027         * unroll.c, varasm.c: Likewise.
10028         * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
10029
10030 Wed Jan 14 19:36:08 1998  Gavin Koch  (gavin@cygnus.com)
10031
10032         * mips.h: Fix some type-o's from a previous change.
10033
10034 Wed Jan 14 01:26:05 1998  Jeffrey A Law  (law@cygnus.com)
10035
10036         * loop.c (check_dbra_loop): Make sure initial value is a
10037         CONST_INT before trying to normalize it.
10038
10039 Tue Jan 13 23:27:54 1998  Robert Lipe   (robertl@dgii.com)
10040
10041         * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
10042
10043 Tue Jan 13 22:47:02 1998  Herman ten Brugge <herman@htbrug.net.HCC.nl>
10044
10045         * cppexp.c: Include gansidecl.h
10046
10047 Tue Jan 13 22:43:35 1998  Ian Lance Taylor  <ian@cygnus.com>
10048
10049         * svr4.h (LINK_SPEC): Never specify -h.
10050         * ptx4.h (LINK_SPEC): Likewise.
10051         * rs6000/sysv4.h (LINK_SPEC): Likewise.
10052         * sparc/sol2.h (LINK_SPEC): Likewise.
10053
10054 Tue Jan 13 22:39:40 1998  Richard Henderson  (rth@cygnus.com)
10055
10056         * c-typeck.c (comptypes): Exit early on NULL input.
10057
10058         * haifa-sched.c (schedule_insns): Correctly remove inter-block
10059         dependencies after reload.
10060
10061 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
10062
10063         * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
10064
10065 Tue Jan 13 22:14:57 1998  Klaus Kaempf <kkaempf@progis.de>
10066
10067         * alpha/vms.h (DIR_SEPARATOR): define
10068
10069 Tue Jan 13 22:13:04 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
10070
10071         * Makefile.in (stamp-proto): Remove.
10072         (protoize.o, unprotoize.o): Straightforward compile.
10073         * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
10074
10075 Tue Jan 13 21:59:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
10076
10077         * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
10078         off the trailing @[NUM] added by ENCODE_SECTION_INFO.
10079
10080 Tue Jan 13 21:55:06 1998  Jeffrey A Law  (law@cygnus.com)
10081
10082         * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
10083         * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
10084         * sparc/netbsd.h, vax/netbsd.h: Likewise.
10085
10086 Tue Jan 13 21:37:07 1998  Shigeya Suzuki <shigeya@foretune.co.jp>
10087
10088         * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
10089
10090 Tue Jan 13 17:50:55 1998  Jim Wilson  <wilson@cygnus.com>
10091
10092         * configure.in (target_cpu_default, target_cpu_default2): Use double
10093         quotes around them when testing their value.
10094         * configure: Rebuilt.
10095
10096 Tue Jan 13 09:07:44 1998  John Carr  <jfc@mit.edu>
10097
10098         * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
10099         to allocate rtx.
10100         (gendef): Call obstack_alloc_rtx.
10101
10102 Tue Jan 13 01:16:36 1998   Robert Lipe (robertl@dgii.com)
10103
10104         * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
10105         for now.
10106
10107 Thu Dec 18 18:40:17 1997  Mumit Khan <khan@xraylith.wisc.edu>
10108
10109         * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
10110         of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
10111         (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
10112
10113 Tue Jan 13 00:44:02 1998  Jim Wilson  <wilson@cygnus.com>
10114
10115         * mips.md (return_internal): Change mode from SImode to VOIDmode.
10116
10117 Sat Jan 10 22:11:39 1998  J. Kean Johnston  <jkj@sco.com>
10118
10119         * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
10120         "-static".
10121
10122 Sat Jan 10 22:04:15 1998  Stan Cox  <scox@equinox.cygnus.com>
10123
10124         * i386.md: (movsicc_1, movhicc_1):  For alternate 3 set the opcode
10125         suffix from operand 3.
10126
10127 Sat Jan 10 21:50:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
10128                           Jeffrey A Law  (law@cygnus.com)
10129
10130         * regmove.c: New implementation of regmove pass.
10131         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
10132         decls, make them have external linkage.  Return a value from
10133         optimize_reg_copy_1.
10134         * reload.h (count_occurrences): Add decl.
10135         * reload1.c (count_occurrences): Delete decl, make it have external
10136         linkage.
10137         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
10138
10139 Sat Jan 10 20:30:12 1998  Jeffrey A Law  (law@cygnus.com)
10140
10141         * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
10142         if it is not defined.
10143
10144 Thu Jan  8 21:06:54 1998  Richard Henderson  <rth@cygnus.com>
10145
10146         * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
10147         * emit-rtl.c (gen_rtx): Move special code to ...
10148         (gen_rtx_CONST_INT): New function.
10149         (gen_rtx_REG): New function.
10150         (*): Update all calls to gen_rtx.
10151         * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
10152         * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
10153         (GEN_INT): Call gen_rtx_CONST_INT.
10154         * gengenrtl.c: New file.
10155
10156 Mon Jan  5 13:00:18 1998  John F. Carr  <jfc@mit.edu>
10157
10158         * alias.c (*_dependence): Call base_alias_check before canon_rtx.
10159         (base_alias_check): If no base found for address call canon_rtx and
10160         try again.
10161
10162 Mon Jan  5 11:39:49 1998  Jeffrey A Law  (law@cygnus.com)
10163
10164         * mips.c (mips_expand_prologue): Handle large frame with no outgoing
10165         arguments for mips16.
10166         (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
10167         Don't lose if tsize is zero after handling large stack for mips16.
10168         * mips.md (return): For trivial return, return address is in $31.
10169
10170 Sun Jan  4 20:24:00 1998  Nigel Stephens  <nigel@algor.co.uk>
10171
10172         *  mips/mips16.S: Various changes to make it work with -msingle-float
10173         and -EL.
10174
10175 Sun Jan  4 14:25:18 1998  Gavin Koch  <gavin@cygnus.com>
10176                           Ian Lance Taylor  <ian@cygnus.com>
10177                           Jeff Law  <law@cygnus.com>
10178
10179         * mips.c, mips.h, mips.md: First cut at merging in mips16
10180         support.  Major modifications throughout all three files.
10181
10182 Sun Jan  4 01:01:50 1998  scott snyder  <snyder@d0sgif.fnal.gov>
10183
10184         * configure.in: Make gthr-default.h a forwarding header instead of
10185         a symlink.
10186
10187 Sat Jan  3 12:08:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10188
10189         * gcov-io.h: Include sys/types.h to ensure we get size_t.
10190
10191         * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
10192
10193 Fri Jan  2 23:40:09 1998  Jim Wilson  (wilson@cygnus.com)
10194                           Jeffrey A Law  (law@cygnus.com)
10195
10196         * crtstuff.c (__frame_dummy): New function for irix6.
10197         (__do_global_ctors): Call __frame_dummy for irix6.
10198         * iris6.h (LINK_SPEC): Hide __frame_dummy too.
10199
10200 Fri Jan  2 04:57:57 1998  Weiwen Liu  <liu@hepmail.physics.yale.edu>
10201
10202         * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
10203
10204 Fri Jan  2 04:34:14 1998  Richard Henderson  <rth@cygnus.com>
10205
10206         * c-decl.c (init_decl_processing): Provide proper fallback symbol
10207         for __builtin_memset.
10208         * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
10209         not INTEGER_CST.  Assert arg 3 is a constant.
10210
10211         * alpha.c (mode_width_operand): Accept 64-bit modes.
10212         (mode_mask_operand): Likewise.
10213         (print_operand): Likewise for 'M' and 'U' codes.
10214         (alpha_expand_unaligned_load): New function.
10215         (alpha_expand_unaligned_store): Likewise.
10216         (alpha_expand_unaligned_load_words): Likewise.
10217         (alpha_expand_unaligned_store_words): Likewise.
10218         (alpha_expand_block_move): Likewise.
10219         (alpha_expand_block_clear): Likewise.
10220         * alpha.h (MOVE_RATIO): New define.
10221         * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
10222         (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
10223
10224         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
10225         (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
10226
10227 Thu Jan  1 15:40:15 1998  Richard Henderson  <rth@cygnus.com>
10228
10229         * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
10230         * configure: Update.
10231
10232 Thu Jan  1 10:49:12 1998  Jeffrey A Law  (law@cygnus.com)
10233
10234         * emit-rtl.c (operand_subword): Correctly handle extracting a word
10235         from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
10236
10237         * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
10238         for first argument.
10239
10240 Wed Dec 31 14:42:18 1997  Ian Lance Taylor  <ian@cygnus.com>
10241
10242         * configure.in: Set and subsitute host_exeext.  Use it when creating
10243         the assembler and linker symlinks.
10244         * configure: Rebuild.
10245         * Makefile.in (exeext): Set to @host_exeext@.
10246         (build_exeext): New variable, set to @build_exeext@.
10247         (FLAGS_TO_PASS): Pass down build_exeext.
10248         (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
10249         programs.
10250
10251 Wed Dec 31 10:05:44 1997  Jeffrey A Law  (law@cygnus.com)
10252
10253         * mn10200.md (addsi3, subsi3): Fix thinkos.
10254
10255 Tue Dec 30 00:04:49 1997  Richard Henderson  <rth@cygnus.com>
10256
10257         * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
10258         save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
10259         unix always, since we want to be able to thunk to functions in a
10260         shared library from an application.
10261
10262 Mon Dec 29 14:37:31 1997  Ian Lance Taylor  <ian@cygnus.com>
10263
10264         * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
10265         (LIB1ASMSRC, LIB1ASMFUNCS): Define.
10266
10267 Mon Dec 29 14:03:38 1997  Jeffrey A Law  (law@cygnus.com)
10268
10269         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
10270         offset's mode is not ptr_mode, convert it.
10271
10272 Mon Dec 29 15:58:18 1997  Michael Meissner  <meissner@cygnus.com>
10273
10274         * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
10275         compiling if it was already defined.
10276
10277 Sun Dec 28 00:32:16 1997  Jeffrey A Law  (law@cygnus.com)
10278
10279         * flow.c (find_basic_blocks): Don't create a new basic block
10280         for calls in a LIBCALL block.
10281
10282 Sun Dec 28 00:30:24 1997  David Edelsohn  <edelsohn@mhpcc.edu>
10283
10284         * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
10285
10286 Sat Dec 27 22:43:12 1997  Jeffrey A Law  (law@cygnus.com)
10287
10288         * cse.c (rtx_cost): Remove conflicting default case.
10289
10290 Sat Dec 27 21:20:02 1997  Richard Henderson  <rth@cygnus.com>
10291
10292         * configure.in: Move default enabling of Haifa out of for loop.
10293         * configure: Rebuild.
10294
10295 Thu Dec 25 01:02:54 1997  Jeffrey A Law  (law@cygnus.com)
10296
10297         * version.c: Bump for snapshot.
10298
10299 1997-12-25  Teemu Torma  <tot@trema.com>
10300
10301         * Makefile.in (GTHREAD_FLAGS): New var.
10302         (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
10303         (distclean): Remove gthr-default.h.
10304
10305         * configure.in: Accept dce as a thread package.
10306         Check for thread.h and pthread.h.
10307         Link gthr-default.h to appropriate thread file and set
10308         gthread_flags.
10309         (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
10310         include multilib definitions from pa/t-dce-thr.
10311         (sparc-*-solaris2*): Enable threads by default, if thread.h or
10312         pthread.h is found, preferring posix threads over solaris ones.
10313
10314         * config/pa/t-dce-thr: New file.
10315         * config/pa/t-pa: Removed multilibs.
10316         * config/sparc/t-sol2: Ditto.
10317
10318         * gthr.h: New file.
10319         * gthr-single.h: New file.
10320         * gthr-posix.h: New file.
10321         * gthr-solaris.h: New file.
10322         * gthr-dce.h: New file.
10323         * libgcc-thr.h: Removed.
10324         * objc/thr-dce.c: New file copied from thr-decosf1.c.
10325
10326         * frame.c: Include gthr.h instead of libgcc-thr.h.
10327         * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
10328         (eh_context_initialize): If __gthread_once fails, use static eh
10329         context.
10330         (eh_context_free): Call __gthread_key_dtor.
10331
10332 Wed Dec 24 23:33:17 1997  Jeffrey A Law  (law@cygnus.com)
10333
10334         * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
10335
10336 Wed Dec 24 23:12:14 1997  Jim Wilson  <wilson@cygnus.com>
10337
10338         * cse.c (max_insn_uid): New variable.
10339         (cse_around_loop): Use max_insn_uid.
10340         (cse_main): Set max_insn_uid.
10341
10342         * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
10343         and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
10344         -mlong64, and -mgp{32,64} options.
10345         * mips.c (mips_abi): Change type to int.
10346         * mips.h (enum mips_abi_type): Delete.
10347         (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
10348         (mips_abi): Change type to int.
10349
10350 Wed Dec 24 22:38:34 1997  John Carr  <jfc@mit.edu>
10351
10352         * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
10353         optimization is now always enabled.
10354
10355         * calls.c (expand_call): Recognize C++ operator new as malloc-like
10356         function.
10357
10358         * alias.c (memrefs_conflict_p): Eliminate tests now done by
10359         base_alias_check.
10360         (*_dependence): Call canon_rtx before base_alias_check.
10361         (init_alias_once): New function to precompute set of registers which
10362         can hold Pmode function arguments.
10363
10364         * rtl.h: Declare init_alias_once.
10365
10366         * toplev.c (compile_file): Call init_alias_once.
10367
10368 Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
10369
10370         * tree.c (restore_tree_status): Do not dereference a null pointer.
10371
10372 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
10373
10374         * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
10375         RLIMIT_STACK.  This maintains consistency with the recent, similar
10376         patch to cccp.c and toplev.c.
10377
10378 Tue Dec 23 05:17:28 1997  Richard Henderson  <rth@cygnus.com>
10379
10380         * genattrtab.c (expand_units): For large nr opclasses, expand
10381         function_units_used with ORX to prevent blowups.  Tag with FFS.
10382         (num_unit_opclasses): New variable.
10383         (gen_unit): Update it.
10384         (enum operator): Add ORX_OP.
10385         (operate_exp): Treat ORX as or, except don't expand across an if.
10386         Reuse number rtx's after operating on them.
10387         (check_attr_value): Accept IOR, AND, & FFS.
10388         (write_test_expr): Transmute `in_comparison' to `flags'.  Allow
10389         for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
10390         (write_expr_attr_cache, write_toplevel_expr): New functions.
10391         (write_attr_get): Handle FFS-tagged expressions.
10392         (make_canonical): Don't expand const attributes.
10393         (convert_const_symbol_ref): Dike out.
10394         (evaluate_eq_attr): Handle SYMBOL_REF.
10395         (main): Don't emit get_attr_foo for const attributes.
10396
10397         * alpha.c (override_options): Reinstate PROCESSOR_EV6.
10398         (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
10399         * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
10400         * alpha.md: Redo all of the scheduling, adding EV6 support, and
10401         combining function units where possible.
10402         (attr "type"): Split loads, stores, cmov into int/fp.  Combine
10403         multiplies and divides.  Add EV6 sqrt, ftoi, itof.
10404         (attr "opsize"): New attribute.
10405         (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
10406         (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
10407         to control register allocation.
10408         (movsi2-1, movdi2-1): Likewise.
10409
10410 Tue Dec 23 03:53:21 1997  Richard Henderson  <rth@cygnus.com>
10411
10412         * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
10413         MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
10414         Move OSF/1 specific defines out.
10415         * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
10416         Move Linux specific defines out.
10417         (LINK_SPEC): Genericize.
10418         (ASM_FILE_START): Emit .arch if using more than the base insn set.
10419         (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
10420         (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
10421         (HANDLE_SYSV_PRAGMA): Define.
10422         * alpha/osf.h: New file.
10423         * alpha/linux.h: Split.  Retain file-format independant defines.
10424         Import Linux bits from elf.h.
10425         (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
10426         (FUNCTION_PROFILER): _mcount takes its address in $28.
10427         (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
10428         * alpha/linux-ecoff.h: New file.
10429         * alpha/linux-elf.h: New file.
10430         * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
10431         * alpha/win-nt.h (TARGET_DEFAULT): Define.
10432         * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
10433         Add new headers as appropriate.
10434
10435         * configure.in (alpha*): Enable Haifa by default.
10436         (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
10437         * configure: Rebuild.
10438
10439 Tue Dec 23 03:14:54 1997  Richard Henderson  <rth@cygnus.com>
10440
10441         * Makefile.in (clean): Remove the stages with their objects here ...
10442         (distclean): ... instead of here.
10443
10444 Mon Dec 22 11:24:01 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10445
10446         * cse.c (rtx_cost): Add default case in enumeration switch.
10447         * fix-header.c (recognized_macro): Likewise.
10448         (recognized_extern): Likewise.
10449         (write_rbrac): Likewise.
10450         * objc/objc-act.c (encode_aggregate): Likewise.
10451         (gen_declarator): Likewise.
10452         (gen_declspecs): Likewise.
10453
10454 Mon Dec 22 09:58:51 1997  Jeffrey A Law  (law@cygnus.com)
10455
10456         * haifa-sched.c (create_reg_dead_note): Detect and handle another
10457         case where we kill more regs after sched than were killed before
10458         sched.
10459         * sched.c (create_reg_dead_note): Similarly.
10460
10461 Mon Dec 22 09:18:37 1997  Jeffrey A Law  (law@cygnus.com)
10462
10463         * c-pragma.c: Include flags.h.
10464
10465 Sun Dec 21 22:10:59 1997  Mumit Khan <khan@xraylith.wisc.edu>
10466
10467         * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
10468         about system headers.
10469         (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
10470         and also to resolve symbols in prefix.c.
10471
10472         * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
10473         between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
10474         when the definitions in auto-config.h is not visible.
10475         (HAVE_BZERO): Likewise.
10476         (HAVE_BCMP): Likewise.
10477         (HAVE_RINDEX): Likewise.
10478         (HAVE_INDEX): Likewise.
10479
10480 Sun Dec 21 21:54:22 1997  Jeffrey A Law  (law@cygnus.com)
10481
10482         * pa.c (emit_move_sequence): Handle a function label source
10483         operand.
10484
10485 Sun Dec 21 16:13:55 1997  Nick Clifton  <nickc@cygnus.com
10486
10487         * c-pragma.c (handle_pragma_token): Generate warning messages
10488         about unknown pragmas if warn_unknown_pragmas is set.
10489
10490         * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
10491         line option to set variable: warn_unknown_pragmas.
10492
10493 Sun Dec 21 15:51:10 1997  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
10494
10495         * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
10496         definition.
10497         (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
10498
10499 Sun Dec 21 13:58:39 1997  Jeffrey A Law  (law@cygnus.com)
10500
10501         * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
10502         (libgcc2.a): Depend on $(DPBIT) and $(FPBIT).  Add rules to
10503         generate more fine grained floating point emulation libraries.
10504         * config/fp-bit.c: Add protecting #ifdef to all functions so
10505         that they can be compiled separately.  If !FINE_GRAINED_LIBRARIES,
10506         then compile all suitable functions.
10507         (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
10508         underscores to avoid namespace pollution.
10509         * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
10510         (FPBIT): Define.
10511         * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
10512         (FPBIT): Define.
10513         (DPBIT): Define.
10514
10515 Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10516                           Jeff Law  <law@cygnus.com>
10517
10518         * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
10519         of the declaration.
10520         * c-decl.c (finish_decl): Use parentheses around && within ||.
10521         * rtl.c: Include stdlib.h.
10522         (read_skip_spaces): Add parentheses around assignments used as
10523         truth values.
10524         (read_rtx): Initialize list_rtx.
10525         * cppexp.c (parse_number): Use || when operands are truth values.
10526         * alias.c (find_base_value): Add default case.
10527         (memrefs_conflict): Likewise.
10528         * combine.c (sets_function_arg_p): Likewise.
10529         * genemit.c (gen_exp): Likewise.
10530         * local-alloc.c (contains_replace_regs): Likewise.
10531         * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
10532         * fold-const.c (fold_convert): Use "&&" for truth values.
10533         (fold): Add default case.
10534         * sdbout.c (sdbout_field_types): Fix typo in declaration.
10535         (sdbout_one_type): Add default case.
10536         * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
10537         (some_operand): Add default case.
10538         (input_operand): Likewise.
10539         (signed_comparison_operator): Likewise.
10540         (divmod_operator): Likewise.
10541         (alpha_set_memflags_1): Likewise.
10542         * reload1.c (reload_cse_simplify_operands): Ensure function
10543         always returns a value.
10544         * scan-decls.c (scan_decls): Likewise.
10545         * c-lex.c (skip_white_space): Fix typo in declaraion.
10546         * c-typeck.c (comp_target_types): Add parentheses around assignment
10547         used as truth value.
10548         (print_spelling): Likewise.
10549         (constructor_implicit, constructor_result): Remove unused variables.
10550         * collect2.c (scan_library): Protect prototype with
10551         #ifdef SCAN_LIBRARIES.
10552         * emit-rtl.c (find_line_note): Fix typo in declaration.
10553         * final.c (asm_insn_count): Protect prototype with
10554         #ifdef HAVE_ATTR_length.
10555         * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
10556         (try_pre_increment_1, try_pre_increment): Likewise.
10557         * regclass.c (auto_inc_dec_reg_p): Protect prototype with
10558         #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
10559         * gcov-io.h (__store_long, __write_long, __read_long): Fix
10560         unsigned/signed comparisons.
10561         * gcov.c (read_files): Remove unused "first_type" variable.
10562         (scan _for_source_files): Initialize s_ptr.
10563         (function_summary): Eliminate "%lf" formatting, use %ld for
10564         longs.
10565         (output_data): Initialize branch_probs and last_line_num.
10566         Eliminate "%lf" formatting, use "%ld" for longs.
10567
10568 Fri Dec 19 17:31:11 1997  Ian Lance Taylor  <ian@cygnus.com>
10569
10570         * mips16.S: New file.
10571
10572         * libgcc2.c (varargs): Handle mips16.
10573
10574         * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
10575         expression.
10576         * stmt.c (expand_end_case): Likewise.
10577         * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
10578         * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
10579         * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
10580
10581 Tue Dec 16 15:14:09 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
10582
10583         * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
10584         the build directory.
10585         (libobjc.a): Update dependency list.
10586         (libobjc.dll): Likewise.  Use libobjc_entry.o from the build
10587         directory.
10588         (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
10589         (objc.mostlyclean): Remove runtime-info.h.
10590
10591 Fri Dec 19 00:19:42 1997  Richard Henderson  <rth@cygnus.com>
10592
10593         * tree.c (build_range_type): Allow creation of ranges with no maximum.
10594         * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
10595         * dwarf2out.c (add_subscript_info): Likewise.
10596         * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
10597         * sdbout.c (plain_type_1): Likewise.
10598         * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
10599         Likewise.
10600         * fold-const.c (int_const_binop, fold_convert, make_range, fold):
10601         Likewise.
10602
10603 Thu Dec 18 17:05:10 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10604
10605         * mips.c (fatal): Remove declaration.
10606
10607 1997-12-18  Mark Mitchell  <mmitchell@usa.net>
10608
10609         * integrate.c (get_label_from_map): New function.
10610         (expand_inline_function): Use it.  Initialize the label_map to
10611         NULL_RTX instead of gen_label_rtx.
10612         (copy_rtx_and_substitute): Use get_label_from_map.
10613         * integrate.h (get_label_from_map): New function.
10614         (set_label_from_map): New macro.
10615         * unroll.c (unroll_loop): Use them.
10616         (copy_loop_body): Ditto.
10617
10618 Thu Dec 18 19:19:57 1997  Ian Lance Taylor  <ian@cygnus.com>
10619
10620         * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
10621         (INIT_TARGET_OPTABS): Define.
10622         * mips/ecoff.h: Include gofast.h before mips.h.
10623         (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
10624         * mips/elf64.h: Likewise.
10625         * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
10626
10627 Thu Dec 18 14:51:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
10628
10629         * except.c: Remove register_exception_table{,_p}.
10630
10631 Thu Dec 18 14:57:29 1997  Gavin Koch  <gavin@cygnus.com>
10632
10633         * unroll.c (calculate_giv_inc): Handle constant increment found in
10634         a MEM with an appropriate REG_EQUAL note.
10635
10636         * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
10637
10638         * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
10639         frame pointer in the prologue.
10640
10641 Thu Dec 18 00:19:38 1997  Robert Lipe <robertl@dgii.com>
10642
10643         * i386/x-sco5 (CLIB) Deleted.  (ALLOCA) Added.
10644         * i386/xm-sco5.h  (USE_C_ALLOCA) Added.
10645
10646 Tue Dec 16 18:51:00 1997  Bill Moyer <billm@cygnus.com>
10647
10648         * config/m68k/m68k.c (output_function_prologue): Typecast
10649         dwarf2out_cfi_label to (char *).
10650         * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
10651
10652 Wed Dec 17 15:06:04 1997  Richard Henderson  <rth@cygnus.com>
10653
10654         * sparc.md (jump): Don't use the annul bit around an empty loop.
10655         Patch from Kevin.Kelly@East.Sun.COM.
10656
10657 Wed Dec 17 00:51:36 1997  Stan Cox (scox@cygnus.com)
10658
10659         * jump.c: (jump_optimize): Don't use the return register as a
10660         source1 of a conditional move.
10661
10662 Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
10663
10664         * sparc.c (DF_MODES): Or the mask not the bit number.
10665         (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
10666
10667 Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
10668
10669         * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
10670
10671 Tue Dec 16 23:44:54 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10672
10673         * fixincludes (size_t): Add support for Motorola's stdlib.h
10674         which fails to provide a definition for size_t.
10675         (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
10676         (strlen,strspn,strcspn return value): Handle different layout on sysV88.
10677         (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
10678
10679         * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
10680         prevent unresolved externals in libio.
10681         * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
10682
10683 Tue Dec 16 23:25:45 1997  H.J. Lu  (hjl@gnu.org)
10684
10685         * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
10686         (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
10687         (LIB_SPEC): Updated for glibc 2.
10688
10689 Tue Dec 16 20:11:36 1997  Jeffrey A Law  (law@cygnus.com)
10690
10691         * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
10692         * ginclude/varargs.h: Likewise.
10693
10694 Tue Dec 16 00:32:01 1997  Jeffrey A Law  (law@cygnus.com)
10695
10696         * version.c: Bump for snapshot.
10697
10698 Tue Dec 16 00:14:29 1997  H.J. Lu  (hjl@gnu.org)
10699
10700         * frame.h (__register_frame, __register_frame_table,
10701         __deregister_frame): New.
10702         * frame.c (__register_frame, __register_frame_table,
10703         __deregister_frame): New.
10704         * frame.c (__deregister_frame_info): Return void *.
10705         * frame.h (__deregister_frame_info): Ditto.
10706         * collect2.c (__deregister_frame_info): Ditto.
10707
10708 Mon Dec 15 18:40:08 1997  Richard Henderson  <rth@cygnus.com>
10709
10710         * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
10711
10712 Mon Dec 15 18:31:43 1997  Richard Henderson  <rth@cygnus.com>
10713
10714         * alpha.c (alpha_cpu_name): New variable.
10715         (alpha_mlat_string): Likewise.
10716         (alpha_memory_latency): Likewise.
10717         (override_options): Handle -mmemory-latency.
10718         (alpha_adjust_cost): Adjust load cost for latency.
10719         * alpha.h (TARGET_OPTIONS): Add meory-latency.
10720         (REGISTER_MOVE_COST): Define in terms of memory_latency.  Take
10721         TARGET_CIX into account.
10722         (MEMORY_MOVE_COST): Define in terms of memory_latency.
10723         * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
10724
10725         * alpha.h (ASM_COMMENT_START): New macro.
10726
10727 Mon Dec 15 17:48:05 1997  Richard Henderson  <rth@cygnus.com>
10728
10729         * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
10730         dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
10731
10732         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
10733         SUBREG_REG if the word count is unchanged.
10734         * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
10735         subregs of identical word size for push_reload.
10736
10737 Mon Dec 15  Mark Mitchell  <mmitchell@usa.net> 11:41:32 1997
10738
10739         * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
10740         if all we're doing is dealing with -Wreturn-type.
10741
10742 Mon Dec 15 09:44:39 1997  Richard Henderson  <rth@cygnus.com>
10743
10744         * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
10745         Use and 255 instead of zapnot 1, since it schedules better.
10746
10747 Mon Dec 15 08:48:24 1997  Jeffrey A Law  (law@cygnus.com)
10748
10749         * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
10750         it as volatile.
10751
10752 Mon Dec 15 00:04:48 1997  Jeffrey A Law  (law@cygnus.com)
10753
10754         * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
10755         dependency we delete.  Properly update prev for multiple consecutive
10756         deletions.
10757         (priority): Skip deleted dependence.
10758
10759 Fri Dec 12 18:54:23 1997  Per Bothner  <bothner@cygnus.com>
10760
10761         * expr.c (expand_builtin):  Support BUILT_IN_FMOD - just call fmod.
10762
10763 Fri Dec 12 01:19:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
10764
10765         * flow.c (flow_analysis): Be consistent with find_basic_blocks in
10766         determining when a new basic block starts.
10767
10768         * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
10769
10770         * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
10771         * pa.md (iorsi3): Add missing args to *_operand calls.
10772
10773         * except.c (call_get_eh_context): Don't mess with sequences.
10774         (emit_eh_context): Include the call in the sequence here.
10775
10776 1997-12-11  Paul Eggert  <eggert@twinsun.com>
10777
10778         * collect2.c (write_c_file_glob): Allocate initial frame object
10779         in static storage and pass its address.
10780
10781 Thu Dec 11 23:33:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
10782
10783         * except.c (call_get_eh_context): Don't take a parm.
10784         Put the call at the top of the function.
10785         (emit_eh_context): Adjust.
10786         (get_eh_context): Replace with former use_eh_context.
10787         (get_eh_context_once, get_saved_pc_ref): Remove.
10788         (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
10789         * except.h: Adjust.
10790         * integrate.c (expand_inline_function): Adjust.
10791         * toplev.c (rest_of_compilation): Don't call emit_unwinder.
10792
10793 Fri Oct 10 17:58:31 CEST 1997  Marc Lehmann <pcg@goof.com>
10794
10795         * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
10796         (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
10797
10798 Thu Dec 11 23:55:17 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10799
10800         * fixincludes (strlen,strspn,strcspn return value): Handle different
10801         layout on sysV88.
10802         (hypot): Provide a fake for hypot which is broken on
10803         m88k-motorola-sysv3.
10804
10805 Thu Dec 11 23:50:17 1997  John F. Carr  <jfc@mit.edu>
10806
10807         * tree.c, tree.h: Change tree_code_type, tree_code_length, and
10808         tree_code_name from pointers to arrays.
10809         * tree.c: Remove standard_tree_code_* variables, no longer used.
10810         * print-tree.c: Remove declaration of tree_code_name.
10811
10812         * cp/lex.c (init_lex): Update for tree_code_* changes.
10813         * objc/objc-act.c (init_objc): Likewise.
10814
10815         * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
10816         changes.
10817
10818 Thu Dec 11 23:34:54 1997  Fred Fish  <fnf@ninemoons.com>
10819
10820         * config.sub: Add support for BeOS target.
10821         * configure.in: Likewise.
10822         * ginclude/stdarg.h: Likewise.
10823         * ginclude/stddef.h: Likewise.
10824         * ginclude/varargs.h: Likewise.
10825         * rs6000/beos.h: New file for BeOS.
10826         * rs6000/t-beos: Likewise.
10827         * rs6000/x-beos: Likewise.
10828         * rs6000/xm-beos.h: Likewise.
10829         * toplev.c (get_run_time): Just return 0 on BeOS.
10830
10831 Thu Dec 11 23:25:23 1997  Jeffrey A Law  (law@cygnus.com)
10832                           Toon Moene  (toon@moene.indiv.nluug.nl)
10833
10834         * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
10835         old and broken Sun3 assemblers.  Newer versions handle large
10836         offsets correctly as does the GNU assembler.
10837
10838 Thu Dec 11 23:06:48 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
10839
10840         * objc/objc-act.c (lang_report_error_function): Disable.
10841         * objc/objc-parse.y: Include "output.h".
10842         (yyerror): Remove redundant decl.
10843         (yyprint): Fix prototype.
10844         (apply_args_register_offset): Remove redundant decl.
10845         (get_file_function_name): Likewise.
10846
10847 Thu Dec 11 22:02:10 1997  Jason Merrill  <jason@yorick.cygnus.com>
10848
10849         * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
10850         a new basic block.
10851         (find_basic_blocks_1): Likewise.
10852
10853 Thu Dec 11 21:08:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
10854
10855         * except.c (use_eh_context): Don't copy_rtx a REG.
10856         (emit_throw): Lose old unwinder support.
10857         (expand_internal_throw): Likewise.
10858         * libgcc2.c (struct eh_context): Likewise.
10859         (new_eh_context): Likewise.
10860         (__get_eh_info): Lose redundant cast.
10861         (__get_dynamic_handler_chain): Likewise.
10862         (__get_saved_pc): Lose.
10863         Lose all old unwinder support code.
10864
10865 Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>
10866
10867         Thread-safe EH support for pthreads, DCE threads and Solaris threads.
10868
10869         * integrate.c (expand_inline_function): If the inline fn uses eh
10870         context, make sure that the current fn has one.
10871         * toplev.c (rest_of_compilation): Call emit_eh_context.
10872         * except.c (use_eh_context): New fn.
10873         (get_eh_context_once): New fn.
10874         (call_get_eh_context): New fn.
10875         (emit_eh_context): New fn.
10876         (get_eh_context): Call either get_eh_context_once or
10877         call_get_eh_context, depending on what we have.
10878         (get_dynamic_handler_chain): Call get_eh_context_once.
10879         * except.h: Prototypes for fns above.
10880         * optabs.c (get_eh_context_libfunc): Removed.
10881         (init_optabs): Don't initialize it.
10882         * expr.h (get_eh_context_libfunc): Removed.
10883         * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
10884         * config/pa/pa.h (CPP_SPEC): Support for -threads.
10885         * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
10886         * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
10887         New multilib for -threads.
10888         * config/sparc/t-sol2: Added multilibs for -threads and
10889         made -pthreads alias to it.
10890         * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
10891         Added -threads and -pthreads options.
10892         * libgcc-thr.h: New file.
10893         * libgcc2.c: (__get_cpp_eh_context): Removed.
10894         (struct cpp_eh_context): Removed.
10895         (struct eh_context): Replaced cpp_eh_context with generic language
10896         specific pointer.
10897         (__get_eh_info): New function.
10898         (__throw): Check eh_context::info.
10899         (__sjthrow): Ditto.
10900         * libgcc2.c: Include libgcc-thr.h.
10901         (new_eh_context, __get_eh_context,
10902         eh_pthread_initialize, eh_context_initialize, eh_context_static,
10903         eh_context_specific, eh_context_free): New functions.
10904         (get_eh_context, eh_context_key): New variables.
10905         (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
10906         get_eh_context to get the context.
10907         (longjmp): Move the declaration inside
10908         #ifdef DONT_USE_BUILTIN_SETJMP.
10909         * frame.c: Include libgcc-thr.h.
10910         (object_mutex): Mutex to protect the object list.
10911         (find_fde, __register_frame, __register_frame_table,
10912         __deregister_frame): Hold the lock while accessing objects.
10913         * except.h (get_eh_context): Declare.
10914         * except.c (current_function_ehc): Define.
10915         (current_function_dhc, current_function_dcc): Removed.
10916         (get_eh_context): New function.
10917         (get_dynamic_handler_chain): Use get_eh_context.
10918         (get_saved_pc_ref): Ditto.
10919         (get_dynamic_cleanup_chain): Removed references to
10920         current_function_dcc.
10921         (save_eh_status, restore_eh_status): Save and restore
10922         current_function_ehc instead.
10923         * optabs.c (get_eh_context_libfunc): New variable.
10924         (init_optabs): Initialize it.
10925         * expr.h: Declare get_eh_context_libfunc.
10926         * function.h (struct function): Replaced dhc and dcc with ehc.
10927         * except.c (get_saved_pc_ref): New functions.
10928         (eh_saved_pc_rtx, eh_saved_pc): Deleted.
10929         (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
10930         of eh_saved_pc.
10931         (end_eh_unwinder): Likewise.
10932         (init_eh): Remove initialization of eh_saved_pc.
10933         * optabs.c (get_saved_pc_libfunc): New variable.
10934         (init_optabs): Initialize it.
10935         * expr.h: Declare get_saved_pc_libfunc.
10936         * except.h (eh_saved_pc_rtx): Deleted.
10937         (get_saved_pc_ref): Declared.
10938
10939         From Scott Snyder <snyder@d0sgif.fnal.gov>:
10940         * libgcc2.c (__get_saved_pc): New.
10941         (__eh_type, __eh_pc): Deleted.
10942         (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
10943         (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
10944         this fcn.
10945
10946 Thu Dec 11 17:23:48 1997  John F. Carr  <jfc@mit.edu>
10947
10948         * sparc/sol2.h: Use 64 bit multiply and divide functions in
10949         Solaris libc.  Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
10950         as 0.
10951
10952         * rtl.h (global_rtl): New variable, replacing separate variables for
10953         commonly used rtl.
10954         (const_int_rtx): Now array of rtx_def, not rtx.
10955         * emit-rtl.c: Update for new rtl data structures.
10956         * genattrtab.c: Define global_rtl.
10957
10958 Thu Dec 11 15:50:29 1997 David Edelsohn  <edelsohn@mhpcc.edu>
10959
10960         * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
10961         default.
10962
10963 Wed Dec 10 12:30:18 1997  Anthony Green  <green@cygnus.com>
10964
10965         * crtstuff.c (__do_global_ctors): Fix typo.
10966
10967 Tue Dec  9 09:43:59 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10968
10969         * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
10970         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
10971
10972 Tue Dec  9 09:38:58 1997  David Edelsohn  <edelsohn@mhpcc.edu>
10973
10974         * rs6000.h (FUNCTION_ARG_PADDING): Define.
10975         * rs6000.c (function_arg_padding): New function.
10976
10977 Tue Dec  9 10:34:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10978
10979         * m68k.c: Include tree.h only once.
10980
10981 Tue Dec  9 09:32:33 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10982
10983         * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
10984
10985 Tue Dec  9 01:16:06 1997  Jeffrey A Law  (law@cygnus.com)
10986
10987         * Partially cleaned up prototyping code from HJ.
10988         * tree.h: Add many prototypes.
10989         * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
10990         All references changed.
10991         * rtl.h: Protect from multiple inclusions.  Add many prototypes.
10992
10993 Tue Dec  9 01:15:15 1997  Fred Fish  <fnf@ninemoons.com>
10994
10995         * libgcc2.c (string.h): Hoist inclusion to occur before first use of
10996         string functions like strlen.
10997
10998 Tue Dec  9 00:57:38 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10999
11000         * configure.in: Check for functions getrlimit and setrlimit.
11001         * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
11002         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
11003
11004 Mon Dec  8 23:53:26 1997  Jay Sachs <sachs@bull.cs.williams.edu>
11005
11006         * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
11007
11008 Mon Dec  8 21:03:28 1997  Richard Henderson  <rth@cygnus.com>
11009
11010         * alpha.c (REG_RA, alpha_return_addr, output_epilog):
11011         Fix merge problems.
11012
11013         * alpha.c (override_options): Don't know about scheduling for EV6.
11014         * alpha.md (ev5 function units): Don't overload as ev6.
11015
11016         * alpha.c (alpha_adjust_cost): Simplify.  Fix typo in ev5 mult case.
11017         * alpha.md (define_attr type): Add mvi.
11018         (ev5_e0): Define sceduling parameters for it.
11019         (TARGET_MAX insns): Type is mvi not shift.
11020
11021 Mon Dec  8 18:15:00 1997  Richard Henderson  <rth@cygnus.com>
11022
11023         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
11024
11025 Mon Dec  8 21:17:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11026
11027         * cstamp-h, auto-config.h: Delete.
11028
11029 Sun Dec  7 19:19:03 1997  Jeffrey A Law  (law@cygnus.com)
11030
11031         * version.c: Bump for snapshot.
11032
11033 Sat Dec  6 22:22:22 1997  Jeffrey A Law  (law@cygnus.com)
11034
11035         * cccp.c: Fix typo brought over in merge.
11036
11037         * Merge in changes from gcc-2.8.
11038
11039 Mon Nov  3 05:45:32 1997  Philippe De Muyter  <phdm@macqel.be>
11040
11041         * m68k.c: Include tree.h for dwarf2out_cfi_label.
11042
11043         * gcc.c (process_command): Do not take address of function fatal when
11044         calling lang_specific_driver.
11045
11046 Sat Dec  6 01:02:38 1997  Mumit Khan  <khan@xraylith.wisc.edu>
11047
11048         * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
11049         doesn't work with it yet, so set it to 0.
11050         * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
11051
11052 Sat Dec  6 01:01:02 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
11053
11054         * cse.c (cse_insn): Check for invalid entries when taking references.
11055
11056 Fri Dec  5 18:26:25 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11057
11058         * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
11059         (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
11060         * toplev.c (rest_of_compilation): Pass it.  Remove code to
11061         save / clear / restore flag_unroll_{,all_}loops.
11062
11063 Fri Dec  5 16:26:03 1997  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
11064
11065         * i386.c (notice_update_cc): Remove bogus pentium GCC code.
11066
11067 Fri Dec  5 16:25:14 1997  Jeffrey A Law  (law@cygnus.com)
11068
11069         * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
11070
11071 Thu Dec  4 11:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
11072
11073         * except.c (get_dynamic_handler_chain): Only make the call once per
11074         function.
11075
11076         * except.c (expand_end_all_catch): Fix for sjlj exceptions.
11077
11078 Thu Dec  4 12:30:40 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11079
11080         * sh.c (final_prescan_insn): Use local label prefix
11081         when emitting .uses pseudo-ops.
11082
11083 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
11084
11085         * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
11086         * except.c: Lose outer_context_label_stack.
11087         (expand_eh_region_end): Rethrow from outer_context here.
11088         (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
11089         (expand_internal_throw): Take no args.
11090         (expand_internal_throw_indirect): Lose.
11091         (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
11092         (expand_start_all_catch): Start a rethrow region.
11093         (expand_end_all_catch): End it.
11094         (expand_rethrow): New fn.
11095         * except.h: Reflect above changes.
11096         * flow.c: Revert change of Nov 27.
11097
11098 Thu Dec  4 00:24:09 1997  Jeffrey A Law  (law@cygnus.com)
11099
11100         * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
11101
11102 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
11103
11104         * except.c (expand_fixup_region_end): New fn.
11105         (expand_fixup_region_start): Likewise.
11106         (expand_eh_region_start_tree): Store cleanup into finalization here.
11107         * stmt.c (expand_cleanups): Use them to protect fixups.
11108
11109 Wed Dec  3 11:41:13 1997  Gavin Koch  <gavin@cygnus.com>
11110
11111         * mips/mips.md (muldi3_r4000): Broaden the output template
11112         and attribute assignments to handle three operand dmult;
11113         rename to muldi3_internal2.
11114         (muldi3): Call the new muldi3_internal2 for R4000, and
11115         any GENERATE_MULT3 chip.
11116
11117 Tue Dec  2 19:40:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
11118
11119         * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
11120
11121 Tue Dec  2 12:54:33 1997  Jim Wilson  <wilson@cygnus.com>
11122
11123         * unroll.c (find_splittable_givs):  Remove last change.  Handle givs
11124         with a dest_reg that was created by loop.
11125
11126 Sat Nov 29 12:44:57 1997  David Edelsohn  <edelsohn@mhpcc.edu>
11127
11128         * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
11129
11130         * rs6000/aix41.h (ASM_CPU_SPEC): Define.
11131
11132 Fri Nov 28 10:00:27 1997  Jeffrey A Law  (law@cygnus.com)
11133
11134         * configure.in: Fix NCR entries.
11135
11136 Thu Nov 27 12:20:19 1997  Jeffrey A Law  (law@cygnus.com)
11137
11138         * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
11139         nested exceptions correctly.
11140
11141         * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
11142         that was created by loop.
11143
11144 Thu Nov 27 09:34:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
11145
11146         * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
11147
11148         * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
11149
11150 Wed Nov 26 15:47:30 1997  Michael Meissner  <meissner@cygnus.com>
11151
11152         * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
11153         (print_operand): Use SMALL_DATA_REG for the register involved in
11154         small data relocations.
11155         (print_operand_address): Ditto.
11156
11157         * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
11158         -dynamic linker is not used.
11159
11160         * rs6000.md (call insns): For local calls, use @local suffix under
11161         System V.  Don't use @plt under Solaris.
11162
11163         * rs6000.c (output_function_profiler): Put label address in r0, and
11164         store LR in 4(sp) for System V/eabi.
11165
11166         * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
11167         byte boundary, and maintain stack backchain.
11168
11169 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
11170
11171         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
11172         fix_truncsfdi2): Change *.
11173
11174 Wed Nov 26 11:12:26 1997  Jason Merrill  <jason@yorick.cygnus.com>
11175
11176         * toplev.c (main): Complain about -gdwarfn.
11177
11178 Tue Nov 25 22:43:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
11179
11180         * dwarfout.c (output_type): If finalizing, write out nested types
11181         of types we've already written.
11182
11183 Tue Nov 25 20:32:24 1997  Michael Meissner  <meissner@cygnus.com>
11184
11185         (patches originally from Geoffrey Keating)
11186         * rs6000.c (function_arg): Excess floating point arguments don't
11187         go into GPR registers after exhausting FP registers under the
11188         System V.4 ABI.
11189         (function_arg_partial_nregs): Ditto.
11190
11191         * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
11192         suffix to calls.
11193
11194 Tue Nov 25 23:37:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
11195
11196         * integrate.c (output_inline_function): Just unset DECL_INLINE.
11197
11198 Tue Nov 25 23:33:29 1997  scott snyder  <snyder@d0sgif.fnal.gov>
11199
11200         * dwarf2out.c (outout_call_frame_info): Ensure that the info has
11201         proper alignment.
11202
11203         * libgcc2.c (__throw): Initialize HANDLER.
11204
11205 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
11206
11207         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
11208         fix_truncsfdi2): Change *X to ?*X.
11209
11210 Tue Nov 25 10:00:42 1997  Richard Henderson  (rth@cygnus.com)
11211
11212         * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
11213
11214 Tue Nov 25 10:00:42 1997  Jeffrey A Law  (law@cygnus.com)
11215
11216         * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
11217
11218 Tue Nov 25 01:26:55 1997  Bruno Haible <haible@ilog.fr>:
11219
11220         * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
11221
11222 Mon Nov 24 22:41:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
11223
11224         * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
11225         * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
11226         * expr.h: Likewise.
11227
11228 Sat Nov 22 18:58:20 1997  Jeffrey A Law  (law@cygnus.com)
11229
11230         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
11231         * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
11232         gas and not using the new HP assembler.
11233
11234 Fri Nov 21 15:20:05 1997  Jeffrey A Law  (law@cygnus.com)
11235
11236         * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
11237         (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
11238
11239 Fri Nov 21 19:37:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
11240
11241         * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
11242         TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
11243         definition.
11244
11245 Fri Nov 21 12:49:56 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
11246
11247         * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
11248
11249 Fri Nov 21 12:18:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
11250
11251         * except.h: Add outer_context_label_stack.
11252         * except.c: Likewise.
11253         (expand_start_all_catch): Push the outer_context for the try block
11254         onto outer_context_label_stack.
11255         (expand_end_all_catch): Use it and pop it.
11256
11257 Fri Nov 21 10:13:11 1997  Robert Lipe (robertl@dgii.com)
11258
11259         * i386/sco5.h (HAVE_ATEXIT): Revert last change.
11260
11261 Thu Nov 20 16:11:50 1997  Richard Henderson  <rth@cygnus.com>
11262
11263         * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
11264
11265 Thu Nov 20 16:11:50 1997  Klaus Kaempf  <kkaempf@progis.de>
11266
11267         * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
11268         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
11269
11270 Thu Nov 20 14:42:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
11271
11272         * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
11273         * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
11274         __builtin_delete, and __builtin_vec_delete.
11275
11276         * except.c (output_exception_table): Don't bother with
11277         __EXCEPTION_END__.
11278
11279 Thu Nov 20 16:11:50 1997  Jeffrey A Law  (law@cygnus.com)
11280
11281         * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
11282         is an in/out operand.
11283         (zero extended variants of stwm/stwm patterns): Similarly.
11284
11285         * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
11286
11287 Thu Nov 20 13:19:32 1997  Jason Merrill  <jason@yorick.cygnus.com>
11288
11289         * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
11290         Use assemble_name.
11291         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
11292         (output_call_frame_info): Emit a \n after using it.
11293
11294 Thu Nov 20 00:38:46 1997  Dave Love  <d.love@dl.ac.uk>
11295
11296         * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
11297
11298 Wed Nov 19 12:03:04 1997  Philippe De Muyter  <phdm@macqel.be>
11299
11300         * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
11301         (ASM_OUTPUT_DWARF_VALUE4): New macro.
11302         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
11303         defined.
11304         (output_call_frame_info): Do not output forward label differences
11305         if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
11306         * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
11307
11308 Tue Nov 18 23:03:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11309
11310         * sh.md (attribute "type"): Add nil.
11311         (movsi_ie): y/y alternative is type nil.
11312         (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
11313         alternatives.
11314         (movsf_ie+1): Delete.
11315
11316 Tue Nov 18 15:39:59 1997  Jim Wilson  <wilson@cygnus.com>
11317
11318         * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
11319         large_int, emit two insns instead of one splitable insn.
11320         * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
11321         from cfa_temp_value, use cfa_offset.  Add assert checking that
11322         cfa_reg is SP.
11323
11324 Mon Nov 17 15:35:38 1997  Tom Tromey  <tromey@cygnus.com>
11325
11326         * cccp.c (deps_output): Properly quote file names for make.
11327
11328 Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
11329
11330         * t-h8300 (MULTILIB_EXCEPTIONS): Define.
11331
11332 Fri Nov  7 15:33:11 1997  Robert Lipe (robertl@dgii.com)
11333
11334         * i386/sco5.h (HAVE_ATEXIT): Delete definition.
11335
11336 Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
11337
11338         * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
11339         return.
11340         (cse_end_of_basic_block): Similarly.
11341
11342 Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
11343
11344         * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
11345         (SELECT_RTX_SECTION): Define.
11346         (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
11347
11348 Sun Nov 16 22:47:03 1997  Manfred Hollstein  <manfred@s-direktnet.de>
11349
11350         * Makefile.in (compare, compare-lean): Define $stage for each
11351         shell command.
11352         (gnucompare, gnucompare-lean): Likewise.
11353
11354 Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
11355
11356         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
11357
11358         * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
11359         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
11360
11361 Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
11362
11363         * dwarfout.c (byte_size_attribute):  Add local var upper_bound
11364         and add case to handle STRING_TYPE.
11365         * dwarfout.c (output_string_type_die):  Fix code to generate
11366         correct string length attribute for fixed length strings.
11367         Still needs support for varying length strings.
11368
11369 Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
11370
11371         * toplev.c (get_run_time): Do something sensible for cygwin32.
11372
11373 Fri Nov 14 07:24:20 1997  Richard Henderson  <rth@cygnus.com>
11374
11375         * expr.c (expand_builtin_setjmp): Set
11376         current_function_has_nonlocal_label.
11377         * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
11378         call-saved registers across calls.
11379
11380         * alpha.md (exception_receiver): Remove.
11381         (nonlocal_goto_receiver_osf): New
11382         (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
11383         (nonlocal_goto_receiver): New, select _osf or _vms.
11384
11385         * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
11386         keep them from being propogated to the object file.
11387         (alpha_write_linkage): Likewise.
11388         * alpha.md (call_vms): Likewise.
11389         (call_value_vms): Likewise.
11390         (unnamed osf call insns): Likewise.
11391
11392         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
11393         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
11394
11395         * alpha.c (call_operand): Any reg is valid for WinNT.
11396         * alpha.md (call_nt, call_value_nt): Don't force address into $27.
11397         (anon nt calls): Add 'R' alternative.
11398         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
11399         INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
11400
11401 Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
11402
11403         * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
11404
11405         * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
11406         * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
11407         * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
11408
11409 Thu Nov 13 20:37:33 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
11410
11411         * reload1.c (new_spill_reg): Improve fixed or forbidden register
11412         spill error message.
11413
11414 Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11415
11416         * prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
11417         use varargs.h.  Wrap header with <>, not "".
11418
11419 Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
11420
11421         * integrate.c (save_for_inline_copying): Add return value from
11422         savealloc.
11423
11424 Thu Nov 13 19:12:33 1997  Brendan Kehoe  <brendan@cygnus.com>
11425
11426         * fixincludes: Be a little more restrictive on what we will
11427         substitute to replace definitions of MAXINT for HPUX.
11428
11429 Thu Nov 13 18:41:02 1997  Michael Meissner  <meissner@cygnus.com>
11430
11431         * dbxout.c (dbxout_symbol_location): Don't assume that variables
11432         whose address is the stack or argument pointers are indirect
11433         pointers.
11434
11435 1997-11-13  Paul Eggert  <eggert@twinsun.com>
11436
11437         * cccp.c, cpplib.c (compare_defs):
11438         Don't complain about arg name respellings unless pedantic.
11439         * cpplib.c (compare_defs): Accept pfile as new arg.
11440         All callers changed.
11441
11442 Thu Nov 13 23:33:50 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11443
11444         * fold-const.c (fold_truthop): Fix bug in last change.
11445
11446 1997-11-13  Paul Eggert  <eggert@twinsun.com>
11447
11448         Fix some confusion with IEEE minus zero.
11449
11450         * real.h (REAL_VALUES_IDENTICAL): New macro.
11451
11452         * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
11453         * fold-const.c (operand_equal_p): Don't consider -0.0 to be
11454         identical to 0.0.
11455         * tree.c (simple_cst_equal): Don't consider -0.0 to have the
11456         same tree structure as 0.0.
11457
11458         * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
11459         macro instead of doing it by hand.
11460
11461 Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
11462
11463         * v850/lib1funcs.asm: Minor whitespace changes.
11464         * v850.c: Fix minor formatting problems in many places.
11465         (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
11466
11467 Thu Nov 13 12:53:44 1997  Jim Wilson  <wilson@cygnus.com>
11468
11469         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
11470         xplus1 when xplus0 is not a register.
11471
11472 Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
11473
11474         * flow.c (find_basic_blocks): During marking phase, if we encounter
11475         an insn with a REG_LABEL note, make the target block live and
11476         create an edge from the insn to the target block.  Do not make
11477         edges from all blocks to the target block.
11478
11479         * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
11480
11481         * confiugre.in: Tweak NCR entries.
11482         * configure: Rebuilt.
11483
11484 Thu Nov 13 11:07:41 1997  Michael Meissner  <meissner@cygnus.com>
11485
11486         * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
11487         pick apart floating point values, instead of using CONST_DOUBLE_LOW
11488         and CONST_DOUBLE_HIGH.
11489
11490         * rs6000.md (define_splits for DF constants): Use the appropriate
11491         REAL_VALUE_* interface to pick apart DF floating point constants in
11492         a machine independent fashion.
11493
11494 Thu Nov 13 00:06:58 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11495
11496         * fold-const.c (fold_truthop): When changing a one-bit comparison
11497         against zero into a comparison against mask, do a proper sign
11498         extension.
11499
11500 Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
11501
11502         * except.c: Do not include "assert.h".
11503         (save_eh_status): Turn asserts into conditional aborts.
11504         (restore_eh_status, scan_region): Likewise.
11505         * dwarfout.c: Do not include "assert.h".
11506         (bit_offset_attribute): Turn asserts into conditional aborts.
11507         (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
11508         (output_inlined_structure_type_die): Likewise.
11509         (output_inlined_union_type_die): Likewise
11510         (output_tagged_type_instantiation): Likewise.
11511         (dwarfout_file_scope_decl): Likewise.
11512         * dwarf2out.c: Do not include "assert.h"
11513         (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
11514         (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
11515         (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
11516         (add_bit_size_attribute, scope_die_for): Likewise.
11517         (output_pending_types_for_scope): Likewise.
11518         (get_inlined_enumeration_type_die): Likewise.
11519         (get_inlined_structure_type_die): Likewise.
11520         (get_inlined_union_type_die, gen_subprogram_die): Likewise.
11521         (gen_tagged_type_instantiation_die): Likewise.
11522
11523         * flow.c (find_basic_blocks): Refine further to get a more correct
11524         cfg, especially in the presense of exception handling, computed
11525         gotos, and other non-trivial cases.  Call abort if an inaccuracy
11526         is detected in the cfg.
11527
11528 Tue Nov 11 21:47:27 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11529
11530         * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
11531
11532         * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
11533         (skip_white_space): Use whitespace_cr.
11534         (check_newline): Handle whitespace more consistently.
11535
11536 Tue Nov 11 16:25:49 1997  Jim Wilson  <wilson@cygnus.com>
11537
11538         * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
11539         * i386/xm-cygwin32.h (POSIX): Define.
11540
11541 Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>
11542
11543         * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
11544         is available elsewhere.
11545
11546 Mon Nov 10 16:21:58 1997  Doug Evans  <devans@canuck.cygnus.com>
11547
11548         * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
11549         what the instruction can handle.
11550
11551 Mon Nov 10 03:02:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
11552
11553         * stmt.c (expand_decl_cleanup_no_eh): New fn.
11554
11555         * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
11556
11557 Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
11558
11559         * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
11560         (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
11561
11562 Sun Nov  9 14:34:47 1997  David Edelsohn  <edelsohn@mhpcc.edu>
11563
11564         * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
11565         swap instruction order.
11566
11567 Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
11568
11569         * fixinc.svr4 (__STDC__): Add another case.
11570
11571 Sun Nov  9 02:00:29 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11572
11573         * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
11574         addresses in the epilogue delay slot.
11575
11576 Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
11577
11578         * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
11579         in generated `specs' file.
11580
11581 Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
11582
11583         * flags.h (flag_rerun_loop_opt): Declare.
11584         * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
11585         * toplev.c (flag_rerum_loop_opt): Delete static.
11586
11587 Sat Nov  8 18:20:21 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11588
11589         Bring over from FSF:
11590
11591         Thu Oct 30 12:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11592
11593         * va-sh.h (__va_arg_sh1): Define.
11594         (va_arg): Use it.
11595         SH3E doesn't use any integer registers for subsequent arguments
11596         once a non-float value was passed in the stack.
11597         * sh.c (machine_dependent_reorg): If optimizing, put explicit
11598         alignment in front label for ADDR_DIFF_VEC.
11599         * sh.h (PASS_IN_REG_P): Fix SH3E case.
11600         (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
11601
11602         Tue Oct 28 15:06:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11603
11604         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
11605         svr4.h.
11606
11607         Mon Oct 27 16:11:52 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11608
11609         * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
11610         put an use_sfunc_addr before each sfunc.
11611         * sh.md (use_sfunc_addr, dummy_jump): New insns.
11612         (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
11613
11614         Tue Oct 21 07:12:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11615
11616         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
11617
11618 Fri Nov  7 10:22:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
11619
11620         * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
11621         linked once FDEs.
11622
11623 Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
11624
11625         * alias.c (find_base_value): Only return the known base value for
11626         pseudo registers.
11627
11628 Wed Nov  5 11:27:14 1997  Jim Wilson  <wilson@cygnus.com>
11629
11630         * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
11631         * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
11632         to pattern.
11633         (prologue_get_pc_and_set_got): New pattern.
11634
11635 Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
11636
11637         * alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
11638         for SUBREG, just fall through.
11639
11640         * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
11641
11642         * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
11643
11644 Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
11645
11646         * fixincludes: Fix "hypot" prototype in NeXT math.h.
11647
11648         * Makefile.in (USE_ALLOCA): Always include alloca.o.
11649         (USE_HOST_ALLOCA): Likewise.
11650
11651         * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
11652         and LABEL_REFS fields.
11653         * rtl.h (LABEL_REFS): Update.
11654
11655 Tue Nov  4 16:55:11 1997  Jim Wilson  <wilson@cygnus.com>
11656
11657         * combine.c (try_combine): When setting elim_i2, check whether newi2pat
11658         sets i2dest.  When calling distribute_notes for i3dest_killed, pass
11659         elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
11660         sets i1dest.
11661
11662         * mips.md (insv, extzv, extv): Add change_address call.
11663         (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
11664
11665         * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
11666
11667         * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
11668
11669         * mips.c (mips_expand_epilogue): Emit blockage insn before call to
11670         save_restore_insns if no FP and GP will be restored.
11671
11672         * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
11673         Convert CCmode to word_mode before calling GET_MODE_SIZE.
11674
11675         * acconfig.h (HAVE_INTTYPES_H): Undef.
11676         * configure.in (inttypes.h): Check for conflicts between sys/types.h
11677         and inttypes.h, and verify that intmax_t is defined.
11678         * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
11679         * config/mips/x-iris3: Likewise.
11680
11681 Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
11682
11683         * alias.c (find_base_value): When copying arguments, return the
11684         tenative value for a hard register.
11685
11686 Tue Nov  4 13:40:35 1997  Doug Evans  <devans@canuck.cygnus.com>
11687
11688         * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
11689         (yylex): Record wide strings using target endianness, not host.
11690
11691 Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
11692
11693         * mn10200.h (ASM_OUTPUT_BSS): Delete.
11694         (ASM_OUTPUT_ALIGNED_BSS): New macro
11695         * mn10300.h (ASM_OUTPUT_BSS): Delete.
11696         (ASM_OUTPUT_ALIGNED_BSS): New macro.
11697         * v850.h (ASM_OUTPUT_BSS): Delete.
11698         (ASM_OUTPUT_ALIGNED_BSS): New macro.
11699
11700 Tue Nov  4 00:55:48 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11701
11702         * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
11703
11704 Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
11705
11706         * configure.in (sco5): Use cpio to install header files.
11707
11708 Sun Nov  2 23:31:43 1997  Manfred Hollstein  <manfred@s-direktnet.de>
11709
11710         * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
11711         14 char length.
11712         * configure: Rebuild.
11713
11714 Sun Nov  2 19:44:00 1997  Robert Lipe (robertl@dgii.com)
11715
11716         * i386/sco5.h: enable -gstabs once again.
11717
11718 Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
11719
11720         * arm.c (output_move_double): Allocate 3 entries in otherops array.
11721
11722 Sat Nov  1 21:43:00 1997  Mike Stump  (mrs@wrs.com)
11723
11724         * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
11725         notes for sjlj exceptions too.
11726         (expand_eh_region_end): Similarly for EH_REGION_END notes.
11727         (exception_optimize): Optimize EH regions for sjlj exceptions too.
11728         * final.c (final_scan_insn): Don't output labels for EH REGION
11729         notes if doing sjlj exceptions.
11730
11731 Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
11732
11733         * alias.c (init_alias_analysis): Handle -fno-alias-check when
11734         optimizing correctly.
11735
11736         * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
11737         or set current_function_calls_setjmp anymore.
11738
11739         * flow.c (find_basic_blocks): If we delete the label for an
11740         exception handler, remove it from the EH label list and remove
11741         the EH_BEGIN/EH_END notes for that EH region.
11742
11743 Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
11744
11745         * flow.c (find_basic_blocks): Generate correct flow control
11746         information when exception handling notes are present.
11747
11748 Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
11749
11750         * dwarf2out.c (output_call_frame_info): Fix length argument
11751         to ASM_OUTPUT_ASCII.
11752         (output_die, output_pubnames, output_line_info): Likewise.
11753
11754 Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
11755
11756         * version.c: Bump for snapshot.
11757
11758         * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
11759         output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
11760         flag_debug_asm is on.
11761         (output_die, output_pubnames, output_line_info): Likewise.
11762
11763         * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
11764         and static_chain_rtx into the potential base values array if
11765         they are registers.
11766
11767         * alias.c (new_reg_base_value): New array of potential base values.
11768         (unique_id): Now file scoped static.
11769         (find_base_value, case REG): Return the value in reg_base_value
11770         array for the REG if it exists.  Else, return the value from
11771         new_reg_base_value if copying args and REG is a hard register.
11772         (find_base_value, case PLUS): If either operand of the PLUS is
11773         a REG, try to get its base value.  Handle base + index and
11774         index + base.
11775         (record_set): Use new_reg_base_value instead of reg_base_value.
11776         (init_alias_analysis): Allocate space for new_reg_base_value too.
11777         Rework code to iterate over the insns propagating base value
11778         information until nothing changes.
11779
11780         * global.c (global_alloc): Free the conflict matrix after
11781         reload has finished.
11782
11783 Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
11784
11785         * libgcc2.c (L_eh): Define __eh_pc.
11786         Replace __eh_type with generic pointer __eh_info.
11787
11788 Fri Oct 31 00:34:55 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
11789
11790         * expr.c (expand_increment): When enqueing a postincrement for a MEM,
11791         use copy_to_reg if address is not a general_operand.
11792
11793 Fri Oct 31 00:16:55 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11794
11795         * profile.c (output_func_start_profiler): Clear flag_inline_functions
11796         for the duration of the call to rest_of_compilation.
11797
11798 Thu Oct 30 14:40:10 1997  Doug Evans  <devans@canuck.cygnus.com>
11799
11800         * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
11801         Set extra_parts.
11802         (sparc*-*-*): Recognize --with-cpu=v9.
11803         * sparc/elf.h: New file.
11804         * sparc/t-elf: New file.
11805
11806 Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
11807
11808         * mn10300.c (const_8bit_operand): New function.
11809         (mask_ok_for_mem_btst): New funtion.
11810         * mn10300.md (btst patterns with mem operands): Use new functions
11811         to avoid creating btst instructions with invalid operands.
11812
11813 Wed Oct 29 16:57:19 1997  Michael Meissner  <meissner@cygnus.com>
11814
11815         * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
11816         are running on PowerPC Linux.
11817
11818 Wed Oct 29 13:10:11 1997  Gavin Koch  <gavin@cygnus.com>
11819
11820         * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
11821         if not previously defined.
11822
11823 Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
11824
11825         * function.c (assign_parms): Correct mode of stack_parm if
11826         entry_parm underwent a mode conversion.
11827
11828 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
11829
11830         * global.c (global_alloc): Use xmalloc instead of alloca for
11831         CONFLICTS, since max_allocno * allocno_row_words alone can be more
11832         than 2.5Mb sometimes.
11833
11834 Tue Oct 28 15:29:15 1997  Richard Henderson  <rth@cygnus.com>
11835
11836         * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
11837         DEST for the spill, adjust mode of SRC to compensate.
11838
11839 Tue Oct 28 14:36:45 1997  Richard Henderson  <rth@cygnus.com>
11840
11841         * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
11842         since any_memory_operand() allows pseudos during reload.
11843         (reload_inhi, reload_outqi, reload_outhi): Likewise.
11844
11845 Tue Oct 28 11:53:14 1997  Jim Wilson  <wilson@cygnus.com>
11846
11847         * m68k.md (btst patterns): Add 5200 support.
11848
11849 Tue Oct 28 11:58:40 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
11850
11851         * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
11852         optimizations, look inside dividend to determine if the expression
11853         can be simplified by using EXACT_DIV_EXPR.
11854
11855 Tue Oct 28 10:19:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
11856
11857         From Brendan:
11858         * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
11859
11860 Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
11861
11862         * alpha.c (summarize_insn [SUBREG]): Propogate SET.
11863
11864 Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
11865
11866         * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
11867         on a CLOBBER.
11868
11869 Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
11870
11871         * alpha.md (movqi, movhi): Make sure new insns created during reload
11872         won't need reloading themselves.
11873         (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
11874
11875 Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
11876
11877         * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
11878
11879 Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
11880
11881         * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
11882         Patch from Klaus Kaempf <kkaempf@progis.de>.
11883
11884 Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
11885
11886         * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
11887         to an element in a constant string.
11888
11889 Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
11890
11891         * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
11892         bit PC-relative offset.  The exception range table pointer is now in
11893         the CIE.
11894         * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
11895         (count_fdes, add_fdes, get_cie): Adjust.
11896         (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
11897
11898         From H.J. Lu:
11899         * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
11900
11901 Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
11902
11903         * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
11904         like stack_pointer_rtx.
11905
11906 Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
11907
11908         * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
11909         targets using "$@" to provide support for similar but not identical
11910         targets without having to duplicate code.
11911         (bootstrap4): New goal.
11912
11913         * Makefile.in (compare, compare-lean, compare3): Combined to one
11914         ruleset determining actions to be performed via $@.
11915         (compare4, compare4-lean): New targets.
11916         (gnucompare, gnucompare3): Combined to one ruleset determining
11917         actions to be performed via $@. Also, note which files failed
11918         the comparison test in .bad_compare.
11919         (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
11920
11921 Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
11922
11923         * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
11924         if the dividend is a multiple of the divisor.
11925
11926 Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
11927
11928         * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
11929
11930         * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
11931         and POS_DEC.
11932
11933         * alias.c (true_dependence): Fix typo.
11934
11935         * toplev.c (flag_rerun_loop_opt): New variable.
11936         (f_options): Handle -frerun-loop-opt.
11937         (rest_of_compilation): If -frerun-loop-opt, then run the loop
11938         optimizer twice.
11939         (main): Enable -frerun-loop-opt by default for -O2 or greater.
11940
11941         * loop.c (simplify_giv_expr): Adding two invariants results
11942         in an invariant.
11943
11944 Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
11945
11946         * expr.c (get_inner_reference): Remove the array bias after
11947         converting the index to Pmode.
11948
11949 Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
11950
11951         * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
11952         (TARGET_MULT_BUG): Define.
11953         (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
11954         * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
11955
11956 Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
11957
11958         * mn10200.c (indirect_memory_operand): Delete unused function.
11959         * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
11960         * mn10200.md (bset, bclr insns): Handle output in a reg too.
11961
11962 Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
11963
11964         * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
11965         the callee's ldgp, we must do it ourselves, and we use the jsr tag
11966         for more than scheduling.
11967
11968 Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
11969
11970         * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
11971
11972 Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
11973
11974         * mn10300.c (symbolic_operand, legitimize_address): New functions.
11975         * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
11976         (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
11977
11978 Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
11979
11980         * version.c: Bump for snapshot.
11981
11982 Thu Oct 23 08:03:59 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11983
11984         * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
11985         for FILENAME.
11986
11987 Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
11988
11989         * toplev.c (flag_exceptions): Default value is 2.
11990         (compile_file): If flag_exceptions still has the value 2, then
11991         set it to 0.
11992
11993         * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
11994         (rs6000_save_machine_status): Save pic_offset_table_rtx.
11995         (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
11996
11997         * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
11998         are shared.
11999
12000         * rs6000.md (*movsi_got_internal_mem): New pattern.
12001         (*movsi_got_internal_mem splitter): New define_split.
12002
12003 Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
12004
12005         * obstack.h (obstack_empty_p): Fix spurious space after backslash.
12006
12007 Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
12008
12009         * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
12010         only need to save LR.
12011
12012 Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
12013
12014         * mn10300.md (movqi, movhi): Avoid using address registers as
12015         destinations unless absolutely necessary.
12016
12017         * mn10200.c (expand_prologue): Fix typo.
12018
12019         * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
12020         addresses.
12021         * mn10200.md (neghi2): Provide an alternative which works if
12022         the input and output register are the same.
12023
12024         * mn10300.c (print_operand): Handle 'S'.
12025         * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
12026         shift amount in last alternative
12027
12028         * mn10300.c (expand_epilogue): Rework to handle register restores
12029         in "ret" and "retf" instructions correctly.
12030
12031 Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
12032
12033         * expmed.c (extract_bit_field): Don't make flag_force_mem disable
12034         extzv for memory operands.
12035
12036         * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
12037         redundant conditional moves to single operand.
12038
12039 Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
12040
12041         * v850.h: Move define of __v850__ from CPP_PREDEFINES
12042         to CPP_SPEC.
12043
12044         * xm-v850.h: Use __v850 rather than __v850__ to
12045         identify v850 port.
12046
12047 Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
12048
12049         * mips/mips.c (compute_frame_size): Not a leaf function if
12050         profile_flag set.
12051
12052 Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
12053
12054         * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
12055
12056 Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
12057
12058         * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
12059         (DEFAULT_ARCH32_P): New macro.
12060         (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
12061         (enum cmodel): Declare.
12062         (sparc_cmodel_string,sparc_cmodel): Declare.
12063         (SPARC_DEFAULT_CMODEL): Provide default.
12064         (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
12065         (TARGET_FULLANY): Deleted.
12066         (TARGET_CM_MEDMID): New macro.
12067         (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
12068         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
12069         (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
12070         (CPP_SPEC): Rewrite.
12071         (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
12072         (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
12073         (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
12074         (ASM_SPEC): Add %(asm_arch).
12075         (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
12076         Rename asm_default to asm_cpu_default.
12077         Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
12078         cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
12079         (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
12080         ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
12081         (MASK_INT64,MASK_LONG64): Delete.
12082         (MASK_ARCH64): Renamed to MASK_64BIT.
12083         (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
12084         (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
12085         (TARGET_SWITCHES): Always provide 64 bit options.
12086         (ARCH64_SWITCHES): Delete.
12087         (TARGET_OPTIONS): New option -mcmodel=.
12088         (INT_TYPE_SIZE): Always 32.
12089         (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
12090         (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
12091         (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
12092         (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
12093         * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
12094         CPP_SPEC.
12095         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
12096         * sparc/linux.h: Likewise.
12097         * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
12098         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
12099         (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
12100         (SPARC_DEFAULT_CMODEL): Define.
12101         (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
12102         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
12103         (LONG_DOUBLE_TYPE_SIZE): Define.
12104         (ASM_SPEC): Add %(asm_arch).
12105         * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
12106         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
12107         (TARGET_CPU_DEFAULT): Add ultrasparc case.
12108         * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
12109         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
12110         (SPARC_DEFAULT_CMODEL): Define.
12111         * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
12112         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
12113         MASK_LONG64, MASK_MEDANY.
12114         (SPARC_DEFAULT_CMODEL): Define.
12115         (CPP_PREDEFINES): Delete.
12116         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
12117         (ASM_SPEC): Add %(asm_arch).
12118         (LONG_DOUBLE_TYPE_SIZE): Define.
12119         (DWARF2_DEBUGGING_INFO): Define.
12120         * sparc/splet.h (CPP_SPEC): Delete.
12121         * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
12122         (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
12123         (BLOCK_PROFILER): Likewise.
12124         * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
12125         (sparc_override_options): Handle code model selection.
12126         (sparc_init_expanders): Renamed from sparc64_init_expanders.
12127         * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
12128         TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
12129         (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
12130         (sethi_di_fullany): Delete.
12131
12132 Mon Oct 20 02:00:18 1997  Klaus Kaempf <kkaempf@progis.de>
12133                           Jeff Law <law@cygnus.com>
12134                           Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12135
12136         * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
12137         (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
12138         (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
12139         (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
12140         * alpha/alpha.md (arg_home): Likewise.
12141
12142         * alpha/alpha.c (vmskrunch): Delete
12143         * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
12144         * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
12145         truncate to 64 characters.
12146
12147         * make-l2.com: Support openVMS/Alpha.
12148
12149         * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
12150
12151 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
12152
12153         * longlong.h (count_leading_zeros): Add missing casts to USItype.
12154
12155 Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
12156
12157         * i386/bsd386.h (ASM_COMMENT_START): Define.
12158
12159 Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
12160
12161         * tree.c (restore_tree_status): Also free up temporary storage
12162         when we finish a toplevel function.
12163         (dump_tree_statistics): Print stats for backend obstacks.
12164
12165 Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
12166
12167         * expr.c (use_group_regs): Don't call use_reg for MEMs.
12168
12169 Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
12170
12171         * libgcc2.c (__throw): Don't copy the return address.
12172         * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
12173
12174         * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
12175         * toplev.c (main): Initialize exceptions_via_longjmp.
12176
12177         * tree.c: Add extra_inline_obstacks.
12178         (save_tree_status): Use it.
12179         (restore_tree_status): If this is a toplevel inline obstack and we
12180         didn't want to save anything on it, recycle it.
12181         (print_inline_obstack_statistics): New fn.
12182         * function.c (pop_function_context_from): Pass context to
12183         restore_tree_status.
12184         * obstack.h (obstack_empty_p): New macro.
12185
12186 Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
12187
12188         * i386/freebsd.h (ASM_COMMENT_START): Fix.
12189
12190 Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
12191
12192         * v850.c (ep_memory_offset): New function.
12193         (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
12194
12195         * v850.h (CONST_OK_FOR_*): Add and correct comments.
12196         (CONSTANT_ADDRESS_P): Add comment.
12197         (EXTRA_CONSTRAINT): Define 'U'.
12198         * v850.md: Add comments on bit field instructions.
12199         (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
12200         (lshrsi3): Use N not J constraint.
12201
12202         * v850.md (v850_tst1+1): New define_split for tst1 instruction.
12203
12204         * v850.c (reg_or_0_operand): Call register_operand.
12205         (reg_or_int5_operand): Likewise.
12206         * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
12207         (TARGET_SWITCHES): Add "big-switch".
12208         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
12209         ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
12210         (CASE_DROPS_THROUGH): Comment out.
12211         (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
12212         * v850.md (cmpsi): Delete compare mode.
12213         (casesi): New pattern.
12214
12215         * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
12216         * v850.md (ashlsi3): Use SImode not QImode for shift count.
12217         (lshrsi3): Likewise.
12218
12219         * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
12220         unreachable switch statement after 'b' support.  Remove "b" from
12221         strings for 'b' support.
12222         * v850.md (branch_normal, branch_invert): Change %b to b%b.
12223
12224 Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
12225
12226         * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
12227         empty line if @inhibit_libc@ is empty.
12228
12229 Fri Oct 17 23:24:40 1997  Robert Lipe (robertl@dgii.com)
12230
12231         * i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
12232         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
12233         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
12234         (DWARF2_UNWIND_INFO): Let this track object file format.
12235         (EXTRA_SECTIONS): Add in_eh.
12236         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
12237         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
12238
12239 Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
12240
12241         * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
12242         * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
12243         TARGET_MEDANY.
12244         * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
12245         (output_double_int): Output DI mode values correctly when
12246         HOST_BITS_PER_WIDE_INT is 64.
12247         (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
12248         fmovd so it works if a quad float ends up in one of the upper 32
12249         float regs.
12250         * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
12251         necessary for PIC support on sparc64.
12252
12253 Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
12254
12255         * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
12256         * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
12257         (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
12258         (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
12259         (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
12260         (SPARC_FP_ARG_FIRST): New macro.
12261         (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
12262         (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
12263         (NPARM_REGS): There are 32 fp argument registers now.
12264         (FUNCTION_ARG_REGNO_P): Likewise.
12265         (FIRST_PARM_OFFSET): Update to new v9 abi.
12266         (REG_PARM_STACK_SPACE): Define for arch64.
12267         (enum sparc_arg_class): Delete.
12268         (sparc_arg_count,sparc_n_named_args): Delete.
12269         (struct sparc_args): Redefine and use for arch32 as well as arch64.
12270         (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
12271         (FUNCTION_ARG_ADVANCE): Rewrite.
12272         (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
12273         (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
12274         (FUNCTION_ARG_CALLEE_COPIES): Delete.
12275         (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
12276         (STRICT_ARGUMENT_NAMING): Define.
12277         (doublemove_string): Declare.
12278         * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
12279         (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
12280         (doublemove_string): New function.
12281         (output_move_quad): Clean up some of the arch64 support.
12282         (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
12283         Don't add 8 bytes of reserved space if arch64.
12284         (sparc_builtin_saveregs): Combine arch32/arch64 versions.
12285         (init_cumulative_args): New function.
12286         (function_arg_slotno): New static function.
12287         (function_arg,function_arg_partial_nregs): New functions.
12288         (function_arg_{pass_by_reference,advance}): New functions.
12289         (function_arg_padding): New function.
12290         * ginclude/va-sparc.h: Rewrite v9 support.
12291
12292 Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
12293
12294         * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
12295         for hard regs to determine base and index registers.
12296
12297         * reload.c (debug_reload_to_stream): New function.  Specify stream
12298         into which to write debug info.
12299         (debug_reload): Modify to call debug_reload_to_stream with stderr.
12300
12301 Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
12302
12303         * combine.c (can_combine_p): Don't combine with an asm whose
12304         output is a hard register.
12305
12306 Thu Oct 16 15:43:26 1997  Mike Stump  (mrs@wrs.com)
12307
12308         * c-decl.c (start_struct): Ensure that structs with forward
12309         declarations are in fact packed when -fpack-struct is given.
12310
12311         * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
12312         we are packing a structure.  This allows a structure with only
12313         bytes to be aligned on a byte boundary and have no padding on a
12314         m68k.
12315
12316 Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12317
12318         * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
12319
12320 Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
12321
12322         * alpha.c (alpha_return_addr_rtx): New variable.
12323         (alpha_save_machine_status): New; save it.
12324         (alpha_restore_machine_status): New; restore it.
12325         (alpha_init_expanders): New; clear it.
12326         (alpha_return_addr): New; set it.
12327         (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
12328         is overly conservative, so search the insns explicitly.
12329         (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
12330         (alpha_sa_size [VMS && !VMS]): Likewise.
12331         * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
12332         (INIT_EXPANDERS): New definition.
12333
12334         * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
12335         (output_prolog [!VMS]): Use them.
12336
12337         * alpha.c (output_prolog [!VMS]): Move gp detection to ...
12338         (alpha_does_function_need_gp): ... a new function.  Refine the
12339         CALL_INSN test to just TYPE_JSR.
12340         * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
12341
12342 Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
12343
12344         * version.c: Bump for snapshot.
12345
12346 Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12347
12348         * pa.c (move_operand): Respect -mdisable-indexing.
12349         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
12350
12351 Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
12352
12353         * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
12354         PPC601.
12355         (umulsidi3,umulsi3_highpart): Ditto.
12356         (smulsi3_highpart_no_mq): Add !TARGET_POWER.
12357
12358 Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
12359
12360         * alpha.c (final_prescan_insn): Gut, remove and transform to ...
12361         (alpha_handle_trap_shadows): ... a new function.  Handle the entire
12362         function in one go.  Emit RTL for trapb, instead of printf directly.
12363         (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
12364         (trap_pending): Kill global variable.
12365         (output_epilog): Don't call final_prescan_insn.
12366         (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
12367         * alpha.h (FINAL_PRESCAN_INSN): Remove.
12368         (MACHINE_DEPENENT_REORG): Define.
12369         * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
12370         (trapb): New insn.
12371
12372 Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
12373
12374         Tune Haifa scheduler for Alpha:
12375         * alpha.h (ISSUE_RATE): Define.
12376         * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
12377         EV4 adjustments to EV5.
12378         * alpha.md: Remove all scaling from function unit delays.  Rework
12379         EV5 function units to match the CPU.
12380         (umuldi3_highpart): EV5 added the IMULH insn class.
12381
12382 Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
12383
12384         * pa.c (following_call): Fail if the CALL_INSN is an indirect
12385         call.
12386
12387 Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
12388
12389         * cplus-dem.c (demangle_signature): Don't look for return types on
12390         constructors.  Handle member template constructors.
12391
12392 Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
12393
12394         * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
12395         * tree.h: Declare them.
12396
12397 Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
12398
12399         * configure.in: Handle --with-newlib.
12400         * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
12401
12402         * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
12403
12404 Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
12405
12406         * config/ptx4.h: Fix typo.
12407
12408 Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
12409
12410         * version.c: Bump for snapshot.
12411
12412 Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
12413
12414         * aclocal.m4: Substitute INSTALL.
12415         * configure: Re-built.
12416
12417 Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
12418
12419         * integrate.c (save_for_inline_copying): Avoid undefined pointer
12420         operations.
12421         (expand_inline_function): Likewise.
12422
12423         * dwarf2out.c (output_call_frame_info): Reinstate last change
12424         using flag_debug_asm check instead of flag_verbose_asm.
12425
12426 Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
12427
12428         * dwarf2out.c (output_call_frame_info): Remove last change.
12429
12430 1997-10-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
12431
12432         * frame.c (__frame_state_for): Execute the FDE insns until the
12433         current pc value is strictly bigger than the target pc value.
12434
12435 Tue Oct  7 11:00:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
12436
12437         * regclass.c (init_reg_modes): If we can't find a mode for the
12438         register, use the previous one.
12439
12440 Tue Oct  7 10:55:34 1997  Richard Henderson  <rth@cygnus.com>
12441
12442         * haifa-sched.c (print_block_visualization): Call fprintf directly,
12443         don't sprintf through an alloca'ed buffer.
12444
12445 Tue Oct  7 10:52:29 1997  Thomas Koenig (ig25@rz.uni-karlsruhe.de)
12446
12447         * reload.c (decompose): Always initialize val.base.
12448
12449 Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
12450
12451         * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
12452         instead of aborting.
12453         * dwarf2out.c (output_call_frame_info): Call app_enable and
12454         app_disable to let GNU as accept the generated comments.
12455
12456 Tue Oct  7 11:41:21 1997  Michael Meissner  <meissner@cygnus.com>
12457
12458         * tree.h (get_file_function_name): Add declaration.
12459         * dwarf2out.c (output_call_frame_info): No need to cast
12460         get_file_function_name call anymore.
12461         * profile.c (toplevel): Remove get_file_function_name
12462         declaration.
12463         * c-lang.c (finish_file): Ditto.
12464
12465 Tue Oct  7 10:01:45 1997  Chip Salzenberg <chip@rio.atlantic.net>
12466
12467         * Makefile.in (program_transform_name): Let autoconf substitute
12468         the correct value.
12469
12470 Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
12471
12472         * haifa-sched.c (schedule_block): If the first real insn in a
12473         block has any special notes attached to it, remove them.
12474
12475 Tue Oct  7 09:48:51 1997  Richard Henderson  <rth@cygnus.com>
12476
12477         * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
12478
12479 Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
12480
12481         * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
12482
12483 Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
12484
12485         * Makefile.in (check-g77): New test target.
12486         (CHECK-TARGETS): Add check-g77.
12487
12488 Fri Oct  3 11:56:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
12489
12490         * toplev.c (rest_of_compilation): Defer all non-nested inlines.
12491
12492 Fri Oct  3 15:49:27 1997  Michael Meissner  <meissner@cygnus.com>
12493
12494         * flow.c (print_rtl_with_bb): Cast alloca return value for
12495         in_bb_p.
12496
12497 Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
12498
12499         * i386.h (RETURN_ADDR_RTX): New definition that works for
12500         __builtin_return_address(0) and -fomit-frame-pointer.
12501
12502 Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
12503
12504         Bring over from FSF.
12505         Tue Aug  5 16:10:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
12506
12507         * mips.c (function_arg): Handle passing a struct
12508         containing a double in a DFmode register without the PARALLEL.
12509
12510 Wed Oct  1 11:13:25 1997  Ian Lance Taylor  <ian@cygnus.com>
12511
12512         * pexecute.c: Use spawn if __CYGWIN32__.
12513
12514         * pexecute.c: Include "config.h" first, as per autoconf manual
12515         (from Paul Eggert  <eggert@twinsun.com>).
12516
12517 Wed Oct  1 01:44:36 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
12518
12519         * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
12520         optimisation for f/expr.o and f/stb.o.
12521
12522 Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
12523
12524         * cse.c (this_insn_cc0_mode): Initialize.
12525
12526 Tue Sep 30 23:09:40 1997  Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
12527
12528         * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
12529
12530         * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
12531
12532 Tue Sep 30 23:06:43 1997  Richard Henderson  <rth@cygnus.com>
12533
12534         * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
12535         that pair will dual-issue on the 21164 and plus+beq won't.
12536         (bne): Likewise for cmpeq+beq.
12537
12538 Tue Sep 30 16:07:58 1997  Jim Wilson  <wilson@cygnus.com>
12539
12540         * except.c (find_exception_handler_labels): Correct argument to free.
12541
12542 Tue Sep 30 11:00:00 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
12543
12544         * except.c (find_exception_handler_labels): Free LABELS when we're
12545         done.
12546
12547 Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
12548
12549         * version.c: Bump for snapshot.
12550
12551 Mon Sep 29 10:51:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
12552
12553         * flow.c (find_basic_blocks): Mark calls as potentially jumping
12554         to the EH labels.
12555
12556 Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
12557
12558         * configure.in: Substitute for "install" too.
12559         * configure: Rebuilt.
12560
12561 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
12562
12563         * Makefile.in (bootstrap-lean, compare-lean): New targets.
12564
12565 Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
12566
12567         * alias.c (base_alias_check): Two symbols can conflict if they
12568         are accessed via AND.
12569         (memrefs_conflict_p): Likewise.
12570
12571         * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
12572         after flushing argument registers to the stack.
12573
12574         * Makefile.in (mostlyclean): Remove .regmove files.
12575
12576 Sun Sep 28 18:59:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
12577
12578         * libgcc2.c (__throw): Fix thinko.
12579
12580 Sun Sep 28 12:00:52 1997  Mark Mitchell  <mmitchell@usa.net>
12581
12582         * cplus-dem.c (demangle_template): Add new parameter.  Handle new
12583         template-function mangling.
12584         (consume_count_with_underscores): New function.
12585         (demangle_signature): Handle new name-mangling scheme.
12586
12587 Sun Sep 28 01:55:04 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
12588
12589         * flow.c (print_rtl_with_bb): Cast alloca return values for variables
12590         start and end.
12591
12592 Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
12593
12594         * frame.c: Remove last change.
12595         * dwarf2.h: Remove last change.
12596         * tree.h: Add declarations of DWARF2 unwind info support
12597         functions.
12598
12599 Sat Sep 27 11:02:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
12600
12601         * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
12602         * tree.h (built_in_function): Likewise.
12603         * expr.c (expand_builtin): Likewise.
12604         * except.h: Likewise.
12605         * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
12606         * libgcc2.c (copy_reg): New fn.
12607         (__throw): Use it.
12608
12609 Fri Sep 26 08:54:59 1997  Paul Eggert  <eggert@twinsun.com>
12610
12611         * c-typeck.c (build_binary_op): Warn about comparing signed vs
12612         unsigned if -W is specified and -Wno-sign-compare is not.
12613         * c-decl.c (warn_sign_compare): Initialize to -1.
12614         (c_decode_option): -Wall no longer implies -Wsign-compare.
12615
12616 Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
12617
12618         * frame.c: Include gansidecl.h for PROTO.
12619         * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
12620         defined.  Don't declare dwarf2out_cfi_label here.
12621         * dwarf2.h: Add declarations of DWARF2 unwind info support
12622         functions.
12623         * m68k.c: Include dwarf2.h.
12624         (output_function_prologue): Add dwarf2 support.
12625         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
12626         (INCOMING_FRAME_SP_OFFSET): Likewise.
12627
12628         * integrate.c (expand_inline_function): Make sure there is at
12629         least one insn that can be used as an insertion point.
12630
12631 Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
12632
12633         * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
12634
12635 Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
12636
12637         * version.c: Bump for snapshot.
12638
12639 Wed Sep 24 17:36:23 1997  Doug Evans  <dje@canuck.cygnus.com>
12640
12641         Bring over from FSF.
12642
12643         Wed Sep 24 19:17:08 1997  Doug Evans  <dje@cygnus.com>
12644
12645         * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
12646         (get_pc_via_rdpc): Renamed from get_pc_sp64.
12647         * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
12648
12649         Wed Sep 24 18:38:22 1997  David S. Miller  <davem@tanya.rutgers.edu>
12650
12651         * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
12652         (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
12653         -malign-functions=.
12654         (sparc_align_{loops,jumps,funcs}_string): Declare.
12655         (sparc_align_{loops,jumps,funcs}): Declare.
12656         (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
12657         (FUNCTION_BOUNDARY): Use sparc_align_funcs.
12658         (STACK_BIAS): Define.
12659         (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
12660         test.
12661         (SPARC_SETHI_P): New macro.
12662         (CONST_OK_FOR_LETTER_P): Use it.
12663         (ASM_OUTPUT_ALIGN_CODE): Define.
12664         (ASM_OUTPUT_LOOP_ALIGN): Define.
12665         * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
12666         (sparc_align_{loops,jumps,funcs}): New globals.
12667         (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
12668         -malign-functions=.
12669         (move_operand): Use SPARC_SETHI_P.
12670         (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
12671         perform test.
12672         (arith11_double_operand): Likewise.
12673         (arith10_double_operand): Likewise.
12674         (finalize_pic): Finish sparc64 support.
12675         (emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
12676         64 bit constants if able.
12677         (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
12678         (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
12679         ! TARGET_FPU.
12680         * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
12681         (get_pc_sp32): Use for sparc64 as well.
12682         (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
12683         (sethi_di_sp64_const): Likewise.
12684         (movtf_cc_sp64): Check TARGET_HARD_QUAD.
12685         (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
12686         (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
12687
12688         Tue Sep 23 19:02:46 1997  Doug Evans  <dje@cygnus.com>
12689
12690         * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
12691         * sparc/linux.h (COMMENT_BEGIN): Likewise.
12692         * sparc/linux64.h (COMMENT_BEGIN): Likewise.
12693
12694         Tue Sep 23 14:48:18 1997  David S. Miller  <davem@tanya.rutgers.edu>
12695
12696         Add sparc64 linux support.
12697         * configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
12698         to xm_file list on 32-bit sparc-linux.
12699         * sparc/xm-sp64.h: New file.
12700         * sparc/linux64.h: New file.
12701         * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
12702         Don't include xm-sparc.h.
12703         * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
12704         * glimits.h (LONG_MAX): Handle sparc64.
12705
12706         Sat Sep 20 03:07:54 1997  Doug Evans  <dje@cygnus.com>
12707
12708         * sparc/sysv4.h (ASM_COMMENT_START): Delete.
12709         * sparc.h (ASM_COMMENT_START): Define.
12710         * sparc.c (output_function_prologue): Use it.
12711         (sparc_flat_output_function_{epi,pro}logue): Likewise.
12712
12713         Wed Sep 17 15:04:19 1997  Doug Evans  <dje@cygnus.com>
12714
12715         * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
12716         use sparc.h's copies.
12717         * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
12718         ascii form as well.
12719
12720         Mon Sep  8 08:45:19 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12721
12722         * sparc.c (dwarf2out_cfi_label): Add declaration.
12723         (save_regs, output_function_prologue): Remove cast for it.
12724         (sparc_flat_{save_restore,output_function_prologue): Likewise.
12725         ({save,restore}_regs): No longer inline.
12726
12727 Tue Sep 23 12:34:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12728
12729         * fold-const.c (make_range): Correctly handle cases of converting
12730         from unsigned to signed type.
12731
12732 Tue Sep 23 12:34:51 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12733
12734         * fold-const.c (merge_ranges): Make sure that if one range is subset
12735         of another, it will always be the second range.  Correct (+,-) case to
12736         account for this.
12737
12738 Tue Sep 23 08:32:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
12739
12740         * final.c (final_end_function): Also do dwarf2 thing if
12741         DWARF2_DEBUGGING_INFO.
12742         (final_start_function): Likewise.
12743
12744 Tue Sep 23 01:15:50 1997  David S. Miller  <davem@tanya.rutgers.edu>
12745
12746         * expmed.c (expand_divmod): If compute_mode is not the same as
12747         mode, handle the case where convert_modes() causes op1 to no
12748         longer be a CONST_INT.
12749
12750         * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
12751         note holding get_jump_flags() calculation to all JUMP_INSNs.
12752         * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
12753         * rtl.c (reg_note_name): Add new note types.
12754
12755 Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
12756
12757         * rtlanal.c (computed_jump_p): Fix typo in last change.
12758
12759 Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
12760
12761         * loop.c (indirect_jump_in_function_p): Return 0
12762         by default.
12763
12764 Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
12765
12766         * rs6000/xm-rs6000.h: Fix thinko in last change.
12767         * rs6000/xm-sysv4.h: Likewise.
12768
12769 Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>
12770
12771         * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
12772
12773 Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
12774
12775         * reg-stack.c (find_blocks): Fix thinko in last change.
12776
12777 1997-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
12778
12779         * m68k.c (output_function_prologue): Add dwarf2 support.
12780
12781         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
12782         INCOMING_FRAME_SP_OFFSET): New definitions.
12783
12784 Mon Sep 22 11:36:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
12785
12786         * combine.c (try_combine): Use NULL_RTX instead of '0' where
12787         appropriate in calls to gen_rtx().
12788         * cse.c (cse_main): Likewise.
12789         * emit-rtl.c (gen_label_rtx): Likewise.
12790         * expr.c (init_expr_once): Likewise.
12791         * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
12792         sched_analyze, init_rgn_data_dependences,
12793         compute_block_backward_dependences): Likewise.
12794         * sched.c (schedule_insns): Likewise.
12795         * varasm.c (immed_double_const): Likewise.
12796
12797         * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
12798         SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
12799
12800 Mon Sep 22 11:21:33 1997  J. Kean Johnston  <jkj@sco.com>
12801
12802         * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
12803         (MULTILIB_DEFAULTS): Define.
12804         (ASM_SPEC, CPP_SPEC): Handle -mcoff.
12805         (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
12806         (LIBGCC_SPEC): Likewise.
12807         (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
12808         (SUBTARGET_SWITCHES): Add -mcoff and -melf.
12809         * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
12810         (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
12811         (EXTRA_PARTS, TAROUTOPTS): Delete.
12812         (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
12813         (MULTILIB_OPTIONS): Define.
12814         (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
12815         (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
12816
12817 Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
12818
12819         * version.c: Bump for snapshot.
12820
12821 Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
12822
12823         * loop.c (loop_number): Delete function.  Change all references
12824         to use uid_loop_num array.
12825         * loop.h (loop_number): Delete declaration.
12826         * unroll.c (unroll_loop): Change "loop_number" references to
12827         use uid_loop_num instead.
12828
12829         * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
12830         conditional.
12831         (loop_unroll_iter): Remove unused variable and all references.
12832         (loop_optimize): Always allocate and clear space for loop_unroll_factor.
12833         (insert_bct): Fix minor formatting problems.
12834         * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
12835         (loop_unroll_iter): Removed unused decl.
12836         * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
12837         Always record the unrolling factor.
12838
12839         * cse.c (simplify_relational_operation): Set h0u just like h0s.
12840         Similarly for h1u and h1s.
12841
12842         * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
12843         (find_basic_blocks): Use computed_jump_p to determine if a
12844         particular JUMP_INSN is a computed jump.
12845         * reg-stack.c (find_blocks): Use computed_jump_p to determine
12846         if a particular JUMP_INSN is a computed jump.
12847         * rtlanal.c (jmp_uses_reg_or_mem): New function.
12848         (computed_jump_p): Likewise.
12849         * rtl.h (computed_jump_p): Declare.
12850         * genattrtab.c (pc_rtx): Define and initialize.
12851         * loop.c (loop_optimize): Always determine if the current
12852         function has a computed jump.
12853         (indirect_jump_in_function_p): Use computed_jump_p to determine
12854         if a particular JUMP_INSN is a computed jump.
12855
12856         * loop.c (fix_bct_param): Delete unused function.
12857         (check_bct_param): Likewise.
12858
12859 Sat Sep 20 16:22:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
12860
12861         * frame.c (__deregister_frame): Check properly for initialized object.
12862
12863 Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
12864
12865         * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
12866
12867 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
12868
12869         * jump.c (thread_jumps): check can_reverse_comparison_p before
12870         threading a reversed-condition jump.
12871
12872         * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
12873         * haifa-sched.c (update_flow_info): Likewise.
12874
12875 Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
12876
12877         * Makefile.in (BOOT_CFLAGS): Use -O2.
12878
12879         * configure.in (strtoul, bsearch): Have autoconf check for these
12880         functions.
12881         * configure, config.in: Rebuilt.
12882
12883         * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
12884         * mips/mips.h (alloca): Likewise.
12885         * rs6000/xm-rs6000.h (alloca): Likewise.
12886         * rs6000/xm-sysv4.h: Likewise.
12887
12888 Thu Sep 18 14:22:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
12889
12890         * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
12891         * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
12892         (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
12893
12894         * except.c (end_eh_unwinder): Subtract 1 from return address.
12895         * libgcc2.c (__throw): Likewise.
12896         (find_exception_handler): Don't change PC here.  Compare end with >.
12897
12898 Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
12899
12900         * v850.c (compute_register_save_size): Correct register
12901         number.
12902         * v850.md (save_interrupt, return_interrupt): Correct
12903         register number.
12904         * v850/lib1funcs.asm (save_interrupt): Correct register number.
12905         (return_interrupt): Use stack pointer, not element pointer.
12906
12907 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
12908
12909         * configure.in, configure: Make sure to create the stage* and include
12910         symbolic links in each subdirectory.
12911
12912 Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
12913
12914         * pa.md (reload_peepholes): Don't allow addresses with side
12915         effects for the memory operand.
12916
12917 Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
12918
12919         * libgcc2.c (find_exception_handler): Subtract one from our PC when
12920         looking for a handler, to avoid hitting the beginning of the next
12921         region.
12922
12923         * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
12924
12925 Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
12926
12927         * mips/abi64.h (LONG_MAX_SPEC): Define.
12928         * mips.h (LONG_MAX_SPEC): Define.
12929         (CPP_SPEC): Include long_max_spec.
12930         (EXTRA_SPECS): Include long_max_spec.
12931
12932 Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
12933
12934         * v850.c (construct_save_jarl): Fix thinko in last change.
12935
12936 Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
12937
12938         * version.c: Bump for snapshot.
12939
12940 Tue Sep 16 14:22:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
12941
12942         * libgcc2.c (find_exception_handler): Not found is -1.
12943
12944         * integrate.c (expand_inline_function): Move expand_start_bindings
12945         after expanding the arguments.
12946
12947 Tue Sep 16 11:13:46 1997  Jim Wilson  <wilson@cygnus.com>
12948
12949         * expr.c (expand_expr): Remove previous incorrect change.
12950         If target and slot has no DECL_RTL, then call mark_addressable
12951         again for the slot after we give it RTL.
12952
12953 Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
12954
12955         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
12956         again for the slot after we give it RTL.
12957
12958 Tue Sep 16 00:13:20 1997  Nick Clifton  <nickc@cygnus.com>
12959
12960         * v850.c (register_is_ok_for_epilogue,
12961         pattern_is_ok_for_epilogue, construct_restore_jr,
12962         pattern_is_ok_for_prologue, construct_save_jarl): New functions.
12963
12964         * v850.h (pattern_is_ok_for_prologue,
12965         pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
12966         predicates.
12967
12968         * v850.md: Replace prologue and epilogue patterns with a
12969         match_parallel pattern.
12970
12971 Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
12972
12973         * aclocal.m4: Add replacement for AC_PROG_INSTALL.
12974         * configure.in: Use EGCS_PROG_INSTALL.
12975
12976 Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
12977
12978         * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
12979         extern inline function.
12980
12981 Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
12982
12983         * dwarf2out.c (reg_loc_descriptor): Fix prototype.
12984         (concat_loc_descriptor): New function.
12985         (loc_descriptor): Call it.
12986         (add_AT_location_description): Also elide the descriptor if both
12987         halves of a CONCAT are pseudos.
12988         (add_location_or_const_value_attribute): Recognize CONCAT too.
12989
12990 Mon Sep 15 15:24:00 1997  Richard Henderson  <rth@cygnus.com>
12991
12992         * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
12993
12994         * alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
12995         out-or-range reg_offset.
12996         (output_epilog): Likewise.
12997
12998 Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
12999
13000         * cse.c (simplify_relational_operation): If MODE specifies a
13001         mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
13002         is derived from the sign bit of the low word.
13003
13004 Mon Sep 15 11:43:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
13005
13006         Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
13007
13008         * dwarf2.h: Add DW_CFA_GNU_args_size.
13009         * frame.c (execute_cfa_insn): Likewise.
13010         * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
13011         (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
13012         (dwarf2out_frame_debug): If this isn't a prologue or epilogue
13013         insn, hand it off to dwarf2out_stack_adjust.
13014         (dwarf2out_begin_prologue): Initialize args_size.
13015         * frame.h (struct frame_state): Add args_size.
13016         * libgcc2.c (__throw): Use args_size.
13017         * final.c (final_scan_insn): If we push args, hand off all insns
13018         to dwarf2out_frame_debug.
13019         * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
13020
13021         * dwarf2out.c dwarf2out_frame_debug): Fix typo.
13022         Handle epilogue restore of SP from FP.
13023         * emit-rtl.c (gen_sequence): Still generate a sequence if the
13024         lone insn has RTX_FRAME_RELATED_P set.
13025
13026         * frame.c (extract_cie_info): Handle "e" augmentation.
13027         * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
13028         absence of UNALIGNED_*_ASM_OP.
13029         (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
13030         (output_call_frame_info): Use "e" instead of "z" for augmentation.
13031         Don't emit augmentation fields length.
13032         (dwarf2out_do_frame): Move outside of #ifdefs.
13033         * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
13034         opcodes.
13035
13036         * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
13037         * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
13038         * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
13039         * sparc/sun4gas.h: New file.
13040         * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
13041
13042         * collect2.c (write_c_file_stat, write_c_file_glob): Declare
13043         __register_frame_table and __deregister_frame.
13044
13045 1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
13046
13047         * except.c (find_exception_handler_labels): Use xmalloc instead of
13048         alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
13049         in some cases.
13050
13051 Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
13052
13053         * Makefile.in: Various changes to build info files
13054         in the object tree rather than the source tree.
13055
13056 Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
13057
13058         * fixinc.math: New file to fix math.h on some systems.
13059         * configure.in (freebsd, netbsd): Use fixinc.math on these
13060         systems.
13061         * configure: Rebuilt.
13062
13063 Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
13064
13065         * regmove.c (regmove_optimize): If we end up moving the
13066         original insn due to lifetime overlaps, make sure to move
13067         REG_NOTES too.
13068
13069 Sat Sep 13 15:51:11 1997  Manfred Hollstein  <manfred@s-direktnet.de>
13070
13071         * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
13072
13073 Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
13074
13075         * haifa-sched.c (add_branch_dependences): Make each insn in
13076         a SCHED_GROUP_P block explicitly depend on the previous insn.
13077
13078 Fri Sep 12 13:49:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
13079
13080         * except.h: Prototype dwarf2 hooks.
13081         * expr.c: Adjust.
13082
13083 Thu Sep 11 17:43:55 1997  Jim Wilson  <wilson@cygnus.com>
13084
13085         * configure.in (native_prefix): Delete.
13086         (mips-dec-netbsd): Don't set prefix.
13087         (*linux*): Don't set prefix.
13088
13089 Thu Sep 11 15:48:32 1997  Fred Fish  <fnf@ninemoons.com>
13090
13091         * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
13092         defined.  If not defined, include <sys/varargs.h> if
13093         HAVE_SYS_VARARGS_H is defined.
13094         * configure.in: Test for varargs.h and sys/varargs.h.
13095         * configure: Regenerate with autoconf.
13096         * config.in: Regenerate with autoheader.
13097
13098         * cpplib.c (quote_string): Cast first arg of sprintf call
13099         from "unsigned char *" to "char *".
13100         (output_line_command): Ditto.
13101         (macroexpand): Ditto.
13102         (do_line): Cast atoi arg from "unsigned char *" to "char *".
13103
13104 Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
13105
13106         * version.c: Bump for snapshot.
13107
13108         * Makefile.in (compare): Exit with nonzero status if there
13109         are comparison failures.  Note which files failed the
13110         comparison test in .bad_compare.
13111
13112 Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
13113
13114         * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
13115
13116 Wed Sep 10 16:37:28 1997  Fred Fish  <fnf@ninemoons.com>
13117
13118         * Makefile.in (LN, LN_S): New macros, use where appropriate.
13119         * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
13120         * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
13121         * configure: Regenerated.
13122
13123 Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
13124
13125         * loop.c (strength_reduce): Fix typo.
13126
13127 Wed Sep 10 16:01:15 1997  Jim Wilson  <wilson@cygnus.com>
13128
13129         * m88k/m88k.c (struct option): Rename to struct options.
13130         * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
13131         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
13132         * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
13133         __DOLPHIN__ or sysV88.
13134
13135 Wed Sep 10 14:58:40 1997  Jim Wilson  <wilson@cygnus.com>
13136
13137         * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
13138         create new subreg.
13139
13140 Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
13141
13142         * config.sub: Accept 'amigados' for backward compatability.
13143
13144 Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
13145
13146         * Makefile.in (testsuite/site.exp): New target.
13147         (check-gcc, check-g++): Depend on testsuite/site.exp.
13148         Don't stop for failure.
13149
13150 Wed Sep 10 12:59:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
13151
13152         * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
13153         if DWARF2_UNWIND_INFO.
13154
13155 Wed Sep 10 11:49:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
13156
13157         Add support for exception handling using DWARF 2 frame unwind info.
13158         Currently works on SPARC and MIPS, and almost on x86.
13159
13160         * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
13161         next_stack_level, in_reg_window): Helper fns.
13162         (__throw): Implement for DWARF2_UNWIND_INFO.
13163
13164         * expr.c (expand_builtin): Handle builtins used by __throw.
13165         * tree.h (enum built_in_function): Add builtins used by __throw.
13166         * c-decl.c (init_decl_processing): Declare builtins used by __throw.
13167         * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
13168         * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
13169         (expand_builtin_extract_return_addr): Likewise.
13170         (expand_builtin_frob_return_addr): Likewise.
13171         (expand_builtin_set_return_addr_reg): Likewise.
13172         (expand_builtin_eh_stub): Likewise.
13173         (expand_builtin_set_eh_regs): Likewise.
13174         (eh_regs): Choose two call-clobbered registers for passing back values.
13175
13176         * frame.c, frame.h: New files for parsing dwarf 2 frame info.
13177         * Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
13178         (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
13179         (stmp-multilib): Likewise.
13180         ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
13181
13182         * except.c: #include "defaults.h".
13183         (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
13184         (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
13185         (register_exception_table_p): New fn.
13186         (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
13187         (end_eh_unwinder): Likewise.
13188
13189         * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
13190         call __register_frame and __deregister_frame as needed.
13191         * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
13192         * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
13193         EH_FRAME_SECTION_ASM_OP.
13194         * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
13195         * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
13196         (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
13197
13198         * dwarf2out.c (output_call_frame_info): If no support for
13199         EXCEPTION_SECTION, mark the start of the frame info with a
13200         collectable tag.
13201         * collect2.c (frame_tables): New list.
13202         (is_ctor_dtor): Recognise frame entries.
13203         (scan_prog_file): Likewise.
13204         (main): Pass -fno-exceptions to sub-compile.  Also do collection
13205         if there are any frame entries.
13206         (write_c_file_stat): Call __register_frame_table and
13207         __deregister_frame as needed.
13208         (write_c_file_glob): Likewise.
13209
13210         * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
13211         Also require unaligned reloc support.
13212         * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13213         UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
13214         * sparc/sysv4.h: Not here.
13215
13216         * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
13217         * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
13218         (dwarf2out_finish): Don't call dwarf2out_frame_finish.
13219
13220         * libgcc2.c (L_eh): Reorganize, moving code shared by different
13221         EH implementations to the top.
13222         (find_exception_handler): Split out.  Start from 0.  Compare against
13223         end with >=.
13224         (__find_first_exception_table_match): Use it.
13225         * except.c (output_exception_table): Don't do anything if there's
13226         no table.  Don't output a first entry of zeroes.
13227         (eh_outer_context): Adjust properly.
13228         (add_eh_table_entry): Use xrealloc.
13229         * toplev.c (compile_file): Just call output_exception_table.
13230
13231 Wed Sep 10  11:30:36 1997  Jason Merrill  <jason@cygnus.com>
13232
13233         * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
13234
13235 Wed Sep 10 08:17:10 1997  Torbjorn Granlund  <tege@pdc.kth..se>
13236
13237         * except.c (eh_outer_context): Do masking using expand_and.
13238
13239 Wed Sep 10 01:38:30 1997  Doug Evans  <dje@cygnus.com>
13240
13241         Add port done awhile ago for the ARC cpu.
13242         * arc/arc.h: New file.
13243         * arc/arc.c: New file.
13244         * arc/arc.md: New file.
13245         * arc/initfini.c: New file.
13246         * arc/lib1funcs.asm: New file.
13247         * arc/t-arc: New file.
13248         * arc/xm-arc.h: New file.
13249         * ginclude/va-arc.h: New file.
13250         * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
13251         * ginclude/varargs.h: Likewise.
13252         * Makefile.in (USER_H): Add va-arc.h.
13253         * configure.in (arc-*-elf*): Recognize.
13254         * longlong.h: Add ARC support.
13255
13256 Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
13257
13258         * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
13259         when clearing non-BLKmode data.
13260
13261 Wed Sep 10 00:29:29 1997  Manfred Hollstein  <manfred@s-direktnet.de>
13262
13263         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
13264         * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
13265
13266         * xm-m88k.h (USG): Only define if it hasn't already been defined.
13267
13268         * Makefile.in (risky-stage1): Delete gratutious whitespace.
13269
13270         * Makefile.in (clean): Delete libgcc1-test.
13271
13272         * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
13273
13274 Tue Sep  9 17:07:36 1997  Stan Cox  <coxs@dg-rtp.dg.com>
13275
13276         * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
13277         template.
13278
13279 Tue Sep  9 09:50:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13280
13281         * dwarf2out.c (output_call_frame_info): Call named_section.
13282
13283 Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
13284
13285         * haifa-sched.c (print_value): Fix last change.
13286
13287 Tue Sep  9 01:30:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
13288
13289         * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
13290         write_symbols.
13291
13292 Mon Sep  8 16:32:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
13293
13294         * mips.c (function_prologue): Set up the CFA when ABI_32.
13295
13296         * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
13297         for dwarf2 unwind info.
13298         (output_function_prologue, sparc_flat_output_function_prologue): Same.
13299
13300         * final.c (final_end_function): Check dwarf2out_do_frame instead
13301         of DWARF2_DEBUG for dwarf2 unwind info.
13302         (final_scan_insn): Likewise.
13303         (final_start_function): Likewise.  Initialize dwarf2 frame debug here.
13304         (final): Not here.
13305
13306         * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
13307         count > 0.
13308
13309         * varasm.c (exception_section): Check EXCEPTION_SECTION first.
13310
13311 Mon Sep  8 15:15:11 1997  Nick Clifton  <nickc@cygnus.com>
13312
13313         * v850.h (ASM_SPEC): Pass on target processor.
13314         (CPP_PREDEFINES): Only define if not already specified.
13315         (TARGET_VERSION): Only define if not already specified.
13316         (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
13317         processor.
13318         (EXTRA_SWITCHES): Extra entries in the switches array.
13319         (TARGET_DEFAULT): Set default target processor.
13320
13321 Mon Sep  8 18:26:35 1997  Jim Wilson  <wilson@cygnus.com>
13322
13323         * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
13324         cases, add %# and %/, and add : to make them into extended asms.
13325
13326 Sun Sep  7 23:57:50 1997  Weiwen Liu  <liu@hepunix.physics.yale.edu>
13327
13328         * alias.c (init_alias_analysis): Clean up incompatible pointer
13329         type warning in bzero.
13330         * regmove.c (regmove_optimize): Ditto.
13331         * haifa-sched.c (find_rgns): Ditto.
13332
13333         * haifa-sched.c (print_value): Clean up ptr->int cast
13334         warnings.
13335
13336 Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
13337
13338         * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
13339         * install.texi (Configurations): Ditto.
13340         * config.sub: Ditto.
13341
13342 Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
13343
13344         * Makefile.in (sdbout.o): Depend on insn-config.h.
13345
13346 Sun Sep  7 18:44:50 1997  Jim Wilson  <wilson@cygnus.com>
13347
13348         * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
13349         For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
13350
13351 Sun Sep  7 18:30:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
13352
13353         * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
13354         prologue insn, only the first elt is significant.
13355         (output_call_frame_info): For exception handling, always use 4-byte
13356         fields as specified by the dwarf2 spec.
13357         Don't skip trivial FDEs.
13358
13359 Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
13360
13361         * version.c: Bump for snapshot.
13362
13363 Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
13364
13365         * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
13366         for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
13367         when op1_is_pow2.
13368
13369 Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
13370
13371         * final.c (shorten_branches): During first pass, assume worst
13372         possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
13373
13374         * Makefile.in (distclean): Remove various things left around
13375         by running the testsuite.
13376
13377 Sun Sep  7 13:16:06 1997  Manfred Hollstein  <manfred@s-direktnet.de>
13378
13379         * configure.in (out_file): Emit definition to config.status in order
13380         to have a defined value for configure.lang.
13381         * configure: Re-built.
13382
13383 Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
13384
13385         * configure.in: Make symlink to as-new rather than as.new.  Similarly
13386         for ld-new.
13387         * configure: Rebuilt.
13388
13389 Fri Sep  5 16:54:55 1997  Jim Wilson  <wilson@cygnus.com>
13390
13391         * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
13392
13393 Fri Sep  5 16:16:44 1997  Christian Kuehnke  <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
13394
13395         * sparc/sparc.md: Add ultrasparc scheduling support.
13396         * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
13397
13398 Fri Sep  5 14:04:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
13399
13400         * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
13401         as initial value for real_label_map.
13402         (copy_for_inline): Likewise.
13403
13404 Fri Sep  5 13:36:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
13405
13406         * sched.c (update_flow_info) When looking if to set found_split_dest
13407         or found_orig_dest, look at all parts of a PARALLEL.
13408         * haifa-sched.c (update_flow_info): Likewise.
13409
13410 Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
13411
13412         * v850: New directory for v850 port.
13413         * v850/lib1funcs.asm: New file.
13414         * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
13415         * ginclude/va-v850.h: New file.
13416         * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
13417         * configure.in (mn10200-*-*): New target.
13418         * configure: Rebuilt.
13419         * config.sub: Handle v850-elf.
13420         * Makefile.in (USER_H): Add va-mn10200.h.
13421         * invoke.texi: Document v850 stuff.
13422
13423 Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
13424
13425         * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
13426         has integer TYPE_{MAX,MIN}_VALUE before using them.
13427
13428         * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
13429         __HPUX_ASM__ versions.
13430
13431 Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
13432
13433         * install.sh: Delete duplicate install script.
13434
13435 Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
13436
13437         * reg-stack.c (subst_stack_regs): Pop the stack register for a
13438         computed goto which sets the same stack register.
13439
13440         * reg-stack.c (compare_for_stack_reg): Swap only if the source and
13441         destination are both on the regstack.
13442         (subst_stack_regs_pat): Put the destination at the top of the regstack.
13443
13444 Thu Sep  4 15:02:27 1997  Jim Wilson  <wilson@cygnus.com>
13445
13446         * mips.md (nonlocal_goto_receiver): Define.
13447
13448         * profile.c (output_arc_profiler): Check next_insert_after for non
13449         NULL before deferencing it.
13450
13451         * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
13452
13453 Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
13454
13455         * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
13456
13457 Thu Sep  4 15:01:49 1997  Michael Meissner  <meissner@cygnus.com>
13458
13459         * toplev.c (rest_of_compilation): For passes starting with
13460         flow_analysis, use print_rtl_with_bb instead of print_rtl.
13461
13462         * print-rtl.c (print_rtl_single): Print a single rtl value to a
13463         file.
13464
13465         * flow.c (print_rtl_with_bb): Print which insns start and end
13466         basic blocks.  For the start of a basic block, also print the live
13467         information.
13468
13469 Thu Sep  4 11:51:43 1997  Jim Wilson  <wilson@cygnus.com>
13470
13471         * toplev.c (main): Change #elif to #else/#ifdef
13472
13473         * tlink.c: Include ctype.h.
13474         * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
13475
13476 Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
13477
13478         * bitmap.c: Conditionally include stdlib.h.
13479         (free): Provide a declaration if NEED_DECLARATION_FREE.
13480
13481 Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
13482
13483         * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
13484
13485 Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
13486
13487         * profile.c (output_arc_profiler): Verify next_insert_after is an
13488         INSN before and after skipping a stack pop.
13489
13490 Thu Sep  4 07:39:19 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
13491
13492         * final.c (shorten_branches): Don't count the lengths of deleted
13493         instructions.
13494
13495 Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
13496
13497         * version.c: Bump for snapshot.
13498
13499 Thu Sep  4 11:04:21 1997  Michael Meissner  <meissner@cygnus.com>
13500
13501         * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
13502         two bitmaps ANDed together.
13503         (bitmap_print): Declare.
13504
13505         * bitmap.c (function_obstack): Don't declare any more.
13506         (bitmap_obstack): Obstack for allocating links from.
13507         (bitmap_obstack_init): New static to say whether to initialize
13508         bitmap_obstack.
13509         (bitmap_element_allocate): Use bitmap_obstack to allocate from.
13510         (bitmap_release_memory): Free all memory allocated from
13511         bitmap_obstack.
13512
13513         * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
13514         EXECUTE_IF_AND_IN_BITMAP.
13515
13516 Wed Sep  3 10:39:42 1997  Jim Wilson  <wilson@cygnus.com>
13517
13518         * alias.c (true_dependence): Address with AND can alias scalars.
13519         (anti_dependence, output_dependence): Likewise.
13520
13521         * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
13522
13523 Wed Sep  3 09:28:50 CDT 1997  Joel Sherrill (joel@OARcorp.com)
13524
13525         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
13526           mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
13527           sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
13528           definitions.  Use -qrtems instead of -mrtems.
13529
13530 Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
13531
13532         * xm-sco5.h (sys_siglist): Define.
13533         (SYS_SIGLIST_DECLARED): Likewise.
13534
13535 Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
13536
13537         * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
13538
13539 Wed Sep  3 02:09:30 1997  Torbjorn Granlund  <tege@pdc.kth..se>
13540
13541         * except.c (eh_outer_context): Expand masking operation using
13542         expand_binop.
13543
13544 Tue Sep  2 18:09:39 1997  Jim Wilson  <wilson@cygnus.com>
13545
13546         * alpha.md (floatdisf2-1): New pattern.
13547
13548 Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
13549
13550         * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
13551         * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
13552         * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
13553         * gcc.texi: Note that if you define sys_siglist that you should
13554         also define SYS_SIGLIST_DECLARED.
13555
13556         * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
13557         are relative to the next instruction, not the current instruction.
13558
13559 Tue Sep  2 14:22:43 1997  Jim Wilson  <wilson@cygnus.com>
13560
13561         * local-alloc.c (contains_replace_regs): New function.
13562         (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
13563         verify that there is no existing REG_EQUIV note, and add a call to
13564         contains_place_regs.
13565
13566 Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
13567
13568         * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
13569         (STARTFILE_SPEC): Always use crtbegin.o%s
13570         (ENDFILE_SPEC): Always use crtend.o%s.
13571
13572 Tue Sep  2 12:00:36 1997  Jim Wilson  <wilson@cygnus.com>
13573
13574         * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
13575         is passed in.
13576         * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
13577         SFmode for 64 bit hosts.
13578
13579 Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  <hilfingr@CS.Berkeley.EDU>
13580
13581         * fixincludes: Permits spaces between # and define.  Discard C++
13582         comments in sys/pci.h on HP/UX 10.20.
13583
13584 Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
13585
13586         * version.c: Bump for snapshot.
13587
13588         * pa.c (restore_unscaled_index_insn_codes): New function.
13589         (record_unscaled_index_insn_codes): Likewise.
13590         (output_function_prologue): Call restore_unscaled_index_insn_codes.
13591         (output_function_epilogue): Free memory for unscaled_index_insn_codes.
13592         (pa_reorg): Call record_unscaled_index_insn_codes.
13593
13594         * haifa-sched.c (move_insn): Handle notes correctly for insns
13595         with SCHED_GROUP_P set.
13596
13597 Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
13598
13599         * alpha/xm-linux.h (USE_BFD): Undef before define.
13600
13601 Mon Sep  1 16:25:34 1997  Jim Wilson  <wilson@cygnus.com>
13602
13603         * cse.c (cse_insn): Don't record BLKmode values.
13604
13605 Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
13606
13607         * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
13608
13609 Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
13610
13611         * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
13612         * collect2.c (sys_errlist): Likewise.
13613         * cpplib.c (sys_errlist): Likewise.
13614         * gcc.c (sys_errlist): Likewise.
13615         * protoize (sys_errlist): Likewise.
13616         * configure.in: Check for strerror.
13617         * xm-freebsd.h (HAVE_STRERROR): Remove definition.
13618         * xm-gnu.h (HAVE_STRERROR): Likewise.
13619         * xm-linux.h (HAVE_STRERROR): Likewise.
13620         * xm-netbsd.h (HAVE_STRERROR): Likewise.
13621         * xm-bsd386.h (HAVE_STRERROR): Likewise.
13622         * xm-cygwin32.h (HAVE_STRERROR): Likewise.
13623         * xm-dos.h (HAVE_STRERROR): Likewise.
13624         * xm-mingw32.h (HAVE_STRERROR): Likewise.
13625         * xm-pa.h (HAVE_STRERROR): Likewise.
13626         * xm-papro.h (HAVE_STRERROR): Likewise.
13627         * xm-sysv4.h (HAVE_STRERROR): Likewise.
13628         * configure, config.in: Rebuilt.
13629
13630         * Makefile.in: Add several missing "else true" clauses.
13631
13632         * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
13633         * mips-tfile.c: Likewise.
13634         * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
13635         * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
13636         * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
13637         * configure.in: Check for sys_siglist declaration.
13638         * configure, config.in: Rebuilt.
13639
13640 Mon Sep  1 08:04:07 1997  Joel Sherrill (joel@OARcorp.com)
13641
13642         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
13643         m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
13644         sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
13645         * i960/i960.h: Added SUBTARGET_SWITCHES macro.
13646         * rs6000/sysv4.h (extra_subtarget_switches): Added new
13647         macro EXTRA_SUBTARGET_SWITCHES.
13648         * configure.in (sh*-*-rtems*): New target.
13649         * sh/rtems.h: New file.
13650         * sh/sh.h: Added SUBTARGET_SWITCHES macro.
13651         * configure: Rebuilt.
13652
13653 Sat Aug 30 22:54:26 1997  Jim Wilson  <wilson@cygnus.com>
13654
13655         * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
13656
13657 Sat Aug 30 10:49:46 1997  David Edelsohn  <edelsohn@mhpcc.edu>
13658
13659         * rs6000.md: Make DF fused-add operations pay attention to
13660         -mno-fused-add.
13661
13662 Fri Aug 29 19:19:54 1997  Jim Wilson  <wilson@cygnus.com>
13663
13664         * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
13665
13666 Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
13667
13668         * pa.md (reload_peepholes): Make sure operand is a REG before
13669         examining REGNO.  Allow general registers too.
13670
13671 Fri Aug 29 11:42:04 1997  Jim Wilson  <wilson@cygnus.com>
13672
13673         * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
13674
13675 Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
13676
13677         * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
13678         to reallocate abbrev_die_table.
13679
13680 Thu Aug 28 15:14:46 1997  Jim Wilson  <wilson@cygnus.com>
13681
13682         * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
13683
13684 1997-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
13685
13686         * Makefile.in (config.status): Depend on version.c
13687
13688         * expr.h (insn_gen_function): Reenable prototype.
13689
13690         * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
13691         first parameter.
13692
13693 Thu Aug 28 13:01:43 1997  Jim Wilson  <wilson@cygnus.com>
13694
13695         * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
13696
13697 Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
13698
13699         * version.c: Bump for latest snapshot.
13700
13701         * bc-optab.c: Conditionally include stdlib.h.
13702         (free): Provide a declaration if NEED_DECLARATION_FREE.
13703         * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
13704         * rtl.h (free): Remove declaration.
13705         * tree.h (free): Remvoe declaration.
13706
13707         * configure: Rebuilt.
13708
13709 Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
13710
13711         * flags.h (flag_move_all_movables): Declare.
13712         (flag_reduce_all_givs): Likewise.
13713         * loop.c (move_movables): Handle flag_move_all_movables.
13714         (strength_reduce): Handle flag_reduce_all_givs.
13715         * toplev.c (flag_move_all_movables): Define.
13716         (flag_reduce_all_givs): Likewise.
13717         (f_options): Add -fmove-all-movables and -freduce-all-givs.
13718         * invoke.texi: Document new options, including alias stuff that
13719         wasn't included last time.
13720
13721 Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
13722
13723         * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
13724         * t-mn10200: Ditto.
13725         * t-vxsparc: Ditto.
13726         * t-vxworks68: Ditto.
13727         * t-vxworks960: Ditto.
13728         * t-vx29k: Ditto.
13729
13730 Wed Aug 27 16:35:29 1997  Richard Henderson  <rth@cygnus.com>
13731
13732         * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
13733         if not already defined, and USE_C_ALLOCA not defined.
13734
13735 Wed Aug 27 16:08:43 1997  Jim Wilson  <wilson@cygnus.com>
13736
13737         * config.guess: Replace with script that uses ../config.guess.
13738
13739         * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
13740         if USE_GNULIBC_1 is not defined.
13741
13742 Wed Aug 27 15:49:12 1997  Richard Henderson  <rth@cygnus.com>
13743
13744         * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
13745         * config.guess: Recognize alpha-linux-gnulibc1.
13746         * configure.in (alpha-*-linux-gnulibc1): New target.
13747         (alpha-*-linux-gnu*): Don't build crtbegin/end.
13748
13749 Wed Aug 27 11:52:58 1997  Jim Wilson  <wilson@cygnus.com>
13750
13751         * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
13752         last change.
13753
13754 Wed Aug 27 01:56:18 1997  Doug Evans  <dje@seba.cygnus.com>
13755
13756         * loop.c (combine_movables): Earlier insns don't match later ones.
13757
13758 Wed Aug 27 01:24:25 1997  H.J. Lu   (hjl@gnu.ai.mit.edu)
13759
13760         * config/linux.h (CC1_SPEC): Define it only if not defined.
13761
13762         * config/m68k/linux.h (CC1_SPEC): Undefine it before include
13763         <linux.h>
13764
13765         * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
13766         USE_GNULIBC_1 is not defined.
13767
13768         * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
13769
13770         * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
13771         as 1 if USE_GNULIBC_1 is not defined.
13772
13773 Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
13774
13775         * reorg.c (dbr_schedule): Allow current_function_return_rtx
13776         to be something other than a REG.
13777         * function.c (expand_function_end): Fix current_function_return_rtx
13778         if it was a pseudo.
13779
13780         * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
13781         * x-netbsd: Likewise
13782         * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
13783         (INSTALL_HEADERS): Delete.
13784         * x-dguxbcs: Likewise.
13785         * x-hp3bsd44: Likewise
13786         * x-pa: Likewise.
13787
13788 Wed Aug 27 00:30:00 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
13789
13790         * i386.md (pop): pop increments the stack pointer.
13791         (prologue_set_stack_ptr): New pattern.
13792         * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
13793         instead of subsi3.
13794
13795 Tue Aug 26 18:50:32 1997  Jim Wilson  <wilson@cygnus.com>
13796
13797         * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
13798         address where an offsettable address is required.
13799
13800 Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
13801
13802         * loop.c (check_final_value): Don't miss a biv increment in a
13803         parallel.
13804
13805 Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
13806
13807         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
13808         TYPE_DECL_IS_STUB instead of DECL_NAME.
13809
13810 Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
13811
13812         * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
13813
13814 Mon Aug 25 23:27:10 1997  Jim Meyering <meyering@eng.ascend.com>
13815
13816         * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
13817
13818 Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
13819
13820         * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
13821         (find_post_sched_live): Likewise.
13822
13823         * haifa-sched.c (schedule_block): Remove old code to get arguments
13824         from hard regs into pseudos early.
13825
13826 Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
13827
13828         * version.c: Bump for new snapshot.
13829
13830         * local-alloc.c (update_equiv_regs): All the target to reject
13831         promotion of some REG_EQUAL to REG_EQUIV notes.
13832         * pa.h (DONT_RECORD_EQUIVALENCE): Define.
13833
13834         * pa.c (secondary_reload_class): (mem (mem ... )) does not need
13835         secondary reloads.
13836
13837         * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
13838         store of the argument registers.
13839
13840 Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
13841
13842         * fold-const.c (multiple_of_p): New function.
13843         (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
13844
13845 Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
13846
13847         * expr.h (insn_gen_function): Temporarily remove prototype.
13848
13849 Sun Aug 24 17:22:21 1997  Jim Wilson  <wilson@cygnus.com>
13850
13851         * Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
13852         filenames.  Use sed to extract base filename for install.
13853
13854 Sat Aug 23 18:19:40 1997  John F. Carr  <jfc@mit.edu>
13855
13856         * unroll.c (find_splittable_givs): Only share if two givs have the
13857         same add and multiply values.
13858
13859 Sat Aug 23 14:36:27 1997  Jim Wilson  <wilson@cygnus.com>
13860
13861         * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
13862         * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
13863
13864 Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
13865
13866         * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
13867         around branch tables.
13868         * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
13869         and .end_brtab directives if TARGET_GAS.
13870
13871 Fri Aug 22 14:05:55 1997  Jim Wilson  <wilson@cygnus.com>
13872
13873         * alias.c (true_dependence): Pass x_addr not x to varies.
13874
13875         * acconfig.h (NEED_DECLARATION_CALLOC): Add.
13876         * configure.in: Add GCC_NEED_DECLARATION call for calloc.
13877         * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
13878         declarations.
13879         * config.in, configure: Regenerate.
13880
13881 Thu Aug 21 23:52:16 1997  John F. Carr  <jfc@mit.edu>
13882
13883         * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
13884         LO_SUM.
13885         (record_set): Handle LO_SUM like PLUS.
13886         (init_alias_analysis): When following chains of base addresses,
13887         do not stop on reaching a hard register.
13888
13889 Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
13890
13891         * version.c: Bump for new snapshot.
13892
13893 Thu Aug 21 17:28:00 1997  Jim Wilson  <wilson@cygnus.com>
13894
13895         * alpha.h (ARCH_ASM_FILE_START): Define.
13896         (ASM_FILE_START): Use ARCH_ASM_FILE_START.
13897         * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
13898
13899 Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
13900
13901         * Makefile.in (install-common): Put gcov comment at start of line.
13902
13903 Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
13904
13905         * alias.c (init_alias_analysis): When simplifying the reg_base_value
13906         array, simplify entries for hard registers too.
13907
13908 Wed Aug 20 12:35:47 1997  Dave Love  <d.love@dl.ac.uk>
13909
13910         * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
13911         list.
13912
13913 Wed Aug 20 11:58:33 1997  Jim Wilson  <wilson@cygnus.com>
13914
13915         * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
13916         block_stack before dereferencing it.
13917
13918 Wed Aug 20 11:57:11 1997  Michael Meissner  <meissner@cygnus.com>
13919
13920         * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
13921
13922 Tue Aug 19 17:10:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
13923
13924         * cplus-dem.c: Add 'extern' to prepends_underscore.
13925
13926 Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
13927
13928         * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
13929         (get_issue_rate): Delete.
13930         * pa.h (ISSUE_RATE): Define.
13931
13932         * configure.in: Turn on haifa by default for the PA.
13933         * configure: Rebuilt.
13934         * pa.c (override_options): Accept -mschedule=7200 option.
13935         (pa_adjust_cost): No longer need to scale costs for newer
13936         processors.
13937         * pa.h (enum processor_type): Add PROCESSOR_7200.
13938         * pa.md: Revamp scheduling parameters to work better with
13939         haifa.  Add scheduling parameters for the 7200.
13940
13941         * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
13942         insns too.
13943         (schedule_block): When adjusting basic_block_{head,end}, account
13944         for movement of SCHED_GROUP_P insns too.
13945
13946         * haifa-sched.c (debug_dependencies): Fix thinko.
13947
13948         * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
13949         (site.exp, check, check-g++, check-gcc): New targets.
13950
13951         * haifa-sched.c: Make lots of variables static.
13952
13953 Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
13954
13955         * expr.h, real.h: Finish prototyping.
13956
13957 Mon Aug 18 21:49:02 1997  Jim Wilson  <wilson@cygnus.com>
13958
13959         * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
13960         reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
13961         * reload1.c: Undo bugfix from Aug 11.
13962
13963 Mon Aug 18 17:39:02 1997  Mike Meissner  <meissner@cygnus.com>
13964
13965         * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
13966         quotes around the name.
13967         * configure: Regenerate.
13968
13969 Mon Aug 18 13:46:47 1997  Jim Wilson  <wilson@cygnus.com>
13970
13971         * Makefile.in (stmp-multilib-sub): Fix typo in last change.
13972
13973 Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
13974
13975         * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
13976         to sub-makes to avoid building more passes than the user might have
13977         requested on the command line.
13978
13979 Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
13980
13981         * configure.in: Expurgate `broken_install' (install is
13982         autoconfed).
13983
13984         * configure.lang: Substitute autoconfed ${INSTALL} (not currently
13985         relevant).
13986
13987 Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
13988
13989         * loop.c (is_power_of_2, is_conditional_branch): Delete unused
13990         functions and declarations.
13991         (analyze_loop_iterations): Use condjump_p.
13992         (insert_bct): Likewise.  Use exact_log2.
13993
13994 Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
13995
13996         * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
13997         (schedule_region): Likewise.
13998         (schedule_insns): Likewise.
13999
14000         * PROJECTS: Update with Haifa stuff.
14001
14002 Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
14003
14004         * version.c: Change the version string to look like:
14005         egcs-2.90.00 970814 (gcc2-970802 experimental).
14006
14007         * loop.c (is_conditional_branch): Make definition match declaration.
14008
14009         * gcc.c: Take out experimental snapshot warning message.
14010
14011 Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
14012
14013         * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
14014         print out the names of the notes.  Print out the name of the insn
14015         that is not a note, and not an {,CALL_,JUMP_}INSN.
14016
14017 Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
14018
14019         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
14020         again for the slot after we give it RTL.
14021
14022 Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
14023
14024         * configure.in (haifa configury): Fix typo.
14025         * configure: Regenerate.
14026
14027 Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
14028
14029         * version.c: Bump version to "gcc-3.0.0 970802 experimental".
14030
14031         * gcc.info*: Rebuilt.
14032
14033         * COPYING.g77, README.g77: New files.
14034         * real.c (ereal_unto_float, ereal_unto_double): New functions.
14035         * real.h (ereal_unto_float, ereal_unto_double): Declare them.
14036         (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
14037
14038 Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
14039
14040         * Integrate Haifa instruction scheduler.
14041         * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
14042         to sched with $(SCHED_CFLAGS.
14043         * configure.in: Handle --enable-haifa.
14044         * configure: Rebuilt.
14045         * flags.h: Add new flags for haifa instruction scheduler.
14046         * genattrtab.c (expand_units): For haifa, don't subtract one
14047         when computing blockage.
14048         * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
14049         (flag_schedule_speculative): Ditto.
14050         (flag_schedule_speculative_load): Ditto.
14051         (flag_schedule_speculative_load_dangerous): Ditto.
14052         (flag_schedule_reverse_before_reload): Ditto.
14053         (flag_schedule_reverse_after_reload): Ditto.
14054         (flag_branch_on_count_reg): Ditto.
14055         (f_options): Add Haifa switches.
14056         (main): Turn off some Haifa options if appropriate macro is
14057         defined.  Process Haifa switches.
14058         * unroll.c (iteration_info): No longer static, since Haifa
14059         scheduler uses it.
14060         (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
14061         * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
14062         * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
14063         * loop.h (loop_initial_value,loop_unroll_iter): New globals.
14064         * loop.c (loop_optimize): If HAIFA is defined, allocate additional
14065         storage for the Haifa scheduler.
14066         (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
14067         LABEL_NEXTREF.
14068         (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
14069         are defined, call analyze_loop_iterations and insert_bct to use
14070         countdown loops.
14071         (record_giv): Refine test for jumps out of loops if HAIFA is
14072         defined.
14073         (analyze_loop_iterations): New function to identify if we can use
14074         a countdown loop.
14075         (insert_bct): Insert countdown loop.
14076         (instrument_loop_bct): Low level code to insert countdown loop.
14077         (loop_number): Calculate UID of loop.
14078         (indirect_jump_in_function_p): Return true if an indirect jump is
14079         in the function.
14080         (is_power_of_2): Return true if value is a power of 2.
14081         (is_conditional_branch): Return true if insn is a conditional
14082         jump.
14083         (fix_bct_param): Process -fbct-{min,max}-N switches.
14084         (check_bct_param): Return true if loop should be instrumented.
14085         * loop.c (loop_initial_value,loop_unroll_iter): New globals.
14086         (loop_optimize): Initialize.
14087         (get_condition_for_loop): Ditto.
14088         * loop.c (strength_reduce): Inside of code that uses #ifdef
14089         HAVE_decrement_and_branch_on_count code, test it to make sure the
14090         condition is true.
14091         (instrument_loop_bct): Ditto.
14092         * haifa-sched.c: New file.
14093
14094
14095         * Integrate regmove pass.
14096         * Makefile.in (OBJS): Add regmove.o
14097         (regmove.o): Add dependencies.
14098         * flow.c (find_use_as_address): No longer static.
14099         * rtl.h (find_use_as_address): Declare.
14100         * toplev.c (regmove_dump, flag_regmove): Define.
14101         (f_options): Add -fregmove.
14102         (regmove_dump_file, regmove_time): Define.
14103         (fatal_insn): Close the regmove dump file.
14104         (compile_file): Initialize regmove_time; open/close the regmove dump
14105         file as needed.  Print regmove time as needed.
14106         (rest_of_compilation): Run regmove pass if requested, dump
14107         RTL after regmove if requested.
14108         (main): If -O2 or more, turn on regmove.  Handle dump switches.
14109         * regmove.c: New file.
14110
14111 Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
14112
14113         * Integrate tlink patch from jason@cygnus.com
14114         * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
14115         (process_command): Increment n_switches for them.  Don't discard
14116         their args.  Validate them.
14117         (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
14118         From Rohan Lenard.
14119         (process_command): Set include_prefixes from COMPILER_PATH.
14120         (main): Set COLLECT_GCC_OPTIONS sooner.
14121         * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
14122         * tlink.c, hash.c, hash.h: New files.
14123         * Makefile.in (USE_COLLECT2): Always use collect2.
14124         (collect2): Depend on and link in hash.o and tlink.o.
14125         (tlink.o, hash.o): Add dependencies.
14126
14127 Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
14128
14129         * Integrate alias analysis changes from jfc@mit.edu
14130         * Makefile.in (OBJS): Add alias.o
14131         (alias.o): Add dependencies.
14132         * alias.c: New file.
14133         * sched.c: Remove alias analysis code.  It lives in alias.c now.
14134         (sched_analyze_2): Add new arguments to true_dependence.
14135         (schedule_insns): Always call init_alias_analysis.
14136         * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
14137         mark return value from such functions as a pointer and keep track of
14138         them for alias analysis.  If a return value from a function is a
14139         pointer, mark it as such.
14140         * combine.c (distribute_notes): Handle REG_NOALIAS.
14141         * cse.c (struct write_data): Delete.  No longer needed.
14142         (invalidate): Don't call set_nonvarying_address_components anymore.
14143         Use true_dependence to decide if an entry should be removed from
14144         the hash table.
14145         (invalidate_memory): Remove WRITES argument, simplify appropriately.
14146         Fix all callers.
14147         (note_mem_written): Similarly for WRITE_PTR argument.
14148         (invalidate_from_clobbers): Similarly for W argument.
14149         (invalidate_for_call): Remove memory elements from the hash table.
14150         (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
14151         (cse_rtx_varies_p): New function.  Derived from old
14152         cse_rtx_addr_varies_p.
14153         (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
14154         Don't call note_mem_written anymore.  Stack pushes invalidate the stack
14155         pointer if PUSH_ROUNDING is defined.  No longer need to call
14156         cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
14157         (skipped_writes_memory): Remove variable.
14158         (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
14159         (invalidate_skipped_block): Simplify for new alias analysis code.
14160         (cse_set_around_loop): Likewise.
14161         (cse_main): Call init_alias_analysis.
14162         * flags.h (flag_alias_check, flag_argument_noalias): Declare.
14163         * toplev.c (flag_alias_check, flag_argument_noalias): Define.
14164         (f_options): Add new alias checking arguments.
14165         (main): Set flag_alias_check when optimizing.
14166         * local_alloc (validate_equiv_mem_from_store): Add new arguments
14167         to true_dependence.
14168         (memref_referenced_p): Likewise.
14169         * loop.c (NUM_STORES): Increase to 30.
14170         (prescan_loop): Only non-constant calls set unknown_address_altered.
14171         (invariant_p): Add new arguments to true_dependence.
14172         (record_giv): Initialize unrolled and shared fields.
14173         (emit_iv_add_mult): Call record_base_value as needed.
14174         * loop.h (struct induction): Add unrolled and shared fields.
14175         * unroll.c  (unroll_loop): Call record_base_value as needed.
14176         (copy_loop_body): Likewise.
14177         (final_biv_value): Likewise.
14178         (final_giv_value): Likewise.
14179         (find_splittable_regs): Likewise.  Only create one new pseudo
14180         if we have multiple address GIVs that were combined with the same
14181         dst_reg GIV.  Note when a new register is created due to unrolling.
14182         * rtl.c (reg_note_name): Add REG_NOALIAS.
14183         * rtl.h (enum reg_note): Similarly.
14184         (rtx_varies_p, may_trap_p, side_effects_p): Declare.
14185         (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
14186         (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
14187         (true_dependence, read_dependence, anti_dependence): Likewise.
14188         (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
14189         (mark_user_reg, mark_reg_pointer): Likewise.
14190
14191
14192         * Integrate reload bugfix from Wilon which enables the PA port
14193         to bootstrap again.
14194         * reload1.c (reload): Sum needs for both OPADDR_ADDR and
14195         OPERAND_ADDRESS when computing how many registers an insn needs.
14196         (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
14197         conflict.
14198         (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
14199         OPADDR_ADDR reload.
14200         (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
14201         in reload_reg_use_in_op_addr do not reach the end.
14202         do not reach the end.
14203         (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
14204         RELOAD_FOR_OPERAND_ADDRESS.
14205
14206 Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
14207
14208         * egcs project officially starts.
14209
14210 Local Variables:
14211 add-log-time-format: current-time-string
14212 End: