OSDN Git Service

* rtl.def (CONSTANT_P_RTX): Fix typo in string name.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2
3         * rtl.def (CONSTANT_P_RTX): Fix typo in string name.
4
5         * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
6         seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
7         split, snedi_zero_trunc and split, seqsi_zero_extend and split,
8         seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
9         movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
10         split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
11         Fix mismatching modes in SET operands.
12         (conditional move patterns): Fix formatting.
13         (unnamed subx arch64 pattern): Remove duplicate insn.
14         
15 Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
16
17         * config/sparc/sparc.c (const64_operand, const64_high_operand):
18         Get it right when HOST_BITS_PER_WIDE_INT is not 64.
19         (input_operand): Fixup test for what we accept for constant
20         integers.
21         (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
22         set VOIDmode.
23         (safe_constDI): Remove.
24         (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
25         gen_safe_XOR64): New functions.
26         (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
27         sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
28         them.
29         * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
30         available when HOST_BITS_PER_WIDE_INT is not 64.
31         (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
32         move before movdi_insn_sp64 pattern.
33         (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
34         (define_insn sethi_di_medlow, seth44, setm44, sethh): Use
35         symbolic_operand as predicate for second operand.
36         (DImode minus split on arch32, negsi2 expander, one_cmplsi2
37         expander): Give set VOIDmode.
38         
39 Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
40
41         * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
42
43 Fri Aug 14 01:40:21 1998  Geoffrey Keating  <geoffk@ozemail.com.au>
44
45         * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
46
47 Fri Aug 14 01:23:23 1998  Richard Earnshaw (rearnsha@arm.com)
48
49         * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating 
50         point.
51         (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
52
53 Fri Aug 14 01:19:08 1998  Robert Lipe  <robertl@dgii.com>
54
55         * install.texi: Various SCO OpenServer tweaks.
56
57 Thu Aug 13 20:14:40 1998  Jim Wilson  <wilson@cygnus.com>
58
59         * reload1.c (eliminate_regs_in_insn): Handle another case when
60         eliminating the frame pointer to the hard frame pointer.  Add
61         missing ep->to_rtx check to one existing case.
62
63         * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
64
65 Thu Aug 13 17:08:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
66
67         * tree.h: De-conditionalize init_priority code.
68
69         * mips.h (NM_FLAGS): Change from -Bp to -Bn.
70         * collect2.c (NM_FLAGS): Change from -p to -n.
71
72         * configure.in: Turn on collect2 for mipstx39-elf.
73         Handle use_collect2=no properly.
74
75         * c-common.c: De-conditionalize init_priority code.
76         * collect2.c (extract_init_priority, sort_ids): New fns.
77         (main): Call sort_ids.
78         Move sequence_number to file scope.
79
80         * configure.in: Handle --enable-init-priority.
81         * c-common.c (attrs): Add A_INIT_PRIORITY.
82         (init_attributes, decl_attributes): Likewise.
83         * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
84         * tree.c (get_file_function_name_long): Split out...
85         (get_file_function_name): ...from here.
86
87 Thu Aug 13 16:09:53 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
88
89         * expr.c (safe_from_p): Change code to ERROR_MARK only when not
90         accessing nodes.
91
92 Thu Aug 13 15:24:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
93
94         * toplev.c (display_help): Add braces to shut up warnings.
95         * tree.c (simple_cst_equal): Likewise.
96
97         * fold-const.c (non_lvalue): Don't deal with null pointer 
98         constants here.
99         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
100
101         * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
102         of any size to a pointer.
103
104 Thu Aug 13 12:53:13 1998  Jim Wilson  <wilson@cygnus.com>
105
106         * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
107
108 Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)
109
110         * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
111         which will be saved.
112         * mn10300.md (prologue insn): Only save registers which need saving.
113         (epilogue insn): Similarly.
114
115         * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
116         optimizations.
117
118 Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  <gavin@cygnus.com>
119
120         * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
121         VAR_DECL's in gp addressable sections.
122
123 Tue Aug 11 23:02:31 1998  John Carr  <jfc@mit.edu>
124
125         * sparc.c: Change return <exp> to <exp>; return; in functions
126         returning void.
127         * sparc.md: Add empty semicolon statement after final label in
128         move expanders.
129
130 Tue Aug 11 22:42:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
131
132         * config/sparc/sparc.md (define_insn addx_extend): Rename to
133         addx_extend_sp64, only allow when TARGET_ARCH64.
134         (define_insn addx_extend_sp32 and split): Version that works when
135         not TARGET_ARCH64.
136         (define_insn subx_extend): Likewise.
137         (define_split adddi3 and subdi3 with zero extension): Fixup and
138         correct bugs when not TARGET_ARCH64.
139
140 Tue Aug 11 16:04:34 1998  John Carr  <jfc@mit.edu>
141
142         * except.c (set_exception_lang_code, set_exception_version_code):
143         Use prototype-style definition if __STDC__, to match declaration
144         in except.h.
145
146         * genemit.c: Change FAIL and DONE macros not to use loops.
147
148 Tue Aug 11 12:27:03 1998  Jim Wilson  <wilson@cygnus.com>
149
150         * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
151         ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
152
153         * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
154
155 Tue Aug 11 18:12:53 1998  Dave Love  <d.love@dl.ac.uk>
156
157         * README.g77: Update from Craig.
158
159 Tue Aug 11 04:46:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
160
161         * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
162         type HOST_WIDE_INT.
163         (safe_constDI sparc_emit_set_const64_quick1,
164         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
165         analyze_64bit_constant, const64_is_2insns,
166         create_simple_focus_bits): Fix some bugs when compiled on real
167         64-bit hosts.
168         (function_arg_record_value_3, function_arg_record_value_2,
169         function_arg_record_value): Add fully prototyped forward decls.
170         * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
171         to cmpsi_insn and use on both 64 and 32 bit targets.
172         (define_insn cmpsi_insn_sp64): Remove.
173         (define_expand zero_extendsidi2): Allow for 32-bit target too.
174         (define_insn zero_extendsidi2_insn): Rename to
175         zero_extendsidi2_insn_sp64.
176         (define_insn zero_extendsidi2_insn_sp32): New pattern and
177         assosciated forced split for it.
178
179         * config/sparc/sparc.c (const64_operand, const64_high_operand):
180         New predicates.
181         * config/sparc/sparc.h: Declare them.
182         (PREDICATE_CODES): Add them.
183         * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
184         movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
185
186 Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>
187
188         * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
189         in v9 case as the latter makes the Solaris assembler crash.
190
191 Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
192
193         * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
194         for TFmode when !v9.  We require offsettable memory addresses.
195         * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
196         DFmode register number conversions.
197         * config/sparc/sparc.md (define_split DFmode moves): If register
198         is a SUBREG do alter_subreg on it before using.
199         (define_expand movtf): Fixup comment about alignment on v9.
200         (define_split TFmode moves): Don't use gen_{high,low}part, create
201         explicit SUBREGs instead.
202
203 Mon Aug 10 19:02:55 1998  John Carr  <jfc@mit.edu>
204
205         * Makefile.in (mbchar.o): Depend on mbchar.c.
206
207 Mon Aug 10 04:28:13 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
208                           Richard Henderson  <rth@cygnus.com>
209         
210         Rewrite Sparc backend for better code generation and
211         improved sparc64 support.
212         * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
213         zero.
214         * config/sparc/sysv4.h: Likewise.
215         * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
216         move_operand, v8plus_regcmp_op, emit_move_sequence,
217         singlemove_string, doublemove_string, mem_aligned_8,
218         output_move_double, output_move_quad, output_fp_move_double,
219         move_quad_direction, output_fp_move_quad, output_scc_insn):
220         Remove.
221         (small_int_or_double): New predicate.
222         (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
223         (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
224         old pic_{sethi,lo_sum}_si patterns.
225         (mem_min_alignment): New generic function to replace
226         mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
227         available and can test for arbitrary alignments.  All callers
228         changed.
229         (save_regs, restore_regs, build_big_number,
230         output_function_prologue, output_cbranch, output_return,
231         sparc_flat_save_restore, sparc_flat_output_function_prologue,
232         sparc_flat_output_function_epilogue): Prettify
233         insn output.
234         (output_function_epilogue): Likewise and add code to output
235         deferred case vectors.
236         (output_v9branch): Likewise, add new arg INSN and use it to tack
237         on branch prediction settings.  All callers changed.
238         (print_operand): Likewise and output %l44 for LO_SUMs when
239         TARGET_CM_MEDMID.
240         (sparc_splitdi_legitimate): New function to make sure DImode
241         splits can be run properly when !arch64.
242         (sparc_initialize_trampoline, sparc64_initialize_trampoline):
243         Reformat example code in comments.
244         (set_extends): Remove UNSPEC/v8plus_clear_high case.
245         (sparc_addr_diff_list, sparc_addr_list): New statics to keep track
246         of deferred case vectors we need to output.
247         (sparc_defer_case_vector): Record a case vector.
248         (sparc_output_addr_vec, sparc_output_addr_diff_vec,
249         sparc_output_deferred_case_vectors): New functions to output them.
250         (sparc_emit_set_const32): New function to form 32-bit constants in
251         registers when that requires more than one instruction.
252         (safe_constDI, sparc_emit_set_const64_quick1,
253         sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
254         analyze_64bit_constant, const64_is_2insns,
255         create_simple_focus_bits, sparc_emit_set_const64): New functions
256         which do the same for 64-bit constants when arch64.
257         (sparc_emit_set_symbolic_const64): New function to emit address
258         loading for all code models on v9.
259         * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
260         %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
261         (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
262         (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
263         inaccuracies in comments, add symbolic and text_segment operands
264         when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
265         GENERAL_REGS in these cases as a temp REG is needed to load these
266         addresses into a register properly.
267         (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
268         is no longer used.
269         (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
270         quads are guarenteed to have 16-byte alignment.
271         (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
272         copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
273         (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
274         deferred case vector implementation.
275         (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
276         (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
277         Generate "internal label - label" instead of "label - 1b".
278         (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
279         (PREDICATE_CODES): Remove sparc_operand, move_operand,
280         v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
281         zero_operand.
282         (doublemove_string, output_block_move, output_fp_move_double,
283         output_fp_move_quad, output_move_double, output_move_quad,
284         output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
285         sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
286         (sparc_emit_set_const32, sparc_emit_set_const64,
287         sparc_emit_set_symbolic_const64, input_operand, zero_operand,
288         mem_min_alignment, small_int_or_double): Add externs.
289         * config/sparc/sparc.md: Document the many uses of UNSPEC and
290         UNSPEC_VOLATILE in this backend.
291         (define_function_unit ieu): Rename to ieu_unnamed.  Add move and
292         unary to types which execute in it.
293         (define_function_unit ieu_shift): Rename to ieu0.
294         (define_function_unit ieu1): New, executes compare, call, and
295         uncond_branch type insns.
296         (define_function_units for type fdivs, fdivd, fsqrt): These
297         execute in the fpu multiply unit not the adder on UltraSparc.
298         (define_expand cmpdi): Disallow TARGET_V8PLUS.
299         (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
300         (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
301         allows the arith_double_operand predicate and rHI constraint when
302         TARGET_ARCH64.
303         (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
304         cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
305         neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
306         sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
307         sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
308         movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
309         movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
310         movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
311         movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
312         cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
313         sign_extendqihi2_insn, sign_extendqisi2_insn,
314         sign_extendqidi2_insn, sign_extendhidi2_insn,
315         extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
316         trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
317         floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
318         fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
319         adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
320         subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
321         muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
322         const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
323         smulsi3_highpart_v8plus, unnamed subreg mult,
324         const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
325         const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
326         const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
327         const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
328         const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
329         udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
330         andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
331         or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
332         xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
333         cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
334         cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
335         cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
336         cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
337         cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
338         cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
339         addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
340         muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
341         negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
342         ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
343         cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
344         ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
345         lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
346         call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
347         call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
348         call_address_untyped_struct_value_sp32,
349         call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
350         call_value_symbolic_sp32, call_value_address_sp64,
351         call_value_symbolic_sp64, branch_sp32, branch_sp64,
352         flush_register_windows, goto_handler_and_restore,
353         goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
354         flush, all ldd/std peepholes, return_qi, return_hi, return_si,
355         return_addsi, return_di, return_adddi, return_sf, all call+jump
356         peepholes, trap, unnamed trap insns): Prettify output strings.
357         (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
358         or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
359         Likewise and force + implement splits for integer cases.
360         (define_insn return_sf_no_fpu): Likewise and allow to match when
361         no-fpu because of our subreg SFmode splits.
362         (define_insn zero_extendqihi2, zero_extendqisi2_insn,
363         zero_extendqidi2_insn, zero_extendhidi2_insn,
364         zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
365         input_operand for second operand.
366         (cmp_minus_cc, cmp_minus_cc_set): Likewise and use
367         reg_or_0_operand for operand 2 so new splits can use it.
368         (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
369         cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
370         too.
371         (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
372         CONST_DOUBLEs for operand 2.
373         (define_insn move_label_di): Likewise and label distance
374         optimization because it no longer works with new deferred case
375         vector scheme.  To be revisited.
376         (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
377         and allow reg_or_0_operand and J constraint for second operand.
378         (define_insn jump): Set branch predict taken on V9.
379         (define_insn tablejump): Emit LABEL_REF + PLUS memory address for
380         new deferred case vector scheme.
381         (define_insn pic_tablejump_32, pic_tablejump_64): Remove.
382         (define_insn negdi2_sp32): Force + implement splits.
383         (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
384         one_cmplsi2_not_liveg0 respectively, and create expander of original
385         names which emit special rtl for TARGET_LIVE_G0.
386         (define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
387         (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
388         gen_compare_reg, FAIL instead.
389         (define_insn sgtu, sleu): Likewise and check gen_s*() return
390         values when trying to reverse condition codes, if they FAIL then
391         do likewise.
392         (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
393         snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
394         neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
395         seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
396         x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
397         set output string to # to indicate they are mandatory splits.
398         (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
399         pic_sethi_di, move_pic_label_si): Remove.
400         (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
401         movsi_high_pic, movsi_pic_label_reg): New patterns to take their
402         place.
403         (define_expand movsi_pic_label_ref, define_insn
404         movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
405         expander and insns to handle PIC label references and deferred
406         case vectors.
407         (define_insn get_pc_via_rdpc): Comment out as it is no longer
408         used.
409         (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
410         Rewrite to not use emit_move_sequence, make use of new constant
411         formation code, and new splits for all multi-insn cases.
412         (define_insn movqi_insn): Remove sethi case, it can never happen.
413         Use reg_or_zero_operand instead of const0_rtx explicit test,
414         use input_operand instead of move_operand for source, and use
415         general_operand now for dest.
416         (define_insn movhi_insn): Similar but leave sethi case.
417         (define_insn lo_sum_qi, store_qi, store_hi): Remove.
418         (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
419         movhi_lo_sum respectively, prettify output string.
420         (define_insn movsi_zero_liveg0): New pattern to put zero into a
421         register when needed on TARGET_LIVE_G0.
422         (define_insn movsi_insn): Use general_operand and input_operand
423         for dest and src respectively.  Simplify applicability test.
424         Prettify output strings, and add clr alternative for J
425         constraint.
426         (define_insn movdi_sp32_v9, movdi_sp32, define_splits for
427         deprecated std and reg-reg DI moves): Remove and...
428         (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
429         implementation which uses forced splits for all non-single insn
430         cases.
431         (define_split DI move cases on !arch64): New splits to handle all
432         situations of 64-bit double register DImode on 32bit, and
433         unaligned registers and memory addresses for all subtargets.
434         (define_insn movsf_const_insn, movdf_const_insn, store_sf):
435         Remove.
436         (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
437         input_operand for dest and src respectively, prettify output
438         strings.
439         (define_insn movdf_insn, movdf_no_e_insn, store_df,
440         movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
441         and...
442         (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
443         movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
444         movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
445         movtf_no_e_insn_sp64) Replace with new
446         implementation which uses forced splits for all non-single insn
447         cases.
448         (define_split DF move cases): New splits in similar vein to DI
449         move counterparts.
450         (define_insn sethi_di_medlow, sethi_di_medium_pic,
451         sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
452         movdi_sp64_insn): Remove old v9 code model and constant loading
453         support insns and..
454         (define_insn pic_lo_sum_di, pic_sethi_di,
455         sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
456         seth44, setm44, setl44, sethh, setlm, sethm, setlo,
457         embmedany_sethi, embmedany_losum, embmedany_brsum,
458         embmedany_textuhi, embmedany_texthi, embmedany_textulo,
459         embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
460         movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
461         scheme, using unspecs, secondary reloads, and one to one sparc
462         insn to rtl insn mapping for better scheduling and code gen.
463         (define_expand reload_indi, reload_outdi): Reload helpers for
464         MEDANY and EMBMEDANY symbol address loading cases which require a
465         temporary register.
466         (define_expand movsicc): Remove v8plus_regcmp cases.
467         (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
468         cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
469         cmp_diqi_trunc_set): New patterns used by some of the new scc
470         splits on arch64.
471         (define_insn xordi3_sp64_dbl): New pattern used for constant
472         formation when crossing from 32-bit targets.
473         (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
474         split): Remove.
475         (define_insn addx, subx): Make visible and prettify.
476         (define_insn adddi3_insn_sp32): Likewise and force split.
477         (define_insn addx_extend, subx_extend, unnamed): New patterns for
478         64bit scc split usage.
479         (define_insn unnamed plusDI zero_extend, unnamed minusDI
480         zero_extend, subdi3): Force and implement splits.
481         
482         * final.c (final_scan_insn): Don't output labels if target
483         specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
484         instead.
485         
486         * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
487         don't forget to walk inside SEQUENCESs too as these are what the
488         delay slot scheduler will create.
489         
490 Mon Aug 10 01:21:01 1998  Richard Henderson  <rth@cygnus.com>
491
492         * alpha.md (extxl+1,+2): New patterns to work around
493         combine lossage.
494
495 Sat Aug  8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org)
496
497         * rs6000.c (rs6000_allocate_stack_space) Fix typo which
498         caused bad assembly code to be generated.
499
500 Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)
501
502         * netbsd.h: Fix typo.
503
504 Mon Aug  3 00:06:42 1998  Robert Lipe  <robertl@dgii.com> 
505
506         * config.sub: Fix typo.
507
508 Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  <hp@axis.se>
509
510         * invoke.texi (Environment Variables): Typo: Change "ascpects"
511         into "aspects".
512         (Running Protoize): Typo: Change "ther" into "other".
513
514 Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)
515
516         * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
517         * m68k/netbsd.h: Likewise.
518         * ns32k/netbsd.h: Likewise.
519         * sparc/netbsd.h: Likewise.
520
521 Sat Aug  1 17:59:30 1998  Richard Henderson  <rth@cygnus.com>
522
523         * ginclude/va-alpha.h (va_list): Use a typedef, not a define.
524         * ginclude/va-clipper.h (va_list): Likewise.
525
526 Fri Jul 31 20:22:02 1998  Michael Meissner  <meissner@cygnus.com>
527
528         * rs6000.c (rs6000_override_options): If big endian and -Os, use
529         load/store multiple instructions unless user overrides.
530
531 Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)
532
533         * ns32k/netbsd.h: Fix typo.
534
535 Fri Jul 31 10:23:55 1998  Doug Evans  <devans@canuck.cygnus.com>
536
537         * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
538         labels with .debugsym if no parallel insns.
539
540 Thu Jul 30 19:15:53 1998  Richard Henderson  <rth@cygnus.com>
541
542         * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
543         (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
544
545 Thu Jul 30 19:50:15 1998  David Edelsohn  <edelsohn@mhpcc.edu>
546
547         * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
548         (AR_FOR_TARGET): Define.
549
550 Thu Jul 30 12:29:12 1998  Mark Mitchell  <mark@markmitchell.com>
551
552         * dyn-string.h: New file.
553         * dyn-string.c: Likewise.
554         * Makefile.in (OBJS): Add dyn-string.o.
555         (dwarf2out.o): Add dyn-string.h dependency.
556         (dyn-string.o): List dependencies.
557         * dwarf2out.c: Include dyn-string.h.
558         (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
559         (addr_const_to_string): Take a dyn_string_t, not a char* as a
560         prototype.  Use dyn_string_append rather than strcat, throughout.
561         (addr_to_string): Use dyn_string_t.
562
563 Thu Jul 30 13:08:07 1998  Ken Raeburn  <raeburn@cygnus.com>
564
565         Function entry/exit profiling instrumentation:
566         * expr.h (profile_function_entry_libfunc,
567         profile_function_exit_libfunc): Declare new variables.
568         * optabs.c: Define them here.
569         (init_optabs): Initialize them.
570         * tree.h (struct tree_decl): New flag
571         no_instrument_function_entry_exit.
572         (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
573         * c-decl.c (duplicate_decls): Merge it.
574         * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
575         (init_attributes): Use it for "no_instrument_function".
576         (decl_attributes): Handle it, for functions that have not yet been
577         compiled.  Set decl flag.
578         * flags.h (flag_instrument_function_entry_exit): Declare new
579         variable.
580         * toplev.c (flag_instrument_function_entry_exit): Define it here.
581         (f_options): New option "instrument-functions".
582         * function.h (struct function): New field instrument_entry_exit.
583         * function.c (current_function_instrument_entry_exit): New
584         variable.
585         (push_function_context_to, pop_function_context_from): Save and
586         restore.
587         (expand_function_start): Set current_ variable, maybe emit return
588         label and entry profile call.
589         (expand_function_end): Maybe emit exit profile call.
590
591 Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)
592
593         * i386.md (movqi): When optimizing a load of (const_int 1) into a
594         NON_QI_REG_P, pretend the register is SImode.
595
596 Wed Jul 29 23:49:23 1998  Todd Vierling <tv@netbsd.org>
597
598         * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
599         Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
600         manufacturer id for ns32k.
601         * configure: Regenerated.
602         * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
603         * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
604         * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
605         * config/m68k/netbsd.h: Same.
606         * config/ns32k/netbsd.h: Same.
607         * config/sparc/netbsd.h: Same.
608
609 Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)
610
611         * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
612         or UNROLL_COMPLETELY loop that starts with a jump to its
613         exit code.
614
615 Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@mhpcc.edu>
616
617         * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
618         * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
619         (print_operand, case 'B'): Don't fall through.
620         (print_operand, case 'S'): Correct mask begin/end computation.
621         Use HOST_BITS_PER_WIDE_INT.
622         * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
623         (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
624         * rs6000/aix41.h (CPP_PREDEFINES): Same.
625         * rs6000/aix43.h (CPP_PREDEFINES): Same.
626
627 Wed Jul 29 11:47:10 1998  Nick Clifton  <nickc@cygnus.com>
628
629         * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
630         constraint from second alternative.
631
632 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
633
634         * configure.in: Fix --without/--disable cases for local-prefix, 
635         gxx-include-dir and checking.
636
637 Tue Jul 28 22:01:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
638
639         * configure.in (enable_haifa): Set by default for sparc64 too.
640         configure: Rebuilt.
641
642 Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
643
644         * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
645         * i386/winnt.c (associated_type): New fn.
646         (i386_pe_valid_type_attribute_p): New fn.
647         (i386_pe_check_vtable_importexport): Remove.
648         (i386_pe_dllexport_p): Use associated_type.
649         (i386_pe_dllimport_p): Likewise.
650
651         From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
652         * i386.c (i386_valid_type_attribute_p): Also accept
653         attributes for METHOD_TYPEs.
654
655 Tue Jul 28 23:17:39 1998  Peter Gerwinski <peter@gerwinski.de>
656
657         * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
658
659 Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>
660
661         * gcc.c: Fix commentary describing %g, %u, %U, and %O.
662
663         * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
664         them from generating a new base name for each occurence of
665         a specific suffix.
666
667 1998-07-28  Vladimir N. Makarov  <vmakarov@cygnus.com>
668
669         * cse.c (cse_insn): Enable subsitution inside libcall only for REG,
670         SUBREG, MEM.
671         * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE. 
672
673
674
675         * cplus-dem.c (type_kind_t): New type.
676         (demangle_template_value_parm): Add type_kind_t parameter.  Rely
677         on this paramter, rather than demangling the type again.
678         (demangle_integral_value): Pass tk_integral.
679         (demangle_template_: Pass the value returned from do_type.
680         (do_type): Return a type_kind_t.  Pass tk_integral to
681         demangle_template_value_parm for array bounds.
682         (demangle_fund_type): Likewise.
683         
684 Mon Jul 27 00:54:41 1998  Jason Merrill  <jason@yorick.cygnus.com>
685
686         * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
687         identical.
688
689 Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)
690
691         * pa.c (move_operand): Accept CONSTANT_P_RTX.
692
693 Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
694
695         * stor-layout.c (layout_type): Handle arrays of bits, for Chill.
696
697         * expr.c (get_inner_reference): Handle zero-based, unsigned, array
698         index conversion.
699
700 Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)
701
702         * mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
703         (DEBUGGER_ARG_OFFSET): Likewise.
704
705         * mn10300.md (movsf): Remove last change.  Not needed.
706
707 Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>
708
709         * c-lex.c (yylex): Fix boundary conditions in character literal and
710         string literal loops.
711
712 Mon Jul 27 11:43:54 1998  Stan Cox  <scox@cygnus.com>
713
714         * longlong.h (count_leading_zeros): Sparclite scan instruction was
715         being invoked incorrectly.
716
717         * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
718         * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE): 
719         Add -pg support. 
720         * i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
721         * configure.in: Added i[34567]86-*-win32
722         * config.sub: Ditto.
723         * configure: Rebuilt.
724         
725 Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)
726
727         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
728         the frame pointer and compiling PIC code and reload has not completed.
729
730         * i386.c (output_to_reg): Add code to emulate non-popping DImode
731         case.
732
733 Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)
734
735         * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
736
737 Sat Jul 25 23:29:23 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
738
739         * Makefile.in (install-info): Only try to update the info
740         directory file if it exists in the first place.
741
742 Fri Jul 24 18:58:37 1998  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>
743
744         * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
745
746 Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
747
748         * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
749         CONST_DOUBLE source.
750
751 Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>
752
753         * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
754         strings as the insertion of USER_LABEL_PREFIX.
755         * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
756         valid code.
757         * config/arm/thumb.md: Use %_ as a prefix to gcc library function
758         calls. 
759
760 Thu Jul 23 18:53:20 1998  Jim Wilson  <wilson@cygnus.com>
761
762         * dbxout.c (dbxout_range_type): Only call dbxout_type_index for
763         already defined type.
764
765 Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)
766
767         * expr.c (check_max_integer_computation_mode): Allow conversions
768         of constant integers to MAX_INTEGER_COMPUTATION_MODE.
769         (expand_expr): Likewise.
770
771 Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
772
773         * expr.c (expand_expr): Expand RETURN_EXPR.
774
775 Thu Jul 23 11:00:29 1998  Jim Wilson  <wilson@cygnus.com>
776
777         * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
778
779 Wed Jul 22 19:10:00 1998  Catherine Moore  <clm@cygnus.com>
780
781         * dwarf2out.c (output_aranges):  Call stripattributes
782         for TEXT_SECTION references.
783         (output_line_info): Likewise.
784
785 Wed Jul 22 14:08:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
786
787         * profile.c (branch_prob): Call allocate_reg_info after outputting
788         profile rtl in instrument_arcs.
789
790 Wed Jul 22 12:47:49 1998  Jim Wilson  <wilson@cygnus.com>
791
792         * fixinc.irix (math.h): Install wrapper instead of copying.
793
794 Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco <apbianco@cygnus.com>
795
796         * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
797         so WFL are expanded correctly when contained in a COMPOUND_EXPR.
798         * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
799         lang_flag_0. Added documentation in the flag table.
800
801 Tue Jul 21 23:28:35 1998  Klaus Kaempf <kkaempf@rmi.de>
802
803         * cccp.c (do_include): Fix vax c style include handling.
804
805 Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
806
807         * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
808
809 Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
810
811         * fold-const.c (non_lvalue): Don't deal with null pointer 
812         constants here.
813         (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
814
815 Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@mhpcc.edu>
816
817         * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
818         * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
819         * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
820         (u_short_cint_operand): Same.
821         (reg_or_cint_operand): Same.
822         (logical_operand): Same.
823         (input_operand): Same.
824         (reg_or_short_operand): Use u_short_cint_operand.
825
826 Tue Jul 21 08:56:42 1998  Richard Henderson  <rth@cygnus.com>
827
828         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
829         but keep the insns and splits.  Adjust so when the ultimate destination
830         is memory, use cvtql.
831
832 Tue Jul 21 08:55:09 1998  Richard Henderson  <rth@cygnus.com>
833
834         * flow.c (regno_uninitialized): Fixed regs are never uninitialized.
835
836 Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)
837
838         * gcc.c (do_spec): Call "error" not "warning".
839
840         * configure.in: Fix minor problems with gas feature detection code.
841         * configure: Rebuilt.
842
843         * gcc.c (do_spec): Issue a warning for '%[]' usage.
844
845         * Undo this change.
846         * gcc.c: Delete %[spec] support.
847         (do_spec_1, case '('): Likewise.
848         (do_spec_1, case '['): Call error.
849
850 Mon Jul 20 22:34:17 1998  Richard Henderson  <rth@cygnus.com>
851
852         * alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
853         (CPP_SUBTARGET_SPEC): Default to empty string.
854         (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
855         (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
856         * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
857         * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
858         (LIB_SPEC): Tidy.
859         * alpha/linux.h (CPP_PREDEFINES): Tidy.
860         * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
861         * alpha/netbsd.h (CPP_PREDEFINES): Tidy.
862         * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
863         * alpha/win-nt.h (CPP_PREDEFINES): Likewise.
864         * alpha/vsf.h (CPP_PREDEFINES): Likewise.
865         (CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
866         * alpha/vxworks.h: Likewise.
867
868 Mon Jul 20 22:51:57 1998  Ken Raeburn  <raeburn@cygnus.com>
869
870         * mips.md (reload_outsi): Added missing REGNO call.
871         (smulsi3_highpart, umulsi3_highpart): Provide prototype for
872         function pointer.
873         (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
874         another match_operator and compare the codes.
875
876         * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
877
878         * MIPS multiply pattern fixes:
879         * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
880         Add union classes for HI, LO, or HILO plus general registers.
881         (GENERATE_MADD): Deleted.
882         * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
883         Add TARGET_MAD to condition.
884         (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
885         (mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
886         "*d" for accumulator, to give preference to LO initially but not
887         during reload.
888
889 Mon Jul 20 16:16:38 1998  Dave Brolley  <brolley@cygnus.com>
890
891         * configure.in (enable_c_mbchar): New configure option.
892         (extra_cpp_objs): Always available now.
893
894         * cexp.y (mbchar.h): #include it.
895         (yylex): Handle Multibyte characters in character literals.
896
897         * cccp.c (mbchar.h): #include it.
898         (main): Set character set based on LANG environment variable.
899         (rescan): Handle multibyte characters in comments.
900         (skip_if_group): See above.
901         (validate_else): See above.
902         (skip_to_end_of_comment): See above.
903         (macarg1): See above.
904         (discard_comments): See above.
905         (rescan): Handle multibyte characters in string and character literals.
906         (collect_expansion): See above.
907         (skip_quoted_string): See above.
908         (macroexpand): See above.
909         (macarg1): See above.
910         (discard_comments): See above.
911         (change_newlines): See above.
912
913         * c-lex.c (mbchar.h): #include it.
914         (GET_ENVIRONMENT): New macro.
915         (init_lex): Set character set based on LANG environment variable.
916         (yylex): Handle multibyte characters in character literals.
917         (yylex): Handle multibyte characters in string literals.
918
919         * Makefile.in (mbchar.o): New target.
920         (cccp$(exeext)): @extra_cpp_objs@ is always available.
921         (cppmain$(exeext)): @extra_cpp_objs@ is always available.
922
923         * mbchar.[ch]: New files for multibyte character handling.
924
925 Mon Jul 20 01:11:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
926
927         * jump.c (jump_optimize): When simplifying noop moves and
928         PUSH_ROUNDING, fix thinko so we use same criterion for identifying
929         the PUSHes to rewrite in second loop as we did in the first.
930
931 Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
932
933         * cplus-dem.c (demangle_nested_args): Make function definition
934         static to match the prototype.
935
936 Fri Jul 17 14:58:44 1998  Richard Henderson  <rth@cygnus.com>
937
938         * alloca.c: Respect USE_C_ALLOCA.
939         * gencheck.c (xmalloc): Ignore __GNUC__ for definition.
940         * gengenrtl.c (xmalloc): Likewise.
941
942 Fri Jul 17 14:18:14 1998  Richard Henderson  <rth@cygnus.com>
943
944         * loop.h (struct induction): Add no_const_addval.
945         * loop.c (the_movables, reg_address_cost): New variables.
946         (init_loop): Init reg_address_cost.
947         (loop_optimize): Call end_alias_analysis.
948         (scan_loop): Init the_movables.
949         (record_giv): Init induction->no_const_addval.
950         (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
951         [REG]: Rearrange loop search test to catch more cases.
952         (general_induction_var): Return success not benefit; take an extra
953         argument for that.  Change all callers.
954         (simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
955         [MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
956         [default]: Search the_movables for additional combinations.
957         (sge_plus_constant, sge_plus): New functions.
958         (express_from_1): New function.
959         (express_from): Always define.  Rewrite using express_from_1.
960         (combine_givs_p): Handle more cases.  Ignore address cost.
961         (cmp_combine_givs_stats): New function.
962         (combine_givs_used_once, combine_givs_benefit_from): New functions.
963         (combine_givs): Rewrite to do best-fit combination.
964
965         * fold-const.c (operand_equal_p): Handle RTL_EXPR.
966         (fold): Do a complete (A*C)+(B*C) association check.
967
968 Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>
969
970         * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
971
972 Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)
973
974         * mn10300.c (MODES_TIEABLE_P): Fix typo.
975
976 Fri Jul 17 03:26:12 1998  Rihcard Earnshaw (rearnsha@arm.com)
977
978         * tree.c (valid_machine_attribute): Only create a new type variant if
979         there is a decl to use it.
980
981 Thu Jul 16 14:48:04 1998  Nick Clifton  <nickc@cygnus.com>
982
983         * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
984         a suffix.
985
986 Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  <hp@axis.se>
987
988         * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
989         be deleted" 
990
991 Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)
992
993         * mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
994         Simplify tests for clearing an address register.
995         (expand_prologue): Corresponding changes.
996
997         * mn10300.md (movXX patterns): Make sure the destination is an
998         ADDRESS_REG when substituting "zero_areg" for (const_int 0).
999         (logical patterns): Split into expanders + patterns
1000         (zero and sign extension patterns): Similarly.
1001         (shift patterns): Similarly.
1002
1003 Thu Jul 16 01:17:44 1998  Richard Henderson  <rth@cygnus.com>
1004
1005         * loop.c (emit_iv_add_mult): Scan the entire insn list generated
1006         for the sequence, recording base values.
1007
1008 Wed Jul 15 10:49:55 1998  Richard Henderson  <rth@cygnus.com>
1009
1010         * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
1011
1012 Tue Jul 14 14:15:30 1998  Nick Clifton  <nickc@cygnus.com>
1013
1014         * gcc.c: Remove ANSI-C ism from --help code.
1015
1016         * toplev.c: Support --help with USE_CPPLIB.
1017
1018 Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)
1019
1020         * configure.in: Rework gas feature code to work with symlink based
1021         source trees.
1022
1023         * extend.texi: Clarify some issues related to local variables
1024         assigned to explicit registers.
1025
1026         * mn10300.md (mulsi): Turn into expander + pattern.
1027
1028         * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
1029         alternative.
1030
1031 Tue Jul 14 07:41:59 1998  Richard Earnshaw (rearnsha@arm.com)
1032
1033         * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
1034
1035 Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)
1036
1037         * version.c: Bump again to distinguish mainline tree from the
1038         egcs-1.1 branch.
1039
1040 Tue Jul 14 02:20:38 1998  Jeffrey A Law  (law@cygnus.com)
1041
1042         * version.c: Bump to avoid problems with old spec files during
1043         bootstrap.
1044
1045 Mon Jul 13 23:11:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1046
1047         * config/sparc/sparc.c (output_scc_insn): Enclose || conditions in
1048         parens while walking over notes.
1049         * config/sparc/sparc.md (reg movdi split): Clean up matching
1050         conditions.
1051         (all DI arithop splits on 32-bit): Handle immediate arguments
1052         correctly when they are CONST_INTs.
1053
1054 Mon Jul 13 23:57:21 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
1055
1056         * m68k/m68k.h (TARGET_SWITCHES): Clear MASK_68040_ONLY for
1057         -m68020-40, -m68020-60 and -m5200.
1058
1059 Mon Jul 13 23:52:05 1998  Weiwen Liu <weiwen.liu@yale.edu>
1060
1061         * gcc.c (do_spec_1): Fix %O handling for secure temporary file
1062         creation.
1063
1064 Mon Jul 13 23:42:36 1998  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1065
1066         * sh/elf.h (MAX_OFILE_ALIGNMENT): Undefine before including svr4.h.
1067
1068 Mon Jul 13 23:36:08 1998  Jim Wilson  <wilson@cygnus.com>
1069
1070         * i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
1071         (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
1072         (EXTRA_SPECS): Support them.
1073         * gcc.c: Delete %[spec] support.
1074         (do_spec_1, case '('): Likewise.
1075         (do_spec_1, case '['): Call error.
1076         * i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
1077         linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
1078         sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
1079         %[cpp_cpu].
1080
1081 Mon Jul 13 23:31:04 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1082
1083         * m68k.c (output_scc_di): Use cmpw #0 only for address registers.
1084
1085 Mon Jul 13 23:26:43 1998  Jeffrey A Law  (law@cygnus.com)
1086
1087         * tree.h (tree_common): Note front-end dependencies on layout of
1088         this structure.
1089
1090 Mon Jul 13 23:18:39 1998  Craig Burley  <burley@gnu.org>
1091
1092         * stmt.c (expand_expr_stmt): If not assigning fresh
1093         value to last_expr_value, zero it, so old garbage
1094         doesn't get dereferenced.
1095
1096 Mon Jul 13 23:06:55 1998  Henning.Petersen@t-online.de (Henning Petersen)
1097
1098         * gcse.c (hash_scan_insn): Add missing argument declaration.
1099
1100 Mon Jul 13 18:59:13 1998  Jim Wilson  <wilson@cygnus.com>
1101
1102         * configure.in (mips-sgi-irix5cross64, mips-sgi-irix5*): Remove
1103         HAVE_INTTYPES_H from xm_defines.  Define xm_file to mips/xm-iris5.h.
1104         * mips/xm-iris5.h (USG): Delete.
1105
1106 Mon Jul 13 17:18:47 1998  Nick Clifton  <nickc@cygnus.com>
1107
1108         * cccp.c (main): Add support for parsing --help.
1109         (display_help): New function: display command line switches.
1110
1111         * cpplib.c (cpp_handle_option): Add support for parsing --help.
1112         (display_help): New function: display command line switches.
1113
1114         * gcc.c (main): Add support for parsing --help, and passing it on
1115         to the sub-processes invoked by gcc.
1116         (display_help): New function: display comman line switches.     
1117
1118         * tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
1119         'description' field added to structure.  
1120
1121         * toplev.c: Add support for parsing --help.
1122         Add documentation strings to command line option tables.
1123         (display_help): New function: display comman line switches.
1124
1125 Mon Jul 13 16:15:10 1998  John Carr  <jfc@mit.edu>
1126
1127         * sparc.c, sparc.h, sparc.md: New trampoline code.
1128         Allow integer operand 1 to V8+ DImode shift instructions.
1129         Fix bugs in V8+ wide multiply patterns.
1130         In 32 bit mode, split DImode register moves and logical instructions. 
1131         Write V9 branch prediction flag.
1132         Use V9 conditional move more often for scc.
1133
1134 Mon Jul 13 15:10:09 1998  Philippe De Muyter  <phdm@macqel.be>
1135
1136         * invoke.texi(-fno-builtin): Explain that the names of built-in
1137         functions begin with `__builtin_', not `__'.
1138
1139 Mon Jul 13 19:01:52 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1140
1141         * reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
1142
1143 Mon Jul 13 10:50:17 1998  Mark Mitchell  <mark@markmitchell.com>
1144
1145         * cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff.
1146         (cplus_demangle_opname):  Initialize work.
1147         (demangle_template): Remove is_java_array.
1148         (do_type): Remove DMGL_JAVA stuff.
1149         (long_options): Remove "java".
1150         (main): Remove 'j' option.
1151
1152 Mon Jul 13 10:19:00 1998  Jeffrey A Law  (law@cygnus.com)
1153
1154         * mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
1155         Handle 'x' as NO_REGS for this cpu.
1156         (REGNO_OK_FOR_BIT_BASE_P): Define.
1157         (REG_OK_FOR_BIT_BASE_P): Define.
1158         (GO_IF_LEGITIMATE_ADDRESS): Use them.
1159         (REG_OK_FOR_INDEX_P): Tweak.
1160         * mn13000.c (REG_SAVE_BYTES): Define.
1161         (expand_epilogue, initial_offset): Use it.
1162         (secondary_reload_class): Slightly reformat.
1163         (output_tst): Tweak comments.
1164         * mn10300.md: Change 'x' to 'y' for SP_REGS.  Then add 'x' to many
1165         patterns.
1166         (addsi3): Turn into a define_expand/define_insn pair.  Rework code for
1167         three operand addition case to be more efficient.
1168         (subsi3): Turn into a define_expand/define_insn pair.
1169
1170         * expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
1171         is not varying for REFERENCE_TYPE or when we think we might have found
1172         an optimized access to the first element in an array.
1173
1174 Mon Jul 13 02:24:08 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1175
1176         * regclass.c (reg_scan_mark_refs): New arg min_regno.  Only update
1177         regscan information for REGs with numbers greater than or equal to
1178         this.  All callers changed.
1179         (reg_scan_update): New function to efficiently update regscan
1180         information on the fly.
1181         * rtl.h: Add prototype.
1182         * jump.c (jump_optimize): Call it when we make a transformation
1183         which generates new pseudo-REGs.
1184
1185 Sun Jul 12 13:08:14 1998  Jeffrey A Law  (law@cygnus.com)
1186
1187         * collect2.c (main): Use "-x c" instead of "-lang-c" for force the
1188         compiler into C mode.
1189
1190 Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
1191
1192         * cplus-dem.c (demangle_nested_args): Return a value.
1193
1194         * tree.h (TYPE_P): New macro.
1195
1196 Sat Jul 11 16:19:48 1998  Mark Mitchell  <mark@markmitchell.com>
1197
1198         * cplus-dem.c (string): Move definition before work_stuff.
1199         (work_stuff): Add volatile_type, forgetting_types,
1200         previous_argument, and nrepeats fields.
1201         (SCOPE_STRING): New macro.
1202         (demangle_template): Add `remember' parameter.  Add comment.
1203         Register the `B' code type here, if remembering.  Tidy.  Fix crash
1204         on NULL tmpl_argvec.  Be consistent with use of tname/trawname.
1205         (demangle_nested_args): New function.
1206         (internal_cplus_demangle): Handle volatile-qualified member
1207         functions. 
1208         (mop_up): Delete the previous_argument string if present.
1209         (demangle_signature): Tidy.  Handle volatile-qualified member
1210         functions.  Handle back-references using the `B' code.  Use extra
1211         parameter to demangle_template and SCOPE_STRING where appropriate.
1212         (demangle_template_value_parm): Fix thinko; 'B' is not an integral
1213         code. 
1214         (demangle_class): Use SCOPE_STRING.
1215         (gnu_special): Pass additional argument to demangle_template.
1216         Use SCOPE_STRING.
1217         (demangle_qualified): Save qualified types for later
1218         back-references.  Handle constructors and destructors for template
1219         types correctly.
1220         (do_type): Tidy.  Use SCOPE_STRING.  Pass extra argument to
1221         demangle_template.  Use demangled_nested_args.  Don't remember
1222         qualified types here; that's now done in demangle_qualified.
1223         Similarly for templates.
1224         (do_arg): Improve commment.  Handle 'n' repeat code.
1225         (remember_type): Check forgetting_types.
1226         (demangle_args): Deal with 'n' repeat codes.  Tidy.
1227         
1228 Sat Jul 11 02:59:08 1998  Richard Earnshaw  <rearnsha@arm.com>
1229
1230         * arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
1231         and structure attribute flags to MEMs generated.
1232         (splits for sign-extended HI & QI mode from memory):  Also propagate 
1233         the volatile flag.
1234
1235         * configure.in (thumb-*-coff*): Don't cause fixincludes to be run.
1236
1237 Fri Jul 10 19:06:59 1998  Michael Meissner  <meissner@cygnus.com>
1238
1239         * varray.h: Include system.h if it hasn't already been included
1240         before to get size_t declared.
1241
1242 Fri Jul 10 12:53:58 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1243
1244         * jump.c (jump_optimize): If after_regscan and our transformations
1245         generate new REGs, rerun reg_scan.
1246
1247 Fri Jul 10 11:50:43 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
1248
1249         * config/i960/i960.c (i960_address_cost): MEMA operands with
1250         positive offsets < 4096 are free.
1251
1252 Fri Jul 10 12:34:37 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1253
1254         * config/m68k/m68k.c (const_uint32_operand): Recognize
1255         CONSTANT_P_RTX.
1256         (const_sint32_operand): Likewise. 
1257
1258 Thu Jul  9 22:58:59 1998  Jeffrey A Law  (law@cygnus.com)
1259
1260         * Makefile.in (alias.o): Depend on $(EXPR_H).
1261
1262 Thu Jul  9 18:24:56 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1263
1264         * reload1.c (choose_reload_regs): If using an equivalence from
1265         find_equiv_reg and reg_reloaded_valid is not set for this register,
1266         clear the associated spill_reg_store.
1267
1268 Thu Jul  9 18:12:49 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1269
1270         * reload1.c (emit_reload_insns): If an output reload copies only
1271         to a secondary reload register, indicate that the secondary reload
1272         does the actual store.
1273
1274 Thu Jul  9 18:01:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1275
1276         * reload.c (find_equiv_reg): If need_stable_sp is set,
1277         check if stack pointer is changed directly in a PARALLEL.
1278
1279 Thu Jul  9 10:38:14 1998  Jeffrey A Law  (law@cygnus.com)
1280
1281         * jump.c (duplicate_loop_exit_test): Fix thinko.
1282
1283 Thu Jul  9 01:30:37 1998  Joel Sherrill  <joel@OARcorp.com>
1284                           Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1285
1286         * config/i386/rtemself.h: Updated to keep in sync with
1287         config/i386/linux.h.
1288
1289         * configure.in: Added sh-rtemself.
1290         * configure: Rebuilt.
1291         * config/sh/rtems.h: Removed -D__ELF__ since it is now COFF.
1292         * config/sh/rtemself.h: New file.
1293
1294         * config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
1295
1296 Wed Jul  8 21:43:14 1998  Jeffrey A Law  (law@cygnus.com)
1297
1298         * configure.in: Check if the assembler supports ".balign" and
1299         ".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
1300         * acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
1301         * i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
1302         ".balign" then use it.
1303
1304         * print-rtl.c (print_rtx): Revert previous patch.
1305
1306         * jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
1307         test if the exit code has an insn with ASM_OPERANDS.
1308
1309         * i386/cygwin32.h (STDIO_PROTO): Fix typo.
1310         * m32r.h (STDIO_PROTO): Fix typo.
1311
1312         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses created by
1313         LEGITIMIZE_RELOAD_ADDRESS.
1314         * tm.texi (LEGITIMIZE_RELOAD_ADDRESS): Note that this macro must be
1315         able to handle addresses created by previous invocations of the macro.
1316
1317         * flow.c (find_auto_inc): Remove most recent change.  Real bug was
1318         elsewhere.
1319
1320         * cse.c (count_reg_usage): Count registers used in addresses of
1321         CLOBBERs.
1322
1323 Wed Jul  8 15:08:29 1998  Jim Wilson  <wilson@cygnus.com>
1324
1325         * Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge.
1326
1327         * configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h.
1328
1329 1998-07-08  Vladimir N. Makarov  <vmakarov@cygnus.com>
1330
1331         * config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
1332         stubs.
1333
1334         * toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
1335         options.
1336         * c-decl.c (warn_long_long): Define.
1337         (c_decode_option): Parse -Wlong-long, -Wno-long-long options.
1338         (grokdeclarator): Add flag `warn_long_long' as guard for
1339         warning "ANSI C does not support `long long'".
1340         * invoke.texi: Add description of options -Wlong-long,
1341         -Wno-long-long.
1342         * gcc.1: The same as above.
1343         
1344 Wed Jul  8 02:43:34 1998  Jeffrey A Law  (law@cygnus.com)
1345
1346         * rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART.  If
1347         either argument is CONSTANT_P, then return zero.
1348         * reload.c (reg_overlap_mentioned_for_reload_p): Similarly.
1349
1350         * configure.in: Also look at $srcdir/gas/configure to find a 
1351         gas version #.
1352
1353 Wed Jul  8 00:28:22 1998  Carlo Wood <carlo@runaway.xs4all.nl>
1354
1355         * dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS
1356
1357 Tue Jul  7 21:18:14 1998  Mumit Khan  <khan@xraylith.wisc.edu>
1358
1359         * i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate
1360         definitions from last two patches.
1361
1362 Tue Jul  7 23:03:34 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1363
1364         * reload1.c (choose_reload_regs): Don't set reload_override_in
1365         if EQUIV is clobbered in INSN and the reload is done after INSN.
1366
1367 Tue Jul  7 21:23:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1368
1369         * expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
1370         to the first insn of the sequence.
1371
1372 Tue Jul  7 21:05:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1373
1374         * cse.c (cse_insn): Don't make change without validation.
1375
1376 Tue Jul  7 11:40:05 1998  Jeffrey A Law  (law@cygnus.com)
1377
1378         * mn10200.md (various zero/sign extension patterns): zero and sign
1379         extensions which use "sub" clobber cc0.
1380
1381 Tue Jul 7 09:12:08 PDT 1998 Jeff Law  (law@cygnus.com)
1382
1383         * version.c: Bump for snapshot.
1384
1385 Tue Jul  7 10:07:20 1998  Jeffrey A Law  (law@cygnus.com)
1386
1387         * print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
1388
1389 Tue Jul  7 08:41:27 1998  Richard Henderson  (rth@cygnus.com)
1390
1391         * print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
1392         is a double.
1393
1394 Tue Jul 7 00:31:58 PDT 1998 Jeff Law  (law@cygnus.com)
1395
1396         * version.c: Bump for snapshot.
1397
1398 Tue Jul  7 01:03:03 1998  Mumit Khan <khan@xraylith.wisc.edu>
1399
1400         Support for dllimport and dllexport attributes for i386-pe.
1401
1402         * tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
1403         (struct tree_decl): Add non_addr_const_p field.
1404         * tree.c (staticp): Use.
1405
1406         * i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
1407         attributes.
1408         (SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
1409         attributes. Also accept -mwindows option.
1410         (VALID_MACHINE_DECL_ATTRIBUTE): New macro.
1411         (MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
1412         (REDO_SECTION_INFO_P): New macro.
1413         (DRECTVE_SECTION_FUNCTION): New macro.
1414         (drectve_section): Cover function to implement above.
1415         (SWITCH_TO_SECTION_FUNCTION): New macro.
1416         (switch_to_section): Covert function to implement above.
1417         (EXTRA_SECTIONS): Add in_drectve.
1418         (EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
1419         (ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
1420         (STRIP_NAME_ENCODING): Handle new attributes.
1421         (ASM_OUTPUT_LABELREF): New macro.
1422         (ASM_OUTPUT_FUNCTION_NAME): New macro.
1423         (ASM_OUTPUT_COMMON): New macro.
1424         (ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
1425
1426         * i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
1427         attributes.
1428
1429         * i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
1430         (i386_pe_merge_decl_attributes): New function.
1431         (i386_pe_check_vtable_importexport): New function.
1432         (i386_pe_dllexport_p): New function.
1433         (i386_pe_dllimport_p): New function.
1434         (i386_pe_dllexport_name_p): New function.
1435         (i386_pe_dllimport_name_p): New function.
1436         (i386_pe_mark_dllexport): New function.
1437         (i386_pe_mark_dllimport): New function.
1438         (i386_pe_encode_section_info): New function.
1439         (i386_pe_unique_section): Strip encoding from name first.
1440
1441 Tue Jul  7 00:50:17 1998  Manfred Hollstein   (manfred@s-direktnet.de)
1442
1443         * libgcc2.c (L_exit): Provide a fake for atexit on systems which
1444         define ON_EXIT but not HAVE_ATEXIT.
1445
1446 Tue Jul  7 00:44:35 1998  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1447
1448         * m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
1449
1450 Tue Jul  7 00:36:41 1998  Ulrich Drepper <drepper@cygnus.com>
1451
1452         * i386.c: Remove random whitespace at end of lines.
1453
1454         * i386.c (ix86_epilogue): For pentium processors, try to deallocate
1455         4 or 8 byte stacks with pop instructions instead of an add instruction.
1456
1457 Tue Jul  7 00:30:08 1998  Klaus Kaempf <kkaempf@rmi.de>
1458
1459         * alpha.c: Include tree.h before expr.h.
1460
1461 Mon Jul  6 22:50:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
1462
1463         * c-parse.in (struct_head, union_head, enum_head): New nonterminals.
1464         (structsp): Use them.  Update files generated from c-parse.in.
1465         * extend.texi (Type Attributes): Document it.
1466
1467         * c-decl.c: Add warn_multichar.
1468         (c_decode_option): Handle -Wno-multichar.
1469         * c-lex.c (yylex): Check it.
1470         * c-tree.h: Declare it.
1471         * toplev.c (lang_options): Add it.
1472         * invoke.texi: Document it.
1473
1474 Mon Jul  6 22:47:55 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1475
1476         * reload.c (find_equiv_reg): When looking for stack pointer + const,
1477         make sure we don't use a stack adjust.
1478
1479         * reload.c (find_equiv_reg): If need_stable_sp is set,
1480         check if stack pointer is changed directly.
1481
1482         * reload1.c (delete_dead_insn): Don't delete feeding insn
1483         if that insn has side effects.
1484
1485         * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
1486         changed.
1487
1488         * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
1489         precedes RELOAD_FOR_OUTADDR_ADDRESS.
1490
1491         * gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK.  Changed
1492         caller.
1493
1494 Mon Jul  6 22:21:56 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
1495
1496         * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
1497         testing address registers on the 68000.
1498
1499 Mon Jul  6 22:17:19 1998  Alasdair Baird        <alasdair@wildcat.demon.co.uk>
1500
1501         * i386.c (is_fp_test): Fix thinko.
1502
1503         * jump.c (jump_optimize) Check for CONST_INT before using INTVAL.
1504
1505 Mon Jul  6 22:14:31 1998  Richard Henderson  (rth@cygnus.com)
1506
1507         * print-rtl.c (print_rtx): Display the real-value equivalent of
1508         a const_double when easy.
1509
1510         * real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
1511         Zero memory first for predictability.
1512         (REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
1513         * varasm.c (immed_real_const_1): Notice width of H_W_I == double.
1514
1515         * regclass.c (allocate_reg_info): Initialize the entire reg_data
1516         virtual array.
1517
1518 Mon Jul  6 22:09:32 1998  Ian Lance Taylor  <ian@cygnus.com>
1519                           Jeff Law          <law@cygnus.com>
1520
1521
1522         * i386/cygwin32.h: Add some declaration of external functions.
1523         (ASM_DECLARE_FUNCTION_NAME): Define.
1524         (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
1525         (ASM_FILE_END): Define.
1526         * i386/winnt.c (i386_pe_declare_function_type): New function.
1527         (struct extern_list, extern_head): Define.
1528         (i386_pe_record_external_function): New function.
1529         (i386_pe_asm_file_end): New function.
1530
1531         * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
1532         matching July 18, 1995 change to cccp.c.  If -traditional then
1533         disable cplusplus_comments.
1534
1535 Mon Jul  6 21:28:14 1998  Jeffrey A Law  (law@cygnus.com)
1536
1537         * combine.c (expand_compound_operation): Fix thinko in code to optimize
1538         (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
1539
1540         * Disable the following change from gcc2.  Not appropriate for egcs:
1541
1542         Sun Jun  7 09:30:31 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1543         * reload.c (find_reloads): Give preference to pseudo that was the
1544         reloaded output of previous insn.
1545
1546 Mon Jul  6 21:07:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1547
1548         * aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
1549         Instead, define a new macro HAVE_PRINTF_PTR which only signifies
1550         whether we have the %p format specifier or not.
1551
1552         * acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
1553         
1554         * machmode.h (HOST_PTR_PRINTF): When determining the definition,
1555         check HAVE_PRINTF_PTR to see whether "%p" is okay.
1556
1557         * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
1558
1559         * Makefile.in (mips-tfile.o): Depend on machmode.h.
1560
1561 Mon Jul  6 10:42:05 1998  Mark Mitchell  <mark@markmitchell.com>
1562
1563         * jump.c (duplicate_loop_exit_test): Don't refuse to copy a
1564         section of code just because it contains
1565         NOTE_INSN_BLOCK_{BEG,END}.
1566         * stmt.c (expand_end_loop): Likewise.  Also, don't refuse to 
1567         move CALL_INSNs or CODE_LABELs.  When moving code, don't move
1568         NOTE_INSN_BLOCK_{BEG,END}.
1569
1570 Mon Jul  6 09:38:15 1998  Mark Mitchell  <mark@markmitchell.com>
1571
1572         * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but 
1573         dealing with ADDRESSOF.
1574         (find_best_addr): Use it. 
1575
1576 Mon Jul  6 09:27:08 1998  Richard Henderson  <rth@cygnus.com>
1577
1578         * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
1579
1580 Mon Jul  6 09:25:06 1998  Dave Love  <d.love@dl.ac.uk>
1581
1582         * libgcc2.c (__eprintf): Make args consistent with prototype in
1583         assert.h.
1584
1585 Mon Jul  6 00:28:43 1998  Mark Mitchell  <mark@markmitchell.com>
1586
1587         * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
1588         don't claim that the former is equivalent to the latter.
1589
1590 Sun Jul  5 23:58:19 1998  Jeffrey A Law  (law@cygnus.com)
1591
1592         * cse.c (cse_insn): Second arg is an RTX now.  Update all callers.
1593         (cse_basic_block): Keep track of the current RETVAL insn for a
1594         libcall instead of just noting that we're in a libcall.
1595
1596         * combine.c (simplify_comparison): Do not commute a AND into
1597         a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
1598
1599         * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
1600         HAVE_GAS_MAX_SKIP_P2ALIGN.
1601         * i386/linux.h: Likewise.
1602         
1603 Fri Jul  3 02:33:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
1604
1605         * sparc.c (sparc_operand, move_operand, arith_operand,
1606         arith11_operand, arith10_operand, arith_double_operand,
1607         arith11_double_operand, arith10_double_operand, small_int,
1608         uns_small_int): Recognize CONSTANT_P_RTX.
1609         (output_sized_memop, output_move_with_extension,
1610         output_load_address, output_size_for_block_move,
1611         output_block_move, delay_operand): Remove, has not been
1612         enabled or referenced for years.
1613         * sparc.md (movstrsi, block_move_insn): Likewise.
1614         * sparc.h (PREDICATE_CODES): Define.
1615         * linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
1616         version which uses getcc/setcc traps to save/restore condition
1617         codes.
1618         * linux64.h: Likewise.
1619         * sunos4.h: Likewise.
1620         * linux.h: Likewise.
1621         * sol2.h: Likewise.
1622         * sun4o3.h: Likewise.
1623
1624 Fri Jul  3 02:28:05 1998  Richard Henderson  <rth@cygnus.com>
1625
1626         * alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
1627         lossage on VMS.  Reported by kkaempf@rmi.de.
1628         * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
1629
1630 Thu Jul  2 17:41:14 1998  Nick Clifton  <nickc@cygnus.com>
1631
1632         * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
1633         version. 
1634
1635 Thu Jul  2 14:34:48 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1636
1637         * expr.h (STACK_SIZE_MODE): New macro.
1638         * explow.c (allocate_dynamic_stack_space): Use it for
1639         mode of allocate_stack pattern increment operand.
1640         * tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
1641         * md.texi (stack_save_block, ...): Reflect use of macro.
1642
1643         * rs6000.h (PROMOTE_MODE): Always promote to word_mode.
1644         (PROMOTE_FUNCTION_ARGS): Define.
1645         (PROMOTE_FUNCTION_RETURN): Define.
1646         (FUNCTION_VALUE): Promote to word_mode if smaller.
1647         Convert to gen_rtx_FOO.
1648         * rs6000.md (call_indirect): Store doubleword in 64-bit mode.
1649         Convert to gen_rtx_FOO.
1650         * rs6000.c: Convert to gen_rtx_FOO.
1651         
1652 Thu Jul  2 14:16:11 1998  Michael Meissner  <meissner@cygnus.com>
1653
1654         * varray.{c,h}: New files to provide virtual array support.
1655
1656         * Makefile.in (OBJS): Add varray.o.
1657         (varray.o): Add new file.
1658         (REGS_H): New variable for dependencies for files including
1659         regs.h.  Add varray.h and files it includes.  Change all regs.h
1660         dependencies to $(REGS_H).
1661
1662         * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
1663         (xcalloc): Provide frontend for calloc.
1664         * {tree,rtl}.h (xcalloc): Add declaration.
1665
1666         * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
1667         varray.
1668
1669         * regs.h (toplevel): Include varray.h.
1670         (reg_n_info): Switch to use a varray.
1671         (REG_*): Ditto.
1672         (allocate_reg_info): Change num_regs argument to be size_t.
1673
1674         * regclass.c (reg_info_data): New structure to remember groups of
1675         reg_info structures allocated that are to be zeroed.
1676         ({pref,alt}class_buffer): New statics to hold buffers
1677         allocate_reg_info allocates for {pref,alt}class_buffer.
1678         (regclass): Use {pref,alt}class_buffer to initialize
1679         {pref,alt}class.
1680         (allocate_reg_info): Switch to make reg_n_info use varrays.
1681         Allocate buffers for the preferred and alter register class
1682         information.  Change num_regs argument to be size_t, not int.
1683
1684         * flow.c (reg_n_info): Switch to use varrays.
1685
1686 Thu Jul  2 10:11:47 1998  Robert Lipe  <robertl@dgii.com>
1687
1688         * install.texi (sco3.2v5): Document new --with-gnu-as flag.
1689         * config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
1690         in other targets.
1691         (USE_GAS): Conditionalize away native assembler usage.
1692         * config/i386/sco5gas.h: New file.
1693         * config/i386/t-sco5gas: New file.
1694         * configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
1695
1696 Thu Jul 2 08:20:00 1998  Catherine Moore  <clm@cygnus.com>
1697
1698         * haifa-sched.c (alloc_EXPR_LIST):  Change to use
1699         unused_expr_list.
1700
1701 Thu Jul  2 14:13:28 1998  Dave Love  <d.love@dl.ac.uk>
1702
1703         * Makefile.in (install-info): Don't use $realfile.  Ignore
1704         possible errors from the install-info program.
1705
1706 Thu Jul  2 01:53:32 1998  Alasdair Baird        <alasdair@wildcat.demon.co.uk>
1707
1708         * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
1709
1710 Wed Jul  1 23:06:03 1998  Richard Henderson  <rth@cygnus.com>
1711
1712         * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test.
1713         (MODES_TIEABLE_P): Tie SImode and HImode.
1714
1715 1998-07-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
1716
1717         * invoke.texi (Optimize Options): Fix typo.
1718
1719 Wed Jul  1 22:25:43 1998  Jim Wilson  <wilson@cygnus.com>
1720
1721         * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
1722         the zero'th block.
1723
1724 Wed Jul  1 23:12:58 1998  Ken Raeburn  <raeburn@cygnus.com>
1725
1726         * h8300.c (print_operand): Delete %L support.
1727         * h8300.md (branch_true, branch_false): Use %= with a prefix
1728         instead of %L for local branch labels.
1729
1730 Wed Jul  1 21:27:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1731
1732         * reload1.c (emit_reload_insns): Use proper register classes for
1733         SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
1734
1735 Wed Jul  1 21:17:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1736
1737         * reload.c (find_reloads): If there are multiple
1738         RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
1739         one operand, change RELOAD_FOR_INPADDR_ADDRESS /
1740         RELOAD_FOR_OUTADDR_ADDRESS for all but the first
1741         RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
1742
1743 Wed Jul  1 17:23:23 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1744
1745         * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
1746         using its PATTERN.
1747
1748 Wed Jul  1 05:04:41 1998  Richard Henderson  <rth@cygnus.com>
1749
1750         * expr.c (emit_group_load, emit_group_store): Rewrite considering
1751         the size and alignment of the structure being manipulated. 
1752         * expr.c, calls.c, function.c: Update all callers.
1753         * expr.h: Update prototypes.
1754         * cse.c (invalidate): Cope with parallels.
1755
1756 Wed Jul  1 04:22:23 1998  Richard Henderson  <rth@cygnus.com>
1757
1758         * sparc.c (function_arg_record_value): Take a MODE arg with which to
1759         create the PARALLEL.  Update all callers.
1760
1761 Wed Jul  1 04:10:35 1998  Richard Henderson  <rth@cygnus.com>
1762
1763         * expr.c (expand_assignment, store_constructor, expand_expr): Use
1764         convert_memory_address instead of convert_to_mode when possible.
1765
1766 Wed Jul  1 03:48:00 1998  Richard Henderson  <rth@cygnus.com>
1767
1768         * alpha.c (alpha_initialize_trampoline): Take arguments describing
1769         the layout.  Use ptr_mode.  Disable hint generation.  Use gen_imb.
1770         * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
1771         (TRANSFER_FROM_TRAMPOLINE): Move ...
1772         * alpha/osf.h: ... here.
1773         * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
1774         (TRANSFER_FROM_TRAMPOLINE): Remove undef.
1775         * alpha/win-nt.h: Likewise.
1776         * alpha/vxworks.h: Likewise.
1777
1778         * alpha/linux.h: Revert gcc2 merge lossage.
1779
1780 Wed Jul  1 10:56:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1781
1782         * c-decl.c (grokdeclarator): Don't warn about implicit int in
1783         `typedef foo = bar'.
1784
1785 Wed Jul  1 02:12:33 1998  Robert Lipe  <robertl@dgii.com>
1786
1787         * i386.c (asm_output_function_prefix): Make 686 function
1788         prologues not issue .types for non-global lables.
1789
1790 Tue Jun 30 23:46:53 1998  Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
1791
1792         * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
1793         (WCHAR_TYPE_SIZE): Update appropriately.
1794
1795 Tue Jun 30 23:16:39 1998  Jeffrey A Law  (law@cygnus.com)
1796
1797         * flow.c (recompute_reg_usage): Does not return a value.
1798         * rtl.h (recompute_reg_usage): Update prototype.
1799
1800         * jump.c (jump_optimize): Show that the jump chain is not
1801         valid when not optimizing.
1802
1803 Tue Jun 30 16:01:01 1998  Richard Henderson  <rth@cygnus.com>
1804
1805         * rtl.def (CONSTANT_P_RTX): New.
1806         * rtl.h (CONSTANT_P): Recognize it.
1807         * cse.c (fold_rtx): Eliminate it.
1808         * expr.c (can_handle_constant_p): New variable.
1809         (init_expr_once): Initialize it.
1810         (expand_builtin): Generate CONSTANT_P_RTX if the expression is not
1811         immediately recognizable as a constant.
1812
1813         * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
1814         (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
1815         (sext_add_operand, and_operand, or_operand): Likewise.
1816         (reg_or_cint_operand, some_operand, input_operand): Likewise.
1817         * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
1818
1819 1998-06-30  Benjamin Kosnik  <bkoz@bliss.nabi.net>
1820
1821         * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
1822
1823 Tue Jun 30 14:03:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1824
1825         * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
1826         argument, which is typically preprocessor code used to draw in
1827         additional header files when looking for a function declaration.
1828         (GCC_NEED_DECLARATIONS): Likewise.
1829
1830         * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
1831         and setrlimit, search for them in sys/resource.h.
1832
1833         * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
1834         NEED_DECLARATION_SETRLIMIT.
1835
1836         * system.h: Prototype getrlimit/setrlimit if necessary.
1837
1838 Tue Jun 30 10:54:48 1998  Mark Mitchell  <mark@markmitchell.com>
1839
1840         * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
1841         upon.
1842
1843 Tue Jun 30 13:11:42 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1844
1845         * rs6000/sysv4.h (asm output): add tabs for asm directives.
1846
1847 Tue Jun 30 13:11:42 1998  David Edelsohn <edelsohn@mhpcc.edu>
1848
1849         * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
1850
1851 Tue Jun 30 08:59:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1852
1853         * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
1854         Don't define NULL here.  Also, remove all vestiges of autoconf
1855         based checks for bcmp/bcopy/bzero/index/rindex.
1856
1857         * system.h: Immediately after including stdio.h, check for and if
1858         necessary provide a default definition of NULL.
1859
1860 Tue Jun 30 08:22:05 1998  Michael Meissner  <meissner@cygnus.com>
1861
1862         * reload1.c (reload_cse_simplify_operands): Call
1863         fatal_insn_not_found, not abort.
1864
1865 Tue Jun 30 02:34:02 1998  Jeffrey A Law  (law@cygnus.com)
1866
1867         * choose-temp.c (make_temp_file): Accept new argument for the
1868         file suffix to use.  Allocate space for it and add it to the
1869         template.
1870         * mkstemp.c (mkstemps): Renamed from mkstemp.  Accept new argument
1871         for the length of the suffix.  Update template struture checks
1872         to handle optinal suffix.
1873         * collect2.c (make_temp_file): Update prototype.
1874         (main): Put proper suffixes on temporary files.
1875         * gcc.c (make_temp_file): Update prototype.
1876         (do_spec_1): Put proper suffixes on temporary files.
1877
1878 Tue Jun 30 00:56:19 1998  Bruno Haible <haible@ilog.fr>
1879
1880         * invoke.texi: Document new implicit structure initialization
1881         warning.
1882
1883 Mon Jun 29 22:12:06 1998  Jeffrey A Law  (law@cygnus.com)
1884
1885         * Merge from gcc2 June 9, 1998 snapshot.  See ChangeLog.13 for
1886         details.
1887
1888         * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
1889
1890 Mon Jun 29 20:12:41 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1891
1892         * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
1893
1894         * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
1895         void since it is evaluated in a comma list.
1896
1897         * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
1898         argument as a long and cast `NUM' to long to ensure it is of the
1899         proper width.  Wrap macro arguments in parens when they appear in
1900         the expansion.
1901
1902         * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1903
1904         * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1905         (ASM_DECLARE_RESULT): Fix fprintf format specifier to match
1906         function argument return type.
1907         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
1908         REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
1909
1910         * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
1911         cpp_message.
1912
1913         * dbxout.c: Fix the comments after an #endif to reflect the actual
1914         condition tested in the preceding #if.
1915
1916         * except.c (find_all_handler_type_matches): Switch to old-style
1917         function definition.
1918
1919         * expr.c (expand_builtin): Remove unused variable `type' twice.
1920
1921         * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
1922         to an unsigned long.
1923
1924         * haifa-sched.c (print_insn_chain): Remove unused function.
1925
1926         * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
1927         definition.
1928
1929         * toplev.c: When testing whether to include dbxout.h, also include
1930         it when XCOFF_DEBUGGING_INFO is defined.
1931
1932         * unroll.c (unroll_loop): Add parentheses around assignment used
1933         as truth value.
1934
1935 Mon Jun 29 12:18:00 1998  Catherine Moore  <clm@cygnus.com>
1936
1937         * config/lb1spc.asm (.div, .udiv): Replace routines.
1938
1939 Mon Jun 29 09:44:24 1998  Mark Mitchell  <mark@markmitchell.com>
1940
1941         * rtl.h: Update comment about special gen_rtx variants.
1942         * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
1943
1944 Sun Jun 28 20:58:51 1998  Jeffrey A Law  (law@cygnus.com)
1945
1946         * choose-temp.c (choose_temp_base): Restore original variant of
1947         this function for compatibility.
1948         (make_temp_file): This is the new, preferred interface to create
1949         temporary files.
1950         * collect2.c (choose_temp_base): Delete declaration.
1951         (make_temp_file): Declare.
1952         (temp_filename_length, temp_filename): Delete.
1953         (main): Use make_temp_file to get temporary files.  Use --lang-c
1954         to force the resulting ctort/dtor file to be compiled with the C
1955         compiler.  Make sure to remove temporary files on all exit paths.
1956         * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
1957         defined.
1958         (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
1959         not defined.
1960         (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
1961
1962 Sun Jun 28 08:57:09 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1963
1964         * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
1965         getwd.
1966
1967         * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
1968         NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD. 
1969
1970         * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
1971         (my_strerror): Add prototype and make it static.
1972
1973         * collect2.c: Likewise.
1974
1975         * cpplib.c: Likewise.
1976
1977         * gcc.c: Likewise, but keep `my_strerror' extern.
1978
1979         * protoize.c: Likewise.
1980
1981         * pexecute.c (my_strerror): Add argument to prototype.
1982
1983         * system.h: Add prototypes for getcwd, getwd and strerror.  Add
1984         extern decls for sys_nerr and sys_errlist.  Make abort decl
1985         explicitly extern.
1986
1987         * getpwd.c: Remove decls for getwd and getcwd.
1988
1989 Sun Jun 28 02:11:16 PDT 1998 Jeff Law  (law@cygnus.com)
1990
1991         * version.c: Bump for snapshot.
1992
1993 Sat Jun 27 23:32:25 1998  Richard Henderson  <rth@cygnus.com>
1994
1995         * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
1996         of rtx_unsafe_p.  Use modified_between_p instead of reg_set_between_p.
1997         Allow FP moves to be optimized.
1998         (rtx_unsafe_p): Delete.
1999
2000 Sat Jun 27 23:02:04 1998  Richard Henderson  <rth@cygnus.com>
2001
2002         * objc/archive.c: Remove <string.h> prototypes.
2003
2004 Sat Jun 27 22:37:05 1998  Jeffrey A Law  (law@cygnus.com)
2005
2006         * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
2007
2008         * Makefile.in (gencheck): Remove $(TREE_H) dependency.
2009
2010 Sat Jun 27 20:20:00 1998  John Carr  <jfc@mit.edu>
2011
2012         * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
2013         * dsp16xx.c (next_cc_user_unsigned): New function.
2014         Remove save_next_cc_user_code.
2015         (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
2016         * dsp16xx.md: Call next_cc_user_unsigned instead of using
2017         save_next_cc_user_code.
2018         Use gen_rtx_* functions instead of gen_rtx.
2019
2020 Sat Jun 27 20:18:34 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2021
2022         * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
2023
2024 Sat Jun 27 16:45:42 1998  Jeffrey A Law  (law@cygnus.com)
2025
2026         * flow.c (count_reg_sets): New function.
2027         (count_reg_sets_1, count_ref_references): Likewise.
2028         (recompute_reg_usage): Likewise.
2029         * rtl.h (recompute_reg_usage): Add prototype.
2030         * toplev.c (rest_of_compilation): Call recompute_reg_usage just
2031         before local register allocation.
2032
2033 Sat Jun 27 13:15:30 1998  Richard Henderson  <rth@cygnus.com>
2034
2035         * alpha.md (negsf, negdf): Revert Jan 22 change.
2036
2037 Sat Jun 27 07:35:21 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2038
2039         * mkstemp.c: Include gansidecl.h.  Rename uint64_t to gcc_uint64_t.
2040         (mkstemp): Remove size specifier for variable `letters'.  Call
2041         gettimeofday, not __gettimeofday.
2042
2043         * Makefile.in (EXPR_H): New dependency variable.
2044         (c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
2045         (c-iterate.o): Likewise.
2046         (gencheck): Depend on $(TREE_H) instead of tree.h, etc.
2047         (stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
2048         (toplev.o): Likewise.  Also depend on $(RECOG_H) instead of recog.h.
2049         (varasm.o): Depend on $(EXPR_H) instead of expr.h.
2050         (function.o): Likewise.
2051         (stmt.o): Likewise.
2052         (except.o): Likewise.
2053         (expr.o): Likewise.
2054         (calls.o): Likewise.
2055         (expmed.o): Likewise.
2056         (explow.o): Likewise.
2057         (optabs.o): Likewise.
2058         (sdbout.o): Likewise.
2059         (dwarf2out.o): Likewise.
2060         (emit-rtl.o): Likewise.
2061         (integrate.o): Likewise.
2062         (jump.o): Likewise.
2063         (cse.o): Likewise.
2064         (gcse.o): Likewise.  Also depend on $(BASIC_BLOCK_H) instead of
2065         basic-block.h.
2066         (loop.o): Depend on $(EXPR_H) instead of expr.h.
2067         (unroll.o): Likewise.
2068         (combine.o): Likewise.
2069         (reload.o): Likewise.
2070         (reload1.o): Likewise.
2071         (caller-save.o): Likewise.
2072         (reorg.o): Likewise.
2073         (alias.o): Don't depend on insn-codes.h.
2074         (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
2075         (insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
2076         (insn-opinit.o): Likewise.
2077
2078 Sat Jun 27 01:35:14 1998  Jeffrey A Law  (law@cygnus.com)
2079
2080         * choose-temp.c (choose_temp_base): Remove MPW bits.  Use mkstemp
2081         instead of mktemp.
2082         * gcc.c (MKTEMP_EACH_FILE): Define.
2083         (main): No need to call choose_temp_base if we are going to
2084         use choose_temp_base to create each file later.
2085         * mkstemp.c: New file.  Adapted from glibc.
2086         * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o
2087         (mkstemp.o): Add dependencies.
2088
2089         * configure.in (gettimeofday): Check for its existance.
2090         * config.in (HAVE_GETTIMEOFDAY): Define.
2091         * configure: Rebuilt.
2092
2093 1998-06-26  Michael Meissner  <meissner@cygnus.com>
2094
2095         * rs6000.md (ne 0, non power case): Add missing & constraint.
2096         Name pattern ne0.
2097         (negative abs insns): Add pattern names.
2098
2099 Fri Jun 26 17:36:42 1998  Dave Love  <d.love@dl.ac.uk>
2100
2101         * Makefile.in (install-info): Run install-info program in separate
2102         loop.
2103
2104 Fri Jun 26 16:03:15 1998  Michael Meissner  <meissner@cygnus.com>
2105
2106         * haifa-sched.c (schedule_block): Add hooks for the machine
2107         description to reorder the ready list, and update how many more
2108         instructions can be issued this cycle.
2109         * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
2110         
2111 Fri Jun 26 11:54:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2112
2113         * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
2114         Explicitly mark the constant being compared against as unsigned.
2115         * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
2116         Fully initialize final members.
2117         (mem_aligned_8): Explicit init of offset to zero.
2118         (output_function_prologue): Explicit init of n_regs to zero.
2119         (output_function_epilogue): Likewise, and mark arg size as
2120         unused.
2121         (init_cumulative_args): Mark libname and indirect as unused.
2122         (function_arg_pass_by_reference): Likewise for cum and named.
2123         (sparc_builtin_saveregs): Likewise for arglist.
2124         (sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
2125
2126 Fri Jun 26 06:58:54 1998  Richard Earnshaw (rearnsha@arm.com)
2127
2128         * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
2129         if reloading a MEM.
2130
2131         * arm.h (arm_adjust_cost): Renamed bogus prototype from 
2132         arm_adjust_code.
2133         (bad_signed_byte_operand): Add prototype.
2134         * arm.c (arm_override_options): Make I unsigned.
2135         (const_ok_for_arm): Add casts to the constants. 
2136         (load_multiple_operation): Don't redeclare elt in sub-block.
2137         (arm_gen_movstrqi): Delete external declaration of optimize.
2138         (gen_compare_reg): Declare parameter fp.
2139
2140         * arm.c (final_prescan_insn): Only initialize scanbody if the insn
2141         has a pattern.
2142
2143 Fri Jun 26 09:31:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2144
2145         * alpha.c: Include system.h and toplev.h.
2146         (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
2147         (const48_operand): Likewise.
2148         (mode_width_operand): Likewise.
2149         (mode_mask_operand): Likewise.
2150         (mul8_operand): Likewise.
2151         (current_file_function_operand): Likewise.
2152         (signed_comparison_operator): Likewise.
2153         (divmod_operator): Likewise.
2154         (any_memory_operand): Likewise.
2155         (alpha_return_addr): Likewise for parameter `frame'.
2156         (alpha_builtin_saveregs): Likewise for parameter `arglist'.
2157         (vms_valid_decl_attribute_p): Likewise for parameters `decl' and
2158         `attributes'.
2159         (alpha_start_function): Likewise for parameter `decl'.  Use
2160         HOST_WIDE_INT_PRINT_DEC in call to fprintf.  Fix various format
2161         specifiers.  Remove unused variables `lab' and `name'.
2162         (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
2163         (check_float_value): Likewise for parameter `overflow'.
2164         (alpha_need_linkage): Likewise for parameters `name' and `is_local'.
2165         
2166         * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
2167         taking an argument.
2168         (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
2169         (ASM_OUTPUT_CHAR): Likewise.
2170         (ASM_OUTPUT_BYTE): Likewise.
2171         (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
2172         fprintf.
2173         (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
2174         Add prototypes for functions in alpha.c.
2175
2176         * alpha.md (ashldi3): Add default case in switch.
2177
2178 1998-06-26  Manfred Hollstein  <manfred@s-direktnet.de>
2179
2180         * Makefile.in (gcc_version, gcc_version_trigger): New macros.
2181         (version): Initialize from $(gcc_version).
2182
2183         * configure.in (version): Rename to gcc_version.
2184         (gcc_version_trigger): New variable; call AC_SUBST for it and
2185         emit it into the generated config.status.
2186         * configure: Regenerate.
2187
2188 Thu Jun 25 12:47:41 1998  Mark Mitchell  <mark@markmitchell.com>
2189
2190         * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
2191         nodes that are not expressions.
2192
2193 Thu Jun 25 15:08:16 1998  Mark Mitchell  <mark@markmitchell.com>
2194
2195         * invoke.texi (-fstrict-aliasing): Document.
2196         * rtl.texi (MEM_ALIAS_SET): Document.
2197
2198         * flags.h (flag_strict_aliasing): Declare.
2199         * toplev.c (flag_strict_aliasing): Define.
2200         (f_options): Add -strict-aliasing.
2201         (main): Set flag_strict_aliasing if -O2 or higher.
2202
2203         * tree.h (tree_type): Add alias_set field.
2204         (TYPE_ALIAS_SET): New macro.
2205         (TYPE_ALIAS_SET_KNOWN_P): Likewise.
2206         (get_alias_set): Declare.
2207         * tree.c (lang_get_alias_set): Define.
2208         (make_node): Initialize TYPE_ALIAS_SET.
2209         (get_alias_set): New function.
2210         * print-tree.c (print_node): Dump the alias set for a type.
2211
2212         * c-tree.h (c_get_alias_set): Declare.
2213         * c-common.c (c_get_alias_set): New function.
2214         * c-decl.c (init_decl_processing): Set lang_get_alias_set.
2215
2216         * expr.c (protect_from_queue): Propogage alias sets.
2217         (expand_assignment): Calculate alias set for new MEMs.
2218         (expand_expr): Likewise.
2219         * function.c (put_var_into_stack): Likewise.
2220         (put_reg_into_stack): Likewise.
2221         (gen_mem_addressof): Likewise.
2222         (assign_parms): Likewise.
2223         * stmt.c (expand_decl): Likewise.
2224         * varasm.c (make_decl_rtl): Eliminate redundant clearing of
2225         DECL_RTL.  Calculate alias set for new MEMs. 
2226
2227         * rtl.def (REG): Add dummy operand.
2228         (MEM): Add extra operand to store the MEM_ALIAS_SET.
2229         * rtl.h (MEM_ALIAS_SET): New macro.
2230         (gen_rtx_MEM): Declare.
2231         * emit-rtl.c (gen_rtx_MEM): New function.
2232         * gengenrtl.c (sepcial_rtx): Make MEMs special.
2233
2234         * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
2235         (DIFFERENT_ALIAS_SETS_P): Likewise.
2236         (canon_rtx): Propogate the alias set to the new MEM.
2237         (true_dependence): Check the alias sets.
2238         (anti_dependence): Likewise.
2239         (output_dependence): Likewise.
2240         * explow.c (stabilize): Progoate alias sets.
2241         * integrate.c (copy_rtx_and_substitute): Likewise.
2242         * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
2243         in an unpredictable state.  Propogate alias sets.
2244         * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
2245         we have no alias information.
2246         
2247 Thu Jun 25 16:59:18 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
2248
2249         * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
2250         (find_all_handler_type_matches): Add function prototype.
2251         * eh-common.h (CATCH_ALL_TYPE): Definition added.
2252         * except.c (find_all_handler_type_matches): Add function to find all
2253         runtime type info in the exception table.
2254         (output_exception_table_entry): Special case for CATCH_ALL_TYPE.
2255
2256 Thu Jun 25 15:47:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2257
2258         * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
2259
2260         * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
2261         `yhigh' and `bit' into the scope in which they are used.
2262         (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
2263         `y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
2264
2265         * rs6000.c: Move include of output.h below tree.h.  Include toplev.h.
2266         (any_operand): Mark unused parameters `op' and `mode' with
2267         ATTRIBUTE_UNUSED. 
2268         (count_register_operand): Likewise for parameter `mode'.
2269         (fpmem_operand): Likewise.
2270         (short_cint_operand): Likewise.
2271         (u_short_cint_operand): Likewise.
2272         (non_short_cint_operand): Likewise.
2273         (got_operand): Likewise.
2274         (got_no_const_operand): Likewise.
2275         (non_add_cint_operand): Likewise.
2276         (non_logical_cint_operand): Likewise.
2277         (mask_operand): Likewise.
2278         (current_file_function_operand): Likewise.
2279         (small_data_operand): Likewise for parameters `op' and `mode' but
2280         only when !TARGET_ELF.
2281         (init_cumulative_args): Mark parameters `libname' with
2282         ATTRIBUTE_UNUSED.
2283         (function_arg_pass_by_reference): Likewise for parameters `cum',
2284         `mode' and `named'.
2285         (expand_builtin_saveregs): Likewise for parameter `args'.
2286         (load_multiple_operation): Likewise for parameter `mode'.
2287         (store_multiple_operation): Likewise.
2288         (branch_comparison_operator): Likewise.
2289         (secondary_reload_class): Likewise.
2290         (print_operand): Add parentheses around & operation.
2291         (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
2292         (output_epilog): Likewise.  Cast argument to fprintf to int.
2293         (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
2294         (rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
2295         `attributes', `identifier' and `args'.
2296         (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
2297         (rs6000_comp_type_attributes): Likewise for parameters `type1' and
2298         `type2'.
2299         (rs6000_set_default_type_attributes): Likewise for parameter `type'.
2300
2301         * rs6000.h (RTX_COSTS): Add parentheses around & operation.
2302         (toc_section, private_data_section, trap_comparison_operator): Add
2303         prototypes.
2304
2305         * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
2306         prototypes.
2307
2308         * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
2309
2310         * xcoffout.h (stab_to_sclass, xcoffout_begin_function,
2311         xcoffout_begin_block, xcoffout_end_epilogue,
2312         xcoffout_end_function, xcoffout_end_block,
2313         xcoff_output_standard_types, xcoffout_declare_function,
2314         xcoffout_source_line): Add prototypes.
2315
2316 Thu Jun 25 09:54:55 1998  Nick Clifton  <nickc@cygnus.com>
2317
2318         * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
2319         noticed by grahams@rcp.co.uk.
2320
2321 Thu Jun 25 11:12:29 1998  Dave Brolley  <brolley@cygnus.com>
2322
2323         * gcc.c (default_compilers): Use new | syntax to eliminate
2324         string concatenation.
2325
2326 Thu Jun 25 01:00:48 1998  Richard Henderson  <rth@cygnus.com>
2327
2328         * alpha.c (alpha_function_name): Delete.
2329         (alpha_ra_ever_killed): Notice current_function_is_thunk.
2330         (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
2331         (alpha_start_function): Reorg from output_prologue.
2332         (alpha_end_function): Reorg from output_epilogue.
2333         * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
2334         (ASM_DECLARE_FUNCTION_SIZE): New.
2335         (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
2336         (PROFILE_BEFORE_PROLOGUE): Set.
2337         (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
2338         * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
2339
2340 Thu Jun 25 01:18:47 1998  John Wehle  (john@feith.com)
2341
2342         * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
2343
2344 1998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2345
2346         * expr.c (expand_assignment): Rework address calculation for structure
2347         field members to expose more invariant computations to the loop
2348         optimizer.
2349         (expand_expr): Likewise.
2350
2351 Wed Jun 24 22:44:22 1998  Jeffrey A Law  (law@cygnus.com)
2352
2353         * local-alloc.c (block_alloc): Do not try to avoid false dependencies
2354         when SMALL_REGISTER_CLASSES is nonzero.
2355
2356 Wed Jun 24 17:55:15 1998  Klaus Kaempf  <kkaempf@progis.de>
2357
2358         * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
2359
2360 Wed Jun 24 16:27:23 1998  John Carr  <jfc@mit.edu>
2361
2362         * expr.c (get_memory_rtx): New function.
2363         (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
2364         string functions.
2365
2366         * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
2367
2368         * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
2369         * expr.c: Likewise.
2370         * explow.c: Likewise.
2371         * combine.c: Likewise.
2372         * reload1.c: Likewise.
2373         * gcse.c: Likewise.
2374
2375 Wed Jun 24 15:13:01 1998  Dave Brolley  <brolley@cygnus.com>
2376
2377         * README.gnat: Add patch for new lang_decode_options interface.
2378
2379 Wed Jun 24 09:14:04 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
2380
2381         * except.c (start_catch_handler): Do nothing if EH is not on.
2382
2383 1998-06-24  Manfred Hollstein  <manfred@s-direktnet.de>
2384
2385         * configure.in (gxx_include_dir): Initialize default value depending on
2386         new flag --enable-version-specific-runtime-libs; remove superfluous
2387         default initialization afterwards.
2388         * configure: Regenerate.
2389
2390 Wed Jun 24 01:32:12 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
2391
2392         * toplev.c (rest_of_compilation): Revert May 15 change.
2393
2394 Tue Jun 23 21:27:27 1998  Ken Raeburn  <raeburn@cygnus.com>
2395
2396         * reload.c (find_reloads): Fix check for failure to match any
2397         alternative, to account for Mar 26 change in initial "best" cost.
2398
2399 Tue Jun 23 16:44:21 1998  Dave Brolley  <brolley@cygnus.com>
2400
2401         * cpplib.c (do_line): Typo broke #line directive.
2402         (cpp_message_from_errno): New function.
2403         (cpp_error_from_errno): Call cpp_message_from_errno.
2404         * cpplib.h (cpp_message_from_errno): New function.
2405
2406 Tue Jun 23 13:38:18 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
2407
2408         * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
2409         functions to return exception descriptor information.
2410         (find_exception_handler): Pass match_info field to runtime matcher,
2411         not a descriptor table entry.
2412
2413 Tue Jun 23 09:30:58 1998  Dave Love  <d.love@dl.ac.uk>
2414
2415         * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
2416         accompany previous Makefile.in (install-info) change.
2417
2418 Tue Jun 23 10:06:07 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
2419
2420         * eh-common.h (struct __eh_info): Remove coerced value field.
2421         * libgcc2.c (find_exception_handler): Don't set coerced_value field.
2422         * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use 
2423         POINTER_SIZE instead of Pmode.
2424         (expand_start_all_catch): Call start_catch_handler() if we are not
2425         using new style exceptions.
2426
2427 Tue Jun 23 06:45:00 1998  Catherine Moore  <clm@cygnus.com>
2428
2429         * varasm.c (assemble_variable): Remove reference to warn_bss_align.
2430
2431 Mon Jun 22 23:57:31 1998  David S. Miller <davem@pierdol.cobaltmicro.com>
2432
2433         * config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
2434         extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
2435         subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
2436         splits and peepholes): Change remaining generic gen_rtx calls to
2437         specific genrtl ones.
2438         * config/sparc/sparc.c: Likewise.
2439         
2440 Mon Jun 22 22:21:46 1998  Richard Henderson  <rth@cygnus.com>
2441
2442         * gcc.c (handle_braces): Recognize | between options as an or.
2443
2444 Mon Jun 22 23:13:47 1998  John Wehle  (john@feith.com)
2445
2446         * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
2447         * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
2448
2449         * i386.md (exception_receiver): Define.
2450
2451 Mon Jun 22 12:01:48 1998  Jim Wilson  <wilson@cygnus.com>
2452
2453         * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
2454         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
2455         (install-common): Use them.
2456
2457         * gcse.c (add_label_notes): New function.
2458         (pre_insert_insn): Call it.
2459         * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
2460         pass the label to set_label_in_map.
2461
2462 Mon Jun 22 19:01:14 1998  Dave Love  <d.love@dl.ac.uk>
2463
2464         * Makefile.in (install-info): Fix typpo in previous change.
2465
2466 Mon Jun 22 11:10:00 1998  Catherine Moore  <clm@cygnus.com>
2467
2468         * varasm.c (assemble_variable):  Emit alignment warning.
2469
2470 Mon Jun 22 08:18:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2471
2472         * Makefile.in (varasm.o): Depend on sdbout.h.
2473         (sdbout.o): Depend on toplev.h.
2474
2475         * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
2476         use %ld specifier.
2477
2478         * final.c (shorten_branches): Cast first arg of `bzero' to char *.
2479
2480         * genextract.c (main): When creating insn-extract.c, mark variable
2481         `i' with ATTRIBUTE_UNUSED.
2482
2483         * genpeep.c (main): When creating insn-peep.c, mark variables
2484         `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
2485
2486         * objc/init.c (__objc_tree_print): Wrap function definition in
2487         macro `DEBUG'.
2488
2489         * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
2490         and use %ld specifier.
2491         (adorn_decl): Likewise, twice.
2492
2493         * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
2494
2495         * sdbout.c: Include output.h and toplev.h.
2496         (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
2497         `a'.  Cast `a' to HOST_WIDE_INT to force it to always be so.
2498         (PUT_SDB_SIZE): Likewise.
2499
2500         * sdbout.h (sdbout_mark_begin_function): Add prototype.
2501
2502         * stmt.c (check_for_full_enumeration_handling): Cast argument of
2503         `warning' to long and use %ld specifier.
2504
2505         * toplev.c (main): Likewise for `fprintf'.
2506
2507         * toplev.h (output_file_directive): Add prototype.
2508
2509         * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
2510         call to `fprintf'.
2511         (precondition_loop_p): Likewise.
2512
2513         * varasm.c Include sdbout.h.
2514         (assemble_static_space): Move sometimes-unused variable `rounded'
2515         into the scope in which it is used. 
2516         
2517         * mips.c (gpr_mode): Don't say `static' twice.
2518
2519         * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
2520
2521         * objc/objc-act.c (init_selector): Hide prototype and definition.
2522
2523         * optabs.c (gen_cond_trap): Remove unused variable `icode'.
2524         
2525         * regmove.c (copy_src_to_dest): Likewise for `i'.
2526
2527         * mips-tfile.c (add_local_symbol): Cast width format specifier to int.
2528         (add_ext_symbol): Likewise.
2529         (add_file): Likewise.
2530         (parse_def): Likewise.
2531         (write_varray): Use HOST_PTR_PRINTF to print a pointer.  Fix
2532         remaining format specifiers and arguments.
2533         (write_object): Likewise, several times.
2534         (read_seek): Likewise.
2535         (out_of_bounds): Likewise.
2536         (allocate_cluster): Likewise.
2537         (xmalloc): Likewise.
2538         (xcalloc): Likewise.
2539         (xrealloc): Likewise.
2540         (xfree): Likewise.
2541
2542         * mips-tdump.c (print_symbol): Likewise.
2543         
2544 Sun Jun 21 17:05:34 1998  Dave Love  <d.love@dl.ac.uk>
2545
2546         * Makefile.in (install-info): Use install-info program if
2547         available, per GNU standard.
2548
2549 Sun Jun 21 18:56:44 1998  Jeffrey A Law  (law@cygnus.com)
2550
2551         * invoke.texi: Document -mrelax for the mn10300 and mn10200.
2552
2553         * basic-block.h (init_regset_vector): Delete declaration.
2554         * flow.c (init_regset_vector): Make it static and add a prototype.
2555
2556         * bitmap.h (debug_bitmap): Declare.
2557
2558         * haifa-sched.c (debug_ready_list): Make static.
2559
2560         * toplev.h (fancy_abort): Declare.
2561
2562 Sun Jun 21 18:30:13 1998  H.J. Lu  (hjl@gnu.org)
2563
2564         * basic-block.h (init_regset_vector): New declaration.
2565
2566         * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
2567
2568         * global.c: Include machmode.h amd move hard-reg-set.h before
2569         rtl.h.
2570
2571         * haifa-sched.c (insn_issue_delay, birthing_insn_p,
2572         adjust_priority, print_insn_chaino): New declaration.
2573         (schedule_insns): Remove declaration.
2574         (init_target_units, get_visual_tbl_length,
2575         init_block_visualization): Add prototype.
2576
2577         * integrate.c (pushdecl, poplevel): Remove declaration.
2578
2579         * rtl.h (expand_expr): Remove declaration.
2580
2581         * loop.c (oballoc): Remove declaration.
2582         (replace_call_address): Add prototype.
2583
2584 Sun Jun 21 01:08:17 PDT 1998 Jeff Law  (law@cygnus.com)
2585
2586         * version.c: Bump for snapshot.
2587
2588 Sun Jun 21 01:16:38 1998  John Wehle  (john@feith.com)
2589
2590         * i386.c (output_fp_conditional_move): Don't bother handling
2591         (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
2592         prevent this from happening.
2593
2594         * i386.md (nonlocal_goto_receiver): Delete.
2595
2596 Sun Jun 21 00:42:20 1998  H.J. Lu  (hjl@gnu.org)
2597
2598         * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
2599         -DCRTSTUFFS_O.
2600         (INSTALL): cd $(srcdir) before make.
2601
2602         * flow.c (allocate_for_life_analysis, init_regset_vector):
2603         Remove declaration.
2604
2605         * function.h (get_first_block_beg): New declaration.
2606
2607         * gbl-ctors.h (__do_global_dtors): Add prototype.
2608
2609         * gcov-io.h (__fetch_long): New declaration.
2610         (__store_long): Likewise.
2611         (__read_long): Likewise.
2612         (__write_long): Likewise.
2613
2614         * gcov.c (print_usage): New declaration.
2615
2616         * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
2617
2618 Sat Jun 20 00:36:16 1998  Jeffrey A Law  (law@cygnus.com)
2619
2620         * calls.c (expand_call): Initialize "src" and "dest".
2621         * stmt.c (expand_return): Likewise.
2622         * expmed.c (extract_split_bit_field): Similarly for "result"
2623         * gcse.c (compute_hash_table): Mark first arg as unused.
2624         * jump.c (jump_optimize): Initialize reversep.
2625         * tree.c (make_node): Initialize length.
2626
2627         * c-common.c (check_format_info): Initialize length_char and
2628         fci to keep -Wall quiet.
2629
2630         * except.c (jumpif_rtx): Put declaration and definition
2631         inside a suitable #ifdef.
2632         (jumpifnot_rtx): Delete dead function.
2633
2634         * i386.h (output_int_conditional_move): Declare.
2635         (output_fp_conditional_move): Likewise.
2636         (ix86_can_use_return_insn_p): Likewise.
2637
2638         * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
2639
2640 Sat Jun 20 00:27:40 1998  Graham  <grahams@rcp.co.uk>
2641
2642         * alias.c: Include toplev.h
2643         * caller-save.c: Include toplev.h
2644         * combine.c: Include toplev.h
2645         * flow.c Include toplev.h
2646         * global.c: Include toplev.h
2647         * jump.c: Include toplev.h
2648         * local-alloc.c: Include toplev.h
2649         * loop.c: Include toplev.h
2650         * regmove.c: Include toplev.h
2651         * stupid.c: Include toplev.h
2652         * unroll.c: Include toplev.h
2653         * Makefile.in: Add toplev.h dependencies.
2654
2655 Fri Jun 19 22:40:25 1998  Jason Merrill  <jason@yorick.cygnus.com>
2656
2657         * regmove.c (copy_src_to_dest): Add decl for loop_depth.
2658
2659         * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
2660         * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
2661         Add parens to various macros.
2662
2663 Fri Jun 19 23:22:42 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
2664
2665         * c-typeck.c (pop_init_level): Warn about implicit zero initialization
2666         of struct members.
2667
2668 Fri Jun 19 23:06:33 1998  Jason Merrill  <jason@yorick.cygnus.com>
2669
2670         * varasm.c (assemble_start_function): Add weak_global_object_name.
2671         * tree.c (get_file_function_name): Use it.
2672
2673 Fri Jun 19 22:55:14 1998  Jeffrey A Law  (law@cygnus.com)
2674
2675         * except.c (jumpif_rtx): Make static and add prototype.
2676         (jumpifnot_rtx): Likewise.
2677
2678         * README.gnat: Add a build patch from Fred Fish.
2679
2680         * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
2681
2682         * Makefile.in (c-iterate.o): Depend on expr.h.
2683
2684 Fri Jun 19 20:38:34 1998  H.J. Lu  (hjl@gnu.org)
2685
2686         * except.h (emit_unwinder, end_eh_unwinder): Removed.
2687
2688         * dwarfout.c (getpwd): Add prototype.
2689         (is_pseudo_reg, type_main_variant, is_tagged_type,
2690         is_redundant_typedef): New declaration.
2691         (output_decl): Add prototype for FUNC.
2692         (type_main_variant): Make it static.
2693         (is_tagged_type): Likewise.
2694         (is_redundant_typedef): Likewise.
2695
2696         * expr.c (do_jump_by_parts_greater_rtx): Removed.
2697         (truthvalue_conversion): Likewise.
2698
2699         * c-iterate.c: Include "expr.h".
2700         (expand_expr): Use proper values when calling the function.
2701
2702         * explow.c (emit_stack_save): Add prototype for FCN.
2703         (emit_stack_restore): Likewise.
2704
2705         * dwarf2out.c (getpwd): Add prototype.
2706
2707         * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
2708
2709         * c-typeck.c (c_expand_asm_operands): Use proper values when calling
2710         expand_expr.
2711
2712         * c-lex.c (yyprint): Add prototype.
2713         (check_newline, build_objc_string): Remove declaration.
2714
2715         * c-tree.h (comptypes_record_hook): Removed.
2716         (finish_incomplete_decl): New prototype.
2717
2718         * alias.c (find_base_value): Add prototype.
2719         (true_dependence): Add prototype for function argument.
2720
2721         * c-aux-info.c (xmalloc): Remove declaration.
2722
2723 Fri Jun 19 20:23:05 1998   Robert Lipe  <robertl@dgii.com>
2724
2725         * i386.c: Include system.h.   Remove redundant includes.
2726         (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
2727         (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
2728         'identifier', 'args'.
2729         (i386_valid_type_attribute_p): Likewise for 'attributes'.
2730         (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
2731         (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
2732         and 'named'.
2733         (symbolic_operand): Likewise for 'mode'.
2734         (call_insn_operand): Likewise.
2735         (expander_call_insn_operand): Likewise.
2736         (ix86_logical_operator): Likewise.
2737         (ix86_binary_operator_ok): Likewise.
2738         (emit_pic_move): Likewise.
2739         (VOIDmode_compare_op): Likewise.
2740         (is_mul): Likewise.
2741         (str_immediate_operand): Likewise.
2742         (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
2743         (asm_output_function_prefix): Likewise for 'name'.
2744         (function_prologue): Likewise for 'file', and 'size'.
2745         (function_epilogue): Likewise.
2746
2747 1998-06-19  Jim Wilson  <wilson@cygnus.com>
2748
2749         * loop.h (struct induction): Clarify comment for unrolled field.
2750         * unroll.c (find_splittable_givs): Move set of unrolled field
2751         after address validity check.
2752
2753 Fri Jun 19 18:38:04 1998  Michael Meissner  <meissner@cygnus.com>
2754
2755         * config/fp-bit.c (INLINE): Only define if not already defined.
2756
2757 1998-06-19  Manfred Hollstein  <manfred@s-direktnet.de>
2758
2759         * Makefile.in (installdirs): Loop over directories in $(libsubdir)
2760         creating probably missing ones, instead of single if statements.
2761
2762 Fri Jun 19 10:43:52 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2763
2764         * c-common.c (truthvalue_conversion): Protect side effects in the
2765         expression when splitting a complex value.
2766         * fold-const.c (fold): Likewise. 
2767
2768 Fri Jun 19 02:31:16 1998  Klaus Kaempf (kkaempf@progis.de)
2769
2770         * cccp.c (hack_vms_include_specification): rewrite to handle
2771         '#include <dir/file.h>' correctly.
2772
2773 Fri Jun 19 02:24:11 1998  H.J. Lu  (hjl@gnu.org)
2774
2775         * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
2776
2777 Fri Jun 19 02:10:10 1998  John Wehle  (john@feith.com)
2778
2779         * i386.c (notice_update_cc): Integer conditional moves don't
2780         affect cc0.
2781
2782         * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
2783         to support LT, LE, GE, and GT signed integer comparisons.
2784         (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
2785         movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
2786         is LT, LE, GE, or GT.
2787         (movdicc): Remove code resulting from an earlier patch which
2788         didn't apply correctly.
2789
2790 Fri Jun 19 02:00:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2791
2792         * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
2793         consider a MEM in FP mode as equal.
2794
2795 Fri Jun 19 01:02:17 1998  Jeffrey A Law  (law@cygnus.com)
2796
2797         * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
2798         duplicate declarations of a function.
2799
2800 Fri Jun 19 00:33:33 1998  H.J. Lu  (hjl@gnu.org)
2801
2802         * config/float-i386.h: New.
2803
2804         * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
2805
2806 Thu Jun 18 20:11:00 1998  Jim Wilson  <wilson@cygnus.com>
2807
2808         * sched.c (schedule_insns): Use xmalloc not alloca for max_uid
2809         indexed arrays.  Call free at the end of the function for them.
2810         * haifa-sched.c (schedule_insns): Likewise.
2811
2812 Thu Jun 18 18:16:01 1998  Jim Wilson  <wilson@cygnus.com>
2813
2814         * dwarf2out.c (size_of_string): Do count backslashes.
2815
2816 Thu Jun 18 11:43:54 1998  Nick Clifton  <nickc@cygnus.com>
2817
2818         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG 
2819         addressing when one register is the frame pointer or stack
2820         pointer.  Disallow REG+CONST addressing in HI mode.
2821
2822 Thu Jun 18 17:30:39 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2823
2824         * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
2825         RELOAD_FOR_INSN.
2826
2827 Thu Jun 18 09:36:50 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2828
2829         * Makefile.in (c-lang.o): Depend on output.h.
2830
2831         * c-lang.c: Include output.h.
2832
2833         * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
2834
2835         * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
2836
2837         * genrecog.c (write_subroutine): When writing insn-recog.c, mark
2838         variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
2839         with ATTRIBUTE_UNUSED.
2840
2841         * regmove.c (copy_src_to_dest): Make function static to match its
2842         prototype.
2843
2844         * reload1.c Include hard-reg-set.h before rtl.h to get macro
2845         HARD_CONST.  Include machmode.h before hard-reg-set.h.
2846
2847         * rtl.h: Prototype `retry_global_alloc' and wrap with macro
2848         HARD_CONST to protect usage of typedef HARD_REG_SET.
2849
2850         * tree.c: Prototype `_obstack_allocated_p'.
2851
2852         * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
2853         BSS_SECTION_ASM_OP.
2854
2855 Thu Jun 18 09:20:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2856
2857         * pa.c: Include system.h and toplev.h.  Remove redundant code.
2858         (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
2859         (symbolic_operand): Likewise.
2860         (symbolic_memory_operand): Likewise.
2861         (pic_label_operand): Likewise.
2862         (fp_reg_operand): Likewise.
2863         (pre_cint_operand): Likewise.
2864         (post_cint_operand): Likewise.
2865         (ireg_or_int5_operand): Likewise.
2866         (int5_operand): Likewise.
2867         (uint5_operand): Likewise.
2868         (int11_operand): Likewise.
2869         (uint32_operand): Likewise.
2870         (ior_operand): Likewise.
2871         (lhs_lshift_cint_operand): Likewise.
2872         (pc_or_label_operand): Likewise.
2873         (legitimize_pic_address): Likewise.
2874         (hppa_legitimize_address): Likewise for parameter `old'.
2875         (output_block_move): Likewise for parameter `size_is_constant'.
2876         (output_function_prologue): Likewise for parameter `size'.
2877         (output_function_epilogue): Likewise.
2878         (return_addr_rtx): Likewise for parameter `count'.
2879         (output_mul_insn): Likewise for parameter `unsignedp'.
2880         (hppa_builtin_saveregs): Likewise for parameter `arglist'.
2881         (output_bb): Likewise for parameter `operands'.
2882         (output_bvb): Likewise.
2883         (function_label_operand): Likewise for parameter `mode'.
2884         (plus_xor_ior_operator): Likewise.
2885         (shadd_operand): Likewise.
2886         (non_hard_reg_operand): Likewise.
2887         (eq_neq_comparison_operator): Likewise.
2888         (movb_comparison_operator): Likewise.
2889         (pa_combine_instructions): Likewise for parameter `insns'.
2890
2891         * pa.h: Add prototypes for functions `output_deferred_plabels',
2892         `override_options', `output_ascii', `output_function_prologue',
2893         `output_function_epilogue', `print_operand',
2894         `symbolic_expression_p', `reloc_needed', `compute_frame_size',
2895         `hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
2896         `pa_adjust_cost', `pa_adjust_insn_length' and
2897         `secondary_reload_class'.
2898
2899 Wed Jun 17 22:28:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
2900
2901         * configure.in: Don't turn on collect2 unconditionally.
2902
2903 Wed Jun 17 20:20:48 1998  Mark Mitchell  <mark@markmitchell.com>
2904
2905         * cse.c (cse_basic_block): Don't include NOTE insns in the count
2906         that is used to decide whether or not it is time to erase the
2907         equivalence table.
2908
2909 Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 
2910
2911         * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
2912
2913 Wed Jun 17 19:05:03 1998  John Carr  <jfc@mit.edu>
2914
2915         * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
2916         (sched_analyze_2): Allow scheduling TRAP_IF.
2917
2918         * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
2919
2920         * rtl.h (TRAP_CODE): New macro.
2921
2922         * rtl.def (TRAP_IF): Change second operand type to rtx.
2923
2924         * optabs.c (gen_cond_trap): New function.
2925         (init_traps): New function.
2926         (init_optabs): Call init_traps.
2927         * expr.h: Declare gen_cond_trap.
2928
2929         * jump.c (jump_optimize): Optimize jumps to and around traps.
2930
2931         * sparc.md: Define trap instructions.
2932
2933         * rs6000.md: Define trap instructions.
2934         * rs6000.c (print_operand): New code 'V' for trap condition.
2935         (trap_comparison_operator): New function.
2936
2937         * m88k.md: Update use of TRAP_IF.
2938
2939         * tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
2940         * c-decl.c (init_decl_processing): New builtin __builtin_trap.
2941         * expr.c (expand_builtin): Handle BUILT_IN_TRAP.
2942
2943         * expr.c (expand_builtin): Error if __builtin_longjmp second argument
2944         is not 1.
2945
2946 Wed Jun 17 15:20:00 PDT 1998  Catherine Moore  <clm@cygnus.com>
2947
2948          * reload1.c (spill_hard_reg):  Check mode of register when
2949          spilling from scratch_list.
2950  
2951 Wed Jun 17 16:25:38 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
2952
2953         * except.c (add_new_handler): fix bug in finding last region handler.
2954         * libgcc2.c (find_exception_handler): Pass exception table pointer
2955         to runtime type matcher, not the match info field.
2956
2957 Wed Jun 17 15:57:48 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
2958
2959         * eh-common.h (struct eh_context): Add comment for hidden use of
2960         field dynamic_handler_chain.
2961         * except.c (get_dynamic_handler_chain): Comment on, and use the
2962         correct offset of the dynamic_handler_chain field.
2963
2964 1998-06-17 12:46:56 1998  Jim Wilson  <wilson@cygnus.com>
2965
2966         * mips/iris6.h (LINK_SPEC): Add -woff 131.
2967
2968 1998-06-17  Jason Merrill  <jason@yorick.cygnus.com>
2969
2970         * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
2971
2972         * configure.in: Don't disable collect2 when we have GNU ld.
2973
2974 Wed Jun 17 08:38:13 1998  Jeffrey A Law  (law@cygnus.com)
2975
2976         * fold-const.c (make_range): Do not widen the type of the expression.
2977
2978         * expr.c (check_max_integer_computation_mode): New function.
2979         (expand_expr): Avoid integer computations in modes wider than
2980         MAX_INTEGER_COMPUTATION_MODE.
2981         * fold-const.c (fold): Likewise.
2982         * tree.h (check_max_integer_computation_mode): Declare.
2983         * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
2984
2985         * configure.in (nm): Make a link to "nm" in the build tree too.
2986
2987         * mn10300.md (andsi3): Fix typo.
2988
2989 Tue Jun 16 22:58:40 1998  Richard Henderson  <rth@cygnus.com>
2990
2991         * reload1.c (reload_cse_regs): Call bzero instead of looping.
2992
2993 Tue Jun 16 18:30:35 1998  Jim Wilson  <wilson@cygnus.com>
2994
2995         * dwarf2out.c (stripattributes): Prepend '*' to the section name.
2996
2997 Tue Jun 16 16:49:26 1998  Richard Henderson  <rth@cygnus.com>
2998
2999         * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
3000         (output_prologue, output_epilogue): Merge VMS and OSF versions;
3001         Remove anything related to the actual code generation.
3002         (output_end_prologue): New function.
3003         (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
3004         (alpha_does_function_need_gp): Return false for VMS.
3005         (alpha_function_needs_gp): Make static.
3006         (add_long_const): Delete.
3007         (summarize_insn): Don't assume a SUBREG is of a REG.
3008         Prototype all static functions.  Rename VMS-specific global
3009         variables vms_*.
3010         * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
3011         (FUNCTION_BOUNDARY): Align to cache line.
3012         (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
3013         (FUNCTION_END_PROLOGUE): New macro.
3014         * alpha.md (attribute length): New.  Mark all insns.
3015         (return_internal, prologue_stack_probe_loop) New patterns.
3016         (prologue, init_fp, epilogue): New patterns.
3017         Disable peepholes.
3018         * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
3019
3020 Tue Jun 16 17:36:35 1998  Dave Brolley  <brolley@cygnus.com>
3021
3022         * toplev.c (lang_options): Add -trigraphs option for cpplib.
3023
3024 Tue Jun 16 23:33:24 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3025
3026         * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
3027         is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
3028         is earlier than RELOAD_FOR_INPUT_ADDRESS.
3029
3030 Tue Jun 16 13:15:16 1998  Jim Wilson  <wilson@cygnus.com>
3031
3032         * libgcc1-test.c (memcpy): Define.
3033
3034 Tue Jun 16 13:44:02 1998  Michael Meissner  <meissner@cygnus.com>
3035
3036         * genattrtab.c (struct attr_desc): Change int flags to bit
3037         fields.  Add bit fields for this being function_units_used
3038         or *_blockage_range attributes.
3039         (write_unit_name): New function to print a function unit name
3040         given unit #.
3041         (expand_units): Indicate whether this is function_units_used or
3042         *_blockage_range attributes.
3043         (write_toplevel_expr): Print function_units_used and
3044         *_blockage_range attributes in a more friendly fashion.
3045         (make_internal_attr): Indicate whether this attribute is either
3046         function_units_used or *_blockage_range.
3047
3048 Mon Jun 15 17:06:43 1998  Michael Meissner  <meissner@cygnus.com>
3049                           Jim Wilson  <wilson@cygnus.com>
3050
3051         * regmove.c (copy_src_to_dest): Do not copy src to dest if either
3052         the source or destination is special.
3053
3054 Mon Jun 15 13:20:33 1998  Jim Wilson  <wilson@cygnus.com>
3055
3056         * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
3057
3058 Mon Jun 15 07:16:29 PDT 1998 Jeff Law  (law@cygnus.com)
3059
3060         * version.c: Bump for snapshot.
3061
3062 Sat Jun 13 13:10:40 1998  Krister Walfridsson <cato@df.lth.se>
3063
3064         * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
3065         redefining it.
3066
3067 Fri Jun 12 18:06:45 1998  Doug Evans  <devans@egcs.cygnus.com>
3068
3069         * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
3070         (ENDFILE_SPEC): Add -lgloss.
3071
3072 Fri Jun 12 14:57:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3073
3074         * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
3075         (large_int): Likewise.
3076         (pc_or_label_operand): Likewise.
3077         (call_insn_operand): Likewise.
3078         (consttable_operand): Likewise.
3079         (m16_uimm3_b): Likewise.
3080         (m16_simm4_1): Likewise.
3081         (m16_nsimm4_1): Likewise.
3082         (m16_simm5_1): Likewise.
3083         (m16_nsimm5_1): Likewise.
3084         (m16_uimm5_4): Likewise.
3085         (m16_nuimm5_4): Likewise.
3086         (m16_simm8_1): Likewise.
3087         (m16_nsimm8_1): Likewise.
3088         (m16_uimm8_1): Likewise.
3089         (m16_nuimm8_1): Likewise.
3090         (m16_uimm8_m1_1): Likewise.
3091         (m16_uimm8_4): Likewise.
3092         (m16_nuimm8_4): Likewise.
3093         (m16_simm8_8): Likewise.
3094         (m16_nsimm8_8): Likewise.
3095         (m16_usym8_4): Likewise.
3096         (m16_usym5_4): Likewise.
3097         (mips_move_1word): Change type of variable `i' from int to size_t.
3098         (mips_move_2words): Likewise.
3099         (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
3100         (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
3101         (function_arg): Likewise.
3102         (function_arg_partial_nregs): Mark parameter `named' with
3103         ATTRIBUTE_UNUSED.
3104         (override_options): Use ISDIGIT instead of isdigit.
3105         (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
3106         (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
3107         (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
3108         function `fatal' to long before printing.  Use
3109         HOST_WIDE_INT_PRINT_DEC in fprintf.  Both changes done several
3110         times in this function.
3111         (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
3112         (function_epilogue): Likewise for parameters `file' and `size'.
3113         Print an int with "%d" not "%ld".
3114         (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
3115         (mips_function_value): Likewise for parameter `func'.
3116         (function_arg_pass_by_reference): Likewise for parameters `cum'
3117         and `named'.
3118         (extend_operator): Likewise for parameter `mode'
3119         (highpart_shift_operator): Likewise.
3120
3121         * mips.md (mul_acc_si): Remove unused variable `macc'.
3122
3123 Fri Jun 12 09:33:44 1998  Richard Henderson <rth@cygnus.com>
3124
3125         * fold-const.c (fold): Revert last change.  It breaks constant
3126         expressions somehow.
3127
3128 Fri Jun 12 10:23:36 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3129
3130         * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
3131         prevent operands from being evaluated twice.
3132
3133 Fri Jun 12 00:50:27 1998  Sergey Okhapkin <sos@prospect.com.ru>
3134
3135         * toplev.c (lang_options): Add -remap as a preprocessor option.
3136
3137 Fri Jun 12 00:30:32 1998  John Wehle  (john@feith.com)
3138
3139         * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
3140         which set CC_REVERSED since reload should ensure that
3141         the operands are already the correct type.
3142
3143 Thu Jun 11 17:14:15 1998  Jim Wilson  <wilson@cygnus.com>
3144
3145         * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
3146         calling gen_rtx_SET.
3147
3148 Thu Jun 11 18:45:49 1998  David Edelsohn  <edelsohn@mhpcc.edu>
3149
3150         * config/rs6000/x-aix43 (AR): Delete.
3151         (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
3152
3153 Thu Jun 11 16:19:17 1998  David W. Schuler  <schuld@btv.ibm.com>
3154
3155         * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
3156
3157 Thu Jun 11 12:40:27 1998  Jim Wilson  <wilson@cygnus.com>
3158
3159         * mips.c (override_options): Replace word_mode with explicit
3160         TARGET_64BIT check.
3161
3162 Thu Jun 11 14:50:02 1998  Michael Meissner  <meissner@cygnus.com>
3163
3164         * regmove.c (regmove_optimize): If we can't replace the
3165         destination in an insn that sets the source, generate an explicit
3166         move of the source to the destination.
3167         (copy_src_to_dest): New function.
3168         (toplevel): Include basic-block.h
3169
3170         * Makefile.in (regmove.o): Add basic-block.h dependencies.
3171
3172 Thu Jun 11 10:30:09 1998  Dave Brolley  <brolley@cygnus.com>
3173
3174         * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
3175
3176 Wed Jun 10 23:39:32 1998  Mark Mitchell  <mark@markmitchell.com>
3177
3178         * rtl.h (rtx_def): Improve documentation.
3179         (MEM_IN_STRUCT_P): Likewise.
3180
3181 Wed Jun 10 23:23:17 1998  Graham  <grahams@rcp.co.uk>
3182
3183         * c-decl.c (start_decl): Correct test for -Wmain.
3184
3185         * c-decl.c (grokdeclarator): Remove unused variable "last".
3186
3187 Wed Jun 10 14:52:27 1998  Jim Wilson  <wilson@cygnus.com>
3188
3189         * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
3190         (expand_builtin_longjmp): Abort if value isn't const1_rtx.
3191         Delete code storing value in static_chain_rtx.
3192         (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
3193         to second expand_expr call.
3194
3195 Wed Jun 10 13:08:41 1998  Mark Mitchell  <mark@markmitchell.com>
3196
3197         * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
3198
3199 Wed Jun 10 13:41:23 1998  Dave Brolley  <brolley@cygnus.com>
3200
3201         * cppmain.c (fatal): New function.
3202         * configure.in (cpp_main): New configuration variable.
3203         * configure: Regenerated.
3204         * Makefile.in (CCCP): Use a configuration variable to select basex
3205         for cccp.
3206         (cppmain$(exeext)): Add @extra_cpp_objs@.
3207
3208 Wed Jun 10 13:07:02 1998  Dave Brolley  <brolley@cygnus.com>
3209
3210         * objc/objc-act.c: Add cpplib declarations.
3211         (lang_decode_option): Initialize cpplib if necessary.
3212         (lang_decode_option): New argc/argv interface. 
3213         * tree.h (lang_decode_option): New argc/argv interface. 
3214         * toplev.c (lang_options): Add cpp options.
3215         (main): New interface for lang_decode_option.
3216         * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
3217         unless -E, -M or -MM is specified.
3218         * cpplib.h (cpp_handle_option): New function. 
3219         * cpplib.c (cpp_handle_option): New function.
3220         (cpp_handle_options): Now calls cpp_handle_option.
3221         * c-tree.h (c_decode_option): New argc/argv interface. 
3222         * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
3223         * c-lang.c (lang_decode_option): New argc/argv interface.
3224         * c-decl.c: Add cpplib declarations.
3225         (c_decode_option): New argc/argv interface.
3226         (c_decode_option): Call cpp_handle_option.
3227         (c_decode_option): Now returns number of strings processed.
3228
3229 Wed Jun 10 09:47:13 1998  Richard Earnshaw (rearnsha@arm.com)
3230
3231         * unroll.c (verify_addresses): Use validate_replace_rtx to undo the 
3232         changes.  Abort if the undo fails.
3233
3234 1998-06-10  Vladimir N. Makarov  <vmakarov@cygnus.com>
3235
3236         * config/rs6000/rs6000.c (output_prolog): Change locations and
3237         directions of saving and restoring arguments of main on the stack.
3238
3239 Wed Jun 10 08:56:27 1998  John Carr  <jfc@mit.edu>
3240
3241         * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
3242         for each alternative.  Do not replace a CONST_INT with a REG unless
3243         the reg is cheaper.
3244
3245 Wed Jun 10 02:11:55 1998  Jeffrey A Law  (law@cygnus.com)
3246
3247         * decl.c (init_decl_processing): Fix typo.
3248
3249         * mips.c (gpr_mode): New variable.
3250         (override_options): Initialize gpr_mode.
3251         (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
3252         determine size and offset of general purpose registers save slots.
3253         (save_restore_insns, mips_expand_prologue): Similarly.
3254
3255         * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
3256         between constant representations when we have (SUBREG (REG)) with
3257         REG equivalent to a constant.
3258
3259 Wed Jun 10 01:39:00 1998  Juha Sarlin <juha@c3l.tyreso.se> 
3260
3261         * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
3262
3263 Tue Jun  9 22:05:34 1998  Richard Henderson  <rth@cygnus.com>
3264
3265         * fold-const.c (fold): Even with otherwise constant trees, look for
3266         opportunities to combine integer constants.
3267
3268 Wed Jun  3 23:41:24 EDT 1998  John Wehle  (john@feith.com)
3269
3270         * i386.c (notice_update_cc): Clear cc_status.value2 in the
3271         case of UNSPEC 5 (bsf).
3272
3273         * i386.md (movsfcc, movdfcc, movxfcc): The floating point
3274         conditional move instructions don't support signed integer
3275         comparisons.
3276
3277 Tue Jun  9 14:31:19 1998  Nick Clifton  <nickc@cygnus.com>
3278
3279         * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
3280         overlfows. 
3281
3282         * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
3283         16,sp,sp' ratehr than 'add 16,sp'.  Patch courtesy of Biomedin
3284         <glctr@abc.it>.
3285
3286 Tue Jun  9 16:23:13 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
3287
3288         * except.c (expand_start_catch): Rename to start_catch_handler.
3289         (expand_end_catch): Delete function.
3290         (expand_end_all_catch): Remove catch status that expand_end_catch
3291         use to do.
3292         * except.h (expand_start_catch): Rename prototype.
3293         (expand_end_catch): Delete prototype.
3294
3295 Tue Jun  9 12:57:32 1998  Mark Mitchell  <mark@markmitchell.com>
3296
3297         * invoke.texi: Add documentation for -mips4 and -mabi=*.
3298
3299 Tue Jun  9 12:12:34 1998  Klaus Kaempf (kkaempf@progis.de)
3300
3301         * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
3302         (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.       
3303         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.                
3304
3305 Tue Jun  9 12:10:27 1998  John Carr  <jfc@mit.edu>
3306
3307         * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
3308         as the threshold to permit splitting memory operations.
3309
3310 Tue Jun  9 12:36:16 1998  Jeffrey A Law  (law@cygnus.com)
3311
3312         * mips.c (gpr_mode): New variable.
3313         (override_options): Initialize gpr_mode.
3314         (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
3315         determine size and offset of general purpose registers save slots.
3316         (save_restore_insns, mips_expand_prologue): Similarly.
3317
3318         * Makefile.in (LIB2FUNCS_EH): Define.  Just "_eh" for now.
3319         (LIBGCC2_CFLAGS): Remove -fexceptions.
3320         (LIB2FUNCS): Remove "_eh".
3321         (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
3322         it with -fexceptions.
3323
3324         * Makefile.in (local-alloc.o): Depend on insn-attr.h.
3325         * local-alloc.c (block_alloc): Avoid creating false 
3326         dependencies for targets which use instruction scheduling.
3327
3328 Tue Jun  9 02:40:49 1998  Richard Henderson  <rth@cygnus.com>
3329
3330         * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
3331         (ASM_FINISH_DECLARE_OBJECT): Define;
3332         * mips/elf64.h: Likewise.
3333
3334 Tue Jun  9 01:08:47 1998  Richard Henderson  <rth@cygnus.com>
3335
3336         * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
3337
3338 Mon Jun 8 23:24:48 PDT 1998 Jeff Law  (law@cygnus.com)
3339
3340         * version.c: Bump for snapshot.
3341
3342 Mon Jun  8 23:24:58 1998  David Edelsohn  <edelsohn@mhpcc.edu>
3343
3344         * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
3345         (mulsidi3_ppc64): Delete.
3346
3347 Mon Jun  8 20:57:40 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3348
3349         * Makefile.in (varasm.o): Depend on dbxout.h.
3350         (cse.o): Depend on toplev.h and output.h.
3351         (gcse.o): Depend on output.h.
3352
3353         * mips.c: Include system.h and toplev.h and remove redundant code.
3354         Include output.h after tree.h so all its prototypes get activated.
3355         * mips.md (table_jump): Remove unused variable `dest'.
3356
3357         * sparc.h: Add prototype for `v8plus_regcmp_op'.
3358
3359         * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
3360         with __attribute__ ((__unused__)).
3361         (__frame_dummy): Provide prototype before use, wrap it with
3362         EH_FRAME_SECTION_ASM_OP.
3363
3364         * cse.c: Move inclusion of <setjmp.h> above local headers.
3365         Include toplev.h and output.h.
3366
3367         * dbxout.h: Add prototype for `dbxout_begin_function'.
3368
3369         * final.c (final_scan_insn): Wrap variable `max_skip' in macro
3370         ASM_OUTPUT_MAX_SKIP_ALIGN.
3371
3372         * gcse.c: Include system.h and output.h.
3373         (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
3374         Make extern instead of static.
3375         (compute_can_copy): Only declare variables `reg' and `insn' when
3376         AVOID_CCMODE_COPIES is not defined.
3377         (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
3378         (hash_scan_clobber): Likewise for `x' and `insn'.
3379         (hash_scan_call): Likewise.
3380         (record_last_set_info): Likewise for `setter'.
3381         (mark_call): Likewise for `pat'.
3382         (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
3383
3384         * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
3385         length parameter so that it multiplies the number of elements by
3386         the sizeof(element).
3387
3388         * output.h: Add prototype for `weak_finish'.
3389
3390         * recog.h: Likewise for `validate_replace_src'.
3391
3392         * rtl.h: Likewise for `optimize_save_area_alloca',
3393         `fix_sched_param', `purge_addressof', `gcse_main',
3394         `regmove_optimize', `dbr_schedule', `branch_prob' and
3395         `end_branch_prob'.
3396
3397         * toplev.h: Likewise for `set_float_handler' and
3398         `output_quoted_string'.
3399
3400         * varasm.c: Include dbxout.h.
3401
3402 Mon Jun  8 18:12:06 1998  Jim Wilson  <wilson@cygnus.com>
3403
3404         * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
3405         GP_REG_P.  Use gr_regs instead of GR_REGS.
3406
3407 Mon Jun  8 16:54:12 1998  Ken Raeburn   <raeburn@cygnus.com>
3408                           Jeff Law      <law@cygnus.com>
3409
3410         * Revamped multiply support for MIPS chips.
3411         * mips.c (extend_operator): New function.
3412         (highpart_shift_operator): Likewise.
3413         * mips.h: Declare new functions.
3414         (PREDICATE_CODES): Add support for new predicates.
3415         * mips.md (mulsi3 expander): Simplify.
3416         (mulsi_mult3): Add another constraint alternative.  Support
3417         3 operand multiply instructions as found on various mips
3418         parts.
3419         (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
3420         (mul_acc_si): New pattern and associated splitters.
3421         (mulsidi3 expander): Rework to use mulsidi3_64bit and
3422         mulsidi3_internal.
3423         (umulsidi3): New expander.
3424         (mulsidi3_internal): Accept either sign or zero extended
3425         operands and generate code as appropriate appropriately.
3426         (mulsidi3_64bit): Similarly.
3427         (smulsi3_highpart): Turn into an expander and generate code
3428         to match new patterns.
3429         (umulsi3_highpart): Likewise.
3430         (xmulsi3_highpart_internal): New pattern.
3431         (maddi patterns): Delete.  Replace with:
3432         (mul_acc_di, mul-acc_64bit_di): New patterns.
3433
3434 Mon Jun  8 14:16:15 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
3435
3436         * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
3437         flag_new_exceptions runtime flag.
3438         (struct old_exception_table): New struct which represents what
3439         the exception table looks like without the new model.
3440         (NEW_EH_RUNTIME): New value used as a tag in the exception table to
3441         flag that this is a new style table.
3442         * except.h: Remove compile time flag NEW_EH_MODEL.
3443         (expand_builtin_eh_stub_old): New prototype.
3444         * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
3445         * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
3446         * c-decl.c (init_decl_processing): Add new builtin function
3447         __builtin_eh_stub_old.
3448         * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
3449         * flags.h (flag_new_exceptions): New runtime flag.
3450         * toplev.c (flag_new_exceptions): Initialize default to 0, 
3451         -fnew-exceptions sets to 1.
3452         * except.c (output_exception_table_entry): Output New style exception 
3453         identifier into table, and replace compile time flag NEW_EH_MODEL
3454         with runtime flag flag_new_exceptions.
3455         (output_exception_table): Replace compile time flag NEW_EH_MODEL.
3456         (expand_builtin_eh_stub_old): Duplicates original functionality of
3457         expand_builtin_eh_stub.
3458         (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
3459         * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
3460         (old_find_exception_handler): New func, same as find_exception_handler
3461         except it works on the old style exception table.
3462         (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
3463         of identifier in the exception table, and call appropriate routines.
3464
3465 Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
3466
3467         * function.c: Define current_function_cannot_inline.
3468         (push_function_context_to): Save it.
3469         (pop_function_context_from): Restore it.
3470         * function.h (struct function): Provide it a home.
3471         * output.h: Declare it.
3472         * integrate.c (function_cannot_inline_p): Check it.
3473
3474 Mon Jun  8 10:43:15 1998  Richard Henderson  <rth@cygnus.com>
3475
3476         * expr.c (force_operand): Detect PIC address loads before 
3477         splitting arithmetic.
3478
3479 Mon Jun 8 09:22:38 PDT 1998 Jeff Law  (law@cygnus.com)
3480
3481         * version.c: Bump for snapshot.
3482
3483 Mon Jun  8 02:55:56 1998  Graham  <grahams@rcp.co.uk>
3484
3485         * tree.c (tree_class_check): Add braces to eliminate ambigious
3486         else warning.
3487         (tree_check): Likewise.
3488
3489 Mon Jun  8 02:49:23 1998  H.J. Lu  (hjl@gnu.org)
3490
3491         * reg-stack.c (subst_stack_regs_pat): Make sure the top of
3492         stack is the destination for conditional move insn.
3493
3494 Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
3495
3496         * tree.h (TREE_VEC_END): Cast unused value to void.
3497
3498         * i386.c (print_operand): Use %lx for long operand.
3499
3500 Mon Jun  8 00:04:07 1998  Richard Henderson  <rth@cygnus.com>
3501
3502         * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
3503
3504 Sun Jun  7 14:15:45 1998  John Carr  <jfc@mit.edu>
3505
3506         * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
3507         conversion functions.
3508
3509 Sun Jun  7 14:02:58 1998  Richard Henderson  <rth@cygnus.com>
3510
3511         * toplev.c (flag_exceptions): Default to 0.
3512         (compile_file): Remove flag_exceptions == 2 hack.
3513         (main): Call lang_init_options.
3514         * tree.h: Declare it.
3515         * c-lang.c: Implement it.
3516         * objc/objc-act.c: Likewise.
3517         
3518 Sun Jun  7 12:27:30 1998  David Edelsohn  <edelsohn@mhpcc.edu>
3519
3520         * rs6000.md (restore_stack_block): Generate MEM and specify mode.
3521         * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
3522         * rs6000.c (rs6000_output_load_toc_table): Use fputs.
3523         (output_function_profiler): Use asm_fprintf and fputs.
3524
3525 Sat Jun  6 12:17:12 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3526
3527         * gencheck.c: Remove redundant stdio.h include.  Add a definition
3528         of xmalloc for when we are forced to link with alloca.o.
3529
3530         * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
3531         instead of `1U'.
3532
3533         * fold-const.c (constant_boolean_node): Make definition static to
3534         match the prototype.
3535
3536 Fri Jun  5 15:53:17 1998  Per Bothner  <bothner@cygnus.com>
3537
3538         * gcc.c (lang_specific_pre_link):  New LANG_SPECIFIC_DRIVER function.
3539         (lang_specific_extra_outfiles):  New LANG_SPECIFIC_DRIVER variable.
3540         (do_spec, input_filename, input_filename_length):  Make public.
3541         (main):  Adjust outfiles allocation by lang_specific_extra_outfiles.
3542         Call lang_specific_pre_link befor elinking.
3543
3544 Fri Jun  5 12:29:28 1998  Jeffrey A Law  (law@cygnus.com)
3545
3546         * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
3547         the insn which has the most insns dependent on it.
3548
3549 Fri Jun  5 09:03:22 1998  John Carr  <jfc@mit.edu>
3550
3551         * alias.c (find_base_value): Avoid reading past end of reg_base_value.
3552
3553 Fri Jun  5 03:05:34 1998  Richard Henderson  <rth@cygnus.com>
3554
3555         * alpha.md (insxh-1): New insxl pattern for combine.
3556
3557 Fri Jun  5 01:12:15 1998  H.J. Lu  (hjl@gnu.org)
3558
3559         * i386/i386.c (output_fp_conditional_move): New function
3560         to output floating point conditional move.
3561         (output_int_conditional_move): New function to output integer
3562         conditional move.
3563
3564         * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
3565         output_int_conditional_move () to output int conditional move.
3566         (movsfcc+5, movdfcc+5, movxfcc+5): Call
3567         output_fp_conditional_move () to output floating point
3568         conditional move.
3569
3570         * i386/i386.c (put_condition_code): In INT mode, check
3571         cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
3572
3573 Thu Jun  4 16:09:51 1998  Dave Brolley  <brolley@cygnus.com>
3574
3575         * dbxout.c (dbxout_type): Output arrays of bits as if
3576         they were bitstrings for Chill
3577
3578 Thu Jun  4 14:35:27 1998  David Edelsohn  <edelsohn@mhpcc.edu>
3579
3580         * tree.c (get_inner_array_type): New function.
3581         * tree.h (get_inner_array_type): Prototype.
3582         * expr.h (STACK_SAVEAREA_MODE): New macro.
3583         * expr.c (expand_builtin_setjmp): Initialize sa_mode using
3584         STACK_SAVEAREA_MODE.
3585         (expand_builtin_longjmp): Likewise.
3586         * explow.c (emit_stack_save): Likewise.
3587         (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
3588
3589         * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
3590         (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
3591         * rs6000/aix43.h: New file.
3592         * rs6000/t-aix43: New file.
3593         * rs6000/x-aix41: New file.
3594         * rs6000/x-aix43: New file.
3595         * configure.in (rs6000-ibm-aix*): Use them.
3596         * rs6000/powerpc.h: Delete.
3597         * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
3598         * rs6000/netware.h: and here.
3599         * rs6000/win-nt.h: and here.
3600
3601         * rs6000/rs6000.c (processor_target_table, 620): Do not affect
3602         MASK_POWERPC64.
3603         (rs6000_override_options): Ignore flag_pic for AIX.
3604         (rs6000_immed_double_const): Delete.
3605         (u_short_cint_operand): Don't assume 32-bit CONST_INT.
3606         (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
3607         (num_insns_constant): mask64_operand() is 2 insns.
3608         (logical_operand): Don't assume 32-bit CONST_INT.
3609         (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
3610         (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
3611         (mask_constant): HOST_WIDE_INT parameter.
3612         (non_and_cint_operand): Delete.
3613         (mask64_operand): New function.
3614         (and64_operand): New function.
3615         (function_arg_advance): DImode arguments do not need special
3616         alignment when 64-bit.
3617         (function_arg): Likewise.
3618         (setup_incoming_varargs): Reverse reg_size assignment.
3619         (print_operand): HOST_WIDE_INT second parameter.
3620         (print_operand, 'B'): New case.
3621         (print_operand, 'M'): Fix typo in lossage string.
3622         (print_operandm 'S'): New case.
3623         (rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
3624         to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
3625         (rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
3626         TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
3627         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
3628         (rs6000_allocate_stack_space): Use {cal|la}.
3629         (output_epilog): Use {cal|la}
3630         (output_function_profiler): Add call glue to mcount call.
3631         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
3632
3633         * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
3634         (STACK_BOUNDARY): Depend on TARGET_32BIT.
3635         (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
3636         (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
3637         (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'.  Replace 'S' with
3638         64-bit mask operand.
3639         (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
3640         (STACK_SAVEAREA_MODE): New macro.
3641         (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
3642         (LEGITIMIZE_RELOAD_ADDRESS): New macro.
3643         (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
3644         (ASM_FILE_START): Emit 64-bit ABI directive.
3645         (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
3646         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
3647         (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
3648         Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
3649
3650         * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
3651         Restore define_splits.
3652         (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
3653         (floatsidf2_internal, floatunssidf2_internal2): Likewise.
3654         Do not specify base register operand mode.
3655         (floatsidf2_loadaddr): Do not specify base register operand mode.
3656         (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
3657         register; do not specify mode.  Remove !TARGET_POWERPC64 final
3658         constraint.
3659         (floatsidf2_load): Do not specify base register operand mode.  Remove
3660         !TARGET_POWERPC64 final constraint.
3661         (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
3662         base register operand mode.
3663         (adddi3): Split large constants early.
3664         (absdi3): Shift by 63, not 31.
3665         (*mulsidi3_ppc64): New pattern.
3666         (rotldi3): Add masking combiner patterns.
3667         (anddi3): Add rldic{r,l} masking.  Remove split of large constants
3668         because PPC insns zero-extend.
3669         (iordi3, xordi3): Split large constants early.
3670         (movsi matcher): Remove S and T constraints.
3671         (movsf const_double): create SImode constant from TARGET_DOUBLE.
3672         (movdf_hardfloat32): Add default abort() case.
3673         (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
3674         (movdi): Remove 64-bit constant generator.  Try to convert
3675         CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
3676         (movdi_32): Add default abort() case.
3677         (movdi_64): Add numerous ways to split 64-bit constants.
3678         Make catch-all define_split more optimal and never FAIL.
3679         (movti_ppc64): Add default abort() case.
3680         (allocate_stack): Remove operand modes.  Use Pmode.
3681         (restore_stack_block): Remove operand modes.  Generate Pmode
3682         temporary.
3683         (save_stack_nonlocal, restore_stack_nonlocal):  Generate Pmode
3684         temporary.  Save area is double Pmode.
3685         (call_indirect_aix64, call_value_indirect_aix64): New patterns.
3686         (call, call_value): Do not specify address operand mode.  Choose
3687         appropriate AIX ABI.
3688         (*call_local64, *ret_call_local64): New patterns.
3689         (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
3690         (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
3691         (compare): Materialize DImode truthvalues.
3692
3693 Thu Jun  4 01:26:57 1998  Craig Burley  <burley@gnu.org>
3694
3695         * expr.c (safe_from_p): Avoid combinatorial explosion
3696         over duplicate SAVE_EXPRs by ensuring we never recurse
3697         on one that has already been visited.
3698
3699 Thu Jun  4 00:54:21 1998  Graham  <grahams@rcp.co.uk>
3700
3701         * loop.c (check_dbra_loop): Initialise final_value before
3702         normalizing the loop.
3703
3704 Wed Jun  3 20:00:04 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
3705
3706         * reload1.c (reload_reg_free_for_value_p): New arguments out and
3707         reloadnum.  Changed all callers.
3708
3709 1998-06-03  Ulrich Drepper  <drepper@cygnus.com>
3710
3711         * system.h: Add _() and N_() macros in preparation for gettext.
3712
3713 Wed Jun  3 11:02:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3714
3715         * c-common.c (check_format_info): Put back check for C9x `hh'
3716         length modifier.  Warn about %n format writing into const.  Remove
3717         obsolete comment.
3718         (format_char_info): Fix comments.
3719
3720         * configure.in: Set float_format to m68k for all m68k targets that
3721         do not override LONG_DOUBLE_TYPE_SIZE.
3722         * config/float-m68k.h: New file.
3723
3724 Tue Jun  2 23:14:01 1998  Richard Henderson  <rth@cygnus.com>
3725
3726         * jump.c (jump_optimize): Remove debug messages accidentally left in
3727         with the previous change.
3728
3729 Tue Jun  2 22:46:08 1998  Richard Henderson  <rth@cygnus.com>
3730
3731         * expr.c (store_expr): Revert stray patch associated with
3732         1998-05-23 commit.
3733
3734 Tue Jun  2 21:59:01 1998  Richard Henderson  <rth@cygnus.com>
3735
3736         * jump.c (rtx_unsafe_p): New function.
3737         (jump_optimize): Use it on if/then/else transformations and
3738         conditional move transformations.
3739
3740 Tue Jun  2 22:50:10 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3741
3742         * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
3743         or VAR-- == CONST construct a proper mask if VAR is a bitfield.
3744         Cope with CONST being out of range for the bitfield.
3745
3746 Tue Jun  2 22:28:31 1998  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
3747
3748         * expr.c (emit_move_insn_1): When moving complex values in several
3749         steps, emit a CLOBBER to show the destination dies.
3750
3751 Tue Jun  2 22:17:26 1998  Jeffrey A Law  (law@cygnus.com)
3752
3753         * Makefile.in (site.exp): Use the object testsuite directory as
3754         the temporary directory.
3755
3756         * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
3757         address of an ADDRESSOF rtx.
3758
3759 1998-06-02  Mike Stump  <mrs@wrs.com>
3760
3761         * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
3762         * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
3763         * i960.md (ret, flush_register_windows): Define.
3764         (nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
3765         work yet.
3766         * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
3767
3768 Tue Jun  2 14:02:38 1998  Richard Henderson  <rth@cygnus.com>
3769
3770         * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
3771         around an OSF/1 library bug wrt sign-extension of inputs.
3772
3773 Tue Jun  2 13:02:44 1998  Richard Henderson  <rth@cygnus.com>
3774
3775         * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
3776
3777 Mon Jun  1 03:44:03 1998  Catherine Moore <clm@cygnus.com>
3778
3779         * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
3780
3781         * varasm.c (assemble_variable): Augment alignment warning.
3782
3783 Mon Jun  1 12:14:28 1998  Michael Meissner  <meissner@cygnus.com>
3784
3785         * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
3786         in the presence of IEEE negative 0's.
3787
3788 Sun May 31 16:11:41 1998  John Wehle  (john@feith.com)
3789
3790         * reload.c (find_reloads): Record the existing mode if
3791         operand_mode == VOIDmode before replacing a register with
3792         a constant.
3793         * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
3794         i386_compare_op1 to const0_rtx for the benefit of the
3795         conditional move patterns.
3796         (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
3797         based on suggestions from Jim Wilson.
3798
3799 Sun May 31 00:44:02 PDT 1998 Jeff Law  (law@cygnus.com)
3800
3801         * version.c: Bump for snapshot.
3802
3803 Sun May 31 00:34:17 1998  Bruce Korb <korbb@datadesign.com>
3804
3805         * Makefile.in (fixinc.sh): Update rules again.
3806
3807 Sun May 31 00:27:47 1998  Jeffrey A Law  (law@cygnus.com)
3808
3809         * extend.texi: Bring back reference to trampoline paper.
3810
3811 Sun May 31 00:22:34 1998  Ulrich Drepper  <drepper@cygnus.com>
3812
3813         * Makefile.in (USER_H): Add stdbool.h.
3814         * ginclude/stdbool.h: New file.
3815
3816 Fri May 29 01:48:25 1998  Jeffrey A Law  (law@cygnus.com)
3817
3818         * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
3819         of a non-note insn.
3820
3821         * gcse.c (pre_delete): Fix code to determine the mode of
3822         the reaching pseudo register.
3823
3824 Fri May 29 01:07:28 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
3825
3826         * Makefile.in (GEN): Add gencheck
3827         (STAGESTUFF): Add tree-check.h and gencheck.
3828
3829 Fri May 29 00:57:37 1998  Bruce Korb <korbb@datadesign.com>
3830
3831         * Makefile.in (cstamp-h.in): Remove before trying to recreate.
3832         (fixinc.sh): Set some additional environment variables before
3833         calling mkfixinc.sh.
3834
3835 Thu May 28 12:57:05 1998  Jeffrey A Law  (law@cygnus.com)
3836
3837         * reload.c (find_reloads): Do not force a reloads of match_operators.
3838
3839 Thu May 28 10:22:22 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
3840
3841         * except.h (remove_handler): Add new prototype.
3842         * except.c (remove_handler): New function to remove handlers
3843         from an exception region.
3844         * flow.c (find_basic_blocks_1): Remove handlers from regions when
3845         handler label is deleted; remove exception regions with no handlers.
3846
3847 Thu May 28 09:36:39 1998  Michael Meissner  <meissner@cygnus.com>
3848
3849         * except.h (rtx): Define rtx type correctly if needed.
3850         * function.h (rtx): Ditto.
3851         (tree): Define tree type correctly if needed.
3852
3853         * c-pragma.c (toplevel): Include rtl.h.
3854
3855         * stor-layout.c (toplevel): Move include of rtl.h before
3856         except.h.
3857
3858         * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
3859         (tree.o): Add except.h dependency.
3860
3861 Wed May 27 22:02:40 1998  Jeffrey A Law  (law@cygnus.com)
3862
3863         * reload1.c: Revert accidental checkin.
3864
3865         * configure.lang: Fix thinko when adding a definition for
3866         target_alias to the Makefile.
3867
3868 Wed May 27 02:50:00 1998  Catherine Moore (clm@cygnus.com)
3869
3870         * config/sparc/lb1spc.asm (.rem and .urem):  Replace
3871         routines.
3872
3873 Wed May 27 02:48:31 1998  Richard Earnshaw (rearnsha@arm.com)
3874
3875         * arm.c (arm_gen_constant): Rework to eliminate uninitialized
3876         variable warnings.  Don't generate scratch registers if only
3877         counting insns.
3878         (find_barrier): Eliminate unused variable SRC.
3879
3880 1998-05-27  Manfred Hollstein  <manfred@s-direktnet.de>
3881
3882         * toplev.h (rtx_def): Provide global declaration to avoid
3883         `limited scope' warnings.
3884
3885 Tue May 26 23:47:52 1998  Mumit Khan <khan@xraylith.wisc.edu>
3886
3887         * Makefile.in (gencheck.o): Use HOST_CC.
3888         * i386/t-mingw32: New file.
3889         * configure.in (i386-*-mingw32*): Use.
3890
3891 Tue May 26 07:31:04 1998  Richard Earnshaw (rearnsha@arm.com)
3892
3893         * arm.c (bad_signed_byte_operand): New predicate function.
3894         * arm.h (PREDICATE_CODES): Add it to the list.
3895         * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
3896         can't handle.
3897         (define_split): Two new splits for above insns.
3898
3899         * arm.c: Include toplev.h.
3900         (arm_override_options): Add parentheses around use of tune_flags.
3901         (arm_split_constant): Remove unused variable.
3902         (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
3903         (output_func_prologue, arm_expand_prologue): Likewise.
3904         (arm_canonicalize_comparison): Make I unsigned; rework constants
3905         accordignly.  Add missing paratheses around << operation.
3906         (arm_rtx_costs): Correctly parenthesise MULT costs.  Add a DEFAULT
3907         clause.
3908         ({load,store}_multiple_sequence): Initialize BASE_REG.
3909         (select_dominance_cc_mode): Add DEFAULT clauses.
3910         (broken_move): Return zero if the destination is not a register.
3911         (arm_reorg): Move unused REGNO declaration into the dead code.
3912         * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
3913
3914 Mon May 25 22:49:56 PDT 1998 Jeff Law  (law@cygnus.com)
3915
3916         * version.c: Bump for snapshot.
3917
3918 Mon May 25 11:56:24 PDT 1998 Jeff Law  (law@cygnus.com)
3919
3920         * version.c: Bump for snapshot.
3921
3922 Mon May 25 14:00:13 1998  Dave Brolley  <brolley@cygnus.com>
3923
3924         * cpperror.c (v_cpp_message): Remove static prototype.
3925         * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
3926         * cpplib.h (v_cpp_message): Add protoptype.
3927         (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
3928
3929 Sun May 24 20:36:15 PDT 1998 Jeff Law  (law@cygnus.com)
3930
3931         * version.c: Bump for snapshot.
3932
3933 Sun May 24 02:08:57 PDT 1998 Jeff Law  (law@cygnus.com)
3934
3935         * version.c: Bump for snapshot.
3936
3937 1998-05-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3938
3939         * m68k.h: Declare more functions used in macros.
3940         (REG_CLASS_CONTENTS): Completely embrace initializer.
3941         * m68k.md (adddi3, subdi3): Add abort call to avoid warning
3942         about returning no value.
3943         * cse.c (find_best_addr): Declare p and found_better only if
3944         needed.
3945         * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
3946         * dwarfout.c (string_length_attribute): #if 0 away.
3947         * function.c (expand_function_end): Define varible blktramp only
3948         if needed.
3949         * jump.c (find_insert_position): Define only if !HAVE_cc0.
3950         * loop.c (combine_givs_p): Define variable tem only if needed.
3951         * real.c: Comment out unused functions eabs, eround,
3952         e{24,53,64,113}toasc and eiinfin.
3953
3954
3955 Sat May 23 23:44:53 1998  Alexandre Oliva <oliva@dcc.unicamp.br>
3956
3957         * Makefile.in (boostrap2-lean, bootstrap3-lean,
3958         bootstrap4-lean): New targets.
3959
3960 Sat May 23 23:35:14 1998  Jeffrey A Law  (law@cygnus.com)
3961
3962         * warn_summary, test_summary: Moved into the contrib directory.
3963
3964 1998-05-23  Manfred Hollstein  <manfred@s-direktnet.de>
3965
3966         * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
3967         of the Makefile.
3968         (FLOAT_H_TEST): Likewise.
3969         (ENQUIRE): Likewise.
3970         (float.h-nat): Likewise.
3971         (float.h-cross): Likewise.
3972         (enquire): Likewise.
3973         (enquire.o): Likewise.
3974         (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
3975         (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
3976         no-op.
3977         (FLOAT_H): Remove old float.h-nat version; move current definition
3978         to CROSS_FLOAT_H location.
3979         (all.cross): Remove comments about enquire stuff.
3980
3981         * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
3982         (rest.encap): Likewise.
3983         (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
3984
3985         * toplev.h (tree_node): Provide global declaration to avoid
3986         `limited scope' warnings.
3987
3988 Sat May 23 23:23:35 1998   Robert Lipe  <robertl@dgii.com>
3989
3990         * test_summary: Display section breaks for each entry
3991         in a multilibbed target's output.
3992
3993 1998-05-23  Richard Henderson  <rth@cygnus.com>
3994
3995         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
3996         offset's mode is not ptr_mode, convert it.
3997
3998 1998-05-22  Jason Merrill  <jason@yorick.cygnus.com>
3999
4000         * fold-const.c (ssize_binop): New fn.
4001         * tree.h: Declare it.
4002
4003 Fri May 22 03:42:05 1998  Richard Earnshaw (rearnsha@arm.com)
4004
4005         * genextract.c (print_path): Handle zero-length path as a special
4006         case.
4007
4008 Fri May 22 01:38:07 1998  Hans-Peter Nilsson  <hp@axis.se>
4009
4010         * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
4011
4012 Fri May 22 00:57:00 1998  Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
4013
4014         * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
4015         (shorten_branches, final_scan_insn): Test value of
4016         JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
4017         is defined.
4018         * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
4019         * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
4020         * arm/tcoff.h: Likewise.
4021         * i386/386bsd.h: Likewise.
4022         * i386/freebsd-elf.h: Likewise.
4023         * i386/freebsd.h: Likewise.
4024         * i386/netbsd.h: Likewise.
4025         * i386/ptx4-i.h: Likewise.
4026         * i386/sysv4.h: Likewise.
4027         * pa/pa.h: Likewise.
4028         * rs6000/linux.h: Likewise.
4029         * rs6000/rs6000.h: Likewise.
4030         * sh/sh.h: Likewise.
4031         * sparc/sp64-elf.h: Likewise.
4032         * v850/v850.h: Likewise.
4033         * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
4034         * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
4035
4036 Thu May 21 19:50:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4037
4038         * regmove.c (gen_add3_insn): New function.
4039         (fixup_match_2): Use it instead of calling gen_addsi3.
4040
4041 Thu May 21 23:09:50 1998  Jeffrey A Law  (law@cygnus.com)
4042
4043         * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
4044
4045         * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
4046         address.
4047
4048 Thu May 21 20:18:13 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
4049
4050         * Makefile.in (TREE_H): Add tree-check.h.
4051         (tree-check.h, gencheck): New targets.
4052         * gencheck.c: New file.
4053         * tree.c (tree_check, tree_class_check): New functions.
4054         * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
4055         (TYPE_CHECK, DECL_CHECK): Define.
4056         Modify all access macros to use generated checking macros.
4057
4058 Wed May 20 23:44:28 EDT 1998  John Wehle  (john@feith.com)
4059
4060         * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
4061         * configure.in: Check for it.
4062         * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
4063         * final.c (uid_align, uid_shuid, label_align): Make static.
4064         (label_align): Change type to struct label_alignment pointer.
4065         (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
4066         (LABEL_TO_MAX_SKIP): Define.
4067         (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
4068         LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
4069         (shorten_branches): Record the maximum bytes to skip when
4070         aligning a label.
4071         (final_scan_insn): Use the maximum bytes to skip when aligning a label
4072         if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
4073         * i386.h (LOOP_ALIGN_MAX_SKIP,
4074         LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
4075         * i386.c (override_options): i386_align_jumps and i386_align_loops
4076         default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
4077         * invoke.texi: Document new i386 align-loops and align-jumps behavior.
4078
4079 1998-05-21  Mark Mitchell  <mmitchell@usa.net>
4080
4081         * cplus-dem.c (do_type): Handle volatile qualification.
4082
4083 Thu May 21 12:23:17 1998  Per Bothner  <bothner@cygnus.com>
4084
4085         * function.c (init_function_start):  Don't call emit_line_note if
4086         lineno is 0.  (Can happen when compiling Java .class files.)
4087
4088 Thu May 21 19:50:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4089
4090         * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
4091         end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
4092
4093 Thu May 21 19:32:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4094
4095         * combine.c (nonzero_bits): For paradoxical subregs, take
4096         LOAD_EXTENDED_OP into account.
4097
4098 Thu May 21 11:51:15 1998  Dave Brolley  <brolley@cygnus.com>
4099
4100         * configure.in (extra_c_objs): add prefix.o.
4101         (extra_cxx_objs): extra objects for C++ with cpplib.
4102         * configure: Regenerate.
4103
4104         * c-tree.h: (get_directive_line): Different prototype for cpplib.
4105         (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
4106
4107         * c-lex.h: (get_directive_line): Not needed here for cpplib.
4108
4109         * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
4110         (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
4111
4112         * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
4113         (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
4114
4115 Thu May 21 09:04:42 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4116
4117         * gengenrtl.c (type_from_format, accessor_from_format): Change
4118         type of parameter `c' from `char' to `int'.
4119
4120 Wed May 20 22:28:34 1998  Jeffrey A Law  (law@cygnus.com)
4121
4122         * warn_summary, test_summary: New scripts from
4123         Kaveh Ghazi and Alexandre Oliva respectively.
4124
4125         * gcse.c (current_function_calls_longjmp): Declare.
4126
4127 1998-05-20  Jason Merrill  <jason@yorick.cygnus.com>
4128
4129         * dwarf2out.c (base_type_die): Use int_size_in_bytes.
4130
4131 Wed May 20 01:11:02 1998  Doug Evans (devans@cygnus.com)
4132                           Jeff Law (law@cygnus.com)
4133
4134         * Global CSE and constant/copy propagation.
4135         * Makefile.in (OBJS): Add gcse.o
4136         (STAGESTUFF): Add *.gcse.
4137         (gcse.o): Add dependencies.
4138         (mostlyclean): Remove *.gcse and */*.gcse.
4139         * gcse.c: New file.
4140         * loop.c (loop_optimize): Move call to init_alias_analysis.
4141         * recog.c (validate_replace_src): New function.
4142         * toplev.c (gcse_dump): New global variable.
4143         (flag_gcse, gcse_time): Likewise.
4144         (compile_file): Initialize gcse_time and clean out the gcse dump
4145         file if necessary.
4146         (rest_of_compilation): Call gcse_main as requested.  Dump RTL
4147         after gcse if requested.
4148         (main): Enable gcse for -O2 and above.  Handle -dG.  Enable gcse
4149         dumps for -da.
4150         * gcc.texi: Add gcse related internal documentation.
4151         * invoke.texi: Note new command line options for gcse.
4152         * tm.texi: Document AVOID_CCMODE_COPIES.
4153         * mips.h (AVOID_CCMODE_COPIES): Define.
4154
4155 Tue May 19 22:31:20 1998  Jeffrey A Law  (law@cygnus.com)
4156
4157         * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
4158         exists.
4159         (stmp-fixproto): Simlarly for running fixproto.
4160         * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
4161
4162 Tue May 19 19:08:52 1998  Jim Wilson  <wilson@cygnus.com>
4163
4164         * config/mips/mips.c (double_memory_operand): Accept any MEM during
4165         reload when TARGET_64BIT.
4166
4167 Tue May 19 18:21:25 1998  Jim Wilson  <wilson@cygnus.com>
4168
4169         Finish incomplete change started by Kenner.
4170         * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
4171         (powerpcle-*-cygwin32): Delete xm_defines.
4172         * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
4173         HAVE_STAB_H instead of NO_STAB_H.
4174         * config/xm-linux.h (NO_STAB_H): Delete.
4175         (HAVE_STAB_H): Undefine.
4176         * config/i386/xm-go32.h (NO_STAB_H): Delete.
4177
4178 1998-05-19  Jim Wilson  <wilson@cygnus.com>
4179
4180         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
4181         LANG_TYPE trees with DECL_SOURCE_LINE of 0.
4182
4183 Tue May 19 15:07:54 1998  Todd Vierling  <tv@netbsd.org>
4184
4185         * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
4186
4187 Tue May 19 17:19:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4188
4189         * reload1.c (reload_reg_free_for_value_p): New function.
4190         (allocate_reload_reg, choose_reload_regs): Use it.
4191
4192 Tue May 19 11:51:00 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
4193
4194         * except.c (expand_start_catch): Correct logic for when to
4195         generate a new handler label, and when to use the old one.
4196
4197 Tue May 19 11:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4198
4199         * Makefile.in (print-rtl.o): Depend on bitmap.h.
4200         (dbxout.o): Depend on toplev.h.
4201         ($(SCHED_PREFIX)sched.o): Likewise.
4202         ($(out_object_file)): Likewise for system.h and toplev.h.
4203         (cppmain.o): Depend on gansidecl.h.
4204         (cpplib.o): Likewise.
4205         (cpperror.o): Likewise.
4206         (cppexp.o): Likewise.
4207         (cpphash.o): Likewise.
4208         (cppalloc.o): Likewise.
4209         (fix-header.o): Depend on cpplib.h and cpphash.h.
4210         (scan-decls.o): Depend on gansidecl.h.
4211
4212         * basic-block.h (free_regset_vector): Add prototype.
4213
4214         * cccp.c (check_precompiled): Mark parameter `fname' with
4215         ATTRIBUTE_UNUSED.
4216         (do_assert): Likewise for `op' and `keyword'.
4217         (do_unassert): Likewise.
4218         (do_line): Likewise for `keyword'.
4219         (do_error): Likewise for `op' and `keyword'.
4220         (do_warning): Likewise.
4221         (do_ident): Likewise for `keyword'.
4222         (do_pragma): Likewise for `limit', `op' and `keyword'.
4223         (do_sccs): Likewise.
4224         (do_if): Likewise for `keyword'.
4225         (do_elif): Likewise.
4226         (do_else): Likewise.
4227         (do_endif): Likewise.
4228
4229         * collect2.c (getenv): Remove redundant prototype.
4230         (collect_exit, collect_execute, dump_file): Likewise.
4231         (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
4232         (dump_prefix_list): Hide prototype and definition.
4233
4234         * sparc.c: Include toplev.h.
4235         (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
4236         (symbolic_memory_operand): Likewise.
4237         (sp64_medium_pic_operand): Likewise.
4238         (data_segment_operand): Likewise.
4239         (text_segment_operand): Likewise.
4240         (splittable_symbolic_memory_operand): Likewise.
4241         (splittable_immediate_memory_operand): Likewise.
4242         (eq_or_neq): Likewise.
4243         (normal_comp_operator): Likewise.
4244         (noov_compare_op): Likewise.
4245         (v9_regcmp_op): Likewise.
4246         (v8plus_regcmp_op): Likewise.
4247         (extend_op): Likewise.
4248         (cc_arithop): Likewise.
4249         (cc_arithopn): Likewise.
4250         (small_int): Likewise.
4251         (uns_small_int): Likewise.
4252         (clobbered_register): Likewise.
4253         (legitimize_pic_address): Likewise.
4254         (delay_operand): Likewise.
4255         (sparc_builtin_saveregs): Remove unused variable `stdarg'.
4256
4257         * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
4258         sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
4259
4260         * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
4261
4262         * cppalloc.c: Include gansidecl.h.
4263
4264         * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
4265         (cpp_file_line_for_message): Mark parameter `pfile' with
4266         ATTRIBUTE_UNUSED.
4267         (v_cpp_message): New function.
4268         (cpp_message): Use it.  Also convert to variable arguments.
4269         (cpp_fatal): Likewise.
4270         (cpp_pfatal_with_name): Constify parameter `name'.
4271
4272         * cppexp.c: Move gansidecl.h before cpplib.h.
4273         * cpphash.c: Likewise.
4274         * cpphash.h (hashf, delete_macro): Add prototypes.
4275
4276         * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
4277         cpplib.h.  Don't include errno.h.
4278         (update_path): Add arguments to prototype.
4279         (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
4280         cpp_print_containing_files): Remove redundant prototypes.
4281         (cpp_hash_cleanup, add_import, append_include_chain,
4282         make_assertion, path_include, initialize_builtins,
4283         initialize_char_syntax, finclude, validate_else, comp_def_part,
4284         lookup_import, redundant_include_p, is_system_include,
4285         read_name_map, read_filename_string, open_include_file,
4286         check_macro_name, compare_defs, compare_token_lists,
4287         eval_if_expression, change_newlines): Add prototype arguments.
4288         (hashf): Remove redundant prototype.
4289         (read_token_list, free_token_list, safe_read, xcalloc, savestring,
4290         conditional_skip, skip_if_group): Add prototype arguments.
4291         (fdopen): Remove redundant prototype.
4292         (do_define, do_line, do_include, do_undef, do_error, do_pragma,
4293         do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
4294         do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
4295         (struct directive): Add prototype arguments to function pointer
4296         member `func'.
4297         (handle_directive): Add missing arguments to call to `do_line'.
4298         (do_include): Mark parameters `unused1' and `unused2' with
4299         ATTRIBUTE_UNUSED.
4300         (do_line): Likewise for `keyword' and new parameters `unused1' and
4301         `unused2'.
4302         (do_error): Likewise for `keyword'.
4303         (do_warning): Likewise.  Also add missing argument `pfile' in call
4304         to cpp_pedwarn.
4305         (do_once): Mark parameter `keyword', `unused1' and `unused2' with
4306         ATTRIBUTE_UNUSED.
4307         (do_ident): Likewise for `keyword', `buf' and `limit'.
4308         (do_pragma): Likewise.  Also add missing arguments in call to do_once.
4309         (do_sccs): Mark parameter `keyword', `buf' and `limit' with
4310         ATTRIBUTE_UNUSED.
4311         (do_if): Likewise for `keyword'.
4312         (do_elif): Likewise.
4313         (eval_if_expression): Likewise for `buf' and `length'.
4314         (do_xifdef): Likewise for `unused1' and `unused2'.
4315         (do_else): Likewise for `keyword', `buf' and `limit'.
4316         (do_endif): Likewise.
4317         (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
4318         (cpp_handle_options): Remove superfluous NULL argument in call to
4319         cpp_fatal.
4320         (cpp_handle_options): Likewise.
4321         (do_assert): Mark parameter `keyword', `buf' and `limit' with
4322         ATTRIBUTE_UNUSED.
4323         (do_unassert): Likewise.
4324         (cpp_print_file_and_line): Add missing argument `pfile' in call to
4325         cpp_file_line_for_message.
4326         (v_cpp_error): New function.
4327         (cpp_error): Use it. Also accept variable arguments.
4328         (v_cpp_warning): New function.
4329         (cpp_warning): Use it. Also accept variable arguments.
4330         (cpp_pedwarn): Accept variable arguments.
4331         (v_cpp_error_with_line): New function
4332         (cpp_error_with_line): Use it.  Accept variable arguments.
4333         (v_cpp_warning_with_line): New function.
4334         (cpp_warning_with_line): Use it.  Accept variable arguments.  Hide
4335         definition.
4336         (cpp_pedwarn_with_line): Accept variable arguments.
4337         (cpp_pedwarn_with_file_and_line): Likewise.
4338         (cpp_error_from_errno): Constify parameter `name'.  Add missing
4339         argument `pfile' in call to cpp_file_line_for_message.
4340         (cpp_perror_with_name): Constify parameter `name'.
4341
4342         * cpplib.h: Define PARAMS() in terms of PROTO().
4343         (fatal): Remove redundant prototype.
4344         (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
4345         cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
4346         cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
4347         cpp_fatal, cpp_message, cpp_pfatal_with_name,
4348         cpp_file_line_for_message, cpp_print_containing_files): Add
4349         arguments to prototypes.
4350         (scan_decls, cpp_finish): Add prototypes.
4351
4352         * cppmain.c: Include gansidecl.h.
4353         (main): Remove unused variable `i'.
4354
4355         * dbxout.c: Include toplev.h.
4356
4357         * demangle.h (do_tlink, collect_execute, collect_exit,
4358         collect_wait, dump_file, file_exists): Add prototype.
4359
4360         * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
4361         prototype and definition.
4362         (gen_unspecified_parameters_die): Don't assign results of call to
4363         function new_die() to unused variable `parm_die'.
4364         (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
4365         (dwarf2out_define): Likewise for `lineno' and `buffer'.
4366
4367         * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
4368         prototype and definition.
4369         (output_die): Add prototype arguments to function pointer arg.
4370         (output_unspecified_parameters_die): Mark parameter `arg' with
4371         ATTRIBUTE_UNUSED.
4372
4373         * except.c (output_exception_table_entry): Remove unused variable
4374         `eh_entry'.
4375
4376         * except.h (expand_fixup_region_start, expand_fixup_region_end):
4377         Add prototypes.
4378
4379         * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
4380
4381         * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
4382
4383         * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
4384         before cpplib.h, include cpphash.h, remove redundant prototype of
4385         cpp_fatal, don't define `const', add a prototype for `fatal'.
4386         (cpp_file_line_for_message): Add missing arguments `pfile'.
4387         (v_cpp_message): New function.
4388         (cpp_message): Use it.
4389         (v_fatal): New function.
4390         (fatal, cpp_fatal): Use it.
4391         (cpp_pfatal_with_name): Constify parameter `name'.
4392
4393         * flow.c (free_regset_vector): Remove redundant prototype.
4394
4395         * function.c (round_down): Wrap prototype and definition with
4396         macro ARGS_GROW_DOWNWARD.
4397         (record_insns): Wrap prototype and definition with
4398         defined (HAVE_prologue) || defined (HAVE_epilogue).
4399
4400         * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
4401
4402         * gen-protos.c: Include gansidecl.h.
4403         (hashf): Don't make it static, constify parameter `name'.
4404
4405         * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
4406         specifier %s in calls to function `fatal'.
4407
4408         * haifa-sched.c: Include toplev.h.
4409         (find_rgns): Remove unused variable `j'.
4410
4411         * integrate.c (note_modified_parmregs): Mark parameter `x' with
4412         ATTRIBUTE_UNUSED.
4413         (mark_stores): Likewise.
4414
4415         * jump.c (mark_modified_reg): Likewise.
4416
4417         * output.h (insn_current_reference_address): Add prototype.
4418         (eh_frame_section): Likewise.
4419
4420         * print-rtl.c: Include bitmap.h.
4421
4422         * reload1.c (reload): Wrap variables `note' and `next' in macro
4423         PRESERVE_DEATH_INFO_REGNO_P.
4424         (forget_old_reloads_1): Mark parameter `ignored' with
4425         ATTRIBUTE_UNUSED.
4426         (choose_reload_regs): Remove unused variable `in'.
4427         (reload_cse_invalidate_mem): Mark parameter `ignore' with
4428         ATTRIBUTE_UNUSED.
4429         (reload_cse_check_clobber): Likewise.
4430
4431         * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
4432         (mark_elimination): Fix typo in prototype.
4433
4434         * scan-decls.c: Include gansidecl.h.
4435
4436         * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
4437
4438 Mon May 18 22:37:33 1998  Jeffrey A Law  (law@cygnus.com)
4439
4440         * function.c (identify_blocks): Fix thinko when setting the
4441         block number for NOTE_INSN_BLOCK_END.
4442
4443 Mon May 18 15:30:42 1998  Nick Clifton  <nickc@cygnus.com>
4444
4445         * config/v850/lib1funcs.asm: Add .text pseudo op to start of
4446         ___udivsi3.
4447
4448         * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
4449         underscores for the prefixes to the names of the maths functions.
4450
4451         * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE.  Add
4452         comment explaining why.
4453
4454 Mon May 18 13:20:23 1998  Richard Henderson  <rth@cygnus.com>
4455
4456         * tree.h (TYPE_SIZE_UNIT): New.
4457         (struct tree_type): Add size_unit member.
4458         * stor-layout.c (layout_type): Initialize it.
4459         * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
4460         * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
4461
4462 Mon May 18 12:07:37 1998  Richard Earnshaw (rearnsha@arm.com)
4463
4464         * stor-layout.c (layout_record): Fix off-by-one error when checking
4465         length of the TYPE_BINFO vector.
4466
4467 Mon May 18 10:59:23 1998  Nick Clifton  <nickc@cygnus.com>
4468
4469         * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
4470         function parameter passed in memory.
4471
4472 Mon May 18 09:02:09 1998  Robert Lipe  <robertl@dgii.com>
4473
4474         * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h:  New files.
4475         Prototypes for externally used functions in respective C files.
4476         * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
4477         final.c: Include above files.
4478         * Makefile.in (toplev.o): Add dependency for above four headers.
4479         (final.o): Likewise.
4480         (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
4481         respective header files.
4482
4483 Mon May 18 01:23:33 1998  Jeffrey A Law  (law@cygnus.com)
4484
4485         * Makefile.in (TARGET_TOOLPREFIX): No longer define.
4486         (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
4487         the build tree if they exist.
4488         (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
4489         appropriately.
4490         (objdir): Let configure substitute value.
4491         (FLOAT_H): Let configure select a pre-built version from the
4492         config subdir.
4493         * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
4494         * configure.in: Substitute for objdir.
4495
4496         * Makefile.in (build_canonical, host_canonical): Let configure
4497         substitute values for these variables.
4498         * configure.in: Substitute for build_canonical, host_canonical
4499         and target_subdir in generated Makefile.
4500
4501         * output.h (find_basic_blocks): Declare.
4502         (free_basic_block_vars, set_block_num, life_analysis): Likewise.
4503
4504         * Makefile.in (BISON): Use bison from the build tree if it exists.
4505         (FLEX): Similarly.
4506
4507 Mon May 18 00:08:19 1998  Nick Clifton  <nickc@cygnus.com>
4508
4509         * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
4510         (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
4511         (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
4512         command line arguments to see if an executable is not being
4513         created, and if so - do not append the suffix.
4514
4515         * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
4516         driver macro.
4517
4518 Sun May 17 23:59:45 1998  John Wehle  (john@feith.com)
4519
4520         * i386.h (ALIGN_DFmode): Delete.
4521         (CONSTANT_ALIGNMENT): Define.
4522         * varasm.c (force_const_mem): Use it.
4523
4524 Sun May 17 19:31:05 1998  Richard Henderson  <rth@cygnus.com>
4525
4526         * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
4527         using it with swap_condition, not before.
4528
4529 Sun May 17 13:44:32 1998  Jim Wilson  <wilson@cygnus.com>
4530
4531         * alias.c (mode_alias_check): Delete.
4532         (true_dependence, anti_dependence, output_dependence): Revert April 21
4533         change.
4534
4535 Sun May 17 08:45:21 1998  Krister Walfridsson <cato@df.lth.se>
4536
4537         * toplev.c (output_lang_identify): Enable prototype and definition.
4538
4539 Sun May 17 01:12:27 PDT 1998 Jeff Law  (law@cygnus.com)
4540
4541         * version.c: Bump for snapshot.
4542
4543 Sat May 16 23:20:32 1998  Richard Henderson  <rth@cygnus.com>
4544
4545         * alpha/osf.h (HAVE_STAMP_H): Define.
4546         * alpha.c: Use it.
4547         * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
4548         * configure.in (alpha*-*-netbsd*): New.
4549         Based on patches from Paul H. Anderson <pha@pdq.com>.
4550
4551         * configure.in (alpha*-*-linux-*): Kill xm_defines.
4552         (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
4553         * alpha/xm-linux.h: Remove file.
4554
4555 Sat May 16 18:32:45 1998  Doug Evans  <devans@canuck.cygnus.com>
4556
4557         * dbxout.c (dbxout_parms): If mode of type of parameter living
4558         in memory doesn't match mode of DECL_RTL, make big endian correction.
4559
4560 Fri May 15 21:40:06 1998  John Wehle  (john@feith.com)
4561
4562         * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
4563
4564 Fri May 15 18:55:22 1998  Jason Merrill  <jason@yorick.cygnus.com>
4565
4566         * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
4567         * stor-layout.c (layout_record): Set it.
4568
4569 Fri May 15 18:49:30 1998  Mark Mitchell  <mmitchell@usa.net>
4570
4571         * toplev.c (rest_of_compilation): Don't defer nested functions.
4572
4573 Fri May 15 17:42:52 1998  Bob Manson  <manson@charmed.cygnus.com>
4574
4575         * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
4576         to an 8-byte boundary if info_ptr->fpmem_p.
4577
4578 Fri May 15 17:36:11 1998  Bill Moyer <ttk@cygnus.com>
4579
4580         * loop.c (basic_induction_var): Added test preventing
4581         CCmode parameter passed to convert_modes().
4582
4583 Fri May 15 17:26:18 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
4584
4585         * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
4586         input_filename and lineno around expand_expr call.  Set them to values
4587         in WFL before expand_expr call.
4588
4589 Fri May 15 12:44:57 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
4590
4591         * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
4592
4593 Fri May 15 07:20:03 1998  Mark Mitchell  <mmitchell@usa.net>
4594
4595         * fold-const.c (constant_boolean_node): New function.
4596         (fold): Use it.
4597
4598 Fri May 15 11:21:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4599
4600         * sh.c (gen_shl_and): Don't sign extend constant for kind two.
4601         Abort if trying to split kind 3 or 4 outside of combine.
4602
4603 Fri May 15 01:47:37 1998  Jeffrey A Law  (law@cygnus.com)
4604
4605         * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
4606
4607 Fri May 15 01:42:45 1998  Mumit Khan <khan@xraylith.wisc.edu>
4608
4609         * objc/Make-lang.in (OBJC_O): Add missing exeext.
4610         (libobjc.a, runtime-info.h): Likewise.
4611
4612 Fri May 15 01:29:39 1998  John Wehle  (john@feith.com)
4613
4614         * i386.h (DATA_ALIGNMENT): Define.
4615
4616 Fri May 15 05:35:37 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4617
4618         * reload1.c (delete_output_reload): Ignore single USE that
4619         was emitted for the pseudo use of this INSN.
4620         If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
4621         remains, we can always delete OUTPUT_RELOAD_INSN.
4622
4623 Thu May 14 18:38:50 1998  Jim Wilson  <wilson@cygnus.com>
4624
4625         * reload.c (find_reloads): Don't penalize SCRATCH output reload.
4626
4627 Thu May 14 15:10:30 1998  Jeffrey A Law  (law@cygnus.com)
4628
4629         * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
4630
4631 Thu May 14 16:30:47 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
4632
4633         * eh-common.h: New file for basic EH data structures.
4634         * except.h: Various prototypes and structures for NEW_EH_MODEL
4635         * function.h (struct function): Add a struct eh_stack for the catch
4636         clause stack.
4637         * except.c (gen_exception_label): New function to generate an
4638         exception label.
4639         (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
4640         (push_entry): New function to push an existing entry onto a stack.
4641         (receive_exception_label): New function to emit the code required
4642         at the start of all catch blocks.
4643         (struct func_eh_entry): New structure for maintaining handlers
4644         associated with EH regions.
4645         (new_eh_region_entry): New function to register an EH region.
4646         (add_new_handler): New function to register a handler with a region.
4647         (get_new_handler): Creates  anew handler entry for registering.
4648         (find_func_region): New function to convert a NOTE eh region number
4649         to an Eh region index.
4650         (get_first_handler): New function to get the first handler in a region.
4651         (clear_function_eh_region): New function to release memory.
4652         (duplicate_handlers): New function to duplicate a list of handlers.
4653         (expand_eh_region_end): Create a new region entry node as well.
4654         (expand_leftover_cleanups): Call receive_exception_label() and
4655         register the cleanup as a handler to the current region.
4656         (expand_start_catch): New function to start a catch clause.
4657         (expand_end_catch): New function to end a catch clause.
4658         (expand_start_all_catch): restructure to not do the equivilent of
4659         what expand_start_catch() does now. Push the exception region being
4660         handled onto the catch stack.
4661         (output_exception_table_entry): Issue an entry for each handler
4662         associated with a region.
4663         (set_exception_lang_code): New function for setting the language code.
4664         (set_exception_version_code): New function to set the version number.
4665         (output_exception_table): Output version and language codes.
4666         (find_exception_handler_labels): Find handler labels using new scheme.
4667         (is_exception_handler_label): New function, returns 1 if label is
4668         present as a handler in some exception region.
4669         (check_exception_handler_labels): Use the new scheme.
4670         (init_eh_for_function): Initialize the catch stack.
4671         (save_eh_status): Save the catch stack.
4672         (restore_eh_status): Restore the catch stack.
4673         (scan_region): Don't remove unreferenced handler label. Flow does it.
4674         (get_reg_for_handler): New function to get the eh_context pointer
4675         passed by __throw.
4676         (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
4677         * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
4678         entry when processing END region rather that START region.
4679         * flow.c (find_basic_blocks_1): Find all potential handler regions
4680         now that we don't automatically know what the labels might be.
4681         Let scan_region() remove unreferenced EH BEGIN/END labels.
4682         * integrate.c (get_label_from_map): Put inlined labels onto the
4683         permanent obstack since we dont know which ones might be exception
4684         labels.
4685         (save_for_inline_copying): Make new copies of all the handlers.
4686         (expand_inline_function): Make new copies of all the handlers.
4687         * libgcc2.c: Remove local struct decls, and include eh-common.h.
4688         (find_exception_handler): With NEW_EH_MODEL the first matching
4689         region we find is the right one. Add eh_info as a new parameter.
4690         (__throw): Pass eh_info to find_exception_handler. Set handler
4691         and pass use different regs  under NEW_EH_MODEL.
4692
4693 Thu May 14 12:58:21 1998  Jim Wilson  <wilson@cygnus.com>
4694
4695         * i960.h (hard_regno_mode_ok): Changed to function from array of
4696         unsigned.
4697         (HARD_REGNO_MODE_OK): Call function instead of testing bit.
4698         * i960.c (hard_regno_mode_ok): Changed to function from array of
4699         unsigned.
4700
4701 Thu May 14 08:41:46 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4702
4703         * reload.c (remove_replacements): New function.
4704         * reload.h (remove_replacements): Declare.
4705         * reload1.c (choose_reload_regs): Disable some reloads that
4706         belong to inherited reloads.
4707
4708 Thu May 14 02:17:17 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4709
4710         * loop.c (scan_loop): Don't call move_moveables for optimize_size.
4711
4712         * reload1.c (merge_assigned_reloads):  When merging, reset
4713         reload_spill_index for the eliminated reload.
4714
4715 Wed May 13 17:51:13 1998  Jeffrey A Law  (law@cygnus.com)
4716
4717         * haifa-sched.c (schedule_insns): Fix merge goof.
4718
4719 1998-05-13  Jim Wilson  <wilson@cygnus.com>
4720
4721         * varasm.c (make_decl_rtl): Revert April 1 change.
4722         * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
4723         m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
4724         Get function name from the SYMBOL_REF in the DECL_RTL, not from
4725         DECL_ASSEMBLER_NAME.
4726         * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
4727         DECL_ASSEMBLER_NAME.
4728
4729 Wed May 13 13:09:19 1998  Jim Wilson  <wilson@cygnus.com>
4730
4731         * i386.c (notice_update_cc, output_float_compare): Disable
4732         TARGET_CMOVE support.
4733
4734 Wed May 13 15:28:59 1998  Michael Meissner  <meissner@cygnus.com>
4735                           Jeff Law <law@cygnus.com>
4736
4737         * rtlanal.c (find_reg_note): Ignore notes that are not on on
4738         insns of class 'i'.
4739         (find_regno_note): Likewise.
4740
4741         * Makefile.in (stor-layout.o): Depend on except.h
4742         (varasm.o, function.o): Likewise.
4743         (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
4744
4745         * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
4746         (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
4747         ($(HOST_PREFIX_1)rtl.o): Likewise.
4748         ($(HOST_PREFIX_1)bitmap.o): New host object.
4749         * emit-rtl.c (toplevel): Include bitmap.h.
4750         (gen_rtx): Handle 't' and 'b' nodes.
4751         * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
4752         Print block number for block begin/end notes.  Print 't' type
4753         nodes as a pointer.  Know that the 3rd argument of live range
4754         start/stop notes is really a range_info rtx.  If type is 'b', print
4755         out argument as a bitmap.
4756         * rtl.c: Include bitmap.c.
4757         (copy_rtx): Copy tree nodes as is.  Copy bitmaps if type is 'b'.
4758         (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
4759         * rtl.def (RANGE_LIVE): New node to hold live information while we
4760         recalculate the basic blocks.
4761         (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
4762         (RANGE_VAR): New node, to hold information saved in symbol node for New
4763         communicating live range information to the debug output functions.
4764         * rtl.h (rtunion_def): Add rttree and rtbit fields.
4765         (XBITMAP, XTREE): New accessor macros.
4766         (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
4767         (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
4768         (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
4769         (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
4770         (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
4771         (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
4772         (RANGE_INFO_*): Likewise.
4773         * sched.c (sched_analyze): Keep live range start/stop notes.
4774         (unlink_other_notes): Likewise.
4775         * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
4776         (unlink_other_notes): Likewise.
4777         * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
4778         (BLOCK_LIVE_RANGE_FLAG): Likewise.
4779         (DECL_LIVE_RANGE_RTL): Likewise.
4780         (struct tree_block): Add live_range_flag, live_range_var_flag,
4781         live_range_start and live_range_end.
4782         (struct tree_decl): Add live_range_rtl field.
4783         * gengenrtl.c (type_from_format): Handle 'b' and 't'.
4784         (accessor_from_format): Likewise.
4785
4786         * haifa-sched.c (schedule_block): Make verbose output line up.
4787         Also add a blank line in printing the individual ready lists.
4788
4789 Wed May 13 15:43:44 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4790
4791         * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
4792         (c-lex.o): Depend on output.h.
4793         (c-common.o): Likewise.
4794         (stmt.o): Likewise.
4795         (calls.o): Likewise.
4796         (integrate.o): Depend on toplev.h.
4797         (regclass.o): Depend on output.h.
4798         (final.o): Depend on reload.h.
4799
4800         * c-common.c: Include output.h.
4801         (check_format_info): Remove unused variable `integral_format'.
4802
4803         * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
4804         `indent' with ATTRIBUTE_UNUSED.
4805         (print_lang_type): Likewise.
4806         (maybe_build_cleanup): Likewise for parameter `decl'.
4807         (copy_lang_decl): Likewise for parameter `node'.
4808
4809         * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
4810         (lang_print_xnode): Mark parameters `file', `node' and `indent'
4811         with ATTRIBUTE_UNUSED.
4812         (lookup_interface): Likewise for parameter `arg'.
4813         (is_class_name): Likewise.
4814         (maybe_objc_check_decl): Likewise for parameter `decl'.
4815         (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
4816         `reflexive'.
4817         (maybe_objc_method_name): Likewise for parameter `decl'.
4818         (build_objc_string): Likewise for parameters `len' and `str'.
4819
4820         * c-lex.c: Include output.h.
4821
4822         * c-lex.h (position_after_white_space): Correct typo in prototype.
4823
4824         * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
4825         c_expand_end_cond, init_iterators): Add prototypes.
4826
4827         * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
4828         with ATTRIBUTE_UNUSED.
4829
4830         * calls.c: Include output.h.
4831
4832         * cccp.c (pipe_closed): Mark parameter `signo' with
4833         ATTRIBUTE_UNUSED.
4834
4835         * combine.c: Move inclusion of expr.h to after insn-config.h.
4836
4837         * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
4838         as empty, rather define as ((void)0).
4839
4840         * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
4841         Add parentheses around assignment used as truth value.
4842
4843         * cplus-dem.c (squangle_mop_up): Change return type to void.
4844         (internal_cplus_demangle): Remove unused parameter `options'.
4845         All callers changed.
4846         (cplus_demangle_opname): Remove function wide variable `int i' and
4847         replace with `size_t i' at each location where it is used.
4848         (cplus_demangle_opname): change type of `i' from int to size_t.
4849
4850         * cppexp.c (right_shift): Mark parameter `pfile' with
4851         ATTRIBUTE_UNUSED.
4852
4853         * cpphash.c (cpp_lookup): Likewise.
4854         (cpp_hash_cleanup): Likewise.
4855
4856         * cpplib.c (parse_name): Add a prototype and make it static.
4857         (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
4858         (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
4859         (macro_cleanup): Likewise for parameter `pfile'.
4860         (file_cleanup): Likewise.
4861
4862         * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
4863         cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
4864
4865         * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
4866         __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
4867
4868         * cse.c (cse_check_loop_start): Mark parameter `set' with
4869         ATTRIBUTE_UNUSED.
4870
4871         * dbxout.c (flag_minimal_debug, have_used_extensions,
4872         source_label_number): Move inside macro wrapper check against
4873         defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
4874
4875         * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
4876
4877         * except.h (doing_eh): Provide prototype.
4878
4879         * expr.c: Move inclusion of expr.h to after insn-config.h.
4880
4881         * final.c: Include reload.h.
4882         (shorten_branches): Cast the first argument of bzero to char *.
4883
4884         * fix-header.c (cpp_print_containing_files): Mark parameter
4885         `pfile' with ATTRIBUTE_UNUSED.
4886         (cpp_fatal): Likewise.
4887
4888         * flow.c (find_basic_blocks_1): Cast the first argument of bzero
4889         to char *.
4890
4891         * genattrtab.c (make_length_attrs): Change the type of variable
4892         `i' from int to size_t.
4893         (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
4894         (one_fn): Likewise.
4895
4896         * genextract.c (main): When generating insn-extract.c, mark
4897         variable `junk' with ATTRIBUTE_UNUSED.
4898
4899         * gengenrtl.c (gencode): When generating genrtl.c, cast the first
4900         argument of bzero to char*.
4901
4902         * integrate.c: Include toplev.h.
4903
4904         * libgcc2.c: Wrap `struct exception_table' and
4905         `find_exception_handler' in macro DWARF2_UNWIND_INFO.
4906
4907         * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
4908
4909         * objc/objc-act.c: Include toplev.h.
4910         (lang_print_xnode): Mark parameters `file', `node' and `indent'
4911         with ATTRIBUTE_UNUSED.
4912         (finish_protocol): Likewise for parameter `protocol'.
4913
4914         * output.h (declare_weak): Add prototype.
4915         (decode_reg_name): Don't wrap with TREE_CODE macro.
4916         (assemble_alias): Add prototype.
4917
4918         * regclass.c: Include output.h.
4919
4920         * reload.h (reloads_conflict): Add prototype.
4921
4922         * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
4923         output_func_start_profiler): Add prototypes.
4924
4925         * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
4926         ATTRIBUTE_UNUSED.
4927
4928         * scan-decls.c: Include scan.h.
4929
4930         * scan.h (recognized_function, recognized_extern): Add prototypes.
4931
4932         * stmt.c: Include output.h.
4933
4934         * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
4935         (output_lang_identify): Hide prototype and definition.
4936         (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
4937         (pipe_closed): Likewise.
4938
4939         * toplev.h (count_error, strip_off_ending, error_for_asm,
4940         warning_for_asm): Add prototypes.
4941
4942 Wed May 13 12:54:19 1998  Michael Meissner  <meissner@cygnus.com>
4943
4944         * toplev.c (rest_of_compilation): "Charge" final for any time
4945         doing various cleanup operations after finishing compilation
4946         of a function.
4947
4948         * flow.c (dump_flow_info): Also print number of sets and
4949         whether or not the pseudo is a user variable.
4950
4951         * flow.c (reg_n_max): New global variable.
4952         * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
4953         Delete regno_max variable.
4954         * regs.h (REG_N_CHECK): Define.
4955         (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
4956         (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
4957         (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
4958
4959 Wed May 13 12:54:19 1998  Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
4960
4961         * acconfig.h (ENABLE_CHECKING): Undefine.
4962         * configure.in (--enable-checking): New option.
4963
4964 Wed May 13 08:52:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4965
4966         * reload1.c (merge_assigned_reloads):  Can merge
4967         RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
4968         if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
4969
4970 Tue May 12 20:05:57 1998  Jim Wilson  <wilson@cygnus.com>
4971
4972         * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
4973
4974 Wed May 13 03:23:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4975
4976         * reload1.c (gen_reload): Create REG_EQUIV notes.
4977
4978 Tue May 12 22:21:07 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
4979
4980         * reload1.c (reload): Fix check for USEs to use code of pattern.
4981         (choose_reload_regs): Remove dead variable use_insn.
4982
4983 Tue May 12 14:04:49 1998  Jeffrey A Law  (law@cygnus.com)
4984
4985         * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
4986
4987 Tue May 12 15:16:02 1998  Michael Meissner  <meissner@cygnus.com>
4988
4989         * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
4990         already defined.
4991         (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
4992         (insn_{unit,issue_delay}): Ditto.
4993         (blockage_range): Ditto.
4994         (actual_hazard{,_this_instance}): Ditto.
4995         (schedule_unit): Ditto.
4996         (potential_hazard): Ditto.
4997         (insn_cost): Ditto.
4998         (swap_sort): Ditto.
4999         (queue_insn): Ditto.
5000         (birthing_insn_p): Ditto.
5001         (adjust_priority): Ditto.
5002         (get_block_head_tail): Ditto.
5003         (init_rgn_data_dependences): Ditto.
5004
5005 Tue May 12 10:27:54 1998  Klaus Kaempf  <kkaempf@progis.de>
5006
5007         * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
5008
5009 Tue May 12 11:44:14 1998  Gavin Koch  <gavin@cygnus.com>
5010
5011         * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
5012
5013 Tue May 12 11:38:31 1998  Gavin Koch  <gavin@cygnus.com>
5014
5015         * config/mips/mips.md (dslot): Move after definition of "cpu"
5016         attribute.  Handle r3900 case.
5017
5018 Tue May 12 10:21:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5019
5020         * system.h: Define the STRINGIFY macro here.
5021         * protoize.c: Not here.
5022         * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
5023
5024 Tue May 12 00:47:33 1998  John Wehle  (john@feith.com)
5025
5026         * varasm.c (assemble_variable): Compute the alignment of the data
5027         earlier so that both initialized and uninitialized variables are
5028         effected by DATA_ALIGNMENT.
5029         * tm.texi (DATA_ALIGNMENT): Updated appropriately.
5030
5031 Mon May 11 19:57:58 1998  Jeffrey A Law  (law@cygnus.com)
5032
5033         * mips.c: Prototype static functions.
5034
5035 Mon May 11 17:43:03 1998  Jim Wilson  <wilson@cygnus.com>
5036
5037         * regmove.c (fixup_match_2, find_matches, regmove_profitable):
5038         Add explanatory comments.
5039
5040         * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
5041
5042 Mon May 11 17:24:27 1998  Richard Henderson  <rth@cygnus.com>
5043
5044         * sparc.md (ffsdi2): Disable.  Simplify the expression as well.
5045
5046 Mon May 11 13:30:44 1998  Jim Wilson  <wilson@cygnus.com>
5047
5048         * varasm.c (make_decl_rtl): Disable April 1 change.
5049
5050 Mon May 11 09:14:41 1998  Richard Henderson  <rth@cygnus.com>
5051
5052         * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
5053
5054 Mon May 11 08:24:18 1998  Richard Henderson <rth@cygnus.com>
5055
5056         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
5057         * alpha.c (print_operand): Handle it.
5058         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
5059         related define_splits.  Also add peepholes for SImode reload
5060         plus sign_extend lossage.
5061
5062 Mon May 11 09:33:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5063
5064         * genattr.c: Include stdarg.h/varargs.h.  Change function
5065         `fatal' to use variable arguments instead of faking it with
5066         integer parameters.  Provide a prototype which also
5067         checks the format specifiers using ATTRIBUTE_PRINTF_1.
5068
5069         * genattrtab.c: Likewise.
5070         * gencodes.c: Likewise.
5071         * genconfig.c: Likewise.
5072         * genemit.c: Likewise.
5073         * genextract.c: Likewise.
5074         * genflags.c: Likewise.
5075         * genopinit.c: Likewise.
5076         * genpeep.c: Likewise.
5077         * genrecog.c: Likewise.
5078         * genoutput.c: Likewise.  Similarly for function `error'.
5079
5080 Sun May 10 02:27:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5081
5082         * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
5083         * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
5084         * configure.in: Use GCC_C_VOLATILE.
5085         * system.h (volatile): Define as empty if no volatile support is
5086         available.
5087
5088 Sun May 10 01:21:43 1998  Jeffrey A Law  (law@cygnus.com)
5089
5090         * genemit.c (output_add_clobbers): Removed unused variable 'i' from
5091         generated fucntion.
5092
5093 Sat May  9 02:02:15 1998  Richard Henderson  <rth@cygnus.com>
5094
5095         * loop.c (get_condition): Don't combine when either compare is MODE_CC.
5096         * alpha.c (alpha_emit_conditional_branch): New function.  Taken from
5097         the body of beq; additionally set the mode of the branch to CCmode for
5098         FP compares and not fast_math.
5099         (alpha_emit_conditional_move): Always use a compare insn for FP
5100         when not fast_math, as well as setting CCmode on the cmov.
5101         * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
5102
5103         * machmode.h (COMPLEX_MODE_P): New macro.
5104
5105 Sat May  9 01:53:23 1998  Richard Henderson  <rth@cygnus.com>
5106
5107         * haifa-sched.c (print_exp): Fix typo.
5108
5109 Fri May 8 21:48:50 PDT 1998 Jeff Law  (law@cygnus.com)
5110
5111         * version.c: Bump for snapshot.
5112
5113 Fri May  8 18:23:08 1998  Michael Meissner  <meissner@cygnus.com>
5114
5115         * final.c (final_scan_insn): Call fatal_insn instead of abort if
5116         we could not split an insn when required to.
5117
5118         * m32r.md ({add,sub}di3): Add define_splits and appropriate low
5119         level insns.
5120         (peepholes): Disable peepholes that call dead_or_set_p.
5121         (movsi): Rewrite to handle addresses better after last change.
5122         Add define_split to split load of addresses in large/medium modes.
5123         (prologue): Call m32r_expand_prologue.
5124         (movsi_{push,pop}): Generators for push/pop.
5125         (movsi): Support PRE_{INC,DEC}, POST_INC.
5126         (mov{di,df}): Rewrite.  Always split the insns.
5127         (movsf): Add define_split to get register load in correct mode.
5128         (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
5129         (attributes): Rewrite attributes so that type indicates both the
5130         type and the length of the insn directly.
5131         (all insns): Change to use new type attributes.
5132         (debug): New attribute to convey whether -mdebug was used.
5133         (opt_space): New attribute to convey whether -Os was used.
5134         (function units): Loads are 3 cycles, not 2.  Better classify all
5135         insns into short/long.
5136         (load/store/extend insns): Add separate case for load/store
5137         indirect operations without an offset.
5138         (divsi3): Division is a long operation, not short.
5139
5140         * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
5141         modes > 1 word.
5142         (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
5143         (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
5144         (EXTRA_CONSTRAINT): Remove 'S' special support.  Add 'U' for
5145         operands with PRE_{INC,DEC}, POST_INC.
5146         (FUNCTION_PROFILER): Call abort instead of doing nothing.
5147         (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
5148         SImode variables.
5149         (gen_split_move_double): Declare.
5150         (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
5151
5152         * m32r.c (gen_split_move_double): Fix typo.  Also, don't call
5153         emit_move_insn, build up SET's directly.
5154         (toplevel): Include system.h, not stdio.h.
5155         (move_double_src_operand): Allow any DF or DI mode constant.
5156         (gen_split_move_double): Split moves of DI or DF values into the
5157         appropriate moves, loads, or stores.  Don't handle use of auto
5158         inc/dec if using dead index.  Do handle overlapping moves, etc.
5159         (m32r_frame_info): Remove prologue_size field.
5160         (m32r_compute_frame_size): Don't calculate prologue size.
5161         (m32r_output_function_prologue): Change to pretty much a NOP.
5162         (m32r_expand_prologue): Expand prologue as a series of INSNs.
5163         (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
5164         (m32r_print_operand_address): Ditto.
5165
5166 Fri May  8 14:13:21 1998  H.J. Lu  (hjl@gnu.org)
5167
5168         * reload1.c (emit_reload_insns): When performing expensive
5169         optimizations, do not output the last reload insn if OLD is
5170         not the dest of NSN and is in the src and is clobbered by INSN.
5171
5172 Fri May  8 09:47:29 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5173
5174         * Makefile.in (genrtl.o): Depend on system.h.
5175         * gengenrtl.c (gencode): When creating genrtl.c, have it
5176         include system.h.
5177
5178 Fri May  8 10:57:33 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5179
5180         * config/m68k/t-linux: Remove extra stuff already included in
5181         config/t-linux.
5182
5183 Fri May  8 09:53:24  Paul Eggert  <eggert@twinsun.com>
5184
5185         * fixinc.wrap: Renamed from fixinc.math.  Put wrapper around
5186         curses.h if it contains `typedef char bool;', as suggested by
5187         Manfred Hollstein <manfred@s-direktnet.de>.
5188
5189         * configure.in: Rename fixinc.math to fixinc.wrap.
5190
5191 Thu May  7 19:26:34 1998  Jim Wilson  <wilson@cygnus.com>
5192
5193         * gcc.c (read_specs): Handle missing blank line at end of specs file.
5194
5195         * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
5196         movdfcc_1): Disable.
5197
5198 Thu May  7 15:39:14 1998  Jim Wilson  <wilson@cygnus.com>
5199
5200         * configure.in (enable_threads): Rename to enable_threads_flag before
5201         main loop.  Set enable_threads to enable_threads_flag inside main
5202         loop.
5203
5204 Thu May  7 17:38:03 1998  Michael Meissner  <meissner@cygnus.com>
5205
5206         * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
5207         multiple times.
5208
5209 Thu May  7 14:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5210
5211         * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
5212
5213         * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
5214         (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
5215         (AC_CHECK_FUNCS): Remove unused check for vprintf.
5216
5217         * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
5218         (cccp.o): Depend on gansidecl.h.
5219         (cexp.o): Likewise.
5220
5221         * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
5222         per the rest of gcc source.
5223         * cexp.y: Likewise.  Include gansidecl.h and remove all code made
5224         redundant.
5225
5226         * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
5227         used when vfprintf is missing.
5228         * cexp.y: Likewise.
5229         * gcc.c: Likewise.
5230         * genattrtab.c: Likewise.
5231         * mips-tfile.c: Likewise.
5232         * toplev.c: Likewise.
5233
5234         * vfprintf.c: New file.
5235         * doprint.c: New file.
5236
5237 Thu May  7 10:18:41 1998  Jeffrey A Law  (law@cygnus.com)
5238
5239         * config/linux.h (ASM_COMMENT_START): Remove from here,
5240         * config/linux-aout.h (ASM_COMMENT_START): and here,
5241         * config/i386/linux.h (ASM_COMMENT_START): to here,
5242         * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
5243         * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
5244         here as '#' too.
5245
5246 Thu May  7 10:55:59 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5247
5248         * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
5249         constant.
5250
5251 Wed May  6 22:32:37 CDT 1998 Robert Lipe  <robertl@dgii.com>
5252
5253         * Makefile.in (dwarfout.o) Add toplev.h dependency.
5254         * dwarfout.c, i386.c: Include toplev.h
5255         * toplev.h: (pfatal_with_name) Add prototype.
5256
5257 Wed May  6 19:02:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
5258
5259         * Makefile.in: Fix .SUFFIXES.
5260
5261 Wed May  6 19:31:32 1998  Alan Modra <alan@spri.levels.unisa.edu.au>
5262
5263         * config/linux.h (ASM_COMMENT_START): Define as "#".
5264         * config/linux-aout.h (ASM_COMMENT_START): Likewise.
5265
5266 Wed May  6 15:51:39 1998  Jim Wilson  <wilson@cygnus.com>
5267
5268         * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
5269         * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
5270
5271         * toplev.c: Include toplev.h.
5272         * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
5273         c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
5274         dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
5275         hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
5276         reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
5277         toplev.h dependency.
5278
5279         * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
5280         HARD_FRAME_POINTER_REGNUM.
5281
5282         * expr.c (target_temp_slot_level): Delete duplicate definition.
5283
5284 Wed May  6 16:46:01 1998  Jeffrey A Law  (law@cygnus.com)
5285
5286         * stmt.c (mark_seen_cases): Make it have external linkage again.
5287         * expr.h (mark_seen_cases): Add declaration, but only when tree.h
5288         has been included.
5289
5290         * haifa-sched.c (print_value, case SUBREG): Fix typo.
5291
5292         * i386.c (output_387_binary_op): Add some braces to avoid warnings.
5293         * i386.h (REG_CLASS_CONTENTS): Similarly.
5294
5295         * toplev.c (-fsched-max): Delete flag.
5296         (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
5297         * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
5298         and -fsched-interblock-max-insns-N support.  Remove INTERBLOCK_DEBUG
5299         conditionals.
5300
5301         * haifa-sched.c (find_rgns): Correctly handle reducible loops with
5302         inner loops which are not reducible.
5303
5304         * loop.c (regs_match_p): Fix typo in prototype.
5305
5306         * regmove.c (try_auto_increment): Wrap declaration inside an
5307         #ifdef AUTO_INC_DEC.
5308
5309 Wed May  6 17:07:47 1998  Michael Meissner  <meissner@cygnus.com>
5310
5311         * final.c (output_operand_lossage): Call fatal with the operand
5312         lossage message instead of calling abort.
5313
5314 Wed May  6 15:37:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5315
5316         * c-common.c: Convert to using ctype macros defined in system.h.
5317         * c-lex.c: Likewise.
5318         * cccp.c: Likewise.
5319         * collect2.c: Likewise.
5320         * rs6000.c: Likewise.
5321         * cpplib.c: Likewise.
5322         * fix-header.c: Likewise.
5323         * gcc.c: Likewise.
5324         * gen-protos.c: Likewise.
5325         * pexecute.c: Likewise.
5326         * protoize.c: Likewise.
5327         * rtl.c: Likewise.
5328         * scan.c: Likewise.
5329         * stmt.c: Likewise.
5330         * tlink.c: Likewise.
5331         * toplev.c: Likewise.
5332
5333 Wed May  6 14:44:14 1998  Gavin Koch  <gavin@cygnus.com>
5334
5335         * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
5336         Replace -gdwarf-2 with -g0.
5337
5338 Wed May  6 11:43:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5339
5340         * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
5341         * mips-tdump.c: Include system.h, remove redundant headers.
5342         * mips-tfile.c: Likewise.  Also, convert all ctype function calls
5343         to calls of the macro versions defined in system.h.
5344
5345         * objc/Make-lang.in (objc-act.o): Depend on system.h.
5346         * objc/objc-act.c: Include system.h, remove redundant headers.
5347
5348 Wed May  6 11:21:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5349
5350         * configure.in (AC_CHECK_FUNCS): Add isascii.
5351         (GCC_NEED_DECLARATIONS): Add atof.
5352
5353         * system.h: Provide prototypes for abort, atof, atol and sbrk here.
5354         * rtl.c, rtl.h, toplev.c, tree.h: Not here.
5355
5356 Wed May  6 10:52:49 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5357
5358         * system.h: Wrap time.h and sys/file.h in autoconf checks.
5359         Provide default definitions for O_RDONLY and O_WRONLY here.
5360
5361         * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
5362
5363 1998-05-06 Mark Mitchell  <mmitchell@usa.net>
5364
5365         * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
5366
5367 Wed May  6 06:35:38 1998  Robert Lipe  <robertl@dgii.com>
5368
5369         * toplev.h: New file.   Protypes for functions in toplev.c.
5370         * tree.h, rtl.h: Deleted protos for functions in toplev.c.
5371         * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
5372         c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
5373         convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
5374         function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
5375         reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
5376         varasm.c: include it.
5377
5378 Wed May  6 01:09:01 1998  Jeffrey A Law  (law@cygnus.com)
5379                           Jim Wilson (wilson@cygnus.com)
5380
5381         * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
5382         blocks.  Check for 1 successor which is the EXIT_BLOCK.
5383
5384         * haifa-sched.c (find_rgns): Detect unreachable blocks, including
5385         unreachable loops with more than one block.
5386
5387 Wed May  6 08:22:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5388
5389         * fix-header.c (write_rbrac): Add "abort" to functions which need to
5390         be protected.
5391
5392 Wed May  6 00:09:36 1998  Jeffrey A Law  (law@cygnus.com)
5393
5394         * Check in merge from gcc2.  See ChangeLog.12 for details.
5395
5396 Tue May  5 14:33:49 1998  Jim Wilson  <wilson@cygnus.com>
5397
5398         * c-common.c (scan_char_table): Separate 's' and 'c'.  'c' does not
5399         accept 'a' flag.  'S' does accept 'a' flag.
5400         (check_format_info): When pedantic, warn for m/C/S/a/A formats,
5401         and `a' flag.
5402
5403         * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
5404
5405 Tue May  5 10:50:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5406
5407         * config/m68k/m68k.h: Declare functions from m68k.c used in
5408         macros and machine description.
5409         (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
5410         long values.
5411         (ASM_OUTPUT_FLOAT): Likewise.
5412         (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5413
5414 Tue May  5 01:28:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
5415
5416         * tree.def: Add NAMESPACE_DECL.
5417         * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
5418         * dwarf2out.c (push_decl_scope): Likewise.
5419         (scope_die_for): Likewise.
5420         * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
5421         how to get next context level.
5422
5423 Tue May  5 01:43:16 1998  Jim Wilson  <wilson@cygnus.com>
5424
5425         * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
5426         case.
5427
5428 Tue May  5 01:15:06 1998  Jeffrey A Law  (law@cygnus.com)
5429
5430         * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
5431
5432         * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
5433         for any insns skipped at the start of a block because they were
5434         redundant.
5435
5436 Mon May  4 20:23:51 1998  Jim Wilson  <wilson@cygnus.com>
5437
5438         * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
5439
5440 1998-05-04  Ulrich Drepper  <drepper@cygnus.com>
5441
5442         * c-common.c (format_char_info): Add new field hhlen.
5443         (print_char_table, scan_char_table, time_char_table): Initialize
5444         hhlen field appropriately.
5445         (char_format_info): Recognize hh modifier and lookup correct char
5446         table entry.
5447
5448 Mon May  4 19:15:29 1998  Jim Wilson  <wilson@cygnus.com>
5449
5450         * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
5451         reference if this is a store.
5452
5453 Mon May  4 17:25:17 1998  Richard Henderson  <rth@cygnus.com>
5454
5455         * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
5456
5457 Sun May  3 23:57:25 1998  Robert Lipe   <robertl@dgii.com>
5458
5459         Make UnixWare 7 bootstrap support work with final shipping product.
5460         * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
5461         Pick up xm-siglist and xm-alloca.
5462         (xm_defines): Add USG so dbxout will build.
5463         * configure: Regenerate.
5464
5465 Sun May  3 13:51:34 PDT 1998  Richard Henderson  <rth@cygnus.com>
5466
5467         Support for official Sparc V9 ABI:
5468         * sparc.c (sparc_override_options): Force stack bias off for !arch64.
5469         Care for flag_pcc_struct_return default.
5470         (output_move_quad): Rewrite to move by halves on v9 and in the
5471         proper direction.
5472         (move_quad_direction): New function.
5473         (output_fp_move_quad): Use it to determine the direction of copy.
5474         (function_arg_slotno): Return -1 for FP reg overflow as well.
5475         (function_arg_record_value*): New functions.
5476         (function_arg): Use them.  Streamline unprototyped parameter passing.
5477         (function_arg_pass_by_reference): Pass TCmode by reference.
5478         (function_value): New function.
5479         * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
5480         long long in 64-bit mode.
5481         (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
5482         (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
5483         (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
5484         (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
5485         (BASE_INCOMING_ARG_REG): Likewise.
5486         (FUNCTION_VALUE): Call function_value.
5487         (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
5488         * sparc.md (movdi_sp32_v9): Disable for arch64.
5489         (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
5490         (call_value_address_sp64): Remove register class constraints.
5491         (call_value_symbolic_sp64): Likewise.
5492         (nonlocal_goto): Pass label reg directly to goto_handlers.  Constrain
5493         v9 case to 32-bit constants.
5494         (goto_handler_and_restore_v9): Provide a version for arch64.
5495         * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
5496         * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
5497         (CPP_PREDEFINES): New.
5498         * sparc/sp64-elf.h: Likewise.
5499         (PREFERRED_DEBUGGING_TYPE): Dwarf2.
5500         (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
5501         * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
5502
5503 Sat May 2 17:47:17 PDT 1998 Jeff Law  (law@cygnus.com)
5504
5505         * version.c: Bump for snapshot.
5506
5507 Sat May  2 01:37:29 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5508
5509         * reload.c (find_reloads): Emit USEs to mark where a pseudo
5510         is reloaded with the MEM of its stack slot.
5511         * reload1.c (cannot_omit_stores): Delete.
5512         (reload): Don't initialize it.
5513         Don't apply avoid_return_reg logic to USEs.
5514         When done, remove USEs that have a REG_EQUAL note on them.
5515         (emit_reload_insns): Handle case where we have inherited a MEM.
5516         (choose_reload_regs): Likewise.
5517         (delete_output_reload): Don't use cannot_omit_stores.
5518
5519 Thu Apr 30 18:59:03 1998  Jim Wilson  <wilson@cygnus.com>
5520
5521         * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
5522
5523 Thu Apr 30 16:57:34 1998  Michael Meissner  <meissner@cygnus.com>
5524
5525         * haifa-sched.c (print_{exp,value}): Various changes to make the
5526         debug output easier to read.  Also, use only one buffer, and make
5527         sure the buffer we are passed in doesn't overflow.
5528         (safe_concat): Concatenate to a buffer without overflow.
5529
5530 Thu Apr 30 16:57:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5531
5532         * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
5533         with the prototype.
5534
5535 Wed Apr 29 21:45:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5536
5537         * sched.c (new_insn_dead_notes): Check if the register was
5538         used in the original instruction.
5539         * haifa-sched.c (new_insn_dead_notes): Likewise.
5540
5541 Wed Apr 29 13:46:03 1998  Jim Wilson  <wilson@cygnus.com>
5542
5543         * dwarf2out.c (scope_die_for): If could not find proper scope,
5544         check for and handle tagged type with incorrect TYPE_CONTEXT.
5545
5546 Wed Apr 29 15:34:40 1998  John Carr  <jfc@mit.edu>
5547
5548         * calls.c (expand_call): Fix recognition of C++ operator new.
5549
5550         * alias.c (mode_alias_check): Disable type based alias detection.
5551
5552 Wed Apr 29 15:06:42 1998  Gavin Koch  <gavin@cygnus.com>
5553
5554         * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
5555         ASM_OUTPUT_WEAK_ALIAS): Define.
5556         * config/mips/elf64.h: Same.
5557         * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
5558         ASM_WEAKEN_LABEL): Removed.
5559
5560 Wed Apr 29 10:53:29 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5561
5562         * calls.c (expand_call): Bump the length limit on the specially
5563         recognized function names to 17.
5564
5565 Tue Apr 28 17:53:33 1998  Jim Wilson  <wilson@cygnus.com>
5566
5567         * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
5568         when undefining macros at the end.
5569
5570         * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
5571         val or len has TREE_SIDE_EFFECTS set.
5572
5573         * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
5574         (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
5575         (smuldi3_highpart): Call const v8plus routine.
5576         (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
5577         (const_smulsi3_highpart_v8plus): New pattern.
5578         (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
5579         (umulsidi3): Call const v8plus routine.
5580         (umulsi3_highpart): Handle const before v8plus.  Call const v8plus
5581         routine.
5582         (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
5583         (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
5584
5585 Tue Apr 28 08:55:26 1998  Michael Meissner  <meissner@cygnus.com>
5586
5587         * m32r.c (*_oper{and|ator}): Change enum arguments and return
5588         values to int, so they can be prototyped even in files that don't
5589         include rtl.h.
5590         ({small,large}_insn_p): Ditto.
5591         (m32r_select_cc_mode): Ditto.
5592         (gen_compare): Ditto.
5593         (function_arg_partial_nregs): Ditto.
5594         (m32r_setup_incoming_varargs): Ditto.
5595         (init_reg_tables): Add prototype.
5596         (m32r_frame_info): Add prolog_size field.
5597         (m32r_compute_frame_size): Calculate the size of the prologue.
5598         (m32r_first_insn_address): Return prologue size.
5599         (m32r_output_function_prologue): Calculate frame size before
5600         printing out information.  Print out the prologue size.
5601
5602         * m32r.h: Prototype all functions in m32r.c.
5603         (FIRST_INSN_ADDRESS): Declare, returning prologue size.
5604
5605         * m32r.md (bcc functions): Cast enum's to int.
5606
5607         * m32r.c (conditional_move_operand): Silence a debug message.
5608         ({small,long}_insn): New predicates.
5609
5610         * m32r.h (TARGET_M32R): New macro.
5611         (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
5612         (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
5613         was selected.
5614         (ISSUE_RATE): Define as 2.
5615
5616         * m32r.md (insn_size): New attribute.
5617         ({,rev_}branch_insn): Add .s qualifier to branches believed to be
5618         short.
5619         (m32r): New attribute.
5620
5621         * configure.in (enable_haifa): Switch m32r to Haifa by default.
5622         * configure: Regenerate.
5623
5624         (Changes from Nick Clifton <nickc@cygnus.com>)
5625         * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
5626         the equivalent of a negated 'I' constraint.
5627         (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
5628         optimisation to work.
5629
5630         * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
5631         than 'I' since the value is negated.
5632         (peephole): Add peephole optimisation to cope with optimization of
5633         divide and subtracts of the same operands.
5634
5635         * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
5636         * m32r.h: Ditto.
5637         * m32r.md: Ditto.
5638
5639         * m32r.h (PREDICATE_CODES): Add declaration of machine specific
5640         predicates.
5641
5642 Tue Apr 28 07:25:53 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5643
5644         * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
5645
5646 Mon Apr 27 18:39:47 1998  Nick Clifton  <nickc@cygnus.com>
5647
5648         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
5649         frame_pointer_rtx not FRAME_POINTER_REGNUM.
5650
5651 Mon Apr 27 18:36:28 1998  Jim Wilson  <wilson@cygnus.com>
5652
5653         * reg-stack.c: Revert last patch (Apr 20).
5654         (convert_regs): Set insn to PREV_INSN (next) after do while loop.
5655
5656         * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
5657
5658         * loop.c (check_dbra_loop): New locals jump, first_compare, and
5659         compare_and_branch.  Call get_condition to set first_compare.
5660         Set compare_and_branch to number of compare/branch instructions.
5661         Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
5662         Replace '2' with compare_and_branch.
5663
5664 Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
5665
5666         * cplus-dem.c (demangle_qualified): Replace missing else.
5667
5668 Mon Apr 27 20:22:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5669
5670         * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
5671
5672 Mon Apr 27 18:23:51 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5673
5674         * sh.c (sh_expand_prologue, sh_expand_epilogue):
5675         If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
5676         * sh.h (STACK_BOUNDARY): Likewise.
5677
5678 Mon Apr 27 17:22:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5679
5680         * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
5681
5682 Mon Apr 27 08:55:23 1998  Michael Meissner  <meissner@cygnus.com>
5683
5684         * system.h (abort): If abort is not defined, and neither is
5685         USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
5686         reporting the line and filename of the error.
5687
5688         * .gdbinit: Add breakpoints on exit and fancy_abort.
5689
5690         * final.c (split_double): Avoid a compiler warning if
5691         BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
5692
5693         * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}):  New macros
5694         for calling jump_optimize.
5695
5696         * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
5697         macros, rather than 0/1's.
5698
5699 Sun Apr 26 23:19:10 1998  Richard Henderson  <rth@cygnus.com>
5700
5701         * alpha.h (CONST_COSTS): Zero is always free.
5702         (RTX_COSTS): Add EV6 costs.  Abort if alpha_cpu is unknown.
5703
5704 Sun Apr 26 15:38:50 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
5705
5706         * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
5707         length in the name of a virtual table.
5708
5709 Sun Apr 26 01:21:06 1998  Richard Henderson  <rth@cygnus.com>
5710
5711         * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
5712
5713 Sat Apr 25 22:11:38 PDT 1998 Jeff Law  (law@cygnus.com)
5714
5715         * version.c: Bump for snapshot.
5716
5717 Sat Apr 25 17:17:15 1998  Jeffrey A Law  (law@cygnus.com)
5718
5719         * fold-const.c (fold_convert): Fix typo.
5720
5721 Sat Apr 25 17:55:54 1998  John Carr  <jfc@mit.edu>
5722
5723         * alias.c (alias_invariant): New variable.
5724         (record_base_value): New argument INVARIANT.
5725         (memrefs_conflict_p): If a register has an entry in the alias_invariant
5726         array, try substituting that value for the register.
5727
5728         * rtl.h: Declare record_base_value.
5729
5730         * loop.c, unroll.c: Update callers of record_base_value.
5731
5732         * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
5733         ZERO_EXTEND do not affect base values.
5734
5735 Fri Apr 24 15:57:02 1998  Jeffrey A Law  (law@cygnus.com)
5736
5737         * dbxout.c (dbxout_type): Fix typo.
5738         (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
5739
5740         * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
5741
5742 Fri Apr 24 16:11:47 1998  John Carr  <jfc@mit.edu>
5743
5744         * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
5745         if the argument is the address of a structure or array.
5746
5747         * configure.in: Enable Haifa scheduler by default for SPARC.
5748
5749 Fri Apr 24 20:55:47 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5750
5751         * cse.c (cse_set_around_loop): Don't do optimization when
5752         new pseudos are created.
5753
5754 Fri Apr 24 11:00:18 1998  Jeffrey A Law  (law@cygnus.com)
5755
5756         * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
5757         appropriately.
5758         (dbxout_type_method_1, dbxout_type): Likewise.
5759         (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
5760         (dbxout_type): Fix check for when to print a type range in
5761         octal vs decimal.
5762
5763 Fri Apr 24 16:45:03 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5764
5765         * (gen_shl_and, in case 1): Fix comparison with mask.
5766
5767 Fri Apr 24 06:46:40 1998  Nick Clifton  <nickc@cygnus.com>
5768
5769         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
5770         pointer as second register in REG+REG pair.
5771
5772 Fri Apr 24 09:22:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5773
5774         * c-common.c (check_format_info): Don't check for the 'x' format
5775         character twice, instead check for 'x' and 'X'
5776
5777 Fri Apr 24 08:02:30 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5778
5779         * Makefile.in (libgcc2.ready): Add explicit dependancy from
5780         $(STMP_FIXPROTO) to ensure all necessary include files have
5781         been created and to guarantee proper parallel builds.
5782
5783 Fri Apr 24 04:42:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5784
5785         * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
5786         register for stdarg functions.
5787         * sh.h (current_function_varargs): Declare.
5788         (FUNCTION_ARG): Ignore NAMED for stdarg functions.
5789
5790 1998-04-23  Jim Wilson  <wilson@cygnus.com>
5791
5792         * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
5793         inhibit_libc is defined.
5794
5795         * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
5796
5797 Thu Apr 23 19:09:33 1998  Jim Wilson  <wilson@cygnus.com>
5798
5799         * profile.c (tablejump_entry_p): New function.
5800         (branch_prob): Add code to recognize MIPS tablejump entry branch.
5801         Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
5802
5803 Thu Apr 23 15:01:13 1998  Nick Clifton  <nickc@cygnus.com>
5804
5805         * config/arm/arm.c (find_barrier): Return as soon as a barrier is
5806         found, rather than at end of the loop, after the insn has been
5807         changed.
5808
5809 Thu Apr 23 20:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
5810
5811         * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
5812         * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
5813
5814 Wed Apr 22 17:07:35 1998  Michael Meissner  <meissner@cygnus.com>
5815
5816         * loop.c (note_addr_stored): Correct function to take 2 arguments,
5817         instead of 1.
5818
5819         * rtl.def (MATCH_INSN2): Add new matching pattern.
5820         * genrecog.c (add_to_sequence): Support MATCH_INSN2.
5821
5822 Wed Apr 22 15:52:22 1998  John Carr  <jfc@mit.edu>
5823
5824         * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
5825         if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
5826
5827         * final.c (split_double): Sign extend both halves of a split CONST_INT.
5828
5829 Wed Apr 22 10:42:45 1998  Jeffrey A Law  (law@cygnus.com)
5830
5831         * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
5832
5833 Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod  <amacleod@cygnus.com>
5834
5835         * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
5836         (cplus_demangle_opname): Call mop_up_squangle.
5837         (cplus_demangle): Initialize squangle info, then call
5838         internal_cplus_demangle. (Most code moved there as well)
5839         (internal_cplus_demangle): New function, performs most of what use
5840         to be done in cplus_demangle, but is only called with this file.
5841         (squangle_mop_up): New function to clean up B and K code data.
5842         (mop_up): set pointers to NULL after freeing.
5843         (demangle_signature, demangle_template, demangle_class): Add
5844         switch elements to handle K and B codes.
5845         (demangle_prefix, gnu_special, demangle_qualified): Add
5846         code to handle K and B codes.
5847         (do_type, demangle_fund_type): Handle B and K codes.
5848         (remember_Ktype): New function to store K info.
5849         (register_Btype, remember_Btype): New functions for B codes.
5850         (forget_B_and_K_types): New function to destroy B and K info.
5851
5852 1998-04-21  Jim Wilson  <wilson@cygnus.com>
5853
5854         * stmt.c (check_seenlabel): When search for line number note for
5855         warning, handle case where there is no such note.
5856
5857 Tue Apr 21 20:48:37 1998  John Carr  <jfc@mit.edu>
5858
5859         * genemit.c (gen_exp): Allow machine description to set mode of
5860         MATCH_OP_DUP.
5861
5862 Tue Apr 21 16:36:01 1998  John Carr  <jfc@mit.edu>
5863
5864         * alias.c (mode_alias_check): New function.
5865         (true_dependence, anti_dependence, output_dependence): Call
5866         mode_alias_check.
5867
5868 Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
5869
5870         * mips.h (STACK_BOUNDARY): Allow specific targets to override.
5871         (MIPS_STACK_ALIGN): Similarly.
5872
5873         * c-common.c (type_for_mode): Handle TI types.
5874         * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
5875         (init_decl_processing): Handle TI types.
5876         * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
5877
5878         * mips.c (block_move_loop): Test Pmode == DImode instead of
5879         TARGET_MIPS64.
5880         (expand_block_move, save_restore_insns): Likewise.
5881         (function_prologue, mips_expand_prologue): Likewise.
5882         (mips_expand_epilogue): Likewise.
5883         * mips.h (POINTER_SIZE): Allow specific targets to override.
5884         (Pmode): Allow specific targets to override.
5885         (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
5886         (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
5887         (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
5888         (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
5889         (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
5890         (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
5891         * mips.md (indirect, tablejump & casesi support): Test for
5892         Pmode == DImode instead of TARGET_MIPS64.
5893         (call patterns): Likewise.
5894
5895 Tue Apr 21 09:43:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5896
5897         * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
5898         for gen_rtx(MEM, ...).
5899
5900 Tue Apr 21 02:15:36 1998  Richard Henderson  <rth@cygnus.com>
5901
5902         * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
5903         to not be so gross, and to properly function with PIC.
5904
5905 Mon Apr 20 20:44:25 1998  Jim Wilson  <wilson@cygnus.com>
5906
5907         * frame.c (heapsort): Rename to frame_heapsort.
5908
5909         * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
5910
5911 Mon Apr 20 12:43:09 1998  Doug Evans  <devans@canuck.cygnus.com>
5912
5913         * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
5914
5915 Mon Apr 20 15:04:14 1998  John Wehle  (john@feith.com)
5916
5917         * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
5918         operands during and after reload.
5919
5920 Mon Apr 20 22:37:50 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5921
5922         * final.c (shorten_branches, init_insn_lengths): Move code
5923         to free label_align, uid_shuid, insn_lengths, insn_addresses
5924         and uid_align from the former function into the latter one;
5925         Add code to clear these variables.
5926         * sh.h (label_align): Remove declaration.
5927
5928 Mon Apr 20 14:48:29 1998  Michael Meissner  <meissner@cygnus.com>
5929
5930         * gcc.c (lang_specific_driver): Declare prototype properly so
5931         fatal can be passed to it without error.
5932
5933         * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
5934         * configure: Regenerate.
5935         * config.in: Add #undef's for strchr and strrchr.
5936
5937         * protoize.c (toplevel): If we have rindex, but not strrchr, map
5938         rindex to strrchr.
5939         (file_could_be_converted): Use strrchr, not rindex since rindex is
5940         not defined on Linux systems when _POSIX_SOURCE is defined.
5941         (file_normally_convertible): Ditto.
5942         (process_aux_info_file): Ditto.
5943         (main): Ditto.
5944
5945         * rs6000.md (mov{sf,df} define_splits): When splitting a move of
5946         a constant to an integer register, don't split the insns that do
5947         the simple AND and OR operations, rather just split each word, and
5948         let the normal movsi define split handle it further.
5949
5950 Mon Apr 20 18:19:40 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
5951
5952         * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
5953         (split_branches): Call init_insn_lengths.
5954
5955 Mon Apr 20 07:37:49 1998  Michael Meissner  <meissner@cygnus.com>
5956
5957         * i386.c: Include expr.h to get the change_address prototype
5958         declared.
5959
5960 Mon Apr 20 01:00:05 1998  H.J. Lu  (hjl@gnu.org)
5961
5962         * reg-stack.c (subst_asm_stack_regs): Change to return the last
5963         new insn generated by this function.
5964         (subst_stack_regs): Likewise.
5965         (convert_regs): Record the last newly generated insn and use
5966         it for change_stack () instead of INSN.
5967
5968 Sun Apr 19 15:41:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
5969
5970         * fix-header.c (enum special_file): Undefine enumerators if they
5971         are already defined by include files.
5972         * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
5973         macro with '__' to not pollute user namespace.
5974
5975 Sun Apr 19 02:42:06 1998  Richard Henderson  <rth@cygnus.com>
5976
5977         * haifa-sched.c (queue_to_ready): Fix typo in prototype.
5978
5979 Sat Apr 18 23:52:35 PDT 1998 Jeff Law  (law@cygnus.com)
5980
5981         * version.c: Bump for snapshot.
5982
5983 Sat Apr 18 18:30:22 1998  Jim Wilson  <wilson@cygnus.com>
5984
5985         * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
5986
5987         * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
5988         Add missing -Dpentium* options.
5989         (CPP_CPU_SPEC): Delete redundant definition.  Include cpp_cpu_default
5990         instead of CPP_CPU_DEFAULT.
5991         (EXTRA_SPECS): Add entry for cpp_cpu_default.
5992
5993 Sat Apr 18 19:06:59 1998  David Edelsohn  <edelsohn@mhpcc.edu>
5994
5995         * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
5996         negative in a stackless frame.
5997         * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
5998         in stackless frame size.  Support 64-bit stackless frame size.
5999         Combine fpmem offset calculations and don't add total_size to
6000         offset if not pushing a stack frame.
6001
6002 Sat Apr 18 15:41:16 1998  Jim Wilson  <wilson@cygnus.com>
6003
6004         * regmove.c (fixup_match_1): In three places, in flag_exceptions
6005         check, change p to q.
6006
6007 Sat Apr 18 15:30:49 1998  Jim Wilson  <wilson@cygnus.com>
6008
6009         * gcc.c (lang_specific_driver): Add new parm type to prototype.
6010         (added_libraries): New file scope static variable.
6011         (process_command): Initialize added_libraries.  Pass it to
6012         lang_specific_driver.
6013         (main): Use added_libraries in check for no input files.
6014
6015 Sat Apr 18 01:23:11 1998  John Carr  <jfc@mit.edu>
6016
6017         * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
6018         code generation.  Use 64 bit instructions in 32 bit mode when
6019         possible.  Use V9 return instruction.  UltraSPARC optimizations.
6020
6021         * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
6022
6023 Fri Apr 17 22:38:17 1998  Jeffrey A Law  (law@cygnus.com)
6024
6025         * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
6026         just pass zero.  That will work regardless of the size of HARD_REG_SET.
6027
6028         * libgcc2.c (__floatdisf): Fix a couple typos.
6029
6030 Fri Apr 17 17:28:26 1998  Jim Wilson  <wilson@cygnus.com>
6031
6032         * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
6033
6034 Fri Apr 17 16:35:35 1998  Greg McGary  <gkm@gnu.org>
6035
6036         * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
6037
6038 Fri Apr 17 14:30:37 1998  John Carr <jfc@mit.edu>
6039
6040         * emit-rtl.c (operand_subword_force): If a register can not be
6041         accessed by words, copy it to a pseudo register.
6042
6043 Fri Apr 17 14:30:37 1998  Jim Wilson  <wilson@cygnus.com>
6044
6045         * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
6046
6047 Fri Apr 17 17:01:25 1998  Michael Meissner  <meissner@cygnus.com>
6048
6049         * tree.h (mark_seen_cases): Delete declaration.
6050
6051 Fri Apr 17 13:32:20 1998  Jeffrey A Law  (law@cygnus.com)
6052
6053         * stmt.c (mark_seen_cases): Make static and add prototype.
6054
6055 Fri Apr 17 11:21:43 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6056
6057         * frame.c: Include stdlib.h and unistd.h to possibly get various
6058         function prototypes.  The fixproto script guarantees these header
6059         files exist on the target system.
6060         * libgcc2.c: Likewise.
6061
6062         * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
6063         __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
6064         function parameters.
6065         * libgcc2.c (__udiv_w_sdiv): Likewise.
6066
6067 Thu Apr 16 22:41:02 1998  Jeffrey A Law  (law@cygnus.com)
6068
6069         * varasm.c (asm_output_bss): Add prototype.
6070         (asm_output_aligned_bss): Likewise.
6071
6072         * unroll.c (verify_addresses): Add prototype.
6073
6074         * toplev.c: Add many prototypes.  Too many to mention here.
6075
6076         * stmt.c (check_seenlabel): Add prototype.
6077
6078         * rtlanal.c (reg_set_p_1): Add prototype.
6079         (reg_set_last_1): Likewise.
6080
6081         * reorg.c (find_dead_or_set_registers): Add prototype.
6082
6083         * regmove (try_auto_increment): Add prototype.
6084
6085         * reg-stack.c (pop_stack): Add prototype.
6086
6087         * recog.c (validate_replace_rtx_1): Add prototype.
6088         (find_cosntant_term_loc): Likewise.
6089
6090         * loop.c (regs_patch_p): Add prototype.
6091         (add_label_notes, count_nonfixed_reads): Likewise.
6092         (find_single_use_in_loop): Likewise.
6093         (express_from): Surround prototype with #ifdef.
6094         (giv_sort): Similarly.
6095
6096         * jump.c (mark_modified_reg): Add prototype.
6097
6098         * haifa-sched.c (is_prisky): Add prototype.
6099         (queue_to_ready): Likewise.
6100
6101         * genextract.c (gen_insn): Add prototype.
6102
6103         * genemit.c (max_operand_1): Add prototype.
6104         (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
6105         (gen_expand, gen_explit, output_add_clobbers): Likewise.
6106         (output_init_mov_optab): Likewise.
6107
6108         * genattrtab.c (attr_hash_add_rtx): Add prototype.
6109         (attr_hash_add_string, write_length_unit_log): Likewise.
6110
6111         * genattr.c (init_range): Add prototype.
6112
6113         * combine.c (sets_function_arg_p): Add prototype.
6114
6115         * expr.c (store_constructor_field): Add prototype.
6116         (get_memory_usage_from_modifier): Likewise
6117
6118         * expmed.c (synth_mult): Add prototype.
6119         (choose_multiplier, invert_mod2n): Likewise.
6120
6121         * except.c (push_eh_entry): Add prototype.
6122         (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
6123         (call_get_eh_context, start_dynamic_cleanup): Likewise.
6124         (start_dynamic_handler, can_throw): Likewise.
6125         (output_exception_table_entry, scan_region): Likewise.
6126         (eh_regs, set_insn_eh_region): Likewise.
6127
6128         * dwarfout.c (decl_class_context): Add prototype.
6129         (output_inheritance_die, type_ok_for_scope): Likewise.
6130
6131         * c-lex.c (skip_white_space_on_line): Add prototype.
6132
6133         * alias.c (record_set): Add prototype.
6134         (find_base_term, base_alias_check): Likewise.
6135
6136         * function.c (assign_outer_stack_local): Make static and add prototype.
6137
6138         * haifa-sched.c (build_control_flow): Accept raw data as inputs
6139         instead of computing it locally.  Callers changed.
6140         (find_rgns): Several new arguments.  Callers changed.
6141         Generally clean up and comment better.  Use dominators to
6142         identify reducible loops.  Convert some flag arrays to bitmaps.
6143         Convert most of the code to work on pred/succ lists instead of
6144         an edge table.  Add comments for future improvements.
6145         (schedule_insns): Allocate temporary tables for flow data, call
6146         routines to compute flow data and pass it along to children as
6147         arguments.
6148         (debug_control_flow): Delete.  Use dump_bb_data instead.
6149
6150         * basic-block.h (compute_dominators): Declare.
6151
6152         * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
6153         functions.
6154         * basic-block.h: Declare them.
6155
6156 Thu Apr 16 13:45:51 1998  Jim Wilson  <wilson@cygnus.com>
6157
6158         * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
6159         no operands.
6160
6161 Wed Apr 15 11:33:09 1998  Alexandre Petit-Bianco  <apbianco@sendai.cygnus.com>
6162
6163         * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
6164         Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
6165         node is non NULL. Cache last file name and file name identifier node.
6166
6167 1998-04-15  Mark Mitchell  <mmitchell@usa.net>
6168
6169         * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
6170         the length of an array, not TREE_TYPE.
6171
6172 Wed Apr 15 15:31:34 1998  Jeffrey A Law  (law@cygnus.com)
6173
6174         * flow.c (sbitmap_union_of_successors):  New function.
6175         * basic-block.h (sbitmap_union_of_successors): Declare it.
6176
6177 Wed Apr 15 12:38:03 1998  Jim Wilson  <wilson@cygnus.com>
6178
6179         * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
6180         Set gnu_ld to gnu_ld_flag inside main loop.
6181         (gas): Likewise.
6182
6183 Wed Apr 15 14:50:05 1998  Dave Brolley  <brolley@cygnus.com>
6184
6185         * toplev.c (compile_file): Call init_parse using new interface.
6186         (init_lex): Remove declaration.
6187
6188         * c-lex.c (init_parse): Now returns char* containing filename.
6189
6190 Wed Apr 15 12:37:10 1998  Jeffrey A Law  (law@cygnus.com)
6191
6192         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
6193
6194 Wed Apr 15 12:10:18 1998  Michael Meissner  <meissner@cygnus.com>
6195
6196         * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
6197         (gen{extract,peep,opinit,output}): Ditto.
6198
6199         * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
6200         global definition so print-rtl.o can be linked in.
6201         * gen{peep,recog}.c (insn_attr_name): Ditto.
6202
6203 Tue Apr 14 07:30:57 1998  K. Richard Pixley  <rich@kyoto.noir.com>
6204
6205         * fixincludes: discard empty C++ comments, as found in sys/time.h
6206         on hpux-11.0.
6207
6208 Wed Apr 15 10:47:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6209
6210         * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
6211         operand.
6212
6213 Wed Apr 15 01:21:21 1998  Jeffrey A Law  (law@cygnus.com)
6214
6215         * emit-rtl.c (operand_subword): Rework slightly to avoid
6216         bogus warning from previous change.
6217
6218 Tue Apr 14 23:39:13 1998  Richard Henderson  <rth@cygnus.com>
6219
6220         * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
6221         Nov 8 find_replacement change.  Move decls of get_unaligned_address
6222         * alpha.h: ... here.
6223
6224 Tue Apr 14 22:00:39 1998  John Carr <jfc@mit.edu>
6225
6226         * function.c (assign_parms): Initialize unsignedp before passing
6227         its pointer to promote_mode.
6228
6229         * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
6230         (write_test_expr): Allow MATCH_INSN.
6231
6232 Tue Apr 14 21:57:57 1998  Paul Eggert <eggert@twinsun.com>
6233
6234         * install.texi: Update section on warnings that can be safely ignored.
6235
6236 Tue Apr 14 14:55:16 1998  Jim Wilson  <wilson@cygnus.com>
6237
6238         * mips.md (reload_outdi): Change the scratch mode from DImode to
6239         TImode.  New variable scratch, used instead of operand[2] in template.
6240         Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
6241
6242 Tue Apr 14 16:19:03 1998  Michael Meissner  <meissner@cygnus.com>
6243
6244         * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
6245
6246 Tue Apr 14 11:31:28 1998  Krister Walfridsson <cato@df.lth.se>
6247
6248         * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
6249
6250 Tue Apr 14 09:02:32 1998  Jeffrey A Law  (law@cygnus.com)
6251
6252         * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
6253         (ASM_FINISH_DECLARE_OBJECT): Likewise.
6254
6255         * Idea and part of the patch from HJ.
6256         * Makefile.in: auto-host.h renamed from auto-config.h.  All references
6257         changed.
6258         (distclean): Remove auto-build.h too.
6259         * configure.in: Rename host autoconf generated file to auto-host.h.
6260         If host != build, then run autoconf to generate auto-build.h for
6261         the build machine and include it in build_xm_files.
6262         Check for wait.h and sys/wait.h.
6263
6264         * combine.c (simplify_rtx, case TRUNCATE): Respect value of
6265         TRULY_NOOP_TRUNCATION.
6266
6267 Mon Apr 13 11:31:49 1998  Jason Merrill  <jason@yorick.cygnus.com>
6268
6269         * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
6270
6271 Sun Apr 12 20:55:32 1998  Catherine Moore <clm@cygnus.com>
6272
6273         * invoke.texi (ld options)  Include memset requirements
6274         for options -nodstdlib and -nodefaultlibs.
6275
6276 1998-04-12  Paul Eggert  <eggert@twinsun.com>
6277
6278         This change is from an idea suggested by Arthur David Olson.
6279
6280         * c-common.c (decl_attributes, record_function_format,
6281         check_format_info, init_function_format_info):
6282         Add support for strftime format checking.
6283         (enum format_type): New type.
6284         (record_function_format): Now static, and takes value of type
6285         enum format_type instead of int.
6286         (time_char_table): New constant.
6287         (struct function_format_info): format_type member renamed from is_scan.
6288         (check_format_info): Use `warning' rather than sprintf followed by
6289         `warning', to avoid mishandling `%' in warnings.
6290         Change `pedwarn' to `warning', since these warnings do not necessarily
6291         mean the program does not conform to the C Standard, as the code
6292         need not be executed.
6293
6294         * c-tree.h (record_function_format): Remove decl; no longer extern.
6295
6296         * extend.texi: Add documentation for strftime format checking.
6297
6298 Sun Apr 12 20:23:03 1998  Jeffrey A Law  (law@cygnus.com)
6299
6300         * mips/ecoffl.h: Do not include mips.h.
6301         * mips/elf.h: Likewise.
6302
6303         * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
6304         * mips/ecoff.h: Include "mips/mips.h".
6305
6306 Sat Apr 11 22:42:54 PDT 1998 Jeff Law  (law@cygnus.com)
6307
6308         * version.c: Bump for snapshot.
6309
6310 Sat Apr 11 01:24:28 1998  Jeffrey A Law  (law@cygnus.com)
6311
6312         * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
6313         (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
6314         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns              instead of delete_dead_from_cse.  Also call delete_trivially_dead_insns
6315         between loop optimization passes.
6316         * rtl.h: Updated appropriately.
6317
6318 Fri Apr 10 22:28:32 1998  Jeffrey A Law  (law@cygnus.com)
6319
6320         Reinstall this patch from Jason.
6321         * function.c (push_function_context_to): Don't call init_emit.
6322
6323 Fri Apr 10 13:40:20 1998  Nick Clifton  <nickc@cygnus.com>
6324
6325         * rtl.c (read_skip_spaces): Prevent infinite loops upon
6326         encountering unterminated comments.
6327
6328 Fri Apr 10 10:43:41 1998  Jeffrey A Law  (law@cygnus.com)
6329
6330         * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
6331         64x32 cross builds.
6332
6333         * configure.in: Handle --with-fast-fixincludes.
6334         (fixincludes): If --with-fast-fixincludes, then use a different
6335         fixincludes program by default.
6336         * Makefile.in (fixinc.sh): New rule.
6337
6338 Fri Apr 10 00:36:31 1998  H.J. Lu  (hjl@gnu.org)
6339
6340         * i386.md (movqi+1): Handle invalid QI register.
6341         (movsf_push-1): Likewise.
6342
6343 Thu Apr  9 16:53:59 1998  Nick Clifton  <nickc@cygnus.com>
6344
6345         * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
6346         addresses.
6347         symbolic_memort_operand(), call32_operand(), int8_operand(),
6348         int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
6349         Not used.
6350         uint16_operand(): Made static.
6351
6352 Thu Apr  9 01:43:04 1998  Jeffrey A Law  (law@cygnus.com)
6353
6354         * calls.c (expand_call): Fix typo.
6355
6356 Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
6357
6358         * c-lex.c (finput): New global.
6359         (init_parse): Always included.  Handle !USE_CPPLIB using
6360         code originally in compile_file.
6361         (finish_parse): Update for CPPLIB.
6362         * toplev.c (init_parse, finish_parse): Declare.
6363         (finput): Delete variable.  Now in front-ends.
6364         (compile_file): Remove code which is now handled by init_parse
6365         which is unconditionally called.  Similarly for finish_parse.
6366
6367 Wed Apr  8 23:13:50 1998  Gavin Koch  <gavin@cygnus.com>
6368
6369         * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
6370         ASM_WEAKEN_LABEL): Add.
6371
6372 Wed Apr  8 18:21:30 1998  Richard Henderson  <rth@cygnus.com>
6373
6374         * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
6375         * configure.in (alpha-*-linux*): Use them.
6376
6377 Fri Apr  3 17:02:13 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
6378
6379         * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
6380         * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
6381         COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
6382         (build_expr_wfl): New prototype declaration.
6383         * tree.c (build_expr_wfl): New function, to build
6384         EXPR_WITH_FILE_LOCATION nodes.
6385         (copy_node): Don't zero TREE_CHAIN if copying a
6386         EXPR_WITH_FILE_LOCATION node.
6387         * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
6388         * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
6389
6390 Wed Apr  8 12:51:19 1998  Jeffrey A Law  (law@cygnus.com)
6391
6392         * configure.in (v850): Use t-v850.
6393         (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
6394
6395         * protoize.c (creat, read, write): Do not declare.
6396
6397         * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
6398         refer to the CODE_LABEL before a dispatch table.
6399
6400         * invoke.texi: Add ARC options.
6401
6402         * gcc.c (proces_command): Improve error message for -o with
6403         either -c or -S.
6404
6405         * i386/x-cygwin32 (CLIB): Link in advapi32.
6406
6407         * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
6408         (ASM_IDENTIFY_LANGUAGE): Likewise.
6409
6410         * i386.md (movqi recognizer): Don't perfom byte increment into
6411         a NON_QI_REG_P.
6412
6413         * configure.in (x86-dg-dgux): Run fixinc.dgux.
6414
6415         * i370.h: Fix typo in GEN_INT changes.
6416
6417         * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
6418         of an empty arglist in prototype.
6419
6420         * Makefile.in: Remove bytecode crud that crept back in after the
6421         gcc2 merge.
6422
6423 1998-04-08  Brendan Kehoe  <brendan@cygnus.com>
6424
6425         * c-lex.h (is_class_name): Fix arg type to be tree, not void.
6426         (make_pointer_declarator, reinit_parse_for_function): Fix typo.
6427
6428 Wed Apr  8 06:16:45 1998  Richard Earnshaw (rearnsha@arm.com)
6429
6430         * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
6431
6432 Wed Apr  8 00:44:18 1998  Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
6433
6434         * c-lex.c (is_class_name): Delete declaration.
6435         (whitespace_cr): Make static and add prototype.
6436         * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
6437         yylex, get_directive_line): Turn declarations into prototypes.
6438         (position_after_whitespace, check_newline, yyerror,, is_class_name,
6439         forget_protocol_qualifiers, remember_protocol_qualifiers): Add
6440         prototypes.
6441         * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
6442         prototypes.
6443         * gencodes.c (gen_insn): Add prototype.
6444         * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
6445         gen_peephole): Add prototypes.
6446         * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
6447         prototypes.
6448         * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
6449         special_format, find_formats, gendecl, genmacro, gendef, genlegend,
6450         genheader, gencode): Add prototypes.
6451         * genopinit.c (gen_insn): Add prototype.
6452         * genoutput.c (output_prologue, output_epilogue, scan_operands,
6453         process_template, validate_insn_alternatives, gen_insn, gen_peephole,
6454         gen_expand, gen_split, n_occurrences): Add prototypes.
6455         * genpeep.c (gen_peephole): Add prototype.
6456         * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
6457         reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
6458         labels_in_range_p, count_loop_regs_set, note_addr_stored,
6459         loop_reg_used_before_p, scan_loop, replace_call_address,
6460         skip_consec_insns, libcall_benefit, ignore_some_movables,
6461         force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
6462         strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
6463         check_final_value, record_giv, update_giv_derive, basic_induction_var,
6464         simplify_giv_expr, general_induction_var, consec_sets_giv,
6465         check_dbra_loop, express_from, combine_givs_p, combine_givs,
6466         product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
6467         last_use_this_basic_block, record_initial, update_reg_last_use,
6468         iteration_info, analyze_loop_iterations, insert_bct,
6469         instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
6470         into prototypes.
6471
6472 Tue Apr  7 21:48:52 1998  Jeffrey A Law  (law@cygnus.com)
6473
6474         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
6475
6476 1998-04-07  Ken Raeburn  <raeburn@cygnus.com>
6477
6478         * config/mips/mips.c (siginfo): Deleted.
6479         (override_options): Don't install SIGINFO signal handler.
6480
6481 Tue Apr  7 11:58:04 1998  Jim Wilson  <wilson@cygnus.com>
6482
6483         * loop.c (check_dbra_loop): When normalize comparison_val, add check
6484         to verify it is non-negative.
6485
6486 Tue Apr  7 02:01:47 1998  Richard Henderson  <rth@cygnus.com>
6487
6488         * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
6489         (alpha_expand_block_clear): Likewise.
6490
6491 Mon Apr  6 23:36:01 1998  Richard Henderson  <rth@cygnus.com>
6492
6493         * tree.h (sizetype_tab): Fix previous change for K&R.
6494
6495 Mon Apr 6 22:23:29 PDT 1998 Jeff Law  (law@cygnus.com)
6496
6497         * version.c: Bump for snapshot.
6498
6499 Mon Apr  6 23:16:10 1998  Richard Earnshaw (rearnsha@arm.com)
6500
6501         * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
6502         Add USG and POSIX to xm_defines.
6503
6504 Mon Apr  6 21:49:57 1998  Bob Manson  <manson@charmed.cygnus.com>
6505
6506         * gcc.c: Add linker spec.
6507         (link_command_spec): Use %(linker) instead of ld.
6508         (main): If collect2 is requested as the linker, see if it exists;
6509         if not, use ld instead.
6510
6511         * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
6512         (ld:) Deleted.
6513         (install-collect2): Install as collect2, not ld.
6514
6515         * configure.in(will_use_collect2): It's named collect2 now.
6516
6517         * collect2: Remove checks to see if we were invoked recursively.
6518         (collect_execute): Use _spawnvp under cygwin32.
6519
6520 Mon Apr  6 17:23:41 1998  Jim Wilson  <wilson@cygnus.com>
6521
6522         * haifa-sched.c (build_control_flow): Set unreachable for block whose
6523         only predecessor is itself.
6524
6525 Mon Apr  6 16:08:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6526
6527         * c-parse.in: Include system.h, and remove stuff now made redundant.
6528         * cccp.c: Likewise.
6529         * cexp.y: Likewise.
6530         * protoize.c: Likewise.  Properly check for cpp stringification.
6531
6532         * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
6533         Depend on system.h.
6534
6535         * objc/Make-lang.in (objc-parse.o): Likewise.
6536
6537 Mon Apr  6 14:59:58 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6538
6539         * gansidecl.h: Check if compiler supports __attribute__.  Provide
6540         definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
6541         __attribute__ when its available.  Also provide definitions for
6542         ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
6543         terms of ATTRIBUTE_PRINTF.
6544
6545         * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
6546         of __attribute__.
6547
6548 Mon Apr  6 07:17:52 1998  Catherine Moore  <clm@cygnus.com>
6549
6550         * combine.c (can_combine_p):  Include successor in volatile test.
6551
6552 Mon Apr  6 14:16:33 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6553
6554         * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
6555         offset_unsigned.
6556
6557 Mon Apr  6 02:03:29 1998  Jeffrey A Law  (law@cygnus.com)
6558
6559         * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
6560         in prototype and definition.
6561
6562 Mon Apr 6 00:48:56 PDT 1998 Jeff Law  (law@cygnus.com)
6563
6564         * version.c: Bump for snapshot.
6565
6566 Mon Apr  6 00:08:50 1998  Richard Henderson  <rth@cygnus.com>
6567
6568         * alpha.c (alpha_expand_block_clear): Add missing offset arg to
6569         alpha_expand_unaligned_store_words.
6570
6571 Sun Apr  5 21:31:24 1998  John Wehle  (john@feith.com)
6572
6573         * i386.md (movsf_push, movsf_mem): Remove.
6574         (movsf_push): Rename from movsf_push_nomove and move in front of
6575         movsf.  Use nonmemory_operand predicate and don't bother checking
6576         TARGET_MOVE.
6577         (movsf_push_memory): New pattern.
6578         (movsf): Don't bother checking for push_operand.  If TARGET_MOVE and
6579         both operands refer to memory then force operand[1] into a register.
6580         (movsf_normal): Change to unnamed pattern.
6581         Likewise for movdf, movxf, and friends.
6582
6583 Sun Apr 5 18:45:51 PDT 1998 Jeff Law  (law@cygnus.com)
6584
6585         * version.c: Bump for snapshot.
6586
6587 Sun Apr  5 16:31:10 1998  Richard Henderson  <rth@cygnus.com>
6588
6589         * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
6590
6591 Sun Apr  5 16:53:37 1998  Don Bowman <don@pixsci.com>
6592
6593         * configure.in (mips-wrs-vxworks): New target.
6594
6595 Sat Apr 4 23:34:32 PST 1998 Jeff Law  (law@cygnus.com)
6596
6597         * expmed.c (synth_mult): The value -1, has no zeros, so it can
6598         never have the form ...011.
6599
6600         * version.c: Bump for snapshot.
6601
6602 Sat Apr  4 20:16:46 1998  Richard Henderson  <rth@cygnus.com>
6603
6604         * i386.c (asm_output_function_prefix, load_pic_register):
6605         Use ASM_GENERATE_INTERNAL_LABEL properly.
6606         (output_pic_addr_const): Recognize %X to supress any PIC sym suffix.
6607         (print_operand): Ignore it.
6608         (load_pic_register): Use it for the got load call.
6609         * i386.md (prologue_set_got, prologue_get_pc): Likewise.
6610         (prologue_get_pc_and_set_got): Likewise.
6611         * i386.h: Update print_operand docs.
6612
6613 Sat Apr  4 19:08:37 1998  Richard Henderson  <rth@cygnus.com>
6614
6615         * i386.md (ffssi, ffshi): Rewrite as define_expands.
6616         (ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
6617         * i386.c (notice_update_cc): Recognize unspec 5.
6618
6619 Sat Apr  4 18:07:16 1998  David Mosberger-Tang  (davidm@mostang.com)
6620
6621         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
6622         * alpha.c (print_operand): Handle it.
6623         * alpha.md (fix_truncsfdi2): Use it.  Add earlyclobber pattern
6624         for ALPHA_TP_INSN.
6625         (fix_truncdfdi2): Likewise.
6626
6627 Sat Apr  4 17:42:05 1998  Richard Henderson  <rth@cygnus.com>
6628
6629         * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
6630         of these into a single struct, with additional [us]sizetype entries.
6631         * stor-layout.c (set_sizetype): Initialize [us]sizetype.
6632         * fold-const.c (size_int_wide): Don't rely on sizetype_tab being
6633         an array.
6634
6635 Sat Apr  4 17:04:41 1998  Richard Henderson  <rth@cygnus.com>
6636
6637         * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
6638
6639 Sat Apr  4 13:50:01 1998  Richard Henderson  <rth@cygnus.com>
6640
6641         * haifa-sched.c (split_block_insns): Don't supress insn splitting
6642         on subsequent passes.
6643
6644         * alpha.c (hard_fp_register_operand): New function.
6645         * alpha.h (PREDICATE_CODES): Add it.
6646         * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case.  Add an
6647         f<-m case and accompanying define_split.
6648         (trapb): Use a unique unspec_volatile number.
6649
6650 Sat Apr  4 13:32:08 1998  Richard Henderson  <rth@cygnus.com>
6651
6652         * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
6653         from gcc2 merge.
6654
6655 Sat Apr  4 10:23:41 1998  Jeffrey A Law  (law@cygnus.com)
6656
6657         * Check in merge from gcc2.  See ChangeLog.11 and ChangeLog.12
6658         for details.
6659
6660         * haifa-sched.c: Mirror recent changes from gcc2.
6661
6662 Fri Apr  3 00:17:01 1998  Jeffrey A Law  (law@cygnus.com)
6663
6664         * Makefile.in (insn*.o): Depend on system.h.
6665
6666         * pa.c (output_global_address): Initialize base.
6667         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
6668
6669 1998-04-03  Mike Stump  <mrs@wrs.com>
6670
6671         * gthr.h: Support systems that don't have weak, but have threads.
6672         * configure.in (*wrs-vxworks*): Use VxWorks threads by default.
6673         * gthr-vxworks.h: New file.
6674         * objc/thr-vxworks.h: Dummy file from thr-single.c for now.
6675
6676 Thu Apr  2 18:00:52 1998  Jim Wilson  <wilson@cygnus.com>
6677
6678         * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
6679
6680 1998-04-02  Vladimir N. Makarov  <vmakarov@cygnus.com>
6681
6682         * ginclude/va-i960.h (va_end): Change void * to void.
6683
6684 Thu Apr  2 13:51:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6685
6686         * Makefile.in (choose-temp.o): Depend on system.h.
6687
6688         * choose-temp.c: Include system.h when IN_GCC.
6689
6690 Thu Apr  2 02:37:07 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
6691                           Richard Henderson  <rth@cygnus.com>
6692
6693         * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
6694         (move_replacements): New function.
6695         * reload.h: Prototype it.
6696
6697         * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
6698
6699 Thu Apr  2 01:01:34 1998  Richard Henderson  <rth@cygnus.com>
6700
6701         * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
6702         Run fixincludes.
6703
6704         * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
6705         (gen_highpart): Likewise.
6706         * final.c (alter_subreg): Allow the target to hook by-mode subreg
6707         hard register number changes.
6708
6709 Wed Apr  1 22:26:22 1998  Jeffrey A Law  (law@cygnus.com)
6710
6711         * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
6712         rnbitsize, rnmode and rinner.
6713         (make_range): Initialize type.
6714         (fold): Initialize arg0, arg1 and varop.
6715
6716         * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
6717         and regnor.
6718         (expand_function_start): Initialize last_ptr.
6719
6720         * stor-layout.c (layout_record): Initialize desired_align.
6721         (get_best_mode): Initialize unit.
6722
6723         * tree.c (copy_node): Initialize length.
6724
6725         * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
6726
6727         * caller-save.c (insert_save_restore): Initialize pat, code and
6728         numregs.
6729
6730         * emit-rtl.c (push_to_sequence): Initialize top.
6731         (push_topmost_sequence): Likewise.
6732
6733         * genattrtab.c (simplify_by_exploding): Initialize defval.
6734
6735         * profile.c (branch_prob): Initialize dest.
6736
6737         * rtl.h (note_stores): Remove duplicate prototype.
6738         (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT.
6739
6740         * cplus-dem.c (gnu_special): Don't get confused by .<digits>
6741         strings that are not actually lengths.
6742
6743         * genattrtab.c: Make generated file use system.h, instead of
6744         including stdio.h, etc directly.
6745         * genextract.c, genopinit.c, genoutput.c: Likewise.
6746         * genpeep.c, genrecog.c: Likewise
6747
6748         * genoutput.c (process_template): Mark operands in the generated
6749         function as potentially unused if compiling with GNU CC.
6750
6751         * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
6752
6753         * pa.md (reload peepholes): Remove unused variable "mode".
6754
6755 Wed Apr  1 17:06:19 1998  Nick Clifton  <nickc@cygnus.com>
6756
6757         * config/arm/thumb.h: Add super interworking support.
6758         * config/arm/thumb.c: Add super interworking support.
6759         * config/arm/thumb.md: Add super interworking support.
6760         * config/arm/lib1funcs.asm: Add interworking support.
6761         * config/arm/lib1thumb.asm: Add super interworking support.
6762         * config/arm/t-semi: Add interworking support.
6763         * config/arm/t-thumb: Add interworking support.
6764         * config/arm/README-interworking: New file.
6765
6766 Wed Apr  1 14:38:10 1998  Jim Wilson  <wilson@cygnus.com>
6767
6768         * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
6769         (MD_STARTFILE_PREFIX): Unset.
6770
6771 1998-04-01  Mark Mitchell  <mmitchell@usa.net>
6772
6773         * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
6774         entity in a local scope.
6775
6776         * fold-const.c (fold): Call truthvalue_conversion for values which
6777         are folded to boolean type.
6778
6779 Wed Apr  1 06:09:53 1998  Jeffrey A Law  (law@cygnus.com)
6780
6781         * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
6782         * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
6783         * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
6784         * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
6785         * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
6786         * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
6787         * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
6788         * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
6789         * md.texi: Likewise.
6790
6791 Wed Apr  1 08:33:44 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6792
6793         * fixincludes (limits.h): Fix nested comments in Motorola's
6794         limits.h and sys/limits.h.
6795
6796 Tue Mar 31 16:57:33 1998  Jim Wilson  <wilson@cygnus.com>
6797
6798         * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
6799         as dest of expand_binop call.
6800
6801         * alpha.md (extzv): Correct check for valid operand[2] values.
6802
6803         * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
6804         branch.
6805
6806         * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
6807
6808 Mon Mar 30 13:11:05 1998  Stan Cox  <scox@cygnus.com>
6809
6810         * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors):
6811         For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
6812
6813         * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
6814         cygwin32 can override this to allow both unix and win32 style PATHs.
6815
6816         * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
6817         style environment paths.
6818
6819 Mon Mar 30 14:43:20 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6820
6821         * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
6822         cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
6823         gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
6824         system.h.
6825
6826         * cpphash.c: Include config.h.
6827         * cppalloc.c: Include system.h.  Add parameters to various
6828         function prototypes.
6829         * cpperror.c: Likewise.
6830         * cppexp.c: Likewise.
6831         * cpphash.c: Likewise.
6832         * cpplib.c: Likewise.
6833         * cppmain.c: Likewise.
6834         * fix-header.c: Likewise.
6835         * gcov.c: Likewise.
6836         * gen-protos.c: Likewise.
6837         * gengenrtl.c: Likewise.
6838         * halfpic.c: Likewise.
6839         * hash.c: Likewise.
6840         * scan-decls.c: Likewise.
6841         * scan.c: Likewise.
6842
6843 Mon Mar 30 11:06:45 1998  Jim Wilson  <wilson@cygnus.com>
6844
6845         * README.gnat: Add lang_print_xnode definition.
6846
6847 Mon Mar 30 11:12:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
6848
6849         * config/m68k/m68k.c (standard_68881_constant_p): Don't use
6850         fmovecr on the 68060.
6851
6852 Mon Mar 30 00:21:03 1998  Jeffrey A Law  (law@cygnus.com)
6853
6854         * genemit.c (DONE): Rework so that it works in the true arm if
6855         an if-else conditional.
6856         (FAIL): Likewise.
6857
6858 Sun Mar 29 12:45:23 1998  Jeffrey A Law  (law@cygnus.com)
6859
6860         * rs6000.c: Do not include stdioh or ctype.h anymore.
6861
6862         * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
6863         $(RTL_H).
6864         (stor-layout.o): Likewise.
6865         * c-typeck.c: Include rtl.h and expr.h.
6866         * stor-layout.c: Likewise.
6867
6868         * cpplib.c (cpp_file_line_for_message): Delete unused parameter.
6869         All callers changed.
6870         (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
6871         * fix-header.c (cpp_file_line_for_message): Delete unused paramter.
6872         All callers changed.
6873
6874         * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
6875
6876         * local-alloc.c (reg_classes_overlap_p): Delete dead function.
6877
6878         * tree.h (lang_print_xnode): Provide prototype.
6879
6880 Sat Mar 28 23:50:44 PST 1998 Jeff Law  (law@cygnus.com)
6881
6882         * version.c: Bump for snapshot.
6883
6884 Sun Mar 29 00:42:21 1998  Jeffrey A Law  (law@cygnus.com)
6885
6886         * objc/sendmsg.c (__objc_block_forward): Add braces for return
6887         value if INVISIBLE_STRUCT_RETURN.
6888
6889         * pa.c (arith_double_operand): Fix parens.
6890
6891         * haifa-sched.c (print_pattern): Correct arg to sprintf.
6892
6893         * Makefile.in (libgcc1.null): Make return type for __foo void.
6894
6895 Sat Mar 28 14:37:20 1998  Jeffrey A Law  (law@cygnus.com)
6896
6897         * pa.h: Add declarations for many functions defined in pa.c.
6898
6899         * genpeep.c (main): Remove unused variable 'i' from the generated
6900         file.
6901
6902         * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
6903         (gen_split): Likewise.
6904         (main): Rework generated definitions of DONE and FAIL so that they
6905         no longer use gotos.  Avoids warnings about unused labels.
6906
6907         * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
6908         unused "junk" variable.
6909
6910         * genattrtab.c (write_complex_function): Add a default case in
6911         generated switch statement to keep -W -Wall quiet.
6912
6913 Sat Mar 28 10:47:21 1998  Nick Clifton  <nickc@cygnus.com>
6914
6915         * invoke.texi: Document more ARM and Thumb command line options.
6916
6917         * config/arm/xm-thumb.h: New file.
6918
6919 Sat Mar 28 01:37:33 1998  Craig Burley  <burley@gnu.ai.mit.edu>
6920
6921         * stmt.c (expand_expr_stmt): Must generate code for
6922         statements within an expression (gcc's `({ ... )}')
6923         even if -fsyntax-only.
6924
6925 Sat Mar 28 01:06:12 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
6926                           Jeffrey A Law  (law@cygnus.com)
6927
6928         * basic-block.h (basic_block_computed_jump_target): Declare.
6929         * flags.h: (current_function_has_computed_jump): Declare.
6930         * flow.c: (basic_block_computed_jump_target): Define.
6931         (flow_analysis): Allocate it. Set current_function_has_computed_jump
6932         to 0.
6933         (find_basic_blocks): Set current_function_has_computed_jump and
6934         elements of basic_block_computed_jump_target to 1 as appropriate.
6935         * function.c: (current_function_has_computed_jump): Define.
6936         * global.c (global_conflicts): Don't allocate pseudos into stack regs
6937         at the start of a block that is reachable by a computed jump.
6938         * reg-stack.c (stack_reg_life_analysis): If must restart, do so
6939         immediately.
6940         (subst_stack_regs): Undo change from Sep 4 1997.
6941         (uses_reg_or_mem): Now unused, deleted.
6942         * stupid.c (stupid_life_analysis): Compute
6943         current_function_has_computed_jump.
6944         (stupid_find_reg): Don't allocate stack regs if the function has a
6945         computed goto.
6946         * haifa-sched.c (is_cfg_nonregular): Delete code to determine if
6947         the current function has a computed jump.  Use the global value
6948         instead.
6949
6950 Sat Mar 28 00:21:37 1998  Jeffrey A Law  (law@cygnus.com)
6951
6952         * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
6953         (DWARF2_UNWIND_INFO): Define to zero.
6954
6955 Fri Mar 27 16:04:49 1998  Michael Meissner  <meissner@cygnus.com>
6956
6957         * gcc.c (set_std_prefix): Add declaration.
6958         (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
6959         suffix, and update the standard prefix prefix.c uses.
6960
6961         * prefix.c (std_prefix): New global to hold default prefix value.
6962         (get_key_value): Change to use std_prefix instead of PREFIX.
6963         (translate_name): Ditto.
6964         (update_path): Ditto.
6965         (get_key_value): Release allocated scratch storage.
6966         (set_std_prefix): New function to reset the standard prefix.
6967
6968 Fri Mar 27 18:08:21 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6969
6970         * sh.c (find_barrier): Fix calculations for alignment increase.
6971
6972 Fri Mar 27 08:56:52 1998  Manfred Hollstein  <manfred@s-direktnet.de>
6973
6974         * Makefile.in (stmp-fixinc): If we're actually fixing include
6975         files, copy gcc's assert.h into the fixed include dir.
6976         * fixincludes (assert.h): Avoid any attempts to fix a probably
6977         broken system specific assert.h file.
6978         * fixproto (stdlib.h): Make sure, it'll contain a definition of
6979         size_t.
6980
6981 Fri Mar 27 00:49:46 1998  Jeffrey A Law  (law@cygnus.com)
6982
6983         * regclass.c (reg_scan_mark_refs): Be more selective about
6984         when we mark a register with REGNO_POINTER_FLAG.
6985
6986 Thu Mar 26 23:00:11 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6987
6988         reload inheritance improvement:
6989         * reload1.c (reg_reloaded_contents, reg_reloaded_insn):
6990         Change meaning: index is now hard reg number.
6991         (reg_reloaded_valid, reg_reloaded_dead): New variables.
6992         (reload_spill_index): Content is now a hard reg number.
6993         (reload_as_needed): Change to fit new variable meaning.
6994         (forget_old_reloads_1, allocate_reload_reg): Likewise.
6995         (choose_reload_regs, emit_reload_insns): Likewise.
6996
6997 Thu Mar 26 18:34:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
6998
6999         * regclass.c (record_reg_classes): '?' increases cost by two.
7000
7001         * reload.c (find_reloads): Double previous costs.  Output
7002         reloads cost one unit extra.
7003
7004         * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
7005         boiled down to && ! 0.
7006
7007         * reload.c (find_equiv_reg): Also consider a goal offset from the
7008         frame pointer to be constant.
7009
7010 Thu Mar 26 17:34:46 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7011
7012         * sh.h (OPTIMIZATION_OPTIONS): Define.
7013
7014 Thu Mar 26 00:19:47 1998  Richard Henderson  <rth@cygnus.com>
7015
7016         * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
7017
7018 Wed Mar 25 23:53:11 1998  Jeffrey A Law  (law@cygnus.com)
7019
7020         * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
7021
7022 Wed Mar 25 13:40:48 1998  Jim Wilson  <wilson@cygnus.com>
7023
7024         * c-common.c (check_format_info): Initialize type, is_type.  New local
7025         integral_format.  Don't warn for 'L' when pedantic.  Do warn for 'L'
7026         when pedantic if used with integral format specifier.
7027
7028 Wed Mar 25 16:09:01 1998  Michael Meissner  <meissner@cygnus.com>
7029
7030         * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
7031         direction.
7032         (function_arg_padding): Declare.
7033
7034         * rs6000.c: Include system.h.
7035         (function_arg_padding): Change return type to int, cast enum's to
7036         int.
7037
7038         (From Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>)
7039         * collect2.c (scan_prog_file): Add explicit braces to avoid
7040         ambiguous `else'.
7041
7042         * dbxout.c (dbxout_type_fields): Add braces around empty body in
7043         an if-statement.
7044         (dbxout_type): Likewise.
7045
7046         * rs6000.c (rs6000_override_options): Change type of `i', `j' and
7047         `ptt_size' from int to size_t.
7048         (rs6000_file_start): Likewise for `i'.
7049         (rs6000_replace_regno): Add default case in enumeration switch.
7050         (output_epilog): Remove unused variable `i'.
7051         (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
7052         and `reg2'.
7053
7054         * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
7055         initializer.
7056         (get_issue_rate, non_logical_cint_operand): Add prototype.
7057         (rs6000_output_load_toc_table): Ditto.
7058
7059         * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
7060         `else'.
7061
7062 Wed Mar 25 10:05:19 1998  Nick Clifton  <nickc@cygnus.com>
7063
7064         * config/arm/thumb.c: New File.  Support for ARM's Thumb
7065         instruction set.
7066         * config/arm/thumb.h: New File.  Thumb definitions.
7067         * config/arm/thumb.md: New File.  Thumb machine description.
7068         * config/arm/tcoff.h: New File.  Thumb COFF support.
7069         * config/arm/t-thumb: New File.  Thumb makefile fragment.
7070         * config/arm/lib1thumb.asm: New File.  Thumb libgcc support functions.
7071
7072         * configure.in: Add Thumb-coff target.
7073         * configure: Add Thumb-coff target.
7074         * config.sub: Add Thumb-coff target.
7075
7076 Wed Mar 25 10:30:32 1998  Jim Wilson  <wilson@cygnus.com>
7077
7078         * loop.c (scan_loop): Initialize move_insn_first to zero.
7079
7080 Wed Mar 25 01:06:49 1998  Joel Sherrill (joel@OARcorp.com)
7081
7082         * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
7083         * config/i386/rtems.h: Likewise.
7084         * config/i960/rtems.h: Likewise.
7085         * config/m68k/rtems.h: Likewise.
7086         * config/mips/rtems64.h: Likewise.
7087         * config/pa/rtems.h: Likewise.
7088         * config/rs6000/rtems.h: Likewise.
7089         * config/sh/rtems.h: Likewise.
7090         * config/sparc/rtems.h: Likewise.
7091
7092 Wed Mar 25 00:57:26 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7093
7094         * pa.c (emit_move_sequence): If in reload, call find_replacement.
7095
7096 Tue Mar 24 10:44:11 1998  Nick Clifton  <nickc@cygnus.com>
7097
7098         * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
7099
7100         * collect2.c (find_a_file): Add debugging.
7101         (find_a_file): Test for win32 style absolute paths if
7102         DIR_SERPARATOR is defined.
7103         (prefix_from_string): Add debugging.
7104         (main): Test for debug command line switch at start of program
7105         execution.
7106         (main): Use GET_ENVIRONMENT rather than getenv().
7107         (prefix_from_env): Use GET_ENVIRONMENT.
7108
7109 1998-03-24  Mark Mitchell  <mmitchell@usa.net>
7110
7111         * cplus-dem.c (optable): Add sizeof.
7112         (demangle_template_value_parm): New function containing code
7113         previously found in demangle_template.
7114         (demangle_integral_value): New function which handles complicated
7115         integral expressions.
7116         (demangle_template): Use them.
7117
7118 Tue Mar 24 12:13:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7119
7120         * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
7121         genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
7122         genattrtab.o, genoutput.o): Depend on system.h.
7123
7124         * genattr.c: Include system.h.  Add arguments to various function
7125         prototypes.  Remove redundant prototype of read_rtx().
7126         * genattrtab.c: Likewise.
7127         * gencodes.c: Likewise.
7128         * genconfig.c: Likewise.
7129         * genemit.c: Likewise.
7130         * genextract.c: Likewise.
7131         * genflags.c: Likewise.
7132         * genopinit.c: Likewise.
7133         * genoutput.c: Likewise.
7134         * genpeep.c: Likewise.
7135         * genrecog.c: Likewise.
7136
7137 1998-03-24  Martin von Loewis  <loewis@informatik.hu-berlin.de>
7138
7139         * c-lang.c (lang_print_xnode): New function.
7140         * objc/objc-act.c (lang_print_xnode): Likewise.
7141         * print-tree.c (print_node): Call it
7142
7143 Mon Mar 23 23:59:11 1998  H.J. Lu  (hjl@gnu.org)
7144
7145         * c-parse.in: Recognize protocol qualifiers in class
7146         definitions for objc.
7147         Include "output.h".
7148         (yyerror): Remove redundant decl.
7149         (yyprint): Fix prototype.
7150
7151 Mon Mar 23 23:49:47 1998  Jeffrey A Law  (law@cygnus.com)
7152
7153         * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
7154
7155         * stmt.c (unroll_block_trees): Free block_vector if needed.
7156
7157 Mon Mar 23 23:26:42 1998  Philippe De Muyter  <phdm@macqel.be>
7158
7159         * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
7160         (zero_extendsidi2): Avoid useless copy.
7161         (iordi_zext): New pattern.
7162         (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
7163         operand 2.
7164         (iorsi_zext): New name for old unnamed pattern; indentation fixes.
7165
7166         * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
7167         (ashldi3): Allow constant shift count in range ]32,63].
7168         (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
7169
7170 1998-03-22  Mark Mitchell  <mmitchell@usa.net>
7171
7172         * tree.h (IS_EXPR_CODE_CLASS): New macro.
7173
7174 Mon Mar 23 23:18:48 1998  Jeffrey A Law  (law@cygnus.com)
7175
7176         * h8300.h (CONST_COSTS): Remove definition.
7177         (DEFAULT_RTX_COSTS): Define.
7178
7179 Mon Mar 23 22:58:22 1998  Joel Sherrill (joel@OARcorp.com)
7180
7181         * config/sh/rtems.h: Switched from ELF to COFF.
7182
7183 Mon Mar 23 14:14:20 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7184
7185         * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
7186
7187 Sat Mar 21 23:52:56 PST 1998 Jeff Law  (law@cygnus.com)
7188
7189         * version.c: Bump for snapshot.
7190
7191 Sun Mar 22 00:50:42 1998  Nick Clifton  <nickc@cygnus.com>
7192                           Geoff Noer    <noer@cygnus.com>
7193
7194         * Makefile.in: Various fixes for building cygwin32 native toolchains.
7195
7196         * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
7197         * objc/Make-lang.in: Likewise.
7198
7199         * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
7200
7201 Sun Mar 22 00:21:46 1998  R. Ganesan  <rganesan@novell.com>
7202
7203         * configure.in: Handle with-PACKAGE=no correctly
7204
7205 Fri Mar 20 17:36:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7206
7207         * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
7208         c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
7209         caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
7210         dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
7211         expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
7212         integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
7213         prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
7214         reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
7215         rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
7216         tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
7217         on system.h.
7218
7219         * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
7220         c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
7221         caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
7222         dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
7223         expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
7224         integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
7225         prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
7226         reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
7227         rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
7228         stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
7229         xcoffout.c: Include system.h.  Organize include ordering so
7230         that stdarg/varargs comes before other system headers.  Remove
7231         spurious casts of functions assured of a prototype in system.h.
7232
7233 Fri Mar 20 11:19:40 1998  Stan Cox  <scox@equinox.cygnus.com>
7234
7235         * reg-stack.c (pop_stack): Define. Pops any register on the
7236         regstack and adjusts regstack.
7237         (compare_for_stack_reg): Use pop_stack.
7238
7239 Thu Mar 19 23:51:01 1998  Jeffrey A Law  (law@cygnus.com)
7240
7241         * configure.in (hppa1.0-hp-hpux10): Handle threads for this
7242         config too.
7243
7244 Thu Mar 19 20:30:31 1998  Philippe De Muyter  <phdm@macqel.be>
7245
7246         * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
7247
7248         * fold-const.c (fold): Replace sign-extension of a zero extended
7249         value by a single zero extension.
7250
7251 Thu Mar 19 00:58:07 1998  Jason Merrill  <jason@yorick.cygnus.com>
7252
7253         * except.c (init_eh): Do nothing.
7254         (save_eh_status): Call init_eh_for_function, not init_eh.
7255         * function.c (push_function_context_to): Don't call init_emit.
7256
7257 Thu Mar 19 13:39:52 1998  Michael Meissner  <meissner@cygnus.com>
7258
7259         * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
7260         and EABI.
7261
7262 Thu Mar 19 10:10:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7263
7264         * final.c (shorten_branches): Add parentheses around +/- in
7265         operand of &.
7266
7267         * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
7268
7269 Thu Mar 19 09:15:17 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7270
7271         * regclass.c (memory_move_secondary_cost): Wrap uses of
7272         SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
7273         with #ifdef tests.
7274
7275 Thu Mar 19 09:06:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7276
7277         * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
7278
7279         * flow.c (life_analysis): #include <sys/types.h> to make sure
7280         size_t is defined.
7281         * cplus-dem.c (demangle_function_name): Likewise.
7282
7283 Thu Mar 19 09:00:01 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7284
7285         * final.c (insn_noperands): Change type to unsigned int.
7286         (final_scan_insn): Likewise for noperands;
7287         properly check operand number boundaries.
7288
7289 Wed Mar 18 16:20:30 1998  Richard Henderson  <rth@cygnus.com>
7290
7291         * alpha.md (extzv): Don't reject register operands.  Fix
7292         mode of operand 1.
7293
7294 Wed Mar 18 16:14:23 1998  Richard Henderson  <rth@cygnus.com>
7295
7296         * dbxout.c (dbxout_function_end): Fix last change.  The correct
7297         predicate is ASM_OUTPUT_SECTION_NAME.
7298
7299 Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
7300
7301         * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
7302         (ashlsi): Use match_dup 1 instead of match_operand 2.
7303
7304 Wed Mar 18 13:46:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7305
7306         * fold-const.c (operand_equal_for_comparison_p): See if equal
7307         when nop conversions are removed.
7308
7309 Wed Mar 18 13:42:01 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7310
7311         * expr.c (expand_expr, case COND_EXPR): If have conditional move,
7312         don't use ORIGINAL_TARGET unless REG.
7313
7314 Wed Mar 18 16:53:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7315
7316         * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
7317
7318 Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
7319
7320         * loop.c (struct movable): New field move_insn_first.
7321         (scan_loop): In consec sets code, set it.  Clear it otherwise.
7322         (move_movables): In consec sets code, use it.  Copy REG_NOTES from
7323         p to i1 only if i1 does not have REG_NOTES.  Delete obsolete ifdefed
7324         out code.
7325
7326 Wed Mar 18 09:52:56 1998  Richard Henderson  <rth@cygnus.com>
7327
7328         * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
7329         is large, and the system doesn't provide atoll or atoq.
7330         (atoll): New.
7331
7332         * alpha/xm-vms.h (HAVE_ATOLL): Define.
7333         Reported by Klaus Kaempf <kkaempf@progis.de>.
7334
7335 Wed Mar 18 09:56:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7336
7337         * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
7338         test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
7339
7340         * calls.c (emit_call_1): Wrap variable `already_popped' with macro
7341         test !ACCUMULATE_OUTGOING_ARGS.
7342
7343         * collect2.c (write_c_file_glob): Wrap function definition in
7344         macro test !LD_INIT_SWITCH.
7345
7346         * combine.c (try_combine): Wrap variables `cc_use' and
7347         `compare_mode' in macro test EXTRA_CC_MODES.
7348
7349         * cpplib.c (do_ident): Remove unused variable `len'.
7350         (skip_if_group): Remove unused variables `at_beg_of_line' and
7351         `after_ident'.
7352         (cpp_get_token): Remove unused variable `dummy'.
7353
7354         * dbxout.c (scope_labelno): Move static variable definition inside
7355         the one function scope where it is used.
7356         (dbxout_function_end): Wrap prototype and definition in
7357         macro test !NO_DBX_FUNCTION_END.
7358
7359         * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
7360         in macro test !MIPS_DEBUGGING_INFO.
7361
7362         * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
7363         into the scope where it is used.  Wrap empty else-statement body
7364         in braces.
7365
7366         * fix-header.c: Fix typo in comment.
7367         (inf_skip_spaces): Cast results of INF_UNGET to (void).
7368         (check_protection, main): Likewise.
7369
7370         * flow.c (find_basic_blocks_1): Remove dangling comment text.
7371
7372         * function.c (contains): Wrap prototype and definition in macro
7373         test HAVE_prologue || HAVE_epilogue.
7374         (fixup_var_refs_1): Remove unused variable `width'.
7375
7376         * gen-protos.c (main): Remove unused variable `optr'.
7377
7378         * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
7379
7380         * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
7381         (__sjpopnthrow): Remove unused variable `jmpbuf'.
7382         (__throw): Remove unused variable `val'.
7383
7384         * protoize.c: Check for a previously existing definition before
7385         defining *_OK macros.
7386
7387         * scan-decls.c (scan_decls): Remove unused variable `old_written'.
7388
7389 Tue Mar 17 00:45:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7390
7391         * vax.h (ADDR_VEC_ALIGN): Define.
7392
7393 Mon Mar 16 15:57:17 1998  Michael Meissner  <meissner@cygnus.com>
7394
7395         * gcc.c (default_arg): Don't wander off the end of allocated
7396         memory.
7397
7398         (From Geoffrey Keating  <geoffk@ozemail.com.au>)
7399         * rs6000.c (small_data_operand): Ensure that any address
7400         referenced relative to the small data area is inside the SDA.
7401
7402 Mon Mar 16 12:55:15 1998  Jim Wilson  <wilson@cygnus.com>
7403
7404         * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
7405
7406 Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
7407
7408         * except.h (in_same_eh_region): New prototype.
7409         (free_insn_eh_region, init_insn_eh_region): New prototypes.
7410         * except.c (insn_eh_region, maximum_uid): New static variables.
7411         (set_insn_eh_region): New static function to set region numbers.
7412         (free_insn_eh_region): New function to free EH region table.
7413         (init_insn_eh_region): New function to initialize EH region table.
7414         (in_same_eh_region): New function used to determine if two rtl
7415         instructions are in the same exception region or not.
7416         * final.c (final): Initialize the table indicating which instructions
7417         belong in which exception region.
7418         * genpeep.c (main): Add "except.h" to include file list in generated
7419         file insn-peep.c.
7420         * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
7421         peepholes involving calls and unconditional branches.
7422
7423 Mon Mar 16 11:16:50 1998  Jim Wilson  <wilson@cygnus.com>
7424
7425         * README.gnat: New file.
7426
7427 Mon Mar 16 11:14:20 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7428
7429         * config/m68k/m68k.c: Include <stdlib.h> for atoi.  Include
7430         "recog.h" for offsettable_memref_p.
7431         (legitimize_pic_address): Remove unused variable `offset'.
7432         (notice_update_cc): Change return type to void.  Add default label
7433         to switch.
7434         (standard_68881_constant_p): Remove unused variable mode.
7435         (print_operand): Define local variable i only if SUPPORT_SUN_FPA.
7436         (const_int_cost): Explicitly declare as returning int.
7437         (output_dbcc_and_branch): Change return type to void.
7438
7439         * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
7440         config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
7441         (...).  Use GEN_INT instead of gen_rtx_CONST_INT.
7442
7443 Sun Mar 15 22:30:44 PST 1998 Jeff Law  (law@cygnus.com)
7444
7445         * version.c: Bump for snapshot.
7446
7447 Fri Mar 13 11:30:12 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7448
7449         * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
7450         check for 'M' constraint.
7451
7452 Thu Mar 12 14:47:14 1998  Jim Wilson  <wilson@cygnus.com>
7453
7454         * cccp.c (create_definition): If pedantic, call pedwarn for macro
7455         varargs feature.
7456
7457 Thu Mar 12 13:43:25 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
7458
7459         * i386.c (ix86_logical_operator): New function.
7460         (split_di): Ensure that when a MEM is split, the resulting MEMs have
7461         SImode.
7462         * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
7463         to implement them.
7464
7465 Thu Mar 12 15:13:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7466                           Richard Earnshaw <rearnsha@arm.com>
7467                           Nick Clifton  <nickc@cygnus.com>
7468
7469         * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
7470
7471         * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
7472
7473         * cse.c (rtx_cost): Provide a default case in an enumeration
7474         switch, and call DEFAULT_RTX_COSTS if it's defined.
7475
7476 Thu Mar 12 10:02:38 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7477
7478         * basic-block.h (compute_preds_succs): Change return type in
7479         prototype to void.
7480         * flow.c (compute_preds_succs): Likewise in function definition.
7481
7482         * regmove.c (find_matches): Cast char used as array index to unsigned char
7483         to supress warning.
7484
7485 Thu Mar 12 09:39:40 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7486
7487         * i386.h (RTX_COSTS): Insert braces around nested if.
7488         (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
7489         elements.
7490
7491         * gcc.c (default_compilers): Properly put brackets around array elements in
7492         initializer.
7493
7494         * getopt.c (_getopt_internal): Add explicit braces around nested if;
7495         reformatted.
7496
7497         * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
7498         (record_reg_life_pat): Add explicit parens around && and || in expression.
7499         (stack_reg_life_analysis): Add parens around assignment used as expression.
7500         (convert_regs): Likewise.
7501
7502 Thu Mar 12 09:25:29 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7503
7504         * bitmap.c (bitmap_element_allocate): Remove unused parameter;
7505         change callers accordingly.
7506
7507         * cplus-dem.c (arm_special): Remove unused parameter work in prototype
7508         and definition; change all callers accordingly.
7509
7510         * except.c (init_eh): Avoid assignment of unused return value of
7511         build_pointer_type; cast it to void, instead, and remove unused
7512         variable type.
7513
7514         * gcc.c (lang_specific_driver): Define prototype only #ifdef
7515         LANG_SPECIFIC_DRIVER.
7516         (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
7517
7518         * genoutput.c (output_epilogue): Initialize next_name to 0.
7519
7520         * real.c (efrexp): #if 0 prototype and function definition.
7521         (eremain): Likewise.
7522         (uditoe): Likewise.
7523         (ditoe): Likewise.
7524         (etoudi): Likewise.
7525         (etodi): Likewise.
7526         (esqrt): Likewise.
7527
7528         * reload.c (push_secondary_reload): Define prototype only
7529         #ifdef HAVE_SECONDARY_RELOADS.
7530
7531         * varasm.c (assemble_static_space): Define rounded only
7532         #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
7533
7534 Thu Mar 12 09:11:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7535
7536         * i386.md (andsi): Add default case in enumeration switch.
7537         (iorsi3): Likewise.
7538         (iorhi3): Likewise.
7539         (xorsi3): Likewise.
7540
7541 Thu Mar 12 08:37:02 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7542
7543         * c-decl (finish_struct): Change type of min_align to unsigned.
7544
7545         * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
7546         remove unused variable len.
7547
7548         * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
7549         comment indicating this is proper behaviour.
7550         (reg_loc_descriptor): Remove redundant comparison of unsigned variable
7551         reg >= 0.
7552         (based_loc_descr): Likewise.
7553
7554         * enquire.c (bitpattern): Change type of variable i to unsigned.
7555
7556         * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
7557
7558         * flow.c (life_analysis): Change type of variable i to size_t;
7559         remove unused variable insn.
7560
7561         * gcc.c (translate_options): Change type of variables optlen, arglen and
7562         complen to size_t.
7563         (input_filename_length): Change type to size_t.
7564         (do_spec_1): Change type of variable bufsize to size_t.
7565         (main): Change type of variables i and j to size_t;
7566         remove subblock local definition of variable i.
7567         (lookup_compiler): Change type of second argument to size_t;
7568         change type of variable i to size_t.
7569
7570         * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
7571
7572         * genopinit.c (get_insn): Change type of variable pindex to size_t.
7573
7574         * genrecog.c (add_to_sequence): Change type of variable i to size_t.
7575
7576         * global.c (global_alloc): Change type of variable i to size_t.
7577
7578         * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
7579
7580         * stmt.c (expand_end_bindings): Change type of variable i to size_t.
7581         (expand_end_case): Change type of variable count to size_t.
7582
7583         * toplev.c (main): Change type of variable j to size_t.
7584         (set_target_switch): Change type of variable j to size_t.
7585         (print_switch_values): Change type of variable j to size_t;
7586         remove unused variable flags.
7587
7588         * varasm.c (assemble_variable): Change type of variable align to size_t.
7589         (const_hash_rtx): Change type of variable i to size_t.
7590
7591 1998-03-11  Mark Mitchell  <mmitchell@usa.net>
7592
7593         * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
7594         TREE_VEC if that's what it really is.
7595
7596 Wed Mar 11 15:16:01 1998  Michael Meissner  <meissner@cygnus.com>
7597
7598         * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
7599         as per ISO C spec.
7600
7601 Wed Mar 11 12:05:20 1998  Teemu Torma  <tot@trema.com>
7602
7603         * gthr.h: Changed the comment about return values.
7604         * gthr-solaris.h (__gthread_once): Do not use errno; return the
7605         error number instead of -1.
7606         (__gthread_key_create): Any non-zero return value is an error.
7607         * libgcc2.c (eh_context_initialize): Check for non-zero return
7608         value from __gthread_once.
7609         Check that the value of get_eh_context was really changed.
7610
7611 Wed Mar 11 18:26:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7612
7613         * sh.h (LOOP_ALIGN): Only align when optimizing.
7614         * sh.c (find_barrier): Clear inc for CODE_LABELs.
7615         When not optimizing, calculate alignment for BARRIERs directly.
7616
7617 Wed Mar 11 15:07:18 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7618
7619         * final.c (shorten_branches): Remove conditionalizing on
7620         SHORTEN_WITH_ADJUST_INSN_LENGTH
7621         * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
7622
7623 Wed Mar 11 02:37:41 1998  Jeffrey A Law  (law@cygnus.com)
7624
7625         * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
7626         an unconditional jump around deleted blocks.
7627
7628 Mon Mar  9 12:02:23 1998  Jim Wilson  <wilson@cygnus.com>
7629
7630         * profile.c (branch_prob): If see computed goto, call fatal instead of
7631         abort.
7632
7633         * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
7634
7635         * configure.in (alpha-dec-osf): Add default case for osf* to switch.
7636         Patch from Bruno Haible.
7637
7638         * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
7639         (assign_parms): Set aggregate if hide_last_arg and last_named.
7640
7641 Mon Mar  9 19:57:56 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7642
7643         * final.c (shorten_branches): Initialize insn_addresses.
7644
7645 Mon Mar  9 14:10:23 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7646
7647         * sh.h (MUST_PASS_IN_STACK): Define.
7648
7649 Sun Mar  8 13:01:56 1998  Jeffrey A Law  (law@cygnus.com)
7650
7651         * final.c (shorten_branches): Fix minor logic error in
7652         ADDR_DIFF_VEC shortening support.
7653
7654 Sun Mar 8 02:17:42 PST 1998 Jeff Law  (law@cygnus.com)
7655
7656         * version.c: Bump for snapshot.
7657
7658 Sat Mar  7 00:54:15 1998  Jeffrey A Law  (law@cygnus.com)
7659
7660         * haifa-sched.c (is_cfg_nonregular): Change return type to
7661         an int.  No longer compute "estimated" number of edges.  Use
7662         computed_jump_p instead of duplicating the code.  Fixup/add
7663         some comments.
7664         (build_control_flow): Returns a value indicating an irregularity
7665         in the cfg was detected.  Count the number of edges in the cfg.
7666         allocate various edge tables.
7667         (find_rgns): No longer look for unreachable blocks.
7668         (schedule_insns): Do not allocate memory for edge tables here.
7669         Free memory for edge tables before returning.  Do not perform
7670         cross block scheduling if build_control_flow returns nonzero.
7671         * flow.c (compute_preds_succs): More accurately determine when
7672         a block drops in.
7673
7674         * basic-block.h (free_basic_block_vargs): Provide prototype.
7675
7676         * cccp.c (main): Fix dumb mistakes in last change.
7677
7678 Fri Mar  6 21:28:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7679
7680         * rtl.h (addr_diff_vec_flags): New typedef.
7681         (union rtunion_def): New member rt_addr_diff_vec_flags.
7682         (ADDR_DIFF_VEC_FLAGS): New macro.
7683
7684         * sh.c (output_branch): Fix offset overflow problems.
7685
7686         * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
7687         (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
7688         * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
7689         * stmt.c (expand_end_case): Supply new arguments to
7690         gen_rtx_ADDR_DIFF_VEC.
7691         * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
7692         * alpha.h, arc.h, clipper.h, convex.h : Likewise.
7693         * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
7694         * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
7695         * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
7696         * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
7697         * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
7698         * i386/386bsd.h, i386/freebsd-elf.h : Likewise.
7699         * i386/freebsd.h, i386/linux.h : Likewise.
7700         * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
7701         * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
7702         * m68k/mot3300.h, m68k/sgs.h : Likewise.
7703         * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
7704         * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
7705         (CASE_VECTOR_SHORTEN_MODE): Define.
7706         (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
7707         (med_branch_p, braf_branch_p): Don't declare.
7708         (mdep_reorg_phase, barrier_align): Declare.
7709         (ADJUST_INSN_LENGTH): Remove alignment handling.
7710         * sh.c (uid_align, uid_align_max): Deleted.
7711         (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
7712         (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
7713         (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
7714         (output_far_jump): Don't use braf_branch_p.
7715         (output_branchy_insn): Don't use branch_offset.
7716         (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
7717         Remove paired barrier stuff.
7718         Don't use cache_align_p.
7719         Take alignment insns into account.
7720         (fixup_addr_diff_vecs): Reduce to only fixing up the base label of
7721         the addr_diff_vec.
7722         (barrier_align, branch_dest): New function.
7723         (machine_dependent_reorg, split_branches): Remove infrastructure
7724         for branch shortening that is now provided in the backend.
7725         * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
7726         (braf_branch_p, braf_cbranch_p): Likewise.
7727         (attribute length): Use new attributes.
7728         (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
7729         (addr_diff_vec_adjust): Delete.
7730         (align_2): Now a define_expand.
7731         (align_log): Now length 0.
7732
7733 Fri Mar  6 14:41:33 1998  Michael Meissner  <meissner@cygnus.com>
7734
7735         * m32r.md (right): Correctly check for length == 2, not 1.
7736
7737 Fri Mar  6 14:00:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7738
7739         * mips/mips.h: Prototype `machine_dependent_reorg'.
7740         (ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
7741
7742 Fri Mar  6 11:43:35 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
7743
7744         * final.c (shorten_branches): Restore accidentally removed code.
7745
7746 Fri Mar  6 11:00:49 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
7747
7748         * configure.in: Remove duplicate uses of AC_PROG_CC and
7749         AC_PROG_MAKE_SET.
7750
7751 Fri Mar  6 00:59:30 1998  Richard Henderson  <rth@cygnus.com>
7752
7753         * configure.in (target_cpu_default2): Correct typo for alphapca56.
7754
7755 Thu Mar  5 23:24:50 1998  Jeffrey A Law  (law@cygnus.com)
7756                           Doug Evans     (devans@cygnus.com)
7757
7758         * haifa-sched.c (build_jmp_edges): Delete dead function.
7759         (build_control_flow): Use cfg routines from flow.c
7760         (schedule_insns): Remove debugging code accidentally checked
7761         in earlier today.
7762
7763         * basic-block.h: Add external integer list structures, typdefs,
7764         accessor macros and function declarations.  Simlarly for
7765         basic block pred/succ support and simple bitmap stuff.
7766         * flow.c: Add functions for integer list, basic block pred/succ
7767         support and simple bitmap support.
7768         (compute_dominators): New function to compute dominators and
7769         post dominators.
7770         (find_basic_blocks): Split into two functions.
7771         (life_analysis): Likewise.
7772         (flow_analysis): Removed.  Now handled by calling find_basic_blocks,
7773         the life_analysis from toplev.c
7774         * toplev.c (rest_of_compilation): Call find_basic_blocks, then
7775         life_analysis instead of flow_analysis.
7776
7777 Thu Mar  5 23:06:26 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7778
7779         * jump.c (jump_optimize): Call mark_jump_label also for deleted
7780         insns.
7781         (mark_jump_label): Don't increment ref counts for deleted insns.
7782
7783 Thu Mar  5 09:55:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7784
7785         * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
7786
7787         * mips/mips.c: Include stdlib.h and unistd.h.
7788         (mips_asm_file_end): Add braces around empty body in an if-statement.
7789         (function_prologue): Wrap variable `fnname' in
7790         !FUNCTION_NAME_ALREADY_DECLARED.  Correct format specifier in fprintf.
7791         (mips_select_rtx_section, mips_select_section): Declare as void.
7792
7793         * mips/mips.h: Add prototypes for extern functions in mips.c.
7794         (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
7795         (ENCODE_SECTION_INFO): Add braces around empty body in an
7796         if-statement.
7797
7798         * mips/mips.md (movdi): Add parentheses around && within ||.
7799         (movsf, movdf): Likewise.
7800         (branch_zero, branch_zero_di): Add default case in
7801         enumeration switch.
7802
7803
7804 Thu Mar  5 02:45:48 1998  Richard Henderson  <rth@cygnus.com>
7805
7806         * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
7807         real constants, since they can't be changed.
7808         (TARGET_AS_CAN_SUBTRACT_LABELS): New.
7809         * alpha/alpha.md (builtin_setjmp_receiver): Use it.
7810         * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
7811         * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
7812         * alpha/vms.h (TARGET_OPEN_VMS): New.
7813         * alpha/win-nt.h (TARGET_WINDOWS_NT): New.
7814
7815 Thu Mar  5 02:41:27 1998  Richard Henderson  <rth@cygnus.com>
7816
7817         * reload.c (find_reloads): Always force (subreg (mem)) to be
7818         reloaded if WORD_REGISTER_OPERATIONS.
7819
7820 Thu Mar  5 02:14:44 1998  Richard Henderson  <rth@cygnus.com>
7821
7822         * haifa-sched.c (free_list): Rename from free_pnd_lst.
7823         (free_pending_lists): Rename free_pnd_lst uses.
7824         (remove_dependence): Place expunged element on unused_insn_list.
7825         (alloc_INSN_LIST, alloc_EXPR_LIST): New.  Change all callers of
7826         gen_rtx_*_LIST and alloc_rtx to use them.
7827         (compute_block_backward_dependences): Free the reg_last_* lists.
7828
7829 Thu Mar  5 00:05:40 1998  Jeffrey A Law  (law@cygnus.com)
7830
7831         * cccp.c (main): Avoid undefined behavior when setting pend_includes
7832         and pend_files.
7833
7834 Wed Mar  4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
7835
7836         * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
7837         USE_GNULIBC_1 is defined
7838         * configure.in: add a new case powerpc-*-linux-gnulibc1 which
7839         includes the t-linux-gnulibc1 fragment
7840
7841 Wed Mar  4 12:11:36 1998  Jim Wilson  <wilson@cygnus.com>
7842
7843         * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
7844
7845 Wed Mar  4 18:47:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7846
7847         * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
7848
7849 Wed Mar  4 15:51:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7850
7851         * final.c (shorten_branches): Tag the loop alignment onto the
7852         first label after NOTE_INSN_LOOP_BEG even if there is an
7853         intervening insn.
7854
7855 Tue Mar  3 21:48:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7856
7857         * final.c (insn_current_reference_address):
7858         Use SEQ instead of BRANCH as argument to align_fuzz, to get a
7859         proper alignment chain.
7860
7861         * final.c (max_labelno): New static variable.
7862         (final_scan_insn): Check max_labelno before outputting an
7863         alignment for a label.
7864         (shorten_branches): Remove unused variable length_align.
7865
7866 Tue Mar  3 14:27:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7867
7868         * sparc.c (ultrasparc_adjust_cost): Add default case in
7869         enumeration switch.
7870
7871          * sparc.h: Add prototypes for extern functions defined in
7872         sparc.c.
7873
7874 Tue Mar  3 10:00:11 1998  Nick Clifton  <nickc@cygnus.com>
7875
7876         * toplev.c: Only generate <name>.dbr file when dumping RTL if
7877         DEALY_SLOTS is defined.
7878
7879 Tue Mar  3 07:36:37 1998  Manfred Hollstein  <manfred@s-direktnet.de>
7880
7881         * reorg.c (fill_eager_delay_slots): Add new argument delay_list
7882         in call to fill_slots_from_thread.
7883
7884 Mon Mar  2 13:45:03 1998  Richard Henderson  <rth@cygnus.com>
7885
7886         * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
7887         to SUB_CPP_PREDEFINES.  Reported by asun@saul4.u.washington.edu.
7888
7889 Mon Mar  2 22:59:28 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
7890
7891         * final.c (insn_last_address, insn_current_align, uid_align):
7892         New variables.
7893         (in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
7894         (insn_current_reference_address): Likewise.
7895         (shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
7896         LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
7897         (label_to_alignment): New function.
7898         * genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
7899         LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
7900         insn_current_reference_address instead of insn_current_address.
7901         (or_attr_value, write_length_unit_log): New functions.
7902         (main): Call write_length_unit_log.
7903         (write_const_num_delay_slots): Output extra '\n'.
7904         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
7905         replace with:
7906         (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
7907         * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
7908         * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
7909         (LOOP_ALIGN).
7910         * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
7911         (LABEL_ALIGN_AFTER_BARRIER).
7912         * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
7913         * ns32k/tek6000.h: Likewise.
7914         * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
7915         * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
7916         ASM_OUTPUT_ALIGN_CODE.
7917
7918 Mon Mar 2 01:05:50 PST 1998 Jeff Law  (law@cygnus.com)
7919
7920         * version.c: Bump for snapshot.
7921
7922 Mon Mar 2 00:52:18 PST 1998 Jeff Law  (law@cygnus.com)
7923
7924         * version.c: Bump for snapshot.
7925
7926 Sun Mar  1 18:25:49 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
7927
7928         * reorg.c (fill_slots_from_thread): Don't steal delay list from target
7929         if condition code of jump conflicts with opposite_needed.
7930
7931         * reorg.c (fill_slots_from_thread): Mark resources referenced in
7932         opposite_needed thread.  Return delay_list even when cannot get
7933         any more delay insns from end of subroutine.
7934
7935 Sun Mar  1 18:26:21 1998  Ken Rose (rose@acm.org)
7936
7937         * reorg.c (fill_slots_from_thread): New parameter, delay_list.
7938         All callers changed.
7939
7940 Sun Mar  1 18:25:37 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
7941
7942         * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
7943         end_fde_sort): New functions for fast sorting of an FDE array.
7944         (fde_insert): Simplified.
7945         (add_fdes): Change argument list.
7946         (frame_init): Use the new functions.
7947
7948 Sun Mar  1 18:06:21 1998  Jeffrey A Law  (law@cygnus.com)
7949
7950         * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
7951
7952         * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
7953
7954         * fold-const.c (fold_range_test): Always return a value.
7955
7956 Sun Mar  1 17:57:34 1998  Mumit Khan <khan@xraylith.wisc.edu>
7957
7958         * config/i386/winnt.c (i386_pe_unique_section): Put read-only
7959         data in the text section unless READONLY_DATA_SECTION is defined.
7960
7961 Sun Mar  1 17:48:46 1998  Jeffrey A Law  (law@cygnus.com)
7962
7963         * c-parse.in (undeclared variable error): Tweak error message to
7964         be clearer.
7965
7966 Sun Mar 1 10:22:36 PST 1998 Jeff Law  (law@cygnus.com)
7967
7968         * version.c: Bump for snapshot.
7969
7970 1998-02-28  Mark Mitchell  <mmitchell@usa.net>
7971
7972         * final.c (final_scan_insn): Undo overzealous removal of `set'.
7973
7974 Sat Feb 28 07:54:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7975
7976         * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
7977         case, add parentheses to specify the proper order of precedence in
7978         the if-statement.
7979
7980
7981         * c-aux-info.c: Include string.h/strings.h.
7982
7983         * pa.c: Include stdlib.h.
7984         (pa_combine_instructions): Prototype the function.
7985         (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
7986         (reloc_needed): Add default case for enumeration switch.
7987         (remove_useless_addtr_insns): Remove unused variable `all'.
7988         (hppa_expand_prologue): Add explicit braces to avoid
7989         ambiguous `else'.
7990         (output_function_epilogue): Remove unused variable `i'.
7991         (output_millicode_call): Remove unused variable `link'.
7992         (shadd_constant_p, forward_branch_p): Make the function static.
7993         (following_call): Explicitly declare to return int.
7994         (pa_reorg): Declare as void.
7995         (pa_combine_instructions): Declare as static void.  Add
7996         parentheses around && within ||.
7997
7998         * pa.h: Add prototypes for pa_reorg, symbolic_operand,
7999         following_call, function_label_operand, lhs_lshift_cint_operand
8000         and zdepi_cint_p.
8001
8002         * pa.md: Add parentheses around && within ||.
8003
8004         * cppalloc.c: Include stdlib.h.
8005
8006         * cpperror.c (cpp_print_containing_files): Remove unused variable
8007         `i'.  Fix format specifier in fprintf.
8008
8009         * cse.c (cse_around_loop): Add explicit braces to avoid
8010         ambiguous `else'.
8011         (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
8012
8013         * expr.c (expand_expr): Add parentheses around && within ||.
8014
8015         * final.c (app_enable): Replace fprintf with fputs where there are
8016         no format specifiers and no trailing argument after the string.
8017         Eg, when printing ASM_APP_ON/ASM_APP_OFF.
8018         (app_disable): Likewise.
8019         (final_end_function): Likewise.
8020         (final_scan_insn): Likewise.  Remove unused variable `set'.
8021         (profile_function): Wrap empty if-statement body in {} brackets.
8022
8023         * function.c: Include stdlib.h.
8024         (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
8025         (reposition_prologue_and_epilogue_notes): Add parentheses
8026         around assignment used as truth value.
8027
8028         * integrate.c (expand_inline_function): Wrap variable
8029         `cc0_insn' in macro HAVE_cc0.
8030
8031         * jump.c (jump_optimize): Wrap variable `q' in macro
8032         HAVE_cc0.  Remove unused variable `prev1'.
8033
8034         * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
8035         within ||.  Fix format specifier in fprintf.
8036         (__bb_init_prg): Add parentheses around assignment used as
8037         truth value.
8038
8039         * local-alloc.c: Include stdlib.h.
8040         (requires_inout): Add parentheses around assignment used
8041         as truth value.
8042
8043         * loop.c (analyze_loop_iterations): Wrap prototype and definition
8044         in macro HAVE_decrement_and_branch_on_count.
8045         (insert_bct, instrument_loop_bct): Likewise.
8046         (move_movables): Add parentheses around assignment used as
8047         truth value.
8048         (consec_sets_invariant_p): Likewise.
8049         (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
8050
8051         * objc/objc-act.c: Include stdlib.h.
8052         (lookup_method_in_protocol_list): Wrap empty else-statement body
8053         in braces.
8054         (lookup_protocol_in_reflist): Likewise.
8055         (objc_add_static_instance): Remove unused variables `decl_expr'
8056         and `decl_spec'.
8057         (get_objc_string_decl): Remove unused variable `decl'.
8058         (generate_static_references): Remove unused variables `idecl' and
8059         `instance'.
8060         (check_protocols): Wrap empty else-statement body in braces.
8061
8062         * protoize.c: Include stdlib.h.
8063         (substr): Add parentheses around assignment used as truth value.
8064         (abspath): Likewise.
8065         (shortpath): Likewise.
8066
8067         * regmove.c (fixup_match_1): Add parentheses around assignment
8068         used as truth value.
8069
8070         * reload.c (push_secondary_reload): Remove unused variable `i'.
8071         (find_reloads): Add parentheses around assignment used as truth
8072         value.
8073
8074         * reload1.c: Include stdlib.h.
8075
8076         * rtl.h: Correct typo in prototype of offsettable_memref_p.
8077
8078         * stmt.c (add_case_node): Add parentheses around assignment used
8079         as truth value.
8080         (case_tree2list): Likewise.
8081
8082         * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
8083         in macro VALID_MACHINE_DECL_ATTRIBUTE.  Wrap variable
8084         `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
8085         (merge_attributes): Add explicit braces to avoid ambiguous
8086         `else'.
8087
8088         * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
8089         macro HAVE_cc0.
8090
8091         * varasm.c: Include stdlib.h.
8092
8093
8094         * system.h: Remove sys/stat.h.
8095         * gcc.c: Add sys/stat.h.
8096
8097         * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
8098         * genattrtab.c: Likewise.
8099         * genconfig.c: Likewise.
8100         * genemit.c: Likewise.
8101         * genextract.c: Likewise.
8102         * genflags.c: Likewise.
8103         * genopinit.c: Likewise.
8104         * genoutput.c: Likewise.
8105         * genpeep.c: Likewise.
8106         * genrecog.c: Likewise.
8107         * tlink.c: Likewise.  Also wrap `getenv' in NEED_DECLARATION_GETENV.
8108
8109 Fri Feb 27 11:02:47 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8110
8111         * invoke.texi: Use @itemx for a secondary item in a @table.
8112
8113         * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
8114         zero.
8115
8116 Thu Feb 26 00:13:21 1998  Ian Lance Taylor  <ian@cygnus.com>
8117
8118         * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
8119
8120 Wed Feb 25 23:40:54 1998  Jeffrey A Law  (law@cygnus.com)
8121
8122         * i386.c (struct machine_function): Add new fields for PIC stuff.
8123         (save_386_machine_status): Fix argument to xmalloc.  Save pic_label_rtx
8124         and pic_label_name.
8125         (restore_386_machine_status): Corresponding changes.
8126         (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
8127
8128 Wed Feb 25 01:31:40 1998  Jeffrey A Law  (law@cygnus.com)
8129
8130         * c-parse.y (undeclared variable error): Tweak error message
8131         to be clearer.
8132
8133 Tue Feb 24 23:54:07 1998  Richard Henderson  <rth@cygnus.com>
8134
8135         * flags.h (g_switch_value, g_switch_set): Declare.
8136         * alpha.c (override_options): Set g_switch_value=8 if not set.
8137         * alpha/elf.h (CC1_SPEC): New.
8138         (ASM_SPEC): New.
8139         (LINK_SPEC): Pass along the -G value we were given.
8140         (LOCAL_ASM_OP): Remove.
8141         (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
8142         (MAX_OFILE_ALIGNMENT): New.
8143         (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
8144         (EXTRA_SECTIONS): Add sbss and sdata.
8145         (SECTION_FUNCTION_TEMPLATE): New.
8146         (EXTRA_SECTION_FUNCTIONS): Use it.
8147         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
8148         (SELECT_SECTION): Use sdata when small enough.
8149         * alpha/linux.h (ASM_SPEC): Remove.
8150
8151
8152 Mon Feb 23 15:09:18 1998  Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
8153         * config.sub (sco5): Fix typo.
8154
8155 Mon Feb 23 18:19:31 1998  Manfred Hollstein  <manfred@s-direktnet.de>
8156
8157         * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
8158         set to empty.
8159         * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
8160         * config/alpha/t-linux: Remove file.
8161         * config/sparc/t-linux: Remove file.
8162         * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
8163         * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
8164         * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
8165         for tmake_file.
8166         (alpha*-*-linux-gnu*): Likewise.
8167         (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
8168         (sparc-*-linux-gnu*): Likewise.
8169
8170 Mon Feb 23 10:47:39 1998  Robert Lipe  <robertl@dgii.com>
8171         * collect2.c (ldd_file_name): Bracket declaration with same
8172         manifests as use.
8173         (full_real_ld_suffix): Deleted.  Variable was calloced and
8174         written into, but never read.
8175
8176 1998-02-23  Mike Stump  <mrs@wrs.com>
8177
8178         * configure.in: Add support for i386-wrs-vxworks configuration.
8179         * i386/vxi386.h: New file.
8180
8181 Sun Feb 22 21:16:51 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
8182
8183         * tree.c (contains_placeholder_p): Ensure function always returns
8184         a value.
8185         * sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
8186         (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
8187
8188 Sun Feb 22 20:58:19 1998  Jeffrey A Law  (law@cygnus.com)
8189
8190         * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
8191
8192 1998-02-22  Paul Eggert  <eggert@twinsun.com>
8193
8194         * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
8195         Define this new symbol.
8196         (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
8197         * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
8198         LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
8199
8200 Sun Feb 22 20:07:32 1998  Jim Wilson  <wilson@cygnus.com>
8201
8202         * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
8203         * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
8204
8205 Sun Feb 22 15:29:48 1998  Richard Henderson  <rth@cygnus.com>
8206
8207         * objc/Object.m (-error): Call objc_verror with our va_list.
8208
8209 Sun Feb 22 09:45:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8210
8211         * collect2.c (scan_prog_file): Completely cover uses of variable
8212         `exports' with macro COLLECT_EXPORT_LIST.
8213
8214 Sat Feb 21 20:36:23 1998  Jeff Law  (law@cygnus.com)
8215
8216         * version.c: Bump for snapshot.
8217
8218 Fri Feb 20 16:22:13 1998  Michael Meissner  <meissner@cygnus.com>
8219
8220         * sched.c (schedule_block): Remove code to get arguments from hard
8221         regs into pseudos early.  Same as Aug 25, 1997 change to
8222         haifa-sched.c.
8223
8224 1998-02-20  Jason Merrill  <jason@yorick.cygnus.com>
8225
8226         * collect2.c (main): Still handle !do_collecting for non-AIX targets.
8227
8228 1998-02-16  Mark Mitchell  <mmitchell@usa.net>
8229
8230         * toplev.c (rest_of_compilation): Do not defer the output of a
8231         nested function.
8232
8233 Fri Feb 20 10:39:47 1998  Michael Tiemann  <michael@impact.tiemann.org>
8234
8235         * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
8236         continuation character (line 243).
8237
8238 Fri Feb 20 12:10:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8239
8240         * genrecog.c (main): Remove duplicated sentence in emitted comment.
8241
8242 Thu Feb 19 22:36:53 1998  Andrey Slepuhin  <pooh@msu.net>
8243                           David Edelsohn  <edelsohn@mhpcc.edu>
8244
8245         * collect2.c (XCOFF_SCAN_LIBS): Remove.
8246         (export_flag): New variable.
8247         (export_file): #ifdef COLLECT_EXPORT_LIST.
8248         (import_file, exports, imports, undefined): New variables.
8249         (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
8250         (dump_list, dump_prefix_list, is_in_list): New functions.
8251         (write_export_file): $ifdef COLLECT_EXPORT_LIST.
8252         (write_import_file, resolve_lib_name): New functions.
8253         (use_import_list, ignore_library): Same.
8254         (collect_exit): maybe_unlink import_file and #ifdef.
8255         (handler): Same.
8256         (main): New variable importf, #ifdef exportf.  Move parsing of
8257         -shared before general argument parsing.  Resolve AIX library
8258         paths and import libgcc.a symbols.  Treat .so shared libraries the
8259         same as objects and .a libraries.  Create alias for object_lst and
8260         increment it instead of original pointer.  Scan AIX libraries as
8261         objects earlier instead of using scan_libraries.  Perform AIX
8262         tlink later to resolve templates instead of forking ld.
8263         (GCC_OK_SYMBOL): Ensure symbol not in undef section.
8264         (GCC_UNDEF_SYMBOL): New macro.
8265         (scan_prog_file): Loop for members of AIX libraries.  Handle
8266         export/import of ctors/dtors.
8267         (aix_std_libs): New variable.
8268         (scan_libraries, XCOFF): Delete.
8269
8270 Thu Feb 19 22:36:52 1998  Robert Lipe   <robertl@dgii.com>
8271
8272         * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
8273
8274 1998-02-19  Mike Stump  <mrs@wrs.com>
8275
8276         * Makefile.in: Use $tooldir for sys-include to match toplevel
8277         configure.
8278
8279 Thu Feb 19 01:32:37 1998  Jeffrey A Law  (law@cygnus.com)
8280                           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8281
8282         * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
8283
8284         * emit-rtl.c (hard-reg-set.h): Include.
8285         (get_lowpart_common): Don't make new REG for hard reg in a
8286         class that cannot change size.
8287         * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
8288
8289         * combine.c: Revert previous patch.
8290
8291 1998-02-19  Paul Eggert  <eggert@twinsun.com>
8292
8293         * config/sparc/sol2-sld.h: New file.
8294         * configure.in (sparc-*-solaris2*): Use it when using the
8295         system linker.
8296
8297 Thu Feb 19 00:46:59 1998  Jeffrey A Law  (law@cygnus.com)
8298
8299         * loop.c (force_movables): Fix typo.
8300
8301 Thu Feb 19 08:26:30 1998  Manfred Hollstein <manfred@s-direktnet.de>
8302
8303         * m88k.h: Change file pattern to match reality.
8304
8305 Wed Feb 18 23:19:52 1998  Jeffrey A Law  (law@cygnus.com)
8306
8307         * varasm.c (output_constant_pool): Fix dumb thinko in last
8308         change.
8309
8310         * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
8311         a function name to a section name.
8312
8313 1998-02-18  Doug Evans  <devans@cygnus.com>
8314
8315         * tree.h (merge_machine_{type,decl}_attributes): Declare.
8316         (split_specs_attrs, strip_attrs): Add prototypes.
8317         * tree.c (merge_machine_{type,decl}_attributes): New functions.
8318         * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
8319         Update olddecl's attributes too.
8320         * c-common.c (strip_attrs): New function.
8321         * c-typeck.c (common_type): Call merge_machine_type_attributes.
8322         * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
8323         (make_decl_rtl): Likewise.
8324
8325 1998-02-18  Jim Wilson  <wilson@cygnus.com>
8326
8327         * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
8328
8329 Wed Feb 18 09:09:50 1998  Jeffrey A Law  (law@cygnus.com)
8330
8331         Remove this change until we can fix it correctly.
8332         * collect2.c: Bracket declaration of 'exportf' and
8333         'full_real_ld_suffix'.
8334
8335 Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
8336
8337         * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
8338
8339 Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
8340
8341         * c-common.c (c_expand_start_cond, c_expand_end_cond,
8342         c_expand_start_else): Don't warn about non-ambiguous else even if
8343         braces are missing.
8344
8345 Tue Feb 17 23:56:50 1998   Robert Lipe  <robertl@dgii.com>
8346
8347         * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
8348         ASM_OUTPUT_LONG_DOUBLE): Delete.   Use the ones from i386.h
8349         instead.
8350
8351 Tue Feb 17 22:56:14 1998  Richard Henderson  <rth@cygnus.com>
8352
8353         * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
8354         simplifying a subreg of a hard reg.
8355         (expand_compound_operation): Likewise.
8356         (force_to_mode): Likewise.
8357
8358 Tue Feb 17 22:37:22 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8359
8360         * fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
8361         (lshift_double): Add parentheses around + or - inside shift.
8362         (rshift_double): Likewise.
8363         (size_int_wide): Explicitly set type of `bit_p' to `int'.
8364
8365         * Makefile.in (fold-const.o): Depend on system.h.
8366
8367         * Makefile.in (gcc.o): Depend on system.h, in accordance with last
8368         change to gcc.c.
8369
8370         * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
8371         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
8372         (sched_note_set): Remove unused parameter `b', all callers changed.
8373         (schedule_block): Likewise for `rgn'.
8374         (split_hard_reg_notes): Likewise for `orig_insn'.
8375         (check_live): Likewise for `trg'.
8376         (update_live): Likewise.
8377         (check_live_1): Explcitly declare variable `i' as int.
8378         (update_live_1): Likewise.
8379         (insn_issue_delay): Remove unused variable `link'.
8380         (sched_analyze_2): Add default case in enumeration switch.
8381         (schedule_insns): Remove unused variable `i'.
8382
8383         * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
8384
8385 Tue Feb 17 22:31:04 1998  Jeffrey A Law  (law@cygnus.com)
8386
8387         * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
8388         a dangling else clause.
8389
8390 Tue Feb 17 21:28:12 1998  Gavin Koch  <gavin@cygnus.com>
8391
8392         * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
8393         pointer for the stack pointer in MIPS16 and 64BIT.
8394
8395 Tue Feb 17 21:17:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
8396
8397         * rtl.h (force_line_numbers, restore_line_number_status): Declare.
8398         * emit-rtl.c (force_line_numbers, restore_line_number_status):
8399         New functions.
8400         * stmt.c (struct nesting): Replace seenlabel with line_number_status.
8401         (expand_start_case): Adjust to this change.
8402         (check_seenlabel): New function.
8403         (pushcase, pushcase_range, expand_endcase): Use it.
8404
8405 Tue Feb 17 10:14:32 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8406
8407         * i386.md (adddi3): Add =!r,0,0,X alternative.
8408
8409 Mon Feb 16 16:13:43 1998  David Edelsohn  <edelsohn@mhpcc.edu>
8410
8411         * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
8412         * x-aix31 (INSTALL): Delete.
8413
8414 Mon Feb 16 09:24:32 1998  Gavin Koch  <gavin@cygnus.com>
8415
8416         * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
8417         tsize changes to something other than zero.
8418
8419 Mon Feb 16 09:11:48 1998  Gavin Koch  <gavin@cygnus.com>
8420
8421         * ginclude/va-mips.h: Replace casts of pointers to int with
8422         casts of pointers to __PTRDIFF_TYPE__.
8423
8424 Mon Feb 16 08:17:14 1998  John Carr  <jfc@mit.edu>
8425
8426         * loop.c (strength_reduce, record_biv, record_giv): Use
8427         HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
8428
8429 1998-02-16  Jason Merrill  <jason@yorick.cygnus.com>
8430
8431         * tree.c (first_rtl_op): New fn.
8432         (unsave_expr_now): Use it.
8433         * print-tree.c (print_node): Likewise.
8434         * tree.c (has_cleanups): New fn.
8435         * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it.  Be more
8436         conservative about pushing the cleanup point down.
8437         * tree.h: Declare them.
8438
8439 Sun Feb 15 23:28:44 1998  Jeffrey A Law  (law@cygnus.com)
8440
8441         * toplev.c (flag_schedule_reverse_before_reload): Delete variable.
8442         (flag_schedule_reverse_after_reload): Likewise.
8443         (f_options): Remove reverse scheduling support.
8444         * flags.h (flag_schedule_reverse_before_reload): Delete declaration.
8445         (flag_schedule_reverse_after_reload): Likewise.
8446         * haifa-sched.c (rank_for_schedule): Remove support for reverse
8447         scheduling.
8448
8449 Sun Feb 15 21:33:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8450
8451         * gcc.c: Get system includes, prototypes and macros via "system.h"
8452         instead of doing it manually.  Change all calls of the ctype
8453         macros to custom versions defined in "system.h".
8454
8455         * system.h: Fix return type of bcmp prototype from `void' to `int'.
8456         Make bcopy, bcmp and bzero prototypes explicitly `extern'.
8457         Add a prototype for getenv.
8458
8459 Sun Feb 15 17:05:41 1998  Jim Wilson  <wilson@cygnus.com>
8460
8461         * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
8462
8463 Sun Feb 15 15:23:15 1998  John Carr  <jfc@mit.edu>
8464
8465         * alias.c: Include <stdlib.h> and <string.h>.
8466         (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
8467
8468 Sat Feb 14 11:23:09 PST 1998 Jeff Law  (law@cygnus.com)
8469
8470         * version.c: Bump for snapshot.
8471
8472 Sat Feb 14 05:08:21 1998  Richard Earnshaw (rearnsha@arm.com)
8473
8474         * arm.md (movsfcc): Also validate operands[3] when compiling hard
8475         float.
8476         (movdfcc): Only accept fpu_add_operand for operands[3].
8477
8478         * arm/t-semi (STMP_FIXPROTO): Define to nothing.
8479         * arm/t-semiaof (STMP_FIXPROTO): Likewise.
8480
8481 Sat Feb 14 02:02:41 1998  Jeffrey A Law  (law@cygnus.com)
8482
8483         * varasm.c (output_constant_pool): Bring back 'done' label inside
8484         an appropriate #ifdef.
8485
8486         * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
8487         appropriate #ifdef.
8488         (bitmap_copy, bitmap_operation): Likewise.
8489         * combine.c (combinable_i3pat): Similarly for 'src'.
8490         * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
8491         (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
8492         * regclass.c (copy_cost): Similarly for 'secondary_class'.
8493         * reload.c (make_memloc): Simliarly for 'i'.
8494         (find_reloads_address_1): Similarly for 'link'.
8495         * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
8496         (emit_reload_insns): Similarly for 'second_reloadreg'.
8497         * unroll.c (iteration_info): Similarly for 'v'.
8498
8499         * caller-save.c (insert_save_restore): Remove unused variable 'i'.
8500         * calls.c (expand_call): Similarly for 'i'.
8501         (emit_library_call, emit_library_call_value): Similarly for 'mode'.
8502         * fold-const.c (strip_compund_expr): Similarly for 'type'.
8503         * function.c (fixup_var_refs_1): Similarly  for 'width'.
8504         (fixup_memory_subreg): Similarly for 'saved'.
8505         (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
8506         (setjmp_protect): Similarly for 'sub'.
8507         (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
8508         * loop.c (record_giv): Similarly for 'p'.
8509         (combine_givs): Similarly for 'temp_iv'.
8510         (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
8511         * recog.c (validate_replace_rtx_1): Similarly for 'width'.
8512         * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
8513         * unroll.c (unroll_loop): Similarly for 'copy'.
8514         (iteration_info): Similarly for 'b'.
8515         * varasm.c (assemble_string): Similarly for 'i'.
8516         * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
8517
8518 1998-02-13  Martin von Loewis  <loewis@informatik.hu-berlin.de>
8519
8520         * c-lang.c (lang_print_xnode): New function.
8521         * objc/objc-act.c (lang_print_xnode): Likewise.
8522         * print-tree.c (print_node): Call it
8523
8524 Fri Feb 13 14:38:34 1998  Jim Wilson  <wilson@cygnus.com>
8525
8526         * dwarf2out.c (decl_scope_node): New type.
8527         (decl_scope_table): Change type to use it.
8528         (decl_scope_table_allocated, decl_scope_depth): Change type to int.
8529         (push_decl_scope): Use new type.  New locals containing_scope, i.
8530         Add code to handle setting previous field.
8531         (scope_die_for): Change type of local i to int.  Add code to use
8532         previous field.
8533         (dwarf2out_init): Use new type.
8534
8535 1998-02-13  Jason Merrill  <jason@yorick.cygnus.com>
8536
8537         * except.c (emit_throw): Lose throw_used.
8538
8539 Fri Feb 13 20:36:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8540
8541         * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
8542         was deleted.
8543         * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
8544
8545 Fri Feb 13 12:18:40 1998  Jeffrey A Law  (law@cygnus.com)
8546
8547         * genextract.c (main): Fix typo.
8548
8549 Fri Feb 13 08:41:49 1998  Robert Lipe   <robertl@dgii.com>
8550
8551         * c-lang.c (finish_file): Bracket declaration of static_ctors,
8552         static_dtors.
8553
8554         * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
8555         'old_stack_arg_under_construction'
8556         (emit_library_call): Bracket declaration of 'upper_bound',
8557         'lower_bound', 'i', 'reg_parm_stack_space'
8558         (emit_library_call_value): Likewise.
8559         (store_one_arg):
8560
8561         * collect2.c: include <unistd.h> when appropriate.
8562         Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
8563
8564         * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
8565
8566         * explow.c (plus_constant_for_output_wide): Remove unused variable
8567         'code'.
8568         (memory_address): Remove unused variable 'orig_x'.
8569
8570         * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
8571         (write_const_num_delay_slots): Remove unused variable 'i'.
8572
8573         * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
8574         (gen_insn): Remove unused variable 'obstack_ptr'.
8575
8576         * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
8577         'j', 'tmp', 'i'.
8578         (__bb_exit_trace_func): Remove unused variable 'e'.
8579
8580         * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
8581         'funexp'.
8582         (expand_unop): Remove unused variable 'funexp'.
8583         (expand_complex_abs): Remove unused variable 'funexp'.
8584         (init_optabs): Bracket declaration of 'j'.
8585         (init_complex_libfuncs): Deleted.  Dead static function.
8586
8587         * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
8588
8589         * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
8590         (reg_to_stack): 'initialized', 'before_function_beg'
8591         explictly type as ints instead of defaulting.
8592         (emit_swap_insn): Remove unused variable 'i2'.
8593         (compare_for_stack_reg): Remove unused variable 'src_note'.
8594
8595         * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
8596
8597         * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
8598
8599         * stmt.c (add_case_node): Add parens for assignment used as truth.
8600         (all_cases_count):  Remove unused variable 'count_high'.
8601         (mark_seen_cases): Remove unused variable 'i'.
8602         (check_for_full_enumeration_handling): Remove unused variable 't'.
8603         Bracket declaration of  'all_values', 'l'.
8604
8605         * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
8606
8607         * varasm.c (assemble_string): Remove unused variable 'i'.
8608         (immed_double_const): Remove unused variable 'in_current_obstack'.
8609         (immed_real_const_1): Likewise.
8610         (output_constant_pool): Remove unreferenced label 'done'.
8611         (output_constant): Remove unused variable 'x'.
8612
8613         * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
8614         a string.
8615
8616         * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
8617         as truth.
8618
8619 Fri Feb 13 10:21:41 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8620
8621         * combine.c (can_combine_p): Handle USEs in PARALLELs.
8622
8623 Fri Feb 13 01:34:14 1998  H.J. Lu  (hjl@gnu.org)
8624
8625         * config/linux.h (LIB_SPEC): Add -lc for -shared if
8626         USE_GNULIBC_1 is not defined.
8627         * config/sparc/linux.h; Ditto.
8628
8629         * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
8630
8631         * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
8632         USE_GNULIBC_1 is not defined.
8633
8634 Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
8635
8636         * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux)
8637         for -mcall-linux
8638
8639 Fri Feb 13 01:23:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8640
8641         * system.h: New file to get common systems includes and various
8642         definitions and declarations based on autoconf macros.
8643
8644 Fri Feb 13 00:46:19 1998  Jeffrey A Law  (law@cygnus.com)
8645
8646         * cccp.c (new_include_prefix): Correctly handle -I./.
8647
8648 Thu Feb 12 20:16:35 1998  Michael Meissner  <meissner@cygnus.com>
8649
8650         * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
8651
8652 Thu Feb 12 16:45:17 1998  Robert Lipe  <robertl@dgii.com>
8653
8654         * expr.c (expand_assignment):  Correct typo exposed by -Wall.
8655         offset should have been a truth value, not an assignment.
8656
8657 Thu Feb 12 15:26:50 1998  Jeffrey A Law  (law@cygnus.com)
8658
8659         * cse.c (delete_dead_from_cse): If a libcall produces a constant
8660         result and that result can be substituted into SET_SRC of the
8661         insn with the REG_RETVAL note, then perform the substitution
8662         and delete the libcall.
8663
8664 Thu Feb 12 14:04:09 1998  Gavin Koch  <gavin@cygnus.com>
8665
8666         * mips.md (trucndihi2,truncdiqi2): Change these to support
8667         mips16.
8668
8669 Thu Feb 12 11:34:55 1998  Gavin Koch  <gavin@cygnus.com>
8670
8671         * mips/mips.c (movdi_operand): Direct referances to symbols
8672         that arn't mips16 consts in mips16 mode arn't valid operands.
8673
8674         * mips/mips.c (mips_move_2words): Add gprel handling.
8675
8676 Thu Feb 12 11:18:37 1998  Gavin Koch  <gavin@cygnus.com>
8677
8678         * mips.md (extendsidi2): Allow extension to/from a non-mips16
8679         register.
8680
8681 Thu Feb 12 00:04:16 1998  Marc Lehmann <pcg@goof.com>
8682
8683         * i386.c: Conditionally include <stdlib.h>, <string.h>, and
8684         <strings.h>.
8685
8686 Wed Feb 11 11:43:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8687
8688         * Makefile.in (WARN_CFLAGS): New variable.
8689         (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
8690
8691 1998-02-11  Mark Mitchell  <mmitchell@usa.net>
8692
8693         * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
8694         falling through default case in switch.
8695         (i386_aligned_p): Likewise.
8696
8697 Wed Feb 11 12:59:56 1998  Lee Iverson  <leei@Canada.AI.SRI.COM>
8698
8699         * mips/mips.h (mips_abi_string): Correct typo in comment.
8700
8701 Wed Feb 11 08:29:56 1998  Gavin Koch  <gavin@cygnus.com>
8702
8703         * mips/mips.md (movdi): These PLUS's need to be Pmode.
8704
8705 Wed Feb 11 01:47:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8706
8707         * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
8708         reorg.o, regmove.o): Depend on insn-codes.h, it gets included
8709         indirectly via expr.h.
8710
8711 Wed Feb 11 01:44:13 1998  Richard Henderson  <rth@cygnus.com>
8712
8713         * stor-layout.c (layout_type): Do upper - lower in the native type,
8714         so as to properly handle negative indices.
8715
8716 Wed Feb 11 01:35:55 1998  Robert Lipe   <robertl@dgii.com>
8717
8718         * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
8719         (expand_eh_region_start_tree): Remove unused variable 'note'.
8720         (exception_optimize): Remove unused variable 'regions'.
8721         (expand_builtin_eh_stub):  Remove unused variable 'temp'.
8722         (copy_eh_entry): Deleted.   Dead function.
8723
8724         * expr.c (move_block_to_reg) Bracket declaration of 'pat' and
8725         'last' with same #if HAVE_load_multiple as use of it.
8726         (move_block_from_reg): Likewise.
8727         (emit_move_insn_1): Remove unused variable 'insns'.
8728         (store_constructor): Bracket declaration of startb, endb with
8729         #if TARGET_MEMFUNCTIONS.  Remove unused variables 'set_word_size'
8730         'target', and 'xtarget'.
8731         (expand_builtin_setjmp): Remove unused variables 'op0',
8732         'next_arg_reg', 'old_inhibit_defer_pop'.
8733         (expand_builtin): Remove unused variable 'offset'.
8734         (do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
8735         (emit_queue): Add parens for assignment used as conditional.
8736         (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'.
8737
8738 Wed Feb 11 01:30:49 1998  Marc Lehmann <pcg@goof.com>
8739
8740         * i386.c: Added include for recog.h.
8741         (override_options): Removed unused variable p. Initialized regno to
8742         avoid warning.
8743         (order_regs_for_local_alloc): Initialized regno to avoid warning.
8744         (legitimize_address): Likewise for 'other'.
8745         (i386_aligned_reg_p): Added default case with abort ().
8746         (print_operand): Likewise.
8747         (reg_mentioned_in_mem): Likewise.
8748         (ix86_expand_binary_operator): Removed unused variables i & insn.
8749         (ix86_expand_unary_operator): Removed unused variable insn.
8750         (output_fp_cc0_set): Removed unused variable unordered_label.
8751
8752 Wed Feb 11 01:23:03 1998  John F. Carr  <jfc@mit.edu>
8753
8754         * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
8755         Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
8756         and format string match.
8757
8758 Wed Feb 11 01:17:39 1998  Jeffrey A Law  (law@cygnus.com)
8759
8760         * flow.c (life_analysis): Do not conside the stack pointer live at
8761         the end of a function if the fucntio ncalls alloca.
8762         (mark_used_regs): Similarly.
8763
8764 1998-02-10  John F Carr  <jfc@mit.edu>
8765
8766         * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
8767         1, fzero on alternative 8.
8768
8769 Tue Feb 10 09:02:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8770
8771         * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
8772
8773 Tue Feb 10 03:35:43 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8774
8775         * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
8776         SUBREGs of CONST_INTs.
8777
8778 Mon Feb  9 17:52:36 1998  John Carr  <jfc@mit.edu>
8779
8780         * mips.c (print_operand, function_prologue): Make printf format
8781         match argument type.
8782
8783 Mon Feb  9 02:37:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8784
8785         * alpha.c (alpha_return_addr): Remove unused variable `first'.
8786         (alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
8787         (output_epilog): Remove unused variable `frame_size_from_reg_save'.
8788
8789 Sun Feb  8 14:56:03 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8790
8791         * loop.c (strength_reduce): When placing increment for auto-inc
8792         case, do comparison in loop order.
8793
8794 Sun Feb  8 13:21:38 1998  John Carr  <jfc@mit.edu>
8795
8796         * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
8797         not a HOST_WIDE_INT.
8798
8799         * calls.c (expand_call): Change test of expand_inline_function
8800         return value to stop compiler warning.
8801
8802         * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
8803
8804 Sun Feb  8 12:04:24 1998  Jim Wilson  (wilson@cygnus.com)
8805                           Jeff Law (law@cygnus.com)
8806
8807         * regmove.c: Fix various minor formatting problems.
8808         (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
8809         is true.  Make end of basic block tests consistent through regmove.c.
8810         (optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
8811         (fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
8812
8813 Sun Feb  8 01:49:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8814
8815         * gansidecl.h: Check for a conflicting macro definition before
8816         attempting to prototype bcopy, bcmp or bzero.
8817
8818 Sun Feb  8 00:09:59 1998  Jeffrey A Law  (law@cygnus.com)
8819
8820         * expr.c (clear_pending_stack_adjust): Handle case where a function
8821         calls alloca, but the user has specified -fomit-fframe-pointer.
8822
8823         * function.c (assign_parms): Fix typo in last change.
8824
8825 Sat Feb  7 23:54:29 1998   Robert Lipe  <robertl@dgii.com>
8826
8827         * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
8828         <fcntl.h>.
8829         (free_path_suffix): Remove unreferenced static function.
8830         (process_command): Remove unused variable temp.
8831         (default_arg): Remove unused variable i.
8832         (do_spec_1):  Add parens for assignment used as truth value.
8833         (main): Likewise.
8834         (validate_all_switches): Likewise.
8835         (main): Remove unused variables i, first_time>
8836
8837         * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
8838
8839         * calls.c (expand_call): Remove unused variables funtree,
8840         n_regs, and tmpmode.
8841
8842         * dbxout.c, except.c: Include <string.h>/<strings.h>.
8843
8844         * explow.c: (plus_constant_for_output_wide) Removed unused
8845         variable all_constant.
8846
8847         * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
8848         genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
8849         genrecog.c, global.c, integrate.c , stupid.c : Include
8850         <stdlib.h>.
8851
8852         * genextract.c: (walk_rtx) Remove unused variable link.
8853
8854         * genrecog.c: (concat) Remove unreferenced static function.
8855
8856         * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
8857
8858         * stmt.c: Include <stdlib.h>.
8859         (expand_asm_operands): Remove unused variable val1.
8860         (expand_return): Remove unused variable block.
8861         (pushcase): Remove unused variables l and n.
8862         (pushcaserange): Likewise.
8863
8864         * unroll.c (unroll_loop): Remove unused variable temp.
8865
8866 Sat Feb  7 23:46:09 1998  Greg McGary  <gkm@gnu.org>
8867
8868         * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
8869
8870 Sat Feb  7 15:11:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8871
8872         * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
8873         functions for whether they support the %p format specifier.
8874         * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
8875         * configure.in (GCC_FUNC_PRINTF_PTR): Use it.
8876         * configure, config.in: Rebuild.
8877
8878 Fri Feb  6 14:20:16 1998  Jim Wilson  <wilson@cygnus.com>
8879
8880         * function.c (assign_parms): New variable named_arg, with value
8881         depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
8882
8883 Fri Feb  6 14:34:28 1998  Gavin Koch  <gavin@cygnus.com>
8884
8885         * mips/t-r3900: New - same as t-ecoff but eliminate
8886         multilibs: mips1 and mips3.
8887         * configure.in (tx39*): Use new mips/t-r3900.
8888         * configure: Rebuild.
8889         * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
8890
8891 1998-02-06  Jason Merrill  <jason@yorick.cygnus.com>
8892
8893         * dwarf2out.c: Add old_args_size.
8894         (dwarf2out_args_size): Use it.
8895         (dwarf2out_begin_prologue): Initialize it.
8896         (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
8897         pushed args until we see a call.
8898         * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
8899         before outputting them.
8900
8901 1998-02-06  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
8902
8903         * cplus-dem.c (demangle_template_template_parm): New function.
8904         (demangle_template): Handle template template parameters.
8905
8906 1998-02-02  Mark Mitchell  <mmitchell@usa.net>
8907
8908         * calls.c (expand_call): Don't confuse member functions named
8909         realloc, setjmp, and so forth with the standard library
8910         functions of the same names.
8911
8912 Thu Feb  5 21:59:49 1998  Jeffrey A Law  (law@cygnus.com)
8913
8914         * stmt.c (expand_asm_operands): Correctly identify asm statements
8915         no output operands.
8916
8917 Thu Feb  5 21:56:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
8918
8919         * c-common.c (decl_attributes): Flag unrecognized attribute
8920         functions as warnings instead of as errors.
8921
8922 1998-02-05  Marc Lehmann  <pcg@goof.com>
8923
8924         * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
8925         when -Os is specified.
8926         * toplev.c (main): Don't disable flag_inline_functions anymore when
8927         -Os is in effect.
8928
8929 Fri Feb  6 00:27:36 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8930
8931         * regmove.c: Update.
8932         * flags.h (flag_regmove): Declare.
8933         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
8934         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
8935         Moved into regmove; changed caller.
8936         * toplev.c (rest_of_compilation): Call regmove_optimize also for
8937         expensive_optimizations.
8938
8939 Thu Feb 5 13:38:42 PST 1998 Jeff Law  (law@cygnus.com)
8940
8941         * version.c: Bump for snapshot.
8942
8943 Thu Feb  5 01:45:19 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8944         Undo this change (the problem was actually in reload):
8945         Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
8946
8947           * sh.md (movqi_i+1): New peephole.
8948
8949 Tue Feb  3 01:11:12 1998  Jeffrey A Law  (law@cygnus.com)
8950
8951         * jump.c (jump_optimize): Lose calls to modified_in_p they are
8952         not needed anymore due to changes elsewhere in jump.c.
8953
8954         * jump.c (jump_optimize): Fix first arg to modified_in_p in
8955         previous change.
8956
8957 Mon Feb  2 19:18:14 1998  Richard Henderson  <rth@cygnus.com>
8958
8959         * expr.c (expand_builtin_setjmp): Accept two new arguments for
8960         the labels to branch to on first and subsequent executions.  Don't
8961         play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
8962         and provide it with the jmp_buf.  Use only one of
8963         `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
8964         and provide the former with the target label.
8965         (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
8966         (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
8967         (expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
8968         insn to replace all of the normal nonlocal_goto code.  Don't play
8969         with __dummy.  Correct arguments to nonlocal_goto.
8970         * expr.h (expand_builtin_setjmp): Update prototype.
8971         * except.c (start_dynamic_handler): When using builtin_setjmp,
8972         generate more accurate flow information.
8973
8974         * alpha.md (nonlocal_goto_receiver_osf): Delete.
8975         (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
8976         (builtin_longjmp, builtin_setjmp_receiver): New.
8977         * sparc.md (update_return): Disambiguate unspec number.
8978         (nonlocal_goto): Rearrange arguments to match caller in except.c.
8979         (builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
8980         jmp_buf operand.
8981         * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
8982         (builtin_setjmp_setup*, builtin_longjmp): New.
8983
8984 Mon Feb  2 16:43:10 1998  John Carr  <jfc@mit.edu>
8985
8986         * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
8987
8988 Mon Feb  2 13:06:47 1998  Jim Wilson  <wilson@cygnus.com>
8989
8990         * vmsconfig.com: Remove bytecode references.
8991
8992 1998-01-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
8993
8994         * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
8995         -fno-sjlj-exceptions works for a target that defines
8996         DWARF2_UNWIND_INFO as zero.
8997
8998         * regmove.c (fixup_match_1): Undo last change which removed some
8999         "useless" code, and add a comment explaining this.
9000
9001 Mon Feb  2 10:47:14 1998  Gavin Koch  (gavin@cygnus.com)
9002
9003         * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
9004         to TARGET_LONG64.
9005
9006 Mon Feb  2 10:38:41 1998  Klaus Kaempf  <kkaempf@progis.de>
9007
9008         * makefile.vms: Remove bytecode references.
9009         Create genrtl files.
9010
9011 Mon Feb  2 02:08:04 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
9012
9013         * jump.c (jump_optimize): Allow conditional loading of floating point
9014         constants and constants from memory.  Reinstalled modified_in_p tests.
9015
9016 Mon Feb  2 01:38:39 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9017
9018         * loop.c (get_condition): Handle sign-extended constants.
9019
9020 Mon Feb  2 01:22:46 1998  Hans-Peter Nilsson  <hp@axis.se>
9021
9022         * expr.c (emit_push_insn): Add code to use movstrti if present.
9023
9024         * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
9025         and movstrqi as in emit_block_move ().
9026
9027 Mon Feb  2 00:09:52 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
9028
9029         * config/m68k/x-next: Remove /NextDeveloper/Headers from
9030         the directories to fixinclude - /usr/include is a link
9031         to it and hence its contents are fixed by default.
9032
9033 Sun Feb  1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
9034
9035         * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
9036
9037 Sun Feb  1 13:01:15 1998  Klaus Kaempf  <kkaempf@progis.de>
9038
9039         * cccp.c (main): Predefine __VMS_VER on VMS.
9040
9041 Sun Feb  1 12:39:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9042
9043         * expr.c (get_inner_reference): Use sbitsizetype for type sizes.
9044         * fold-const.c (size_int): Replace with
9045         (size_int_wide).
9046         (make_bit_field_ref): Use bitsize_int for bit position.
9047         * stor-layout.c (sizetype): Delete.
9048         (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
9049         (layout_record, layout_union, layout_type):
9050         Use bitsize_int for bit size.
9051         (set_sizetype): New function.
9052         (make_signed_type, make_unsigned_type): Use it.
9053         * c-decl.c (init_decl_processing): Likewise.
9054         * tree.h (size_int): Don't delcare, #define.
9055         (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
9056         (set_sizetype): Declare.
9057         (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
9058         Define.
9059         * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
9060         Convert result to sizetype.
9061         (really_start_incremental_init, push_init_level):
9062         Set type of constructor_bit_index to sbitsizetype.
9063         (push_init_level): Use unsigned arithmetic to determine padding.
9064         (output_init_element): Likewise.
9065
9066 Sun Feb  1 03:32:07 1998  Jeffrey A Law  (law@cygnus.com)
9067
9068         * combine.c (simplify_shift_const): Fix typo in last change.
9069
9070 Sun Feb  1 02:50:46 1998  John Carr  <jfc@mit.edu>
9071
9072         * combine.c (simplify_shift_const):  (lshiftrt (truncate (lshiftrt)))
9073         is (truncate (lshiftrt)).
9074
9075 Sun Feb  1 01:06:53 1998  Richard Henderson  <rth@cygnus.com>
9076
9077         * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
9078         Make sure result winds up in TGT.
9079         (alpha_expand_unaligned_store): Use expand_binop properly.  Allow
9080         src to be other than DImode.
9081         (alpha_expand_unaligned_load_words): Tidy.  Take an offset argument.
9082         (alpha_expand_unaligned_store_words): Likewise.
9083         (alpha_expand_block_move): Use REGNO_POINTER_ALIGN.  Restructure so
9084         that source and destination are separately optimized for alignment.
9085         (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
9086
9087 Sun Feb  1 01:55:09 1998  Jeffrey A Law  (law@cygnus.com)
9088
9089         * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
9090         with handling of -32768.
9091
9092 Sun Feb  1 01:48:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9093
9094         * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
9095         shell variable argument instead of only hard coded functions.
9096         (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
9097
9098         * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
9099         call.  Collapse multiple calls to GCC_NEED_DECLARATION into one
9100         call to GCC_NEED_DECLARATIONS (new macro.)  Check if we need
9101         declarations for bcopy, bcmp and bzero.
9102
9103         * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
9104
9105         * gansidecl.h: If we have bcopy but don't declare it, then do so.
9106         Likewise for bcmp and bzero.  Only define macros for bcopy, bcmp,
9107         bzero, index and rindex if they aren't already present.
9108
9109 Sat Jan 31 11:26:58 1998  Jeffrey A Law  (law@cygnus.com)
9110
9111         * toplev.c (close_dump_file): Wrap function prototype for
9112         argument "func" in PROTO.
9113         (dump_rtl): Likewise.
9114
9115 Fri Jan 30 22:30:39 1998  John Carr  <jfc@mit.edu>
9116
9117         * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
9118         MASK_V8PLUS.
9119         (output_function_epilogue): Omit epilogue if nothing drops through.
9120         (output_move_double): Supress int ldd usage on ultrasparc and v9.
9121         (registers_ok_for_ldd_peep): Likewise.
9122         (print_operand): Supress b,a on ultrasparc.  Let Y accept a constant.
9123         (ultrasparc_adjust_cost): New function.
9124         (sparc_issue_rate): New function.
9125         * sparc.h (MASK_VIS, TARGET_VIS): New
9126         (MASK_V8PLUS, TARGET_V8PLUS): New.
9127         (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
9128         (TARGET_SWITCHES): Add vis and v8plus.
9129         (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
9130         (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
9131         (RTX_COSTS): Use TARGET_HARD_MUL
9132         (ADJUST_COST): Call ultrasparc_adjust_cost.
9133         (ISSUE_RATE): New.
9134         * sparc.md (attr type): Add sload, fpmove, fpcmove.  Adjust users
9135         of load & fp appropritely.
9136         (supersparc function units): Adjust for Haifa.
9137         (ultrasparc function units): Likewise.
9138         (get_pc_via_rdpc): All v9, not just arch64.
9139         (movdi_v8plus, movdi_v8plus+1): New.
9140         (adddi3_sp32+1): New.
9141         (subdi3_sp32+1): New.
9142         (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
9143         (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
9144         (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
9145         (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
9146         (one_cmpldi2_sp32, one_cmplsi2): Likewise.
9147         (ldd peepholes): Suppress for v9.
9148         (return_adddi): Kill redundant test.  Arg1 may be arith_operand.
9149         (return_subsi): Revmove.
9150
9151 Fri Jan 30 18:30:03 1998  John F Carr  <jfc@mit.edu>
9152
9153         * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
9154         save/restore MEM rtl.
9155
9156 Fri Jan 30 09:08:16 1998  Jeffrey A Law  (law@cygnus.com)
9157
9158         * configure.in: Check for declaration of abort.
9159         * acconfig.h: Corresponding changes.
9160         * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
9161         be declared.
9162
9163 Thu Jan 29 20:26:12 1998  Jeffrey A Law  (law@cygnus.com)
9164
9165         * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
9166         uses it.
9167
9168 Thu Jan 29 09:27:56 PST 1998 Jeff Law  (law@cygnus.com)
9169
9170         * version.c: Bump for snapshot.
9171
9172 Thu Jan 29 10:12:27 1998  Jeffrey A Law  (law@cygnus.com)
9173
9174         * configure.in: Check for atoq and atoll.
9175         * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
9176         proper routine for converting ascii into long long values.
9177
9178 Thu Jan 29 01:28:14 1998  Klaus Kaempf  <kkaempf@progis.de>
9179
9180         * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
9181
9182         * vmsconfig.com: Remove bytecode references.
9183
9184         * alpha/vms.h (PREFIX): Define.
9185
9186         * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
9187
9188         * am-alpha.h: Don't include alloca for OPEN_VMS.
9189
9190         * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
9191
9192         * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
9193         (GCC_INCLUDE_DIR): Define
9194
9195         * make-cc.com, make-cccp.com, make-cc1.com: Removed.
9196         * makefile.vms: New file.
9197
9198         * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
9199
9200         * alpha.c (output_prolog): Output '.name' directive
9201         for minimal traceback information.
9202
9203         * alpha.c (output_prolog): Don't prepend entry point symbols
9204         with '$' on OPEN_VMS.
9205
9206 Thu Jan 29 00:25:35 1998  David S. Miller  <davem@tanya.rutgers.edu>
9207                           Jeffrey A Law  (law@cygnus.com)
9208
9209         * rtl.c (read_rtx): Use atol/atoq based upon disposition of
9210         HOST_WIDE_INT.
9211
9212         * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
9213         as needed.
9214         * genemit.c (gen_exp): Likewise.
9215         * genpeep.c (match_rtx): Likewise.
9216         * genrecog.c (write_tree_1): Likewise.
9217
9218         * c-lex.c (yyprint): Use proper format string based upon
9219         disposition of HOST_BITS_PER_WIDE_INT.
9220         (yylex): Put casts in right place for args to build_int_2.
9221
9222 Thu Jan 29 00:24:29 1998  Jeffrey A Law  (law@cygnus.com)
9223
9224         * combine.c: Fix typos in Jan27 changes.
9225
9226 Thu Jan 29 00:07:49 1998  Ollivier Robert <roberto@keltia.freenix.fr>
9227
9228         * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
9229         (LINK_SPEC): Likewise.
9230         (STARTFILE_SPEC): Likewise.
9231
9232 1998-01-28  Mike Stump  <mrs@wrs.com>
9233
9234         * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
9235         reload completes.
9236         * genattrtab.c (reload_completed): Define.
9237
9238         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
9239         comments.
9240
9241 Wed Jan 28 20:11:06 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9242
9243         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
9244         SUBREG_REG if the word count is unchanged, also in the input reload
9245         case.  Disable non-applicable sanity checks.
9246
9247 Wed Jan 28 20:08:26 1998  Jeffrey A Law  (law@cygnus.com)
9248
9249         * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
9250
9251 Wed Jan 28 20:04:43 1998  Ian Lance Taylor  <ian@cygnus.com>
9252
9253         * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
9254
9255 Wed Jan 28 11:45:27 1998  Per Bothner  <bothner@cygnus.com>
9256
9257         * dbxout.c (dbxout_type):  For a RECORD_TYPE, check that TYPE_BINFO
9258         is a TREE_VEC before trying to use it for baseclasses.
9259         (Chill uses the same field for a different purpose.)
9260
9261         * toplev.c (strip_off_ending):  Generalize to endings up to 5 chars.
9262
9263 Tue Jan 27 23:15:55 1998  Lassi A. Tuura  <lat@iki.fi>
9264
9265         * config.sub: More accurate determination of HP processor types.
9266
9267 Tue Jan 27 23:11:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9268
9269         * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>.  Add
9270         prototype for `handle_sysv_pragma', and make it static.  Add
9271         parentheses around assignment used as truth value.
9272
9273         * combine.c (combine_instructions): Protect variable `prev' with
9274         macro HAVE_cc0.
9275         (can_combine_p): Protect variable `link' with AUTO_INC_DEC.
9276         (extract_left_shift): Add parentheses around operand of &.
9277         (merge_outer_ops): Avoid an empty body in an else-statement.
9278         (gen_rtx_combine): Remove unused variable `i'.
9279
9280         * sparc/gmon-sol2.c: Include <fcntl.h>.  Make return type of
9281         function monstartup `void'.  Likewise for internal_mcount.  Add
9282         `static void' prototype for moncontrol.  Reconcile sprintf format
9283         vs. args.
9284
9285         * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
9286         Make return type of function_arg_slotno explicitly `int'.
9287         (reg_unused_after): Add parentheses around assignment used as
9288         truth value.
9289         (save_regs): Add explicit braces to avoid ambiguous `else'.
9290         (function_arg_slotno): Add parentheses around && within ||.
9291         (function_arg_pass_by_reference): Likewise.
9292         (sparc_flat_output_function_prologue): Reconcile fprintf format
9293         vs. args.
9294
9295         * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
9296         assignment used as truth value.
9297
9298         * cplus-dem.c: Include <stdlib.h>.
9299         (demangle_signature): Avoid an empty body in an else-statement.
9300         (do_type): Remove unused variable `lvl'.
9301
9302         * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
9303         Include <string.h>/<strings.h>.
9304         (cpp_lex): Remove unused variable `namelen'.
9305         (cpp_lex): Explicitly declare `num_chars' as an int.
9306
9307         * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
9308         <unistd.h> instead.  Explicitly declare is_system_include
9309         returning int.
9310         (make_assertion): Remove unused variable `kt'.
9311         (cpp_expand_to_buffer): Hide variable `obuf'.
9312         (output_line_command): Remove unused variables, `line_end',
9313         `line_cmd_buf' and `len'.
9314         (macarg): Remove unused variable `arg_start'.
9315         (special_symbol): Remove unused variable `i'.  Add parentheses
9316         around assignment used as truth value.
9317         (do_include):  Remove unused variables `pcfname' and `retried',
9318         hide `pcf' and `pcfbuflimit'.
9319         (do_line): Remove unused variable `i'.
9320         (finclude): Hide variable `missing_newline'.
9321         (cpp_handle_options): Remove unused variable `j'.
9322         (read_token_list): Remove unused variable `eofp'.
9323         (cpp_error_with_line): Remove unused variable `i'.
9324         (cpp_warning_with_line): Likewise.
9325         (cpp_pedwarn_with_line): Explicitly declare `column' as int.
9326         (cpp_error_from_errno): Remove unused variable `i'.
9327
9328         * cse.c (invalidate): Add parentheses around assignment used as
9329         truth value.
9330         (find_best_addr): Move declaration of variable `our_cost' inside
9331         the conditional macro where its used.
9332         (fold_rtx): Avoid an empty body in an if-statement.
9333         (cse_insn): Wrap variables  `this_insn_cc0_mode' and
9334         `this_insn_cc0' in macro HAVE_cc0.
9335
9336         * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
9337         (ASM_OUTPUT_DWARF_DATA8):  Reconcile format vs. args in fprintf's.
9338         (output_uleb128): Likewise.
9339         (output_sleb128): Likewise.
9340         (output_cfi): Likewise.
9341         (output_call_frame_info): Remove unused variables `j', `fde_size'
9342         and `fde_pad'.
9343         (comp_unit_has_inlines): Hide declaration as per rest of file.
9344         (size_of_line_prolog): Correct typo in prototype.
9345         (add_arange): Likewise.
9346         (output_aranges): Likewise.
9347         (add_name_and_src_coords_attributes): Likewise.
9348         (gen_array_type_die): Likewise.
9349         (gen_inlined_subroutine_die): Likewise.
9350         (equate_decl_number_to_die): Remove unused variable `i'.
9351         (print_die): Reconcile format vs. args in fprintf's.
9352         (print_dwarf_line_table): Likewise.
9353         (output_die): Likewise.
9354         (output_line_info): Likewise.
9355         (add_subscript_info): Avoid an empty body in an else-statement.
9356         (gen_subprogram_die): Remove unused variable `fp_loc'.
9357
9358         * dwarfout.c: Explicitly declare `next_pubname_number' as int.
9359         Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
9360         macro.  Protect `src_coords_attribute' prototype with
9361         DWARF_DECL_COORDINATES macro.  Hide `output_entry_point_die'
9362         prototype as in the rest of the file.  Likewise for
9363         `output_pointer_type_die' and `output_reference_type_die'.  Remove
9364         prototype for `type_of_for_scope'.
9365         (output_unsigned_leb128): Reconcile format vs. args in fprintf.
9366         (type_attribute): Add explicit braces to avoid ambiguous `else'.
9367
9368         * final.c: Include <stdlib.h> and <string.h>/<strings.h>.
9369         (shorten_branches): Protect declaration of tmp_length with
9370         SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
9371         (profile_function): Protect declaration of `sval' and `cxt'
9372         variables with appropriate macros.
9373         (final_scan_insn): Likewise for `note' variable.  Add explicit
9374         braces to avoid empty body in an if-statement.
9375         (output_asm_insn): Move variable `i' inside macro conditional
9376         where it is used.  Add parentheses around assignment used as truth
9377         value.
9378         (asm_fprintf) Likewise, likewise.
9379
9380         * fix-header.c (main): Remove unused variable `done'.  Protect
9381         declaration of `i' with FIXPROTO_IGNORE_LIST.
9382
9383         * pexecute.c: Include <unistd.h>.  Prototype `my_strerror'.
9384
9385         * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
9386         `ind'.
9387
9388         * profile.c: Include <string.h>/<strings.h>.
9389         (instrument_arcs): Remove unused variables `note', `inverted',
9390         `zero' and `neg_one'.
9391         (branch_prob): Avoid empty body in an if-statement.
9392
9393         * regclass.c: Include <stdlib.h>.
9394         (reg_alternate_class): Explicitly declare parameter `regno'.
9395
9396         * regmove.c (regmove_optimize): Remove unused variable `p'.  Add
9397         parentheses around assignment used as truth value.
9398         (find_matches):  Remove unused variables `output_operand' and
9399         `matching_operand'.
9400         (fixup_match_1): Remove statement with no effect: "if (0) ;".
9401
9402         * scan.c (sstring_append): Explicitly declare `count' as int.
9403         (scan_string): Explicitly declare parameter `init' as int.
9404
9405         * sched.c: Include <stdlib.h>.
9406         (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
9407         (rank_for_schedule): Add parentheses around assignment used as
9408         truth value.
9409         (schedule_block): Likewise.
9410         (regno_use_in): Likewise.
9411         (schedule_insns): Remove unused variable `i'.
9412
9413         * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
9414         (v_message_with_decl): Remove unused variable `n'.
9415         (botch): Explicitly declare parameter `s' as char *.
9416         (main): Add parentheses around assignment used as truth value.
9417
9418         * tree.c (make_node): Protect the variable `kind' with the
9419         GATHER_STATISTICS macro.
9420         (real_value_from_int_cst): Move variable `e' inside conditional
9421         macro area where it is used.
9422         (tree_last): Add parentheses around assignment used as truth value.
9423         (build1): Protect the variable `kind' with the GATHER_STATISTICS
9424         macro.
9425         (print_obstack_statistics): Reconcile format vs. args in fprintf.
9426         Protect variables `i', `total_nodes', and `total_bytes' with the
9427         GATHER_STATISTICS macro.
9428
9429 Tue Jan 27 23:01:55 1998  Mike Stump  (mrs@wrs.com)
9430
9431         * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
9432         some comments regarding use of dead_or_set_p.
9433
9434 Tue Jan 27 22:14:48 1998  Todd Vierling <tv@pobox.com>
9435
9436         * fixincludes: Tweak fix for struct exception in math.h
9437
9438 Tue Jan 27 17:21:09 1998  Gavin Koch  (gavin@cygnus.com)
9439
9440         * mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
9441         Change mode of registers used to add/sub from
9442         hard_frame_pointer_rtx from word_mode to Pmode.
9443
9444 Tue Jan 27 11:02:04 1998  Nick Clifton  <nickc@cygnus.com>
9445
9446         * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
9447         asm_output_aligned_bss() instead of asm_output_bss().
9448
9449         * toplev.c (rest_of_compilation): Replace references to
9450         stack_reg_dump_file and dbr_sched_dump_file with references to
9451         rtl_dump_file.
9452
9453 Tue Jan 27 10:22:13 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
9454
9455         * tlink.c (scan_linker_output): Call fclose() for opened files.
9456
9457 Tue Jan 27 05:05:26 1998  Richard Henderson  <rth@cygnus.com>
9458
9459         * alpha.c (output_epilog [!VMS]): Don't tag global functions if
9460         compiling with -fpic -- we want to be able to override symbols
9461         properly.
9462         (alpha_expand_block_move): Fix thinko in last change.
9463
9464         * alpha.h (ASM_OUTPUT_MI_THUNK): New define.
9465         * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
9466         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
9467
9468 Tue Jan 27 03:21:23 1998  Richard Henderson  <rth@cygnus.com>
9469
9470         * alpha.md (abssf, absdf): Revert last change.
9471
9472 Tue Jan 27 00:26:50 1998  John Carr  <jfc@mit.edu>
9473
9474         * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
9475         * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
9476
9477 Tue Jan 27 00:07:02 1998  Jeffrey A Law  (law@cygnus.com)
9478
9479         * emit-rtl.c (gen_lowpart_common): Handle more case where converting
9480         a CONST_INT into SFmode.
9481
9482 Tue Jan 20 16:01:03 1998  Anthony Green  <green@cygnus.com>
9483
9484         * flags.h: New flag (optimize_size).
9485         * toplev.c (main): Parse -Os option and set optimize_space
9486         accordingly.
9487         * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
9488         __OPTIMIZE_SIZE__ when compiling with -Os.
9489         * config/dsp16xx/dsp16xx.h, config/i386/i386.h,
9490         config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
9491         config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
9492         to macro.
9493         * config/i386/i386.c (optimization_options): Accept new SIZE argument.
9494
9495 Mon Jan 26 23:57:39 1998  Manfred Hollstein  <manfred@s-direktnet.de>
9496
9497         * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
9498         stuff only if MCT_TEXT is #define'd.
9499
9500 Mon Jan 26 23:52:51 1998  Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
9501
9502         * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
9503         configurations.
9504
9505 Fri Jan 23 09:39:36 1998  Nick Clifton  <nickc@cygnus.com>
9506
9507         * toplev.c: Add -dM command line option to dump RTL after the
9508         machine dependent reorganisation pass, if there is one.
9509         Reorganise RTL dump code, so that only one file handle is
9510         needed.
9511
9512 Mon Jan 26 12:09:42 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
9513
9514         * except.c (check_exception_handler_labels): Disable warning when
9515         flag_syntax_only.
9516
9517 Mon Jan 26 18:17:32 1998  Jim Wilson  <wilson@cygnus.com>
9518
9519         * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
9520
9521 Mon Jan 26 18:11:30 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9522
9523         * c-decl.c (grokdeclarator): Get parameter tags from
9524         last_function_parm_tags.
9525         * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
9526         traversing the parameter types.
9527         (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
9528
9529 Mon Jan 26 01:44:12 1998  Jeffrey A Law  (law@cygnus.com)
9530
9531         * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
9532         the default case.
9533         (get_shift_alg): Fix typo.
9534
9535 Sun Jan 25 22:22:04 1998  Richard Henderson  <rth@cygnus.com>
9536
9537         * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
9538
9539 Sun Jan 25 22:14:28 1998  Richard Henderson  <rth@cygnus.com>
9540
9541         * toplev.c (get_run_time): Make sure each case gets its variables.
9542
9543 Sun Jan 25 22:10:21 1998  Richard Henderson  <rth@cygnus.com>
9544
9545         * configure.in (build_xm_file): Add auto-config.h if host=build.
9546         (host_xm_file_list): Don't add $(srcdir) to auto-config.h.
9547         (build_xm_file_list): Likewise.
9548         * configure: Rebuild.
9549
9550 Sun Jan 25 22:00:25 1998  Alasdair Baird <alasdair@wildcat.demon.co.uk>
9551
9552         * recog.c (validate_replace_rtx_1): Only perform substitutions
9553         of arguments to commutative and comparison operators once.
9554
9555 Sun Jan 25 12:30:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9556
9557         * sparc.c (output_cbranch): Add default case in
9558         enumeration switch.
9559
9560         * reorg.c (insn_sets_resource_p): Correct typo in prototype.
9561         (emit_delay_sequence): Eliminate unused parameter, all callers
9562         changed.
9563         (fill_simple_delay_slots): Likewise.
9564         (fill_slots_from_thread): Likewise.
9565         (fill_eager_delay_slots):  Likewise.
9566         (mark_referenced_resources): Add default case in enumeration switch.
9567         (mark_set_resources): Likewise.
9568         (rare_destination): Likewise.
9569         (mostly_true_jump): Likewise.
9570         (find_dead_or_set_registers): Likewise.
9571         (redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
9572         (update_reg_unused_notes): Remove unused variable `p'.
9573         (mark_target_live_regs): Remove unused variables `next' and
9574         `jump_count'.
9575         (fill_simple_delay_slots): Remove unused variable `j'.
9576         (fill_slots_from_thread): Add parentheses around assignment used
9577         as truth value.
9578         (dbr_schedule): Likewise.
9579
9580         * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
9581         (objc.stage2, objc.stage3, objc.stage4): Likewise.
9582
9583 Sun Jan 25 12:13:47 1998  Michael Tiemann  <michael@tiemann.org>
9584
9585         * cse.c (simplify_ternary_operation): Don't try to simplify
9586         IF_THEN_ELSE expressions (created by combine) that don't use
9587         relational operators.
9588
9589 Fri Jan 23 22:48:24 1998  Jeffrey A Law  (law@cygnus.com)
9590
9591         * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
9592         simplifications.
9593
9594         * crtstuff.c (init_dummy): Keep the epilogue in the init
9595         section for non-ELF systems.
9596
9597 Fri Jan 23 23:28:59 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9598
9599         * sh.md (movqi_i+1): New peephole.
9600
9601 Fri Jan 23 15:39:42 1998  Jim Wilson  <wilson@cygnus.com>
9602
9603         * Makefile.in: Remove remaining bytecode stuff.
9604         * emit-rtl.c, expr.c: Likewise.
9605
9606 Fri Jan 23 12:41:10 1998  Nick Clifton  (nickc@cygnus.com)
9607
9608         * toplev.c (lang_options): Add unknown-pragma options.
9609
9610 Thu Jan 22 23:43:38 1998  Per Bothner  <bothner@cygnus.com>
9611
9612         * dwarfout.c (byte_size_attribute):  Simplify and fix - don't need
9613         special (and incomplete) handling for Chill arrays.
9614
9615 Fri Jan 23 00:27:23 1998  John Carr  <jfc@mit.edu>
9616
9617         * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
9618         to get clock rate.
9619
9620 Fri Jan 23 00:19:36 1998  Gavin Koch  (gavin@cygnus.com)
9621
9622         * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
9623
9624 1998-01-22  scott snyder  <snyder@d0sgif.fnal.gov>
9625
9626         * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
9627         .frame directive instead of FRAME_POINTER_REGNUM.
9628
9629 Fri Jan 23 00:08:55 1998  Robin Kirkham <rjk@mlb.dmt.csiro.au>
9630
9631         * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
9632         (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
9633         * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
9634         (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
9635         (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
9636         * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
9637         (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
9638         (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
9639         mcpu32 or m5200.
9640         * longlong.h: Replace __mc68332__ with __mcpu32__.
9641
9642 Thu Jan 22 19:55:40 PST 1998 Jeff Law  (law@cygnus.com)
9643
9644         * version.c: Bump for snapshot.
9645
9646 Thu Jan 22 14:47:31 1998  Jim Wilson  <wilson@cygnus.com>
9647
9648         * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
9649         to require the SUBREG mode to be smaller than the SUBREG_REG mode.
9650         * reload1.c (eliminate_regs): Likewise.
9651
9652 Thu Jan 22 14:49:14 1998  Jeffrey A Law  (law@cygnus.com)
9653
9654         * regmove.c (find_matches): Initialize matches->earlyclobber too.
9655
9656 Thu Jan 22 01:40:52 1998  Richard Henderson  <rth@cygnus.com>
9657
9658         * alpha.md (abssf2, absdf2): Disable in IEEE mode.
9659         (negsf2, negdf2): Use proper subtract in IEEE mode.
9660
9661 Tue Jan 20 09:29:09 1998  Jeffrey A Law  (law@cygnus.com)
9662
9663         * Makefile.in: Remove more bytecode stuff.
9664         * expr.c, stmt.c, config/msdos/top.sed: Likewise.
9665         * vax/xm-vms.h, winnt/config-nt.sed: Likewise.
9666         * f/install.texi, objc/Make-lang.in: Likewise.
9667
9668         * Makefile.in: Remove all bytecode support.
9669         (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
9670         * emit-rtl.c: Remove all bytecode support.
9671         * expr.c, expr.h function.c, integrate.c: Likewise.
9672         * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
9673         * tree.h, varasm.c: Likewise.
9674         * config/m68k/m68k.h: Likewise.
9675         * bi-*, bc-*, bytecode*: Delete bytecode related files.
9676         * modemap.def: Likewise.
9677
9678 Tue Jan 20 09:02:31 1998  Gavin Koch  (gavin@cygnus.com)
9679
9680         * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
9681         umodsi3,umoddi3): Handle mips16 div/mod by a constant.
9682
9683 Mon Jan 19 21:57:00 1998  Richard Henderson  <rth@cygnus.com>
9684
9685         * i386.md (push): Prohibit symbolic constants if flag_pic.
9686         (movsi+1): Likewise for move to non-register.
9687
9688 Mon Jan 19 11:15:38 1998  Jim Wilson  <wilson@cygnus.com>
9689
9690         * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
9691         (print_operand): Handle 0xffffffff on 32 bit host.
9692
9693         * configure.in (thread_file): Rename uses before main loop to
9694         target_thread_file.  Initialize to empty in main loop.  Set thread_file
9695         to target_thread_file after main loop if not set.
9696         * configure: Rebuild.
9697
9698         * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
9699         (add_values_to_cover): Revert last change (which had no ChangeLog
9700         entry).
9701         (simplify_with_current_value_aux): Handle CONST_INT.
9702
9703 Mon Jan 19 10:14:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
9704
9705         * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
9706
9707 Mon Jan 19 10:11:52 1998  Richard Henderson  <rth@cygnus.com>
9708
9709         * configure.in: Add cpp stringify test.
9710         * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
9711         * gengenrtl.c: Use it.
9712         * configure, config.in: Rebuild.
9713
9714 Mon Jan 19 09:43:15 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
9715
9716         * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
9717
9718 Mon Jan 19 09:38:18 1998  Richard Henderson  <rth@cygnus.com>
9719
9720         * configure.in: Find declaration for sbrk.
9721         * acconfig.h (NEED_DECLARATION_SBRK): New tag.
9722         * config.in, configure: Rebuild.
9723         * mips-tfile.c: Properly protect declaration of sbrk and free.
9724         * toplev.c: Properly protect declaration of sbrk.
9725
9726 Sun Jan 18 20:18:01 1998  Richard Henderson  <rth@cygnus.com>
9727
9728         * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
9729
9730 Sun Jan 18 01:54:27 1998  Jeffrey A Law  (law@cygnus.com)
9731
9732         * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
9733
9734 Sun Jan 18 00:57:35 1998  Mike Stump  (mrs@wrs.com)
9735
9736         * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
9737
9738 Sat Jan 17 23:41:36 1998  David S. Miller  <davem@tanya.rutgers.edu>
9739
9740         * combine.c (force_to_mode, nonzero_bits): Correctly optimize
9741         constant offset computations from objects with known alignment in
9742         the presence of STACK_BIAS.
9743
9744         * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
9745         necessary.
9746         (const_hash): Hash val is unsigned long.
9747         (SYMHASH): Likewise.
9748
9749         * tree.c (TYPE_HASH): Type of hash val is unsigned long.
9750
9751         * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
9752         char pointer, not HOST_WIDE_INT.
9753         (print_node): Likewise.  Also hash is unsigned long not
9754         HOST_WIDE_INT.
9755
9756         * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
9757
9758         * explow.c (optimize_save_area_alloca): New function for targets
9759         where SETJMP_VIA_SAVE_AREA is true.
9760         (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
9761         compute the amount of stack space needed should we find later that
9762         setjmp is never called by this function, stuff rtl for this inside
9763         a REG_NOTE of the final SET of stack_pointer_rtx.
9764         * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
9765         current_function_calls_alloca, call optimize_save_area_alloca.
9766
9767 Sat Jan 17 23:22:59 1998  John Wehle  (john@feith.com)
9768
9769         * i386.md: Remove redundant integer push patterns.
9770         Don't bother checking for TARGET_PUSH_MEMORY when
9771         pushing constants or registers.
9772
9773 Sat Jan 17 22:35:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
9774                           J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
9775
9776         * pexecute.c (pexecute): New function for mingw32. Supports pipes.
9777         (pwait): New function for mingw32.
9778
9779         * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
9780         pipe support is broken for now.
9781
9782 1998-01-17  Lee Iverson  <leei@Canada.AI.SRI.COM>
9783
9784         * emit_rtl.c (init_emit_once): Ensure that potential aliasing
9785         between frame_pointer_rtx, hard_frame_pointer_rtx, and
9786         arg_pointer_rtx is respected in initialization.
9787         (init_emit_once): Use gen_rtx_raw_REG() to create
9788         return_address_pointer_rtx.
9789
9790         * reorg.c: #include "expr.h" for rtx prototypes.
9791         * Makefile.in (reorg.o): Depend on expr.h
9792
9793 Sat Jan 17 21:28:08 1998  Pieter Nagel <pnagel@epiuse.co.za>
9794
9795         * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
9796         local_prefix to sub-make invocations.
9797
9798 Sat Jan 17 21:24:16 1998  David T. McWherter <dtm@waterw.com>
9799
9800         * objc-parse.c: Recognize protocol qualifiers in class definitions.
9801
9802 Sat Jan 17 21:16:19 1998  Jeffrey A Law  (law@cygnus.com)
9803
9804         * rtl.h: Fix typos.
9805
9806         * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
9807         * configure.in: Check for atol.
9808         * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
9809
9810         * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
9811
9812         * loop.c (find_and_verify_loops): When attempting to move insns from
9813         inside the loop outside the loop, create a BARRIER if no suitable
9814         one was found.
9815
9816         * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
9817         favor of an equivalent change from gcc-2.8.
9818
9819         * i386/x-sco5 (CC): Remove trailing whitespace.
9820
9821 Sat Jan 17 21:09:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9822
9823         * gengenrtl.c (type_from_format): De-ANSIfy function signature.
9824         (accessor_from_format): Likewise.
9825         (xmalloc): New function for use when linking with alloca.o.
9826
9827 Mon Jan  5 02:53:01 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
9828
9829         * frame.c (find_fde): Correct FDE's upper bound.
9830
9831 Fri Jan 16 16:23:52 1998  Richard Henderson  <rth@cygnus.com>
9832
9833         * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
9834
9835 Fri Jan 16 10:16:10 1998  Jeffrey A Law  (law@cygnus.com)
9836
9837         * calls.c (expand_call): Move #ifdef code out of macro argument
9838         lists.
9839         (emit_library_call, emit_library_call_value): Likewise.
9840
9841 Fri Jan 16 00:46:40 1998  Jeffrey A Law  (law@cygnus.com)
9842
9843         * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
9844
9845 Thu Jan 15 01:02:30 1998  Jeffrey A Law  (law@cygnus.com)
9846
9847         * version.c: Bump for snapshot.
9848
9849 Wed Jan 14 22:49:17 1998  Richard Henderson  <rth@cygnus.com>
9850
9851         * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
9852         change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
9853         * caller-save.c, calls.c, combine.c, cse.c: Likewise.
9854         * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
9855         * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
9856         * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
9857         * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
9858         * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
9859         * unroll.c, varasm.c: Likewise.
9860         * config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
9861
9862 Wed Jan 14 19:36:08 1998  Gavin Koch  (gavin@cygnus.com)
9863
9864         * mips.h: Fix some type-o's from a previous change.
9865
9866 Wed Jan 14 01:26:05 1998  Jeffrey A Law  (law@cygnus.com)
9867
9868         * loop.c (check_dbra_loop): Make sure initial value is a
9869         CONST_INT before trying to normalize it.
9870
9871 Tue Jan 13 23:27:54 1998  Robert Lipe   (robertl@dgii.com)
9872
9873         * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
9874
9875 Tue Jan 13 22:47:02 1998  Herman ten Brugge <herman@htbrug.net.HCC.nl>
9876
9877         * cppexp.c: Include gansidecl.h
9878
9879 Tue Jan 13 22:43:35 1998  Ian Lance Taylor  <ian@cygnus.com>
9880
9881         * svr4.h (LINK_SPEC): Never specify -h.
9882         * ptx4.h (LINK_SPEC): Likewise.
9883         * rs6000/sysv4.h (LINK_SPEC): Likewise.
9884         * sparc/sol2.h (LINK_SPEC): Likewise.
9885
9886 Tue Jan 13 22:39:40 1998  Richard Henderson  (rth@cygnus.com)
9887
9888         * c-typeck.c (comptypes): Exit early on NULL input.
9889
9890         * haifa-sched.c (schedule_insns): Correctly remove inter-block
9891         dependencies after reload.
9892
9893 Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
9894
9895         * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
9896
9897 Tue Jan 13 22:14:57 1998  Klaus Kaempf <kkaempf@progis.de>
9898
9899         * alpha/vms.h (DIR_SEPARATOR): define
9900
9901 Tue Jan 13 22:13:04 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
9902
9903         * Makefile.in (stamp-proto): Remove.
9904         (protoize.o, unprotoize.o): Straightforward compile.
9905         * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
9906
9907 Tue Jan 13 21:59:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
9908
9909         * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
9910         off the trailing @[NUM] added by ENCODE_SECTION_INFO.
9911
9912 Tue Jan 13 21:55:06 1998  Jeffrey A Law  (law@cygnus.com)
9913
9914         * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
9915         * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
9916         * sparc/netbsd.h, vax/netbsd.h: Likewise.
9917
9918 Tue Jan 13 21:37:07 1998  Shigeya Suzuki <shigeya@foretune.co.jp>
9919
9920         * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
9921
9922 Tue Jan 13 17:50:55 1998  Jim Wilson  <wilson@cygnus.com>
9923
9924         * configure.in (target_cpu_default, target_cpu_default2): Use double
9925         quotes around them when testing their value.
9926         * configure: Rebuilt.
9927
9928 Tue Jan 13 09:07:44 1998  John Carr  <jfc@mit.edu>
9929
9930         * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
9931         to allocate rtx.
9932         (gendef): Call obstack_alloc_rtx.
9933
9934 Tue Jan 13 01:16:36 1998   Robert Lipe (robertl@dgii.com)
9935
9936         * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
9937         for now.
9938
9939 Thu Dec 18 18:40:17 1997  Mumit Khan <khan@xraylith.wisc.edu>
9940
9941         * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
9942         of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
9943         (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
9944
9945 Tue Jan 13 00:44:02 1998  Jim Wilson  <wilson@cygnus.com>
9946
9947         * mips.md (return_internal): Change mode from SImode to VOIDmode.
9948
9949 Sat Jan 10 22:11:39 1998  J. Kean Johnston  <jkj@sco.com>
9950
9951         * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
9952         "-static".
9953
9954 Sat Jan 10 22:04:15 1998  Stan Cox  <scox@equinox.cygnus.com>
9955
9956         * i386.md: (movsicc_1, movhicc_1):  For alternate 3 set the opcode
9957         suffix from operand 3.
9958
9959 Sat Jan 10 21:50:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
9960                           Jeffrey A Law  (law@cygnus.com)
9961
9962         * regmove.c: New implementation of regmove pass.
9963         * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
9964         decls, make them have external linkage.  Return a value from
9965         optimize_reg_copy_1.
9966         * reload.h (count_occurrences): Add decl.
9967         * reload1.c (count_occurrences): Delete decl, make it have external
9968         linkage.
9969         * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
9970
9971 Sat Jan 10 20:30:12 1998  Jeffrey A Law  (law@cygnus.com)
9972
9973         * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
9974         if it is not defined.
9975
9976 Thu Jan  8 21:06:54 1998  Richard Henderson  <rth@cygnus.com>
9977
9978         * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
9979         * emit-rtl.c (gen_rtx): Move special code to ...
9980         (gen_rtx_CONST_INT): New function.
9981         (gen_rtx_REG): New function.
9982         (*): Update all calls to gen_rtx.
9983         * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
9984         * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
9985         (GEN_INT): Call gen_rtx_CONST_INT.
9986         * gengenrtl.c: New file.
9987
9988 Mon Jan  5 13:00:18 1998  John F. Carr  <jfc@mit.edu>
9989
9990         * alias.c (*_dependence): Call base_alias_check before canon_rtx.
9991         (base_alias_check): If no base found for address call canon_rtx and
9992         try again.
9993
9994 Mon Jan  5 11:39:49 1998  Jeffrey A Law  (law@cygnus.com)
9995
9996         * mips.c (mips_expand_prologue): Handle large frame with no outgoing
9997         arguments for mips16.
9998         (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
9999         Don't lose if tsize is zero after handling large stack for mips16.
10000         * mips.md (return): For trivial return, return address is in $31.
10001
10002 Sun Jan  4 20:24:00 1998  Nigel Stephens  <nigel@algor.co.uk>
10003
10004         *  mips/mips16.S: Various changes to make it work with -msingle-float
10005         and -EL.
10006
10007 Sun Jan  4 14:25:18 1998  Gavin Koch  <gavin@cygnus.com>
10008                           Ian Lance Taylor  <ian@cygnus.com>
10009                           Jeff Law  <law@cygnus.com>
10010
10011         * mips.c, mips.h, mips.md: First cut at merging in mips16
10012         support.  Major modifications throughout all three files.
10013
10014 Sun Jan  4 01:01:50 1998  scott snyder  <snyder@d0sgif.fnal.gov>
10015
10016         * configure.in: Make gthr-default.h a forwarding header instead of
10017         a symlink.
10018
10019 Sat Jan  3 12:08:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10020
10021         * gcov-io.h: Include sys/types.h to ensure we get size_t.
10022
10023         * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
10024
10025 Fri Jan  2 23:40:09 1998  Jim Wilson  (wilson@cygnus.com)
10026                           Jeffrey A Law  (law@cygnus.com)
10027
10028         * crtstuff.c (__frame_dummy): New function for irix6.
10029         (__do_global_ctors): Call __frame_dummy for irix6.
10030         * iris6.h (LINK_SPEC): Hide __frame_dummy too.
10031
10032 Fri Jan  2 04:57:57 1998  Weiwen Liu  <liu@hepmail.physics.yale.edu>
10033
10034         * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
10035
10036 Fri Jan  2 04:34:14 1998  Richard Henderson  <rth@cygnus.com>
10037
10038         * c-decl.c (init_decl_processing): Provide proper fallback symbol
10039         for __builtin_memset.
10040         * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
10041         not INTEGER_CST.  Assert arg 3 is a constant.
10042
10043         * alpha.c (mode_width_operand): Accept 64-bit modes.
10044         (mode_mask_operand): Likewise.
10045         (print_operand): Likewise for 'M' and 'U' codes.
10046         (alpha_expand_unaligned_load): New function.
10047         (alpha_expand_unaligned_store): Likewise.
10048         (alpha_expand_unaligned_load_words): Likewise.
10049         (alpha_expand_unaligned_store_words): Likewise.
10050         (alpha_expand_block_move): Likewise.
10051         (alpha_expand_block_clear): Likewise.
10052         * alpha.h (MOVE_RATIO): New define.
10053         * alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
10054         (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
10055
10056         * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
10057         (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
10058
10059 Thu Jan  1 15:40:15 1998  Richard Henderson  <rth@cygnus.com>
10060
10061         * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
10062         * configure: Update.
10063
10064 Thu Jan  1 10:49:12 1998  Jeffrey A Law  (law@cygnus.com)
10065
10066         * emit-rtl.c (operand_subword): Correctly handle extracting a word
10067         from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
10068
10069         * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
10070         for first argument.
10071
10072 Wed Dec 31 14:42:18 1997  Ian Lance Taylor  <ian@cygnus.com>
10073
10074         * configure.in: Set and subsitute host_exeext.  Use it when creating
10075         the assembler and linker symlinks.
10076         * configure: Rebuild.
10077         * Makefile.in (exeext): Set to @host_exeext@.
10078         (build_exeext): New variable, set to @build_exeext@.
10079         (FLAGS_TO_PASS): Pass down build_exeext.
10080         (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
10081         programs.
10082
10083 Wed Dec 31 10:05:44 1997  Jeffrey A Law  (law@cygnus.com)
10084
10085         * mn10200.md (addsi3, subsi3): Fix thinkos.
10086
10087 Tue Dec 30 00:04:49 1997  Richard Henderson  <rth@cygnus.com>
10088
10089         * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
10090         save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
10091         unix always, since we want to be able to thunk to functions in a
10092         shared library from an application.
10093
10094 Mon Dec 29 14:37:31 1997  Ian Lance Taylor  <ian@cygnus.com>
10095
10096         * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
10097         (LIB1ASMSRC, LIB1ASMFUNCS): Define.
10098
10099 Mon Dec 29 14:03:38 1997  Jeffrey A Law  (law@cygnus.com)
10100
10101         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
10102         offset's mode is not ptr_mode, convert it.
10103
10104 Mon Dec 29 15:58:18 1997  Michael Meissner  <meissner@cygnus.com>
10105
10106         * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
10107         compiling if it was already defined.
10108
10109 Sun Dec 28 00:32:16 1997  Jeffrey A Law  (law@cygnus.com)
10110
10111         * flow.c (find_basic_blocks): Don't create a new basic block
10112         for calls in a LIBCALL block.
10113
10114 Sun Dec 28 00:30:24 1997  David Edelsohn  <edelsohn@mhpcc.edu>
10115
10116         * config/fp-bit.c (L_df_to_sf): Fix typo in last change.
10117
10118 Sat Dec 27 22:43:12 1997  Jeffrey A Law  (law@cygnus.com)
10119
10120         * cse.c (rtx_cost): Remove conflicting default case.
10121
10122 Sat Dec 27 21:20:02 1997  Richard Henderson  <rth@cygnus.com>
10123
10124         * configure.in: Move default enabling of Haifa out of for loop.
10125         * configure: Rebuild.
10126
10127 Thu Dec 25 01:02:54 1997  Jeffrey A Law  (law@cygnus.com)
10128
10129         * version.c: Bump for snapshot.
10130
10131 1997-12-25  Teemu Torma  <tot@trema.com>
10132
10133         * Makefile.in (GTHREAD_FLAGS): New var.
10134         (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
10135         (distclean): Remove gthr-default.h.
10136
10137         * configure.in: Accept dce as a thread package.
10138         Check for thread.h and pthread.h.
10139         Link gthr-default.h to appropriate thread file and set
10140         gthread_flags.
10141         (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
10142         include multilib definitions from pa/t-dce-thr.
10143         (sparc-*-solaris2*): Enable threads by default, if thread.h or
10144         pthread.h is found, preferring posix threads over solaris ones.
10145
10146         * config/pa/t-dce-thr: New file.
10147         * config/pa/t-pa: Removed multilibs.
10148         * config/sparc/t-sol2: Ditto.
10149
10150         * gthr.h: New file.
10151         * gthr-single.h: New file.
10152         * gthr-posix.h: New file.
10153         * gthr-solaris.h: New file.
10154         * gthr-dce.h: New file.
10155         * libgcc-thr.h: Removed.
10156         * objc/thr-dce.c: New file copied from thr-decosf1.c.
10157
10158         * frame.c: Include gthr.h instead of libgcc-thr.h.
10159         * libgcc2.c: Include gthr.h instead of libgcc-thr.h.
10160         (eh_context_initialize): If __gthread_once fails, use static eh
10161         context.
10162         (eh_context_free): Call __gthread_key_dtor.
10163
10164 Wed Dec 24 23:33:17 1997  Jeffrey A Law  (law@cygnus.com)
10165
10166         * expr.h (MUST_PASS_IN_STACK): Allow target port to override.
10167
10168 Wed Dec 24 23:12:14 1997  Jim Wilson  <wilson@cygnus.com>
10169
10170         * cse.c (max_insn_uid): New variable.
10171         (cse_around_loop): Use max_insn_uid.
10172         (cse_main): Set max_insn_uid.
10173
10174         * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
10175         and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
10176         -mlong64, and -mgp{32,64} options.
10177         * mips.c (mips_abi): Change type to int.
10178         * mips.h (enum mips_abi_type): Delete.
10179         (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
10180         (mips_abi): Change type to int.
10181
10182 Wed Dec 24 22:38:34 1997  John Carr  <jfc@mit.edu>
10183
10184         * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
10185         optimization is now always enabled.
10186
10187         * calls.c (expand_call): Recognize C++ operator new as malloc-like
10188         function.
10189
10190         * alias.c (memrefs_conflict_p): Eliminate tests now done by
10191         base_alias_check.
10192         (*_dependence): Call canon_rtx before base_alias_check.
10193         (init_alias_once): New function to precompute set of registers which
10194         can hold Pmode function arguments.
10195
10196         * rtl.h: Declare init_alias_once.
10197
10198         * toplev.c (compile_file): Call init_alias_once.
10199
10200 Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
10201
10202         * tree.c (restore_tree_status): Do not dereference a null pointer.
10203
10204 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
10205
10206         * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
10207         RLIMIT_STACK.  This maintains consistency with the recent, similar
10208         patch to cccp.c and toplev.c.
10209
10210 Tue Dec 23 05:17:28 1997  Richard Henderson  <rth@cygnus.com>
10211
10212         * genattrtab.c (expand_units): For large nr opclasses, expand
10213         function_units_used with ORX to prevent blowups.  Tag with FFS.
10214         (num_unit_opclasses): New variable.
10215         (gen_unit): Update it.
10216         (enum operator): Add ORX_OP.
10217         (operate_exp): Treat ORX as or, except don't expand across an if.
10218         Reuse number rtx's after operating on them.
10219         (check_attr_value): Accept IOR, AND, & FFS.
10220         (write_test_expr): Transmute `in_comparison' to `flags'.  Allow
10221         for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
10222         (write_expr_attr_cache, write_toplevel_expr): New functions.
10223         (write_attr_get): Handle FFS-tagged expressions.
10224         (make_canonical): Don't expand const attributes.
10225         (convert_const_symbol_ref): Dike out.
10226         (evaluate_eq_attr): Handle SYMBOL_REF.
10227         (main): Don't emit get_attr_foo for const attributes.
10228
10229         * alpha.c (override_options): Reinstate PROCESSOR_EV6.
10230         (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
10231         * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
10232         * alpha.md: Redo all of the scheduling, adding EV6 support, and
10233         combining function units where possible.
10234         (attr "type"): Split loads, stores, cmov into int/fp.  Combine
10235         multiplies and divides.  Add EV6 sqrt, ftoi, itof.
10236         (attr "opsize"): New attribute.
10237         (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
10238         (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
10239         to control register allocation.
10240         (movsi2-1, movdi2-1): Likewise.
10241
10242 Tue Dec 23 03:53:21 1997  Richard Henderson  <rth@cygnus.com>
10243
10244         * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
10245         MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
10246         Move OSF/1 specific defines out.
10247         * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
10248         Move Linux specific defines out.
10249         (LINK_SPEC): Genericize.
10250         (ASM_FILE_START): Emit .arch if using more than the base insn set.
10251         (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
10252         (SDB_DEBUGGING_INFO): Remove; gas can't handle it.
10253         (HANDLE_SYSV_PRAGMA): Define.
10254         * alpha/osf.h: New file.
10255         * alpha/linux.h: Split.  Retain file-format independant defines.
10256         Import Linux bits from elf.h.
10257         (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES
10258         (FUNCTION_PROFILER): _mcount takes its address in $28.
10259         (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
10260         * alpha/linux-ecoff.h: New file.
10261         * alpha/linux-elf.h: New file.
10262         * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
10263         * alpha/win-nt.h (TARGET_DEFAULT): Define.
10264         * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
10265         Add new headers as appropriate.
10266
10267         * configure.in (alpha*): Enable Haifa by default.
10268         (*-*-winnt3*): Change to winnt*, since we're not v3 specific.
10269         * configure: Rebuild.
10270
10271 Tue Dec 23 03:14:54 1997  Richard Henderson  <rth@cygnus.com>
10272
10273         * Makefile.in (clean): Remove the stages with their objects here ...
10274         (distclean): ... instead of here.
10275
10276 Mon Dec 22 11:24:01 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10277
10278         * cse.c (rtx_cost): Add default case in enumeration switch.
10279         * fix-header.c (recognized_macro): Likewise.
10280         (recognized_extern): Likewise.
10281         (write_rbrac): Likewise.
10282         * objc/objc-act.c (encode_aggregate): Likewise.
10283         (gen_declarator): Likewise.
10284         (gen_declspecs): Likewise.
10285
10286 Mon Dec 22 09:58:51 1997  Jeffrey A Law  (law@cygnus.com)
10287
10288         * haifa-sched.c (create_reg_dead_note): Detect and handle another
10289         case where we kill more regs after sched than were killed before
10290         sched.
10291         * sched.c (create_reg_dead_note): Similarly.
10292
10293 Mon Dec 22 09:18:37 1997  Jeffrey A Law  (law@cygnus.com)
10294
10295         * c-pragma.c: Include flags.h.
10296
10297 Sun Dec 21 22:10:59 1997  Mumit Khan <khan@xraylith.wisc.edu>
10298
10299         * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
10300         about system headers.
10301         (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
10302         and also to resolve symbols in prefix.c.
10303
10304         * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
10305         between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
10306         when the definitions in auto-config.h is not visible.
10307         (HAVE_BZERO): Likewise.
10308         (HAVE_BCMP): Likewise.
10309         (HAVE_RINDEX): Likewise.
10310         (HAVE_INDEX): Likewise.
10311
10312 Sun Dec 21 21:54:22 1997  Jeffrey A Law  (law@cygnus.com)
10313
10314         * pa.c (emit_move_sequence): Handle a function label source
10315         operand.
10316
10317 Sun Dec 21 16:13:55 1997  Nick Clifton  <nickc@cygnus.com
10318
10319         * c-pragma.c (handle_pragma_token): Generate warning messages
10320         about unknown pragmas if warn_unknown_pragmas is set.
10321
10322         * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
10323         line option to set variable: warn_unknown_pragmas.
10324
10325 Sun Dec 21 15:51:10 1997  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
10326
10327         * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
10328         definition.
10329         (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
10330
10331 Sun Dec 21 13:58:39 1997  Jeffrey A Law  (law@cygnus.com)
10332
10333         * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
10334         (libgcc2.a): Depend on $(DPBIT) and $(FPBIT).  Add rules to
10335         generate more fine grained floating point emulation libraries.
10336         * config/fp-bit.c: Add protecting #ifdef to all functions so
10337         that they can be compiled separately.  If !FINE_GRAINED_LIBRARIES,
10338         then compile all suitable functions.
10339         (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
10340         underscores to avoid namespace pollution.
10341         * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c
10342         (FPBIT): Define.
10343         * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
10344         (FPBIT): Define.
10345         (DPBIT): Define.
10346
10347 Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10348                           Jeff Law  <law@cygnus.com>
10349
10350         * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
10351         of the declaration.
10352         * c-decl.c (finish_decl): Use parentheses around && within ||.
10353         * rtl.c: Include stdlib.h.
10354         (read_skip_spaces): Add parentheses around assignments used as
10355         truth values.
10356         (read_rtx): Initialize list_rtx.
10357         * cppexp.c (parse_number): Use || when operands are truth values.
10358         * alias.c (find_base_value): Add default case.
10359         (memrefs_conflict): Likewise.
10360         * combine.c (sets_function_arg_p): Likewise.
10361         * genemit.c (gen_exp): Likewise.
10362         * local-alloc.c (contains_replace_regs): Likewise.
10363         * rtlanal.c (jmp_uses_reg_or_mem): Likewise.
10364         * fold-const.c (fold_convert): Use "&&" for truth values.
10365         (fold): Add default case.
10366         * sdbout.c (sdbout_field_types): Fix typo in declaration.
10367         (sdbout_one_type): Add default case.
10368         * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
10369         (some_operand): Add default case.
10370         (input_operand): Likewise.
10371         (signed_comparison_operator): Likewise.
10372         (divmod_operator): Likewise.
10373         (alpha_set_memflags_1): Likewise.
10374         * reload1.c (reload_cse_simplify_operands): Ensure function
10375         always returns a value.
10376         * scan-decls.c (scan_decls): Likewise.
10377         * c-lex.c (skip_white_space): Fix typo in declaraion.
10378         * c-typeck.c (comp_target_types): Add parentheses around assignment
10379         used as truth value.
10380         (print_spelling): Likewise.
10381         (constructor_implicit, constructor_result): Remove unused variables.
10382         * collect2.c (scan_library): Protect prototype with
10383         #ifdef SCAN_LIBRARIES.
10384         * emit-rtl.c (find_line_note): Fix typo in declaration.
10385         * final.c (asm_insn_count): Protect prototype with
10386         #ifdef HAVE_ATTR_length.
10387         * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
10388         (try_pre_increment_1, try_pre_increment): Likewise.
10389         * regclass.c (auto_inc_dec_reg_p): Protect prototype with
10390         #ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
10391         * gcov-io.h (__store_long, __write_long, __read_long): Fix
10392         unsigned/signed comparisons.
10393         * gcov.c (read_files): Remove unused "first_type" variable.
10394         (scan _for_source_files): Initialize s_ptr.
10395         (function_summary): Eliminate "%lf" formatting, use %ld for
10396         longs.
10397         (output_data): Initialize branch_probs and last_line_num.
10398         Eliminate "%lf" formatting, use "%ld" for longs.
10399
10400 Fri Dec 19 17:31:11 1997  Ian Lance Taylor  <ian@cygnus.com>
10401
10402         * mips16.S: New file.
10403
10404         * libgcc2.c (varargs): Handle mips16.
10405
10406         * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
10407         expression.
10408         * stmt.c (expand_end_case): Likewise.
10409         * alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
10410         * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
10411         * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
10412
10413 Tue Dec 16 15:14:09 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
10414
10415         * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
10416         the build directory.
10417         (libobjc.a): Update dependency list.
10418         (libobjc.dll): Likewise.  Use libobjc_entry.o from the build
10419         directory.
10420         (objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
10421         (objc.mostlyclean): Remove runtime-info.h.
10422
10423 Fri Dec 19 00:19:42 1997  Richard Henderson  <rth@cygnus.com>
10424
10425         * tree.c (build_range_type): Allow creation of ranges with no maximum.
10426         * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
10427         * dwarf2out.c (add_subscript_info): Likewise.
10428         * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
10429         * sdbout.c (plain_type_1): Likewise.
10430         * stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
10431         Likewise.
10432         * fold-const.c (int_const_binop, fold_convert, make_range, fold):
10433         Likewise.
10434
10435 Thu Dec 18 17:05:10 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10436
10437         * mips.c (fatal): Remove declaration.
10438
10439 1997-12-18  Mark Mitchell  <mmitchell@usa.net>
10440
10441         * integrate.c (get_label_from_map): New function.
10442         (expand_inline_function): Use it.  Initialize the label_map to
10443         NULL_RTX instead of gen_label_rtx.
10444         (copy_rtx_and_substitute): Use get_label_from_map.
10445         * integrate.h (get_label_from_map): New function.
10446         (set_label_from_map): New macro.
10447         * unroll.c (unroll_loop): Use them.
10448         (copy_loop_body): Ditto.
10449
10450 Thu Dec 18 19:19:57 1997  Ian Lance Taylor  <ian@cygnus.com>
10451
10452         * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
10453         (INIT_TARGET_OPTABS): Define.
10454         * mips/ecoff.h: Include gofast.h before mips.h.
10455         (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
10456         * mips/elf64.h: Likewise.
10457         * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
10458
10459 Thu Dec 18 14:51:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
10460
10461         * except.c: Remove register_exception_table{,_p}.
10462
10463 Thu Dec 18 14:57:29 1997  Gavin Koch  <gavin@cygnus.com>
10464
10465         * unroll.c (calculate_giv_inc): Handle constant increment found in
10466         a MEM with an appropriate REG_EQUAL note.
10467
10468         * calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
10469
10470         * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
10471         frame pointer in the prologue.
10472
10473 Thu Dec 18 00:19:38 1997  Robert Lipe <robertl@dgii.com>
10474
10475         * i386/x-sco5 (CLIB) Deleted.  (ALLOCA) Added.
10476         * i386/xm-sco5.h  (USE_C_ALLOCA) Added.
10477
10478 Tue Dec 16 18:51:00 1997  Bill Moyer <billm@cygnus.com>
10479
10480         * config/m68k/m68k.c (output_function_prologue): Typecast
10481         dwarf2out_cfi_label to (char *).
10482         * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
10483
10484 Wed Dec 17 15:06:04 1997  Richard Henderson  <rth@cygnus.com>
10485
10486         * sparc.md (jump): Don't use the annul bit around an empty loop.
10487         Patch from Kevin.Kelly@East.Sun.COM.
10488
10489 Wed Dec 17 00:51:36 1997  Stan Cox (scox@cygnus.com)
10490
10491         * jump.c: (jump_optimize): Don't use the return register as a
10492         source1 of a conditional move.
10493
10494 Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
10495
10496         * sparc.c (DF_MODES): Or the mask not the bit number.
10497         (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
10498
10499 Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
10500
10501         * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
10502
10503 Tue Dec 16 23:44:54 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10504
10505         * fixincludes (size_t): Add support for Motorola's stdlib.h
10506         which fails to provide a definition for size_t.
10507         (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
10508         (strlen,strspn,strcspn return value): Handle different layout on sysV88.
10509         (hypot): Provide a fake for hypot for m88k-motorola-sysv3.
10510
10511         * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
10512         prevent unresolved externals in libio.
10513         * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
10514
10515 Tue Dec 16 23:25:45 1997  H.J. Lu  (hjl@gnu.org)
10516
10517         * config/sparc/linux64.h (LIBGCC_SPEC): Removed.
10518         (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
10519         (LIB_SPEC): Updated for glibc 2.
10520
10521 Tue Dec 16 20:11:36 1997  Jeffrey A Law  (law@cygnus.com)
10522
10523         * ginclude/stdarg.h: Undo BeOS changes, they break hpux.
10524         * ginclude/varargs.h: Likewise.
10525
10526 Tue Dec 16 00:32:01 1997  Jeffrey A Law  (law@cygnus.com)
10527
10528         * version.c: Bump for snapshot.
10529
10530 Tue Dec 16 00:14:29 1997  H.J. Lu  (hjl@gnu.org)
10531
10532         * frame.h (__register_frame, __register_frame_table,
10533         __deregister_frame): New.
10534         * frame.c (__register_frame, __register_frame_table,
10535         __deregister_frame): New.
10536         * frame.c (__deregister_frame_info): Return void *.
10537         * frame.h (__deregister_frame_info): Ditto.
10538         * collect2.c (__deregister_frame_info): Ditto.
10539
10540 Mon Dec 15 18:40:08 1997  Richard Henderson  <rth@cygnus.com>
10541
10542         * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
10543
10544 Mon Dec 15 18:31:43 1997  Richard Henderson  <rth@cygnus.com>
10545
10546         * alpha.c (alpha_cpu_name): New variable.
10547         (alpha_mlat_string): Likewise.
10548         (alpha_memory_latency): Likewise.
10549         (override_options): Handle -mmemory-latency.
10550         (alpha_adjust_cost): Adjust load cost for latency.
10551         * alpha.h (TARGET_OPTIONS): Add meory-latency.
10552         (REGISTER_MOVE_COST): Define in terms of memory_latency.  Take
10553         TARGET_CIX into account.
10554         (MEMORY_MOVE_COST): Define in terms of memory_latency.
10555         * invoke.texi (DEC Alpha Options): Document -mmemory-latency.
10556
10557         * alpha.h (ASM_COMMENT_START): New macro.
10558
10559 Mon Dec 15 17:48:05 1997  Richard Henderson  <rth@cygnus.com>
10560
10561         * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
10562         dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
10563
10564         * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
10565         SUBREG_REG if the word count is unchanged.
10566         * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
10567         subregs of identical word size for push_reload.
10568
10569 Mon Dec 15  Mark Mitchell  <mmitchell@usa.net> 11:41:32 1997
10570
10571         * toplev.c (rest_of_compilation): Don't call save_for_inline_copy
10572         if all we're doing is dealing with -Wreturn-type.
10573
10574 Mon Dec 15 09:44:39 1997  Richard Henderson  <rth@cygnus.com>
10575
10576         * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
10577         Use and 255 instead of zapnot 1, since it schedules better.
10578
10579 Mon Dec 15 08:48:24 1997  Jeffrey A Law  (law@cygnus.com)
10580
10581         * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
10582         it as volatile.
10583
10584 Mon Dec 15 00:04:48 1997  Jeffrey A Law  (law@cygnus.com)
10585
10586         * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
10587         dependency we delete.  Properly update prev for multiple consecutive
10588         deletions.
10589         (priority): Skip deleted dependence.
10590
10591 Fri Dec 12 18:54:23 1997  Per Bothner  <bothner@cygnus.com>
10592
10593         * expr.c (expand_builtin):  Support BUILT_IN_FMOD - just call fmod.
10594
10595 Fri Dec 12 01:19:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
10596
10597         * flow.c (flow_analysis): Be consistent with find_basic_blocks in
10598         determining when a new basic block starts.
10599
10600         * alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
10601
10602         * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
10603         * pa.md (iorsi3): Add missing args to *_operand calls.
10604
10605         * except.c (call_get_eh_context): Don't mess with sequences.
10606         (emit_eh_context): Include the call in the sequence here.
10607
10608 1997-12-11  Paul Eggert  <eggert@twinsun.com>
10609
10610         * collect2.c (write_c_file_glob): Allocate initial frame object
10611         in static storage and pass its address.
10612
10613 Thu Dec 11 23:33:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
10614
10615         * except.c (call_get_eh_context): Don't take a parm.
10616         Put the call at the top of the function.
10617         (emit_eh_context): Adjust.
10618         (get_eh_context): Replace with former use_eh_context.
10619         (get_eh_context_once, get_saved_pc_ref): Remove.
10620         (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
10621         * except.h: Adjust.
10622         * integrate.c (expand_inline_function): Adjust.
10623         * toplev.c (rest_of_compilation): Don't call emit_unwinder.
10624
10625 Fri Oct 10 17:58:31 CEST 1997  Marc Lehmann <pcg@goof.com>
10626
10627         * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
10628         (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
10629
10630 Thu Dec 11 23:55:17 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10631
10632         * fixincludes (strlen,strspn,strcspn return value): Handle different
10633         layout on sysV88.
10634         (hypot): Provide a fake for hypot which is broken on
10635         m88k-motorola-sysv3.
10636
10637 Thu Dec 11 23:50:17 1997  John F. Carr  <jfc@mit.edu>
10638
10639         * tree.c, tree.h: Change tree_code_type, tree_code_length, and
10640         tree_code_name from pointers to arrays.
10641         * tree.c: Remove standard_tree_code_* variables, no longer used.
10642         * print-tree.c: Remove declaration of tree_code_name.
10643
10644         * cp/lex.c (init_lex): Update for tree_code_* changes.
10645         * objc/objc-act.c (init_objc): Likewise.
10646
10647         * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
10648         changes.
10649
10650 Thu Dec 11 23:34:54 1997  Fred Fish  <fnf@ninemoons.com>
10651
10652         * config.sub: Add support for BeOS target.
10653         * configure.in: Likewise.
10654         * ginclude/stdarg.h: Likewise.
10655         * ginclude/stddef.h: Likewise.
10656         * ginclude/varargs.h: Likewise.
10657         * rs6000/beos.h: New file for BeOS.
10658         * rs6000/t-beos: Likewise.
10659         * rs6000/x-beos: Likewise.
10660         * rs6000/xm-beos.h: Likewise.
10661         * toplev.c (get_run_time): Just return 0 on BeOS.
10662
10663 Thu Dec 11 23:25:23 1997  Jeffrey A Law  (law@cygnus.com)
10664                           Toon Moene  (toon@moene.indiv.nluug.nl)
10665
10666         * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
10667         old and broken Sun3 assemblers.  Newer versions handle large
10668         offsets correctly as does the GNU assembler.
10669
10670 Thu Dec 11 23:06:48 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
10671
10672         * objc/objc-act.c (lang_report_error_function): Disable.
10673         * objc/objc-parse.y: Include "output.h".
10674         (yyerror): Remove redundant decl.
10675         (yyprint): Fix prototype.
10676         (apply_args_register_offset): Remove redundant decl.
10677         (get_file_function_name): Likewise.
10678
10679 Thu Dec 11 22:02:10 1997  Jason Merrill  <jason@yorick.cygnus.com>
10680
10681         * flow.c (find_basic_blocks): A CALL_INSN that can throw starts
10682         a new basic block.
10683         (find_basic_blocks_1): Likewise.
10684
10685 Thu Dec 11 21:08:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
10686
10687         * except.c (use_eh_context): Don't copy_rtx a REG.
10688         (emit_throw): Lose old unwinder support.
10689         (expand_internal_throw): Likewise.
10690         * libgcc2.c (struct eh_context): Likewise.
10691         (new_eh_context): Likewise.
10692         (__get_eh_info): Lose redundant cast.
10693         (__get_dynamic_handler_chain): Likewise.
10694         (__get_saved_pc): Lose.
10695         Lose all old unwinder support code.
10696
10697 Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>
10698
10699         Thread-safe EH support for pthreads, DCE threads and Solaris threads.
10700
10701         * integrate.c (expand_inline_function): If the inline fn uses eh
10702         context, make sure that the current fn has one.
10703         * toplev.c (rest_of_compilation): Call emit_eh_context.
10704         * except.c (use_eh_context): New fn.
10705         (get_eh_context_once): New fn.
10706         (call_get_eh_context): New fn.
10707         (emit_eh_context): New fn.
10708         (get_eh_context): Call either get_eh_context_once or
10709         call_get_eh_context, depending on what we have.
10710         (get_dynamic_handler_chain): Call get_eh_context_once.
10711         * except.h: Prototypes for fns above.
10712         * optabs.c (get_eh_context_libfunc): Removed.
10713         (init_optabs): Don't initialize it.
10714         * expr.h (get_eh_context_libfunc): Removed.
10715         * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
10716         * config/pa/pa.h (CPP_SPEC): Support for -threads.
10717         * config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
10718         * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
10719         New multilib for -threads.
10720         * config/sparc/t-sol2: Added multilibs for -threads and
10721         made -pthreads alias to it.
10722         * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
10723         Added -threads and -pthreads options.
10724         * libgcc-thr.h: New file.
10725         * libgcc2.c: (__get_cpp_eh_context): Removed.
10726         (struct cpp_eh_context): Removed.
10727         (struct eh_context): Replaced cpp_eh_context with generic language
10728         specific pointer.
10729         (__get_eh_info): New function.
10730         (__throw): Check eh_context::info.
10731         (__sjthrow): Ditto.
10732         * libgcc2.c: Include libgcc-thr.h.
10733         (new_eh_context, __get_eh_context,
10734         eh_pthread_initialize, eh_context_initialize, eh_context_static,
10735         eh_context_specific, eh_context_free): New functions.
10736         (get_eh_context, eh_context_key): New variables.
10737         (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
10738         get_eh_context to get the context.
10739         (longjmp): Move the declaration inside
10740         #ifdef DONT_USE_BUILTIN_SETJMP.
10741         * frame.c: Include libgcc-thr.h.
10742         (object_mutex): Mutex to protect the object list.
10743         (find_fde, __register_frame, __register_frame_table,
10744         __deregister_frame): Hold the lock while accessing objects.
10745         * except.h (get_eh_context): Declare.
10746         * except.c (current_function_ehc): Define.
10747         (current_function_dhc, current_function_dcc): Removed.
10748         (get_eh_context): New function.
10749         (get_dynamic_handler_chain): Use get_eh_context.
10750         (get_saved_pc_ref): Ditto.
10751         (get_dynamic_cleanup_chain): Removed references to
10752         current_function_dcc.
10753         (save_eh_status, restore_eh_status): Save and restore
10754         current_function_ehc instead.
10755         * optabs.c (get_eh_context_libfunc): New variable.
10756         (init_optabs): Initialize it.
10757         * expr.h: Declare get_eh_context_libfunc.
10758         * function.h (struct function): Replaced dhc and dcc with ehc.
10759         * except.c (get_saved_pc_ref): New functions.
10760         (eh_saved_pc_rtx, eh_saved_pc): Deleted.
10761         (expand_internal_throw_indirect): Use get_saved_pc_ref() instead
10762         of eh_saved_pc.
10763         (end_eh_unwinder): Likewise.
10764         (init_eh): Remove initialization of eh_saved_pc.
10765         * optabs.c (get_saved_pc_libfunc): New variable.
10766         (init_optabs): Initialize it.
10767         * expr.h: Declare get_saved_pc_libfunc.
10768         * except.h (eh_saved_pc_rtx): Deleted.
10769         (get_saved_pc_ref): Declared.
10770
10771         From Scott Snyder <snyder@d0sgif.fnal.gov>:
10772         * libgcc2.c (__get_saved_pc): New.
10773         (__eh_type, __eh_pc): Deleted.
10774         (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
10775         (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
10776         this fcn.
10777
10778 Thu Dec 11 17:23:48 1997  John F. Carr  <jfc@mit.edu>
10779
10780         * sparc/sol2.h: Use 64 bit multiply and divide functions in
10781         Solaris libc.  Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
10782         as 0.
10783
10784         * rtl.h (global_rtl): New variable, replacing separate variables for
10785         commonly used rtl.
10786         (const_int_rtx): Now array of rtx_def, not rtx.
10787         * emit-rtl.c: Update for new rtl data structures.
10788         * genattrtab.c: Define global_rtl.
10789
10790 Thu Dec 11 15:50:29 1997 David Edelsohn  <edelsohn@mhpcc.edu>
10791
10792         * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
10793         default.
10794
10795 Wed Dec 10 12:30:18 1997  Anthony Green  <green@cygnus.com>
10796
10797         * crtstuff.c (__do_global_ctors): Fix typo.
10798
10799 Tue Dec  9 09:43:59 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10800
10801         * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
10802         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
10803
10804 Tue Dec  9 09:38:58 1997  David Edelsohn  <edelsohn@mhpcc.edu>
10805
10806         * rs6000.h (FUNCTION_ARG_PADDING): Define.
10807         * rs6000.c (function_arg_padding): New function.
10808
10809 Tue Dec  9 10:34:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10810
10811         * m68k.c: Include tree.h only once.
10812
10813 Tue Dec  9 09:32:33 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10814
10815         * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
10816
10817 Tue Dec  9 01:16:06 1997  Jeffrey A Law  (law@cygnus.com)
10818
10819         * Partially cleaned up prototyping code from HJ.
10820         * tree.h: Add many prototypes.
10821         * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
10822         All references changed.
10823         * rtl.h: Protect from multiple inclusions.  Add many prototypes.
10824
10825 Tue Dec  9 01:15:15 1997  Fred Fish  <fnf@ninemoons.com>
10826
10827         * libgcc2.c (string.h): Hoist inclusion to occur before first use of
10828         string functions like strlen.
10829
10830 Tue Dec  9 00:57:38 1997  Manfred Hollstein  <manfred@s-direktnet.de>
10831
10832         * configure.in: Check for functions getrlimit and setrlimit.
10833         * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
10834         to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
10835
10836 Mon Dec  8 23:53:26 1997  Jay Sachs <sachs@bull.cs.williams.edu>
10837
10838         * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
10839
10840 Mon Dec  8 21:03:28 1997  Richard Henderson  <rth@cygnus.com>
10841
10842         * alpha.c (REG_RA, alpha_return_addr, output_epilog):
10843         Fix merge problems.
10844
10845         * alpha.c (override_options): Don't know about scheduling for EV6.
10846         * alpha.md (ev5 function units): Don't overload as ev6.
10847
10848         * alpha.c (alpha_adjust_cost): Simplify.  Fix typo in ev5 mult case.
10849         * alpha.md (define_attr type): Add mvi.
10850         (ev5_e0): Define sceduling parameters for it.
10851         (TARGET_MAX insns): Type is mvi not shift.
10852
10853 Mon Dec  8 18:15:00 1997  Richard Henderson  <rth@cygnus.com>
10854
10855         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
10856
10857 Mon Dec  8 21:17:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10858
10859         * cstamp-h, auto-config.h: Delete.
10860
10861 Sun Dec  7 19:19:03 1997  Jeffrey A Law  (law@cygnus.com)
10862
10863         * version.c: Bump for snapshot.
10864
10865 Sat Dec  6 22:22:22 1997  Jeffrey A Law  (law@cygnus.com)
10866
10867         * cccp.c: Fix typo brought over in merge.
10868
10869         * Merge in changes from gcc-2.8.
10870
10871 Mon Nov  3 05:45:32 1997  Philippe De Muyter  <phdm@macqel.be>
10872
10873         * m68k.c: Include tree.h for dwarf2out_cfi_label.
10874
10875         * gcc.c (process_command): Do not take address of function fatal when
10876         calling lang_specific_driver.
10877
10878 Sat Dec  6 01:02:38 1997  Mumit Khan  <khan@xraylith.wisc.edu>
10879
10880         * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
10881         doesn't work with it yet, so set it to 0.
10882         * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
10883
10884 Sat Dec  6 01:01:02 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
10885
10886         * cse.c (cse_insn): Check for invalid entries when taking references.
10887
10888 Fri Dec  5 18:26:25 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10889
10890         * loop.c (invariant_p): Don't test flag_rerun_loop_opt.
10891         (loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
10892         * toplev.c (rest_of_compilation): Pass it.  Remove code to
10893         save / clear / restore flag_unroll_{,all_}loops.
10894
10895 Fri Dec  5 16:26:03 1997  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
10896
10897         * i386.c (notice_update_cc): Remove bogus pentium GCC code.
10898
10899 Fri Dec  5 16:25:14 1997  Jeffrey A Law  (law@cygnus.com)
10900
10901         * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
10902
10903 Thu Dec  4 11:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
10904
10905         * except.c (get_dynamic_handler_chain): Only make the call once per
10906         function.
10907
10908         * except.c (expand_end_all_catch): Fix for sjlj exceptions.
10909
10910 Thu Dec  4 12:30:40 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
10911
10912         * sh.c (final_prescan_insn): Use local label prefix
10913         when emitting .uses pseudo-ops.
10914
10915 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
10916
10917         * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
10918         * except.c: Lose outer_context_label_stack.
10919         (expand_eh_region_end): Rethrow from outer_context here.
10920         (expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
10921         (expand_internal_throw): Take no args.
10922         (expand_internal_throw_indirect): Lose.
10923         (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
10924         (expand_start_all_catch): Start a rethrow region.
10925         (expand_end_all_catch): End it.
10926         (expand_rethrow): New fn.
10927         * except.h: Reflect above changes.
10928         * flow.c: Revert change of Nov 27.
10929
10930 Thu Dec  4 00:24:09 1997  Jeffrey A Law  (law@cygnus.com)
10931
10932         * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
10933
10934 Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
10935
10936         * except.c (expand_fixup_region_end): New fn.
10937         (expand_fixup_region_start): Likewise.
10938         (expand_eh_region_start_tree): Store cleanup into finalization here.
10939         * stmt.c (expand_cleanups): Use them to protect fixups.
10940
10941 Wed Dec  3 11:41:13 1997  Gavin Koch  <gavin@cygnus.com>
10942
10943         * mips/mips.md (muldi3_r4000): Broaden the output template
10944         and attribute assignments to handle three operand dmult;
10945         rename to muldi3_internal2.
10946         (muldi3): Call the new muldi3_internal2 for R4000, and
10947         any GENERATE_MULT3 chip.
10948
10949 Tue Dec  2 19:40:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
10950
10951         * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
10952
10953 Tue Dec  2 12:54:33 1997  Jim Wilson  <wilson@cygnus.com>
10954
10955         * unroll.c (find_splittable_givs):  Remove last change.  Handle givs
10956         with a dest_reg that was created by loop.
10957
10958 Sat Nov 29 12:44:57 1997  David Edelsohn  <edelsohn@mhpcc.edu>
10959
10960         * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
10961
10962         * rs6000/aix41.h (ASM_CPU_SPEC): Define.
10963
10964 Fri Nov 28 10:00:27 1997  Jeffrey A Law  (law@cygnus.com)
10965
10966         * configure.in: Fix NCR entries.
10967
10968 Thu Nov 27 12:20:19 1997  Jeffrey A Law  (law@cygnus.com)
10969
10970         * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
10971         nested exceptions correctly.
10972
10973         * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
10974         that was created by loop.
10975
10976 Thu Nov 27 09:34:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
10977
10978         * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
10979
10980         * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
10981
10982 Wed Nov 26 15:47:30 1997  Michael Meissner  <meissner@cygnus.com>
10983
10984         * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
10985         (print_operand): Use SMALL_DATA_REG for the register involved in
10986         small data relocations.
10987         (print_operand_address): Ditto.
10988
10989         * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
10990         -dynamic linker is not used.
10991
10992         * rs6000.md (call insns): For local calls, use @local suffix under
10993         System V.  Don't use @plt under Solaris.
10994
10995         * rs6000.c (output_function_profiler): Put label address in r0, and
10996         store LR in 4(sp) for System V/eabi.
10997
10998         * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
10999         byte boundary, and maintain stack backchain.
11000
11001 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
11002
11003         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
11004         fix_truncsfdi2): Change *.
11005
11006 Wed Nov 26 11:12:26 1997  Jason Merrill  <jason@yorick.cygnus.com>
11007
11008         * toplev.c (main): Complain about -gdwarfn.
11009
11010 Tue Nov 25 22:43:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
11011
11012         * dwarfout.c (output_type): If finalizing, write out nested types
11013         of types we've already written.
11014
11015 Tue Nov 25 20:32:24 1997  Michael Meissner  <meissner@cygnus.com>
11016
11017         (patches originally from Geoffrey Keating)
11018         * rs6000.c (function_arg): Excess floating point arguments don't
11019         go into GPR registers after exhausting FP registers under the
11020         System V.4 ABI.
11021         (function_arg_partial_nregs): Ditto.
11022
11023         * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
11024         suffix to calls.
11025
11026 Tue Nov 25 23:37:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
11027
11028         * integrate.c (output_inline_function): Just unset DECL_INLINE.
11029
11030 Tue Nov 25 23:33:29 1997  scott snyder  <snyder@d0sgif.fnal.gov>
11031
11032         * dwarf2out.c (outout_call_frame_info): Ensure that the info has
11033         proper alignment.
11034
11035         * libgcc2.c (__throw): Initialize HANDLER.
11036
11037 Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
11038
11039         * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
11040         fix_truncsfdi2): Change *X to ?*X.
11041
11042 Tue Nov 25 10:00:42 1997  Richard Henderson  (rth@cygnus.com)
11043
11044         * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
11045
11046 Tue Nov 25 10:00:42 1997  Jeffrey A Law  (law@cygnus.com)
11047
11048         * crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
11049
11050 Tue Nov 25 01:26:55 1997  Bruno Haible <haible@ilog.fr>:
11051
11052         * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
11053
11054 Mon Nov 24 22:41:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
11055
11056         * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
11057         * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
11058         * expr.h: Likewise.
11059
11060 Sat Nov 22 18:58:20 1997  Jeffrey A Law  (law@cygnus.com)
11061
11062         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
11063         * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
11064         gas and not using the new HP assembler.
11065
11066 Fri Nov 21 15:20:05 1997  Jeffrey A Law  (law@cygnus.com)
11067
11068         * Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
11069         (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
11070
11071 Fri Nov 21 19:37:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
11072
11073         * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
11074         TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
11075         definition.
11076
11077 Fri Nov 21 12:49:56 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
11078
11079         * stmt.c (expand_end_bindings): Allow jump into block with cleanups.
11080
11081 Fri Nov 21 12:18:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
11082
11083         * except.h: Add outer_context_label_stack.
11084         * except.c: Likewise.
11085         (expand_start_all_catch): Push the outer_context for the try block
11086         onto outer_context_label_stack.
11087         (expand_end_all_catch): Use it and pop it.
11088
11089 Fri Nov 21 10:13:11 1997  Robert Lipe (robertl@dgii.com)
11090
11091         * i386/sco5.h (HAVE_ATEXIT): Revert last change.
11092
11093 Thu Nov 20 16:11:50 1997  Richard Henderson  <rth@cygnus.com>
11094
11095         * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
11096
11097 Thu Nov 20 16:11:50 1997  Klaus Kaempf  <kkaempf@progis.de>
11098
11099         * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
11100         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
11101
11102 Thu Nov 20 14:42:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
11103
11104         * Makefile.in (LIB2FUNCS): Remove C++ memory management support.
11105         * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
11106         __builtin_delete, and __builtin_vec_delete.
11107
11108         * except.c (output_exception_table): Don't bother with
11109         __EXCEPTION_END__.
11110
11111 Thu Nov 20 16:11:50 1997  Jeffrey A Law  (law@cygnus.com)
11112
11113         * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
11114         is an in/out operand.
11115         (zero extended variants of stwm/stwm patterns): Similarly.
11116
11117         * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
11118
11119 Thu Nov 20 13:19:32 1997  Jason Merrill  <jason@yorick.cygnus.com>
11120
11121         * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
11122         Use assemble_name.
11123         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
11124         (output_call_frame_info): Emit a \n after using it.
11125
11126 Thu Nov 20 00:38:46 1997  Dave Love  <d.love@dl.ac.uk>
11127
11128         * configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
11129
11130 Wed Nov 19 12:03:04 1997  Philippe De Muyter  <phdm@macqel.be>
11131
11132         * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
11133         (ASM_OUTPUT_DWARF_VALUE4): New macro.
11134         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
11135         defined.
11136         (output_call_frame_info): Do not output forward label differences
11137         if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
11138         * m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
11139
11140 Tue Nov 18 23:03:30 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11141
11142         * sh.md (attribute "type"): Add nil.
11143         (movsi_ie): y/y alternative is type nil.
11144         (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
11145         alternatives.
11146         (movsf_ie+1): Delete.
11147
11148 Tue Nov 18 15:39:59 1997  Jim Wilson  <wilson@cygnus.com>
11149
11150         * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
11151         large_int, emit two insns instead of one splitable insn.
11152         * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
11153         from cfa_temp_value, use cfa_offset.  Add assert checking that
11154         cfa_reg is SP.
11155
11156 Mon Nov 17 15:35:38 1997  Tom Tromey  <tromey@cygnus.com>
11157
11158         * cccp.c (deps_output): Properly quote file names for make.
11159
11160 Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
11161
11162         * t-h8300 (MULTILIB_EXCEPTIONS): Define.
11163
11164 Fri Nov  7 15:33:11 1997  Robert Lipe (robertl@dgii.com)
11165
11166         * i386/sco5.h (HAVE_ATEXIT): Delete definition.
11167
11168 Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
11169
11170         * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
11171         return.
11172         (cse_end_of_basic_block): Similarly.
11173
11174 Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
11175
11176         * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
11177         (SELECT_RTX_SECTION): Define.
11178         (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
11179
11180 Sun Nov 16 22:47:03 1997  Manfred Hollstein  <manfred@s-direktnet.de>
11181
11182         * Makefile.in (compare, compare-lean): Define $stage for each
11183         shell command.
11184         (gnucompare, gnucompare-lean): Likewise.
11185
11186 Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
11187
11188         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
11189
11190         * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
11191         to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
11192
11193 Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
11194
11195         * dwarfout.c (byte_size_attribute):  Add local var upper_bound
11196         and add case to handle STRING_TYPE.
11197         * dwarfout.c (output_string_type_die):  Fix code to generate
11198         correct string length attribute for fixed length strings.
11199         Still needs support for varying length strings.
11200
11201 Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
11202
11203         * toplev.c (get_run_time): Do something sensible for cygwin32.
11204
11205 Fri Nov 14 07:24:20 1997  Richard Henderson  <rth@cygnus.com>
11206
11207         * expr.c (expand_builtin_setjmp): Set
11208         current_function_has_nonlocal_label.
11209         * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
11210         call-saved registers across calls.
11211
11212         * alpha.md (exception_receiver): Remove.
11213         (nonlocal_goto_receiver_osf): New
11214         (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
11215         (nonlocal_goto_receiver): New, select _osf or _vms.
11216
11217         * alpha.c (output_prolog [*]): Prefix entry labels with '$' to
11218         keep them from being propogated to the object file.
11219         (alpha_write_linkage): Likewise.
11220         * alpha.md (call_vms): Likewise.
11221         (call_value_vms): Likewise.
11222         (unnamed osf call insns): Likewise.
11223
11224         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
11225         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
11226
11227         * alpha.c (call_operand): Any reg is valid for WinNT.
11228         * alpha.md (call_nt, call_value_nt): Don't force address into $27.
11229         (anon nt calls): Add 'R' alternative.
11230         * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
11231         INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
11232
11233 Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
11234
11235         * calls.c (expand_call): Handle pcc_struct_value correctly for C++.
11236
11237         * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
11238         * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
11239         * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
11240
11241 Thu Nov 13 20:37:33 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
11242
11243         * reload1.c (new_spill_reg): Improve fixed or forbidden register
11244         spill error message.
11245
11246 Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11247
11248         * prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
11249         use varargs.h.  Wrap header with <>, not "".
11250
11251 Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
11252
11253         * integrate.c (save_for_inline_copying): Add return value from
11254         savealloc.
11255
11256 Thu Nov 13 19:12:33 1997  Brendan Kehoe  <brendan@cygnus.com>
11257
11258         * fixincludes: Be a little more restrictive on what we will
11259         substitute to replace definitions of MAXINT for HPUX.
11260
11261 Thu Nov 13 18:41:02 1997  Michael Meissner  <meissner@cygnus.com>
11262
11263         * dbxout.c (dbxout_symbol_location): Don't assume that variables
11264         whose address is the stack or argument pointers are indirect
11265         pointers.
11266
11267 1997-11-13  Paul Eggert  <eggert@twinsun.com>
11268
11269         * cccp.c, cpplib.c (compare_defs):
11270         Don't complain about arg name respellings unless pedantic.
11271         * cpplib.c (compare_defs): Accept pfile as new arg.
11272         All callers changed.
11273
11274 Thu Nov 13 23:33:50 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11275
11276         * fold-const.c (fold_truthop): Fix bug in last change.
11277
11278 1997-11-13  Paul Eggert  <eggert@twinsun.com>
11279
11280         Fix some confusion with IEEE minus zero.
11281
11282         * real.h (REAL_VALUES_IDENTICAL): New macro.
11283
11284         * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
11285         * fold-const.c (operand_equal_p): Don't consider -0.0 to be
11286         identical to 0.0.
11287         * tree.c (simple_cst_equal): Don't consider -0.0 to have the
11288         same tree structure as 0.0.
11289
11290         * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
11291         macro instead of doing it by hand.
11292
11293 Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
11294
11295         * v850/lib1funcs.asm: Minor whitespace changes.
11296         * v850.c: Fix minor formatting problems in many places.
11297         (construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
11298
11299 Thu Nov 13 12:53:44 1997  Jim Wilson  <wilson@cygnus.com>
11300
11301         * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
11302         xplus1 when xplus0 is not a register.
11303
11304 Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
11305
11306         * flow.c (find_basic_blocks): During marking phase, if we encounter
11307         an insn with a REG_LABEL note, make the target block live and
11308         create an edge from the insn to the target block.  Do not make
11309         edges from all blocks to the target block.
11310
11311         * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
11312
11313         * confiugre.in: Tweak NCR entries.
11314         * configure: Rebuilt.
11315
11316 Thu Nov 13 11:07:41 1997  Michael Meissner  <meissner@cygnus.com>
11317
11318         * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
11319         pick apart floating point values, instead of using CONST_DOUBLE_LOW
11320         and CONST_DOUBLE_HIGH.
11321
11322         * rs6000.md (define_splits for DF constants): Use the appropriate
11323         REAL_VALUE_* interface to pick apart DF floating point constants in
11324         a machine independent fashion.
11325
11326 Thu Nov 13 00:06:58 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11327
11328         * fold-const.c (fold_truthop): When changing a one-bit comparison
11329         against zero into a comparison against mask, do a proper sign
11330         extension.
11331
11332 Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
11333
11334         * except.c: Do not include "assert.h".
11335         (save_eh_status): Turn asserts into conditional aborts.
11336         (restore_eh_status, scan_region): Likewise.
11337         * dwarfout.c: Do not include "assert.h".
11338         (bit_offset_attribute): Turn asserts into conditional aborts.
11339         (bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
11340         (output_inlined_structure_type_die): Likewise.
11341         (output_inlined_union_type_die): Likewise
11342         (output_tagged_type_instantiation): Likewise.
11343         (dwarfout_file_scope_decl): Likewise.
11344         * dwarf2out.c: Do not include "assert.h"
11345         (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
11346         (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
11347         (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
11348         (add_bit_size_attribute, scope_die_for): Likewise.
11349         (output_pending_types_for_scope): Likewise.
11350         (get_inlined_enumeration_type_die): Likewise.
11351         (get_inlined_structure_type_die): Likewise.
11352         (get_inlined_union_type_die, gen_subprogram_die): Likewise.
11353         (gen_tagged_type_instantiation_die): Likewise.
11354
11355         * flow.c (find_basic_blocks): Refine further to get a more correct
11356         cfg, especially in the presense of exception handling, computed
11357         gotos, and other non-trivial cases.  Call abort if an inaccuracy
11358         is detected in the cfg.
11359
11360 Tue Nov 11 21:47:27 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11361
11362         * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
11363
11364         * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
11365         (skip_white_space): Use whitespace_cr.
11366         (check_newline): Handle whitespace more consistently.
11367
11368 Tue Nov 11 16:25:49 1997  Jim Wilson  <wilson@cygnus.com>
11369
11370         * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
11371         * i386/xm-cygwin32.h (POSIX): Define.
11372
11373 Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>
11374
11375         * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
11376         is available elsewhere.
11377
11378 Mon Nov 10 16:21:58 1997  Doug Evans  <devans@canuck.cygnus.com>
11379
11380         * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
11381         what the instruction can handle.
11382
11383 Mon Nov 10 03:02:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
11384
11385         * stmt.c (expand_decl_cleanup_no_eh): New fn.
11386
11387         * except.c (expand_leftover_cleanups): do_pending_stack_adjust.
11388
11389 Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
11390
11391         * alias.c (MAX_ALIAS_LOOP_PASSES): Define.
11392         (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
11393
11394 Sun Nov  9 14:34:47 1997  David Edelsohn  <edelsohn@mhpcc.edu>
11395
11396         * rs6000.md (lshrdi3_power): Delete '&' from first alternative and
11397         swap instruction order.
11398
11399 Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
11400
11401         * fixinc.svr4 (__STDC__): Add another case.
11402
11403 Sun Nov  9 02:00:29 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11404
11405         * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
11406         addresses in the epilogue delay slot.
11407
11408 Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
11409
11410         * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
11411         in generated `specs' file.
11412
11413 Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
11414
11415         * flags.h (flag_rerun_loop_opt): Declare.
11416         * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
11417         * toplev.c (flag_rerum_loop_opt): Delete static.
11418
11419 Sat Nov  8 18:20:21 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11420
11421         Bring over from FSF:
11422
11423         Thu Oct 30 12:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11424
11425         * va-sh.h (__va_arg_sh1): Define.
11426         (va_arg): Use it.
11427         SH3E doesn't use any integer registers for subsequent arguments
11428         once a non-float value was passed in the stack.
11429         * sh.c (machine_dependent_reorg): If optimizing, put explicit
11430         alignment in front label for ADDR_DIFF_VEC.
11431         * sh.h (PASS_IN_REG_P): Fix SH3E case.
11432         (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
11433
11434         Tue Oct 28 15:06:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11435
11436         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
11437         svr4.h.
11438
11439         Mon Oct 27 16:11:52 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11440
11441         * sh.c (machine_dependent_reorg): When -flag_delayed_branches,
11442         put an use_sfunc_addr before each sfunc.
11443         * sh.md (use_sfunc_addr, dummy_jump): New insns.
11444         (casesi): For TARGET_SH2, emit a dummy_jump after LAB.
11445
11446         Tue Oct 21 07:12:28 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11447
11448         * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
11449
11450 Fri Nov  7 10:22:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
11451
11452         * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
11453         linked once FDEs.
11454
11455 Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
11456
11457         * alias.c (find_base_value): Only return the known base value for
11458         pseudo registers.
11459
11460 Wed Nov  5 11:27:14 1997  Jim Wilson  <wilson@cygnus.com>
11461
11462         * i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
11463         * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
11464         to pattern.
11465         (prologue_get_pc_and_set_got): New pattern.
11466
11467 Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
11468
11469         * alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
11470         for SUBREG, just fall through.
11471
11472         * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
11473
11474         * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake.
11475
11476 Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
11477
11478         * fixincludes: Fix "hypot" prototype in NeXT math.h.
11479
11480         * Makefile.in (USE_ALLOCA): Always include alloca.o.
11481         (USE_HOST_ALLOCA): Likewise.
11482
11483         * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
11484         and LABEL_REFS fields.
11485         * rtl.h (LABEL_REFS): Update.
11486
11487 Tue Nov  4 16:55:11 1997  Jim Wilson  <wilson@cygnus.com>
11488
11489         * combine.c (try_combine): When setting elim_i2, check whether newi2pat
11490         sets i2dest.  When calling distribute_notes for i3dest_killed, pass
11491         elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
11492         sets i1dest.
11493
11494         * mips.md (insv, extzv, extv): Add change_address call.
11495         (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
11496
11497         * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
11498
11499         * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
11500
11501         * mips.c (mips_expand_epilogue): Emit blockage insn before call to
11502         save_restore_insns if no FP and GP will be restored.
11503
11504         * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
11505         Convert CCmode to word_mode before calling GET_MODE_SIZE.
11506
11507         * acconfig.h (HAVE_INTTYPES_H): Undef.
11508         * configure.in (inttypes.h): Check for conflicts between sys/types.h
11509         and inttypes.h, and verify that intmax_t is defined.
11510         * config/mips/x-iris (CC, OPT, OLDCC): Comment out.
11511         * config/mips/x-iris3: Likewise.
11512
11513 Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
11514
11515         * alias.c (find_base_value): When copying arguments, return the
11516         tenative value for a hard register.
11517
11518 Tue Nov  4 13:40:35 1997  Doug Evans  <devans@canuck.cygnus.com>
11519
11520         * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
11521         (yylex): Record wide strings using target endianness, not host.
11522
11523 Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
11524
11525         * mn10200.h (ASM_OUTPUT_BSS): Delete.
11526         (ASM_OUTPUT_ALIGNED_BSS): New macro
11527         * mn10300.h (ASM_OUTPUT_BSS): Delete.
11528         (ASM_OUTPUT_ALIGNED_BSS): New macro.
11529         * v850.h (ASM_OUTPUT_BSS): Delete.
11530         (ASM_OUTPUT_ALIGNED_BSS): New macro.
11531
11532 Tue Nov  4 00:55:48 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11533
11534         * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
11535
11536 Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
11537
11538         * configure.in (sco5): Use cpio to install header files.
11539
11540 Sun Nov  2 23:31:43 1997  Manfred Hollstein  <manfred@s-direktnet.de>
11541
11542         * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
11543         14 char length.
11544         * configure: Rebuild.
11545
11546 Sun Nov  2 19:44:00 1997  Robert Lipe (robertl@dgii.com)
11547
11548         * i386/sco5.h: enable -gstabs once again.
11549
11550 Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
11551
11552         * arm.c (output_move_double): Allocate 3 entries in otherops array.
11553
11554 Sat Nov  1 21:43:00 1997  Mike Stump  (mrs@wrs.com)
11555
11556         * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG
11557         notes for sjlj exceptions too.
11558         (expand_eh_region_end): Similarly for EH_REGION_END notes.
11559         (exception_optimize): Optimize EH regions for sjlj exceptions too.
11560         * final.c (final_scan_insn): Don't output labels for EH REGION
11561         notes if doing sjlj exceptions.
11562
11563 Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
11564
11565         * alias.c (init_alias_analysis): Handle -fno-alias-check when
11566         optimizing correctly.
11567
11568         * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
11569         or set current_function_calls_setjmp anymore.
11570
11571         * flow.c (find_basic_blocks): If we delete the label for an
11572         exception handler, remove it from the EH label list and remove
11573         the EH_BEGIN/EH_END notes for that EH region.
11574
11575 Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
11576
11577         * flow.c (find_basic_blocks): Generate correct flow control
11578         information when exception handling notes are present.
11579
11580 Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
11581
11582         * dwarf2out.c (output_call_frame_info): Fix length argument
11583         to ASM_OUTPUT_ASCII.
11584         (output_die, output_pubnames, output_line_info): Likewise.
11585
11586 Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
11587
11588         * version.c: Bump for snapshot.
11589
11590         * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
11591         output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
11592         flag_debug_asm is on.
11593         (output_die, output_pubnames, output_line_info): Likewise.
11594
11595         * alias.c (init_alias_analysis): Add struct_value_incoming_rtx
11596         and static_chain_rtx into the potential base values array if
11597         they are registers.
11598
11599         * alias.c (new_reg_base_value): New array of potential base values.
11600         (unique_id): Now file scoped static.
11601         (find_base_value, case REG): Return the value in reg_base_value
11602         array for the REG if it exists.  Else, return the value from
11603         new_reg_base_value if copying args and REG is a hard register.
11604         (find_base_value, case PLUS): If either operand of the PLUS is
11605         a REG, try to get its base value.  Handle base + index and
11606         index + base.
11607         (record_set): Use new_reg_base_value instead of reg_base_value.
11608         (init_alias_analysis): Allocate space for new_reg_base_value too.
11609         Rework code to iterate over the insns propagating base value
11610         information until nothing changes.
11611
11612         * global.c (global_alloc): Free the conflict matrix after
11613         reload has finished.
11614
11615 Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
11616
11617         * libgcc2.c (L_eh): Define __eh_pc.
11618         Replace __eh_type with generic pointer __eh_info.
11619
11620 Fri Oct 31 00:34:55 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
11621
11622         * expr.c (expand_increment): When enqueing a postincrement for a MEM,
11623         use copy_to_reg if address is not a general_operand.
11624
11625 Fri Oct 31 00:16:55 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11626
11627         * profile.c (output_func_start_profiler): Clear flag_inline_functions
11628         for the duration of the call to rest_of_compilation.
11629
11630 Thu Oct 30 14:40:10 1997  Doug Evans  <devans@canuck.cygnus.com>
11631
11632         * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
11633         Set extra_parts.
11634         (sparc*-*-*): Recognize --with-cpu=v9.
11635         * sparc/elf.h: New file.
11636         * sparc/t-elf: New file.
11637
11638 Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
11639
11640         * mn10300.c (const_8bit_operand): New function.
11641         (mask_ok_for_mem_btst): New funtion.
11642         * mn10300.md (btst patterns with mem operands): Use new functions
11643         to avoid creating btst instructions with invalid operands.
11644
11645 Wed Oct 29 16:57:19 1997  Michael Meissner  <meissner@cygnus.com>
11646
11647         * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
11648         are running on PowerPC Linux.
11649
11650 Wed Oct 29 13:10:11 1997  Gavin Koch  <gavin@cygnus.com>
11651
11652         * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
11653         if not previously defined.
11654
11655 Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
11656
11657         * function.c (assign_parms): Correct mode of stack_parm if
11658         entry_parm underwent a mode conversion.
11659
11660 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
11661
11662         * global.c (global_alloc): Use xmalloc instead of alloca for
11663         CONFLICTS, since max_allocno * allocno_row_words alone can be more
11664         than 2.5Mb sometimes.
11665
11666 Tue Oct 28 15:29:15 1997  Richard Henderson  <rth@cygnus.com>
11667
11668         * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
11669         DEST for the spill, adjust mode of SRC to compensate.
11670
11671 Tue Oct 28 14:36:45 1997  Richard Henderson  <rth@cygnus.com>
11672
11673         * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
11674         since any_memory_operand() allows pseudos during reload.
11675         (reload_inhi, reload_outqi, reload_outhi): Likewise.
11676
11677 Tue Oct 28 11:53:14 1997  Jim Wilson  <wilson@cygnus.com>
11678
11679         * m68k.md (btst patterns): Add 5200 support.
11680
11681 Tue Oct 28 11:58:40 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
11682
11683         * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
11684         optimizations, look inside dividend to determine if the expression
11685         can be simplified by using EXACT_DIV_EXPR.
11686
11687 Tue Oct 28 10:19:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
11688
11689         From Brendan:
11690         * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
11691
11692 Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
11693
11694         * alpha.c (summarize_insn [SUBREG]): Propogate SET.
11695
11696 Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
11697
11698         * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
11699         on a CLOBBER.
11700
11701 Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
11702
11703         * alpha.md (movqi, movhi): Make sure new insns created during reload
11704         won't need reloading themselves.
11705         (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
11706
11707 Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
11708
11709         * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
11710
11711 Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
11712
11713         * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
11714         Patch from Klaus Kaempf <kkaempf@progis.de>.
11715
11716 Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
11717
11718         * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
11719         to an element in a constant string.
11720
11721 Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
11722
11723         * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
11724         bit PC-relative offset.  The exception range table pointer is now in
11725         the CIE.
11726         * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
11727         (count_fdes, add_fdes, get_cie): Adjust.
11728         (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
11729
11730         From H.J. Lu:
11731         * frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
11732
11733 Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
11734
11735         * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
11736         like stack_pointer_rtx.
11737
11738 Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
11739
11740         * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
11741         targets using "$@" to provide support for similar but not identical
11742         targets without having to duplicate code.
11743         (bootstrap4): New goal.
11744
11745         * Makefile.in (compare, compare-lean, compare3): Combined to one
11746         ruleset determining actions to be performed via $@.
11747         (compare4, compare4-lean): New targets.
11748         (gnucompare, gnucompare3): Combined to one ruleset determining
11749         actions to be performed via $@. Also, note which files failed
11750         the comparison test in .bad_compare.
11751         (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
11752
11753 Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
11754
11755         * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
11756         if the dividend is a multiple of the divisor.
11757
11758 Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
11759
11760         * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
11761
11762         * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
11763         and POS_DEC.
11764
11765         * alias.c (true_dependence): Fix typo.
11766
11767         * toplev.c (flag_rerun_loop_opt): New variable.
11768         (f_options): Handle -frerun-loop-opt.
11769         (rest_of_compilation): If -frerun-loop-opt, then run the loop
11770         optimizer twice.
11771         (main): Enable -frerun-loop-opt by default for -O2 or greater.
11772
11773         * loop.c (simplify_giv_expr): Adding two invariants results
11774         in an invariant.
11775
11776 Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
11777
11778         * expr.c (get_inner_reference): Remove the array bias after
11779         converting the index to Pmode.
11780
11781 Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
11782
11783         * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
11784         (TARGET_MULT_BUG): Define.
11785         (TARGET_DEFAULT): Default to TARGET_MULT_BUG.
11786         * mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
11787
11788 Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
11789
11790         * mn10200.c (indirect_memory_operand): Delete unused function.
11791         * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
11792         * mn10200.md (bset, bclr insns): Handle output in a reg too.
11793
11794 Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
11795
11796         * alpha.md (call patterns): Revert Oct 16 change; if we are to elide
11797         the callee's ldgp, we must do it ourselves, and we use the jsr tag
11798         for more than scheduling.
11799
11800 Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
11801
11802         * sparc/sparc.h (ASM_SPEC): Delete asm_arch.
11803
11804 Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
11805
11806         * mn10300.c (symbolic_operand, legitimize_address): New functions.
11807         * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
11808         (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
11809
11810 Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
11811
11812         * version.c: Bump for snapshot.
11813
11814 Thu Oct 23 08:03:59 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
11815
11816         * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
11817         for FILENAME.
11818
11819 Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
11820
11821         * toplev.c (flag_exceptions): Default value is 2.
11822         (compile_file): If flag_exceptions still has the value 2, then
11823         set it to 0.
11824
11825         * rs6000.c (struct machine_function): Add pic_offset_table_rtx.
11826         (rs6000_save_machine_status): Save pic_offset_table_rtx.
11827         (rs6000_restore_machine_status: Restore pic_offset_table_rtx.
11828
11829         * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
11830         are shared.
11831
11832         * rs6000.md (*movsi_got_internal_mem): New pattern.
11833         (*movsi_got_internal_mem splitter): New define_split.
11834
11835 Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
11836
11837         * obstack.h (obstack_empty_p): Fix spurious space after backslash.
11838
11839 Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
11840
11841         * rs6000.c: Avoid creating a stack frame under SYSV ABI if we
11842         only need to save LR.
11843
11844 Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
11845
11846         * mn10300.md (movqi, movhi): Avoid using address registers as
11847         destinations unless absolutely necessary.
11848
11849         * mn10200.c (expand_prologue): Fix typo.
11850
11851         * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
11852         addresses.
11853         * mn10200.md (neghi2): Provide an alternative which works if
11854         the input and output register are the same.
11855
11856         * mn10300.c (print_operand): Handle 'S'.
11857         * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
11858         shift amount in last alternative
11859
11860         * mn10300.c (expand_epilogue): Rework to handle register restores
11861         in "ret" and "retf" instructions correctly.
11862
11863 Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
11864
11865         * expmed.c (extract_bit_field): Don't make flag_force_mem disable
11866         extzv for memory operands.
11867
11868         * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
11869         redundant conditional moves to single operand.
11870
11871 Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
11872
11873         * v850.h: Move define of __v850__ from CPP_PREDEFINES
11874         to CPP_SPEC.
11875
11876         * xm-v850.h: Use __v850 rather than __v850__ to
11877         identify v850 port.
11878
11879 Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
11880
11881         * mips/mips.c (compute_frame_size): Not a leaf function if
11882         profile_flag set.
11883
11884 Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
11885
11886         * rs6000/t-ppccomm: Use -msdata=none for crtstuff.
11887
11888 Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
11889
11890         * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
11891         (DEFAULT_ARCH32_P): New macro.
11892         (TARGET_ARCH{32,64}): Allow compile time or runtime selection.
11893         (enum cmodel): Declare.
11894         (sparc_cmodel_string,sparc_cmodel): Declare.
11895         (SPARC_DEFAULT_CMODEL): Provide default.
11896         (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
11897         (TARGET_FULLANY): Deleted.
11898         (TARGET_CM_MEDMID): New macro.
11899         (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
11900         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
11901         (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
11902         (CPP_SPEC): Rewrite.
11903         (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
11904         (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
11905         (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
11906         (ASM_SPEC): Add %(asm_arch).
11907         (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
11908         Rename asm_default to asm_cpu_default.
11909         Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
11910         cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
11911         (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
11912         ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
11913         (MASK_INT64,MASK_LONG64): Delete.
11914         (MASK_ARCH64): Renamed to MASK_64BIT.
11915         (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
11916         (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
11917         (TARGET_SWITCHES): Always provide 64 bit options.
11918         (ARCH64_SWITCHES): Delete.
11919         (TARGET_OPTIONS): New option -mcmodel=.
11920         (INT_TYPE_SIZE): Always 32.
11921         (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
11922         (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
11923         (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
11924         (PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
11925         * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
11926         CPP_SPEC.
11927         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
11928         * sparc/linux.h: Likewise.
11929         * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
11930         (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
11931         (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
11932         (SPARC_DEFAULT_CMODEL): Define.
11933         (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
11934         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
11935         (LONG_DOUBLE_TYPE_SIZE): Define.
11936         (ASM_SPEC): Add %(asm_arch).
11937         * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
11938         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
11939         (TARGET_CPU_DEFAULT): Add ultrasparc case.
11940         * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
11941         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
11942         (SPARC_DEFAULT_CMODEL): Define.
11943         * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
11944         (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
11945         MASK_LONG64, MASK_MEDANY.
11946         (SPARC_DEFAULT_CMODEL): Define.
11947         (CPP_PREDEFINES): Delete.
11948         (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
11949         (ASM_SPEC): Add %(asm_arch).
11950         (LONG_DOUBLE_TYPE_SIZE): Define.
11951         (DWARF2_DEBUGGING_INFO): Define.
11952         * sparc/splet.h (CPP_SPEC): Delete.
11953         * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
11954         (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
11955         (BLOCK_PROFILER): Likewise.
11956         * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
11957         (sparc_override_options): Handle code model selection.
11958         (sparc_init_expanders): Renamed from sparc64_init_expanders.
11959         * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
11960         TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
11961         (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
11962         (sethi_di_fullany): Delete.
11963
11964 Mon Oct 20 02:00:18 1997  Klaus Kaempf <kkaempf@progis.de>
11965                           Jeff Law <law@cygnus.com>
11966                           Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11967
11968         * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
11969         (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
11970         (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
11971         (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
11972         * alpha/alpha.md (arg_home): Likewise.
11973
11974         * alpha/alpha.c (vmskrunch): Delete
11975         * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
11976         * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
11977         truncate to 64 characters.
11978
11979         * make-l2.com: Support openVMS/Alpha.
11980
11981         * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
11982
11983 Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
11984
11985         * longlong.h (count_leading_zeros): Add missing casts to USItype.
11986
11987 Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
11988
11989         * i386/bsd386.h (ASM_COMMENT_START): Define.
11990
11991 Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
11992
11993         * tree.c (restore_tree_status): Also free up temporary storage
11994         when we finish a toplevel function.
11995         (dump_tree_statistics): Print stats for backend obstacks.
11996
11997 Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
11998
11999         * expr.c (use_group_regs): Don't call use_reg for MEMs.
12000
12001 Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
12002
12003         * libgcc2.c (__throw): Don't copy the return address.
12004         * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
12005
12006         * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
12007         * toplev.c (main): Initialize exceptions_via_longjmp.
12008
12009         * tree.c: Add extra_inline_obstacks.
12010         (save_tree_status): Use it.
12011         (restore_tree_status): If this is a toplevel inline obstack and we
12012         didn't want to save anything on it, recycle it.
12013         (print_inline_obstack_statistics): New fn.
12014         * function.c (pop_function_context_from): Pass context to
12015         restore_tree_status.
12016         * obstack.h (obstack_empty_p): New macro.
12017
12018 Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
12019
12020         * i386/freebsd.h (ASM_COMMENT_START): Fix.
12021
12022 Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
12023
12024         * v850.c (ep_memory_offset): New function.
12025         (ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
12026
12027         * v850.h (CONST_OK_FOR_*): Add and correct comments.
12028         (CONSTANT_ADDRESS_P): Add comment.
12029         (EXTRA_CONSTRAINT): Define 'U'.
12030         * v850.md: Add comments on bit field instructions.
12031         (addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
12032         (lshrsi3): Use N not J constraint.
12033
12034         * v850.md (v850_tst1+1): New define_split for tst1 instruction.
12035
12036         * v850.c (reg_or_0_operand): Call register_operand.
12037         (reg_or_int5_operand): Likewise.
12038         * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
12039         (TARGET_SWITCHES): Add "big-switch".
12040         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
12041         ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
12042         (CASE_DROPS_THROUGH): Comment out.
12043         (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
12044         * v850.md (cmpsi): Delete compare mode.
12045         (casesi): New pattern.
12046
12047         * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
12048         * v850.md (ashlsi3): Use SImode not QImode for shift count.
12049         (lshrsi3): Likewise.
12050
12051         * v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
12052         unreachable switch statement after 'b' support.  Remove "b" from
12053         strings for 'b' support.
12054         * v850.md (branch_normal, branch_invert): Change %b to b%b.
12055
12056 Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
12057
12058         * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
12059         empty line if @inhibit_libc@ is empty.
12060
12061 Fri Oct 17 23:24:40 1997  Robert Lipe (robertl@dgii.com)
12062
12063         * i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
12064         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
12065         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
12066         (DWARF2_UNWIND_INFO): Let this track object file format.
12067         (EXTRA_SECTIONS): Add in_eh.
12068         (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
12069         (EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
12070
12071 Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
12072
12073         * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
12074         * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
12075         TARGET_MEDANY.
12076         * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
12077         (output_double_int): Output DI mode values correctly when
12078         HOST_BITS_PER_WIDE_INT is 64.
12079         (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
12080         fmovd so it works if a quad float ends up in one of the upper 32
12081         float regs.
12082         * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
12083         necessary for PIC support on sparc64.
12084
12085 Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
12086
12087         * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
12088         * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
12089         (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
12090         (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
12091         (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
12092         (SPARC_FP_ARG_FIRST): New macro.
12093         (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
12094         (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
12095         (NPARM_REGS): There are 32 fp argument registers now.
12096         (FUNCTION_ARG_REGNO_P): Likewise.
12097         (FIRST_PARM_OFFSET): Update to new v9 abi.
12098         (REG_PARM_STACK_SPACE): Define for arch64.
12099         (enum sparc_arg_class): Delete.
12100         (sparc_arg_count,sparc_n_named_args): Delete.
12101         (struct sparc_args): Redefine and use for arch32 as well as arch64.
12102         (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
12103         (FUNCTION_ARG_ADVANCE): Rewrite.
12104         (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
12105         (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
12106         (FUNCTION_ARG_CALLEE_COPIES): Delete.
12107         (FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
12108         (STRICT_ARGUMENT_NAMING): Define.
12109         (doublemove_string): Declare.
12110         * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
12111         (single_move_string): Use GEN_INT, and HOST_WIDE_INT.
12112         (doublemove_string): New function.
12113         (output_move_quad): Clean up some of the arch64 support.
12114         (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
12115         Don't add 8 bytes of reserved space if arch64.
12116         (sparc_builtin_saveregs): Combine arch32/arch64 versions.
12117         (init_cumulative_args): New function.
12118         (function_arg_slotno): New static function.
12119         (function_arg,function_arg_partial_nregs): New functions.
12120         (function_arg_{pass_by_reference,advance}): New functions.
12121         (function_arg_padding): New function.
12122         * ginclude/va-sparc.h: Rewrite v9 support.
12123
12124 Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
12125
12126         * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
12127         for hard regs to determine base and index registers.
12128
12129         * reload.c (debug_reload_to_stream): New function.  Specify stream
12130         into which to write debug info.
12131         (debug_reload): Modify to call debug_reload_to_stream with stderr.
12132
12133 Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
12134
12135         * combine.c (can_combine_p): Don't combine with an asm whose
12136         output is a hard register.
12137
12138 Thu Oct 16 15:43:26 1997  Mike Stump  (mrs@wrs.com)
12139
12140         * c-decl.c (start_struct): Ensure that structs with forward
12141         declarations are in fact packed when -fpack-struct is given.
12142
12143         * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
12144         we are packing a structure.  This allows a structure with only
12145         bytes to be aligned on a byte boundary and have no padding on a
12146         m68k.
12147
12148 Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12149
12150         * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
12151
12152 Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
12153
12154         * alpha.c (alpha_return_addr_rtx): New variable.
12155         (alpha_save_machine_status): New; save it.
12156         (alpha_restore_machine_status): New; restore it.
12157         (alpha_init_expanders): New; clear it.
12158         (alpha_return_addr): New; set it.
12159         (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
12160         is overly conservative, so search the insns explicitly.
12161         (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
12162         (alpha_sa_size [VMS && !VMS]): Likewise.
12163         * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
12164         (INIT_EXPANDERS): New definition.
12165
12166         * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
12167         (output_prolog [!VMS]): Use them.
12168
12169         * alpha.c (output_prolog [!VMS]): Move gp detection to ...
12170         (alpha_does_function_need_gp): ... a new function.  Refine the
12171         CALL_INSN test to just TYPE_JSR.
12172         * alpha.md (most call insns): Fix some jsr/ibr type transpositions.
12173
12174 Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
12175
12176         * version.c: Bump for snapshot.
12177
12178 Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12179
12180         * pa.c (move_operand): Respect -mdisable-indexing.
12181         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
12182
12183 Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
12184
12185         * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
12186         PPC601.
12187         (umulsidi3,umulsi3_highpart): Ditto.
12188         (smulsi3_highpart_no_mq): Add !TARGET_POWER.
12189
12190 Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
12191
12192         * alpha.c (final_prescan_insn): Gut, remove and transform to ...
12193         (alpha_handle_trap_shadows): ... a new function.  Handle the entire
12194         function in one go.  Emit RTL for trapb, instead of printf directly.
12195         (alpha_reorg): New function.  Call alpha_handle_trap_shadows.
12196         (trap_pending): Kill global variable.
12197         (output_epilog): Don't call final_prescan_insn.
12198         (struct shadow_summary): Elide $31 and $f31; now it fits in a word.
12199         * alpha.h (FINAL_PRESCAN_INSN): Remove.
12200         (MACHINE_DEPENENT_REORG): Define.
12201         * alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
12202         (trapb): New insn.
12203
12204 Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
12205
12206         Tune Haifa scheduler for Alpha:
12207         * alpha.h (ISSUE_RATE): Define.
12208         * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
12209         EV4 adjustments to EV5.
12210         * alpha.md: Remove all scaling from function unit delays.  Rework
12211         EV5 function units to match the CPU.
12212         (umuldi3_highpart): EV5 added the IMULH insn class.
12213
12214 Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
12215
12216         * pa.c (following_call): Fail if the CALL_INSN is an indirect
12217         call.
12218
12219 Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
12220
12221         * cplus-dem.c (demangle_signature): Don't look for return types on
12222         constructors.  Handle member template constructors.
12223
12224 Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
12225
12226         * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
12227         * tree.h: Declare them.
12228
12229 Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
12230
12231         * configure.in: Handle --with-newlib.
12232         * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
12233
12234         * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
12235
12236 Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
12237
12238         * config/ptx4.h: Fix typo.
12239
12240 Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
12241
12242         * version.c: Bump for snapshot.
12243
12244 Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
12245
12246         * aclocal.m4: Substitute INSTALL.
12247         * configure: Re-built.
12248
12249 Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
12250
12251         * integrate.c (save_for_inline_copying): Avoid undefined pointer
12252         operations.
12253         (expand_inline_function): Likewise.
12254
12255         * dwarf2out.c (output_call_frame_info): Reinstate last change
12256         using flag_debug_asm check instead of flag_verbose_asm.
12257
12258 Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
12259
12260         * dwarf2out.c (output_call_frame_info): Remove last change.
12261
12262 1997-10-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
12263
12264         * frame.c (__frame_state_for): Execute the FDE insns until the
12265         current pc value is strictly bigger than the target pc value.
12266
12267 Tue Oct  7 11:00:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
12268
12269         * regclass.c (init_reg_modes): If we can't find a mode for the
12270         register, use the previous one.
12271
12272 Tue Oct  7 10:55:34 1997  Richard Henderson  <rth@cygnus.com>
12273
12274         * haifa-sched.c (print_block_visualization): Call fprintf directly,
12275         don't sprintf through an alloca'ed buffer.
12276
12277 Tue Oct  7 10:52:29 1997  Thomas Koenig (ig25@rz.uni-karlsruhe.de)
12278
12279         * reload.c (decompose): Always initialize val.base.
12280
12281 Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
12282
12283         * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
12284         instead of aborting.
12285         * dwarf2out.c (output_call_frame_info): Call app_enable and
12286         app_disable to let GNU as accept the generated comments.
12287
12288 Tue Oct  7 11:41:21 1997  Michael Meissner  <meissner@cygnus.com>
12289
12290         * tree.h (get_file_function_name): Add declaration.
12291         * dwarf2out.c (output_call_frame_info): No need to cast
12292         get_file_function_name call anymore.
12293         * profile.c (toplevel): Remove get_file_function_name
12294         declaration.
12295         * c-lang.c (finish_file): Ditto.
12296
12297 Tue Oct  7 10:01:45 1997  Chip Salzenberg <chip@rio.atlantic.net>
12298
12299         * Makefile.in (program_transform_name): Let autoconf substitute
12300         the correct value.
12301
12302 Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
12303
12304         * haifa-sched.c (schedule_block): If the first real insn in a
12305         block has any special notes attached to it, remove them.
12306
12307 Tue Oct  7 09:48:51 1997  Richard Henderson  <rth@cygnus.com>
12308
12309         * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
12310
12311 Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
12312
12313         * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
12314
12315 Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
12316
12317         * Makefile.in (check-g77): New test target.
12318         (CHECK-TARGETS): Add check-g77.
12319
12320 Fri Oct  3 11:56:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
12321
12322         * toplev.c (rest_of_compilation): Defer all non-nested inlines.
12323
12324 Fri Oct  3 15:49:27 1997  Michael Meissner  <meissner@cygnus.com>
12325
12326         * flow.c (print_rtl_with_bb): Cast alloca return value for
12327         in_bb_p.
12328
12329 Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
12330
12331         * i386.h (RETURN_ADDR_RTX): New definition that works for
12332         __builtin_return_address(0) and -fomit-frame-pointer.
12333
12334 Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
12335
12336         Bring over from FSF.
12337         Tue Aug  5 16:10:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
12338
12339         * mips.c (function_arg): Handle passing a struct
12340         containing a double in a DFmode register without the PARALLEL.
12341
12342 Wed Oct  1 11:13:25 1997  Ian Lance Taylor  <ian@cygnus.com>
12343
12344         * pexecute.c: Use spawn if __CYGWIN32__.
12345
12346         * pexecute.c: Include "config.h" first, as per autoconf manual
12347         (from Paul Eggert  <eggert@twinsun.com>).
12348
12349 Wed Oct  1 01:44:36 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
12350
12351         * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
12352         optimisation for f/expr.o and f/stb.o.
12353
12354 Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
12355
12356         * cse.c (this_insn_cc0_mode): Initialize.
12357
12358 Tue Sep 30 23:09:40 1997  Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
12359
12360         * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
12361
12362         * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
12363
12364 Tue Sep 30 23:06:43 1997  Richard Henderson  <rth@cygnus.com>
12365
12366         * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
12367         that pair will dual-issue on the 21164 and plus+beq won't.
12368         (bne): Likewise for cmpeq+beq.
12369
12370 Tue Sep 30 16:07:58 1997  Jim Wilson  <wilson@cygnus.com>
12371
12372         * except.c (find_exception_handler_labels): Correct argument to free.
12373
12374 Tue Sep 30 11:00:00 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
12375
12376         * except.c (find_exception_handler_labels): Free LABELS when we're
12377         done.
12378
12379 Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
12380
12381         * version.c: Bump for snapshot.
12382
12383 Mon Sep 29 10:51:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
12384
12385         * flow.c (find_basic_blocks): Mark calls as potentially jumping
12386         to the EH labels.
12387
12388 Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
12389
12390         * configure.in: Substitute for "install" too.
12391         * configure: Rebuilt.
12392
12393 Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
12394
12395         * Makefile.in (bootstrap-lean, compare-lean): New targets.
12396
12397 Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
12398
12399         * alias.c (base_alias_check): Two symbols can conflict if they
12400         are accessed via AND.
12401         (memrefs_conflict_p): Likewise.
12402
12403         * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
12404         after flushing argument registers to the stack.
12405
12406         * Makefile.in (mostlyclean): Remove .regmove files.
12407
12408 Sun Sep 28 18:59:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
12409
12410         * libgcc2.c (__throw): Fix thinko.
12411
12412 Sun Sep 28 12:00:52 1997  Mark Mitchell  <mmitchell@usa.net>
12413
12414         * cplus-dem.c (demangle_template): Add new parameter.  Handle new
12415         template-function mangling.
12416         (consume_count_with_underscores): New function.
12417         (demangle_signature): Handle new name-mangling scheme.
12418
12419 Sun Sep 28 01:55:04 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
12420
12421         * flow.c (print_rtl_with_bb): Cast alloca return values for variables
12422         start and end.
12423
12424 Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
12425
12426         * frame.c: Remove last change.
12427         * dwarf2.h: Remove last change.
12428         * tree.h: Add declarations of DWARF2 unwind info support
12429         functions.
12430
12431 Sat Sep 27 11:02:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
12432
12433         * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
12434         * tree.h (built_in_function): Likewise.
12435         * expr.c (expand_builtin): Likewise.
12436         * except.h: Likewise.
12437         * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
12438         * libgcc2.c (copy_reg): New fn.
12439         (__throw): Use it.
12440
12441 Fri Sep 26 08:54:59 1997  Paul Eggert  <eggert@twinsun.com>
12442
12443         * c-typeck.c (build_binary_op): Warn about comparing signed vs
12444         unsigned if -W is specified and -Wno-sign-compare is not.
12445         * c-decl.c (warn_sign_compare): Initialize to -1.
12446         (c_decode_option): -Wall no longer implies -Wsign-compare.
12447
12448 Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
12449
12450         * frame.c: Include gansidecl.h for PROTO.
12451         * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
12452         defined.  Don't declare dwarf2out_cfi_label here.
12453         * dwarf2.h: Add declarations of DWARF2 unwind info support
12454         functions.
12455         * m68k.c: Include dwarf2.h.
12456         (output_function_prologue): Add dwarf2 support.
12457         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
12458         (INCOMING_FRAME_SP_OFFSET): Likewise.
12459
12460         * integrate.c (expand_inline_function): Make sure there is at
12461         least one insn that can be used as an insertion point.
12462
12463 Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
12464
12465         * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
12466
12467 Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
12468
12469         * version.c: Bump for snapshot.
12470
12471 Wed Sep 24 17:36:23 1997  Doug Evans  <dje@canuck.cygnus.com>
12472
12473         Bring over from FSF.
12474
12475         Wed Sep 24 19:17:08 1997  Doug Evans  <dje@cygnus.com>
12476
12477         * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
12478         (get_pc_via_rdpc): Renamed from get_pc_sp64.
12479         * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
12480
12481         Wed Sep 24 18:38:22 1997  David S. Miller  <davem@tanya.rutgers.edu>
12482
12483         * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
12484         (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
12485         -malign-functions=.
12486         (sparc_align_{loops,jumps,funcs}_string): Declare.
12487         (sparc_align_{loops,jumps,funcs}): Declare.
12488         (DEFAULT_SPARC_ALIGN_FUNCS): New macro.
12489         (FUNCTION_BOUNDARY): Use sparc_align_funcs.
12490         (STACK_BIAS): Define.
12491         (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
12492         test.
12493         (SPARC_SETHI_P): New macro.
12494         (CONST_OK_FOR_LETTER_P): Use it.
12495         (ASM_OUTPUT_ALIGN_CODE): Define.
12496         (ASM_OUTPUT_LOOP_ALIGN): Define.
12497         * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
12498         (sparc_align_{loops,jumps,funcs}): New globals.
12499         (sparc_override_options): Handle -malign-loops=, -malign-jumps=,
12500         -malign-functions=.
12501         (move_operand): Use SPARC_SETHI_P.
12502         (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
12503         perform test.
12504         (arith11_double_operand): Likewise.
12505         (arith10_double_operand): Likewise.
12506         (finalize_pic): Finish sparc64 support.
12507         (emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
12508         64 bit constants if able.
12509         (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
12510         (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
12511         ! TARGET_FPU.
12512         * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
12513         (get_pc_sp32): Use for sparc64 as well.
12514         (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
12515         (sethi_di_sp64_const): Likewise.
12516         (movtf_cc_sp64): Check TARGET_HARD_QUAD.
12517         (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
12518         (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
12519
12520         Tue Sep 23 19:02:46 1997  Doug Evans  <dje@cygnus.com>
12521
12522         * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
12523         * sparc/linux.h (COMMENT_BEGIN): Likewise.
12524         * sparc/linux64.h (COMMENT_BEGIN): Likewise.
12525
12526         Tue Sep 23 14:48:18 1997  David S. Miller  <davem@tanya.rutgers.edu>
12527
12528         Add sparc64 linux support.
12529         * configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
12530         to xm_file list on 32-bit sparc-linux.
12531         * sparc/xm-sp64.h: New file.
12532         * sparc/linux64.h: New file.
12533         * sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
12534         Don't include xm-sparc.h.
12535         * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
12536         * glimits.h (LONG_MAX): Handle sparc64.
12537
12538         Sat Sep 20 03:07:54 1997  Doug Evans  <dje@cygnus.com>
12539
12540         * sparc/sysv4.h (ASM_COMMENT_START): Delete.
12541         * sparc.h (ASM_COMMENT_START): Define.
12542         * sparc.c (output_function_prologue): Use it.
12543         (sparc_flat_output_function_{epi,pro}logue): Likewise.
12544
12545         Wed Sep 17 15:04:19 1997  Doug Evans  <dje@cygnus.com>
12546
12547         * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
12548         use sparc.h's copies.
12549         * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
12550         ascii form as well.
12551
12552         Mon Sep  8 08:45:19 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12553
12554         * sparc.c (dwarf2out_cfi_label): Add declaration.
12555         (save_regs, output_function_prologue): Remove cast for it.
12556         (sparc_flat_{save_restore,output_function_prologue): Likewise.
12557         ({save,restore}_regs): No longer inline.
12558
12559 Tue Sep 23 12:34:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12560
12561         * fold-const.c (make_range): Correctly handle cases of converting
12562         from unsigned to signed type.
12563
12564 Tue Sep 23 12:34:51 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
12565
12566         * fold-const.c (merge_ranges): Make sure that if one range is subset
12567         of another, it will always be the second range.  Correct (+,-) case to
12568         account for this.
12569
12570 Tue Sep 23 08:32:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
12571
12572         * final.c (final_end_function): Also do dwarf2 thing if
12573         DWARF2_DEBUGGING_INFO.
12574         (final_start_function): Likewise.
12575
12576 Tue Sep 23 01:15:50 1997  David S. Miller  <davem@tanya.rutgers.edu>
12577
12578         * expmed.c (expand_divmod): If compute_mode is not the same as
12579         mode, handle the case where convert_modes() causes op1 to no
12580         longer be a CONST_INT.
12581
12582         * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
12583         note holding get_jump_flags() calculation to all JUMP_INSNs.
12584         * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
12585         * rtl.c (reg_note_name): Add new note types.
12586
12587 Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
12588
12589         * rtlanal.c (computed_jump_p): Fix typo in last change.
12590
12591 Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
12592
12593         * loop.c (indirect_jump_in_function_p): Return 0
12594         by default.
12595
12596 Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
12597
12598         * rs6000/xm-rs6000.h: Fix thinko in last change.
12599         * rs6000/xm-sysv4.h: Likewise.
12600
12601 Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>
12602
12603         * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
12604
12605 Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
12606
12607         * reg-stack.c (find_blocks): Fix thinko in last change.
12608
12609 1997-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
12610
12611         * m68k.c (output_function_prologue): Add dwarf2 support.
12612
12613         * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
12614         INCOMING_FRAME_SP_OFFSET): New definitions.
12615
12616 Mon Sep 22 11:36:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
12617
12618         * combine.c (try_combine): Use NULL_RTX instead of '0' where
12619         appropriate in calls to gen_rtx().
12620         * cse.c (cse_main): Likewise.
12621         * emit-rtl.c (gen_label_rtx): Likewise.
12622         * expr.c (init_expr_once): Likewise.
12623         * haifa-sched.c (flush_pending_lists, sched_analyze_insn,
12624         sched_analyze, init_rgn_data_dependences,
12625         compute_block_backward_dependences): Likewise.
12626         * sched.c (schedule_insns): Likewise.
12627         * varasm.c (immed_double_const): Likewise.
12628
12629         * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
12630         SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
12631
12632 Mon Sep 22 11:21:33 1997  J. Kean Johnston  <jkj@sco.com>
12633
12634         * i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
12635         (MULTILIB_DEFAULTS): Define.
12636         (ASM_SPEC, CPP_SPEC): Handle -mcoff.
12637         (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
12638         (LIBGCC_SPEC): Likewise.
12639         (MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
12640         (SUBTARGET_SWITCHES): Add -mcoff and -melf.
12641         * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
12642         (CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
12643         (EXTRA_PARTS, TAROUTOPTS): Delete.
12644         (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
12645         (MULTILIB_OPTIONS): Define.
12646         (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
12647         (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
12648
12649 Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
12650
12651         * version.c: Bump for snapshot.
12652
12653 Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
12654
12655         * loop.c (loop_number): Delete function.  Change all references
12656         to use uid_loop_num array.
12657         * loop.h (loop_number): Delete declaration.
12658         * unroll.c (unroll_loop): Change "loop_number" references to
12659         use uid_loop_num instead.
12660
12661         * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
12662         conditional.
12663         (loop_unroll_iter): Remove unused variable and all references.
12664         (loop_optimize): Always allocate and clear space for loop_unroll_factor.
12665         (insert_bct): Fix minor formatting problems.
12666         * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
12667         (loop_unroll_iter): Removed unused decl.
12668         * unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
12669         Always record the unrolling factor.
12670
12671         * cse.c (simplify_relational_operation): Set h0u just like h0s.
12672         Similarly for h1u and h1s.
12673
12674         * flow.c (jmp_uses_reg_or_mem): Deleted unused function.
12675         (find_basic_blocks): Use computed_jump_p to determine if a
12676         particular JUMP_INSN is a computed jump.
12677         * reg-stack.c (find_blocks): Use computed_jump_p to determine
12678         if a particular JUMP_INSN is a computed jump.
12679         * rtlanal.c (jmp_uses_reg_or_mem): New function.
12680         (computed_jump_p): Likewise.
12681         * rtl.h (computed_jump_p): Declare.
12682         * genattrtab.c (pc_rtx): Define and initialize.
12683         * loop.c (loop_optimize): Always determine if the current
12684         function has a computed jump.
12685         (indirect_jump_in_function_p): Use computed_jump_p to determine
12686         if a particular JUMP_INSN is a computed jump.
12687
12688         * loop.c (fix_bct_param): Delete unused function.
12689         (check_bct_param): Likewise.
12690
12691 Sat Sep 20 16:22:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
12692
12693         * frame.c (__deregister_frame): Check properly for initialized object.
12694
12695 Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
12696
12697         * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
12698
12699 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
12700
12701         * jump.c (thread_jumps): check can_reverse_comparison_p before
12702         threading a reversed-condition jump.
12703
12704         * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
12705         * haifa-sched.c (update_flow_info): Likewise.
12706
12707 Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
12708
12709         * Makefile.in (BOOT_CFLAGS): Use -O2.
12710
12711         * configure.in (strtoul, bsearch): Have autoconf check for these
12712         functions.
12713         * configure, config.in: Rebuilt.
12714
12715         * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
12716         * mips/mips.h (alloca): Likewise.
12717         * rs6000/xm-rs6000.h (alloca): Likewise.
12718         * rs6000/xm-sysv4.h: Likewise.
12719
12720 Thu Sep 18 14:22:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
12721
12722         * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
12723         * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
12724         (dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
12725
12726         * except.c (end_eh_unwinder): Subtract 1 from return address.
12727         * libgcc2.c (__throw): Likewise.
12728         (find_exception_handler): Don't change PC here.  Compare end with >.
12729
12730 Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
12731
12732         * v850.c (compute_register_save_size): Correct register
12733         number.
12734         * v850.md (save_interrupt, return_interrupt): Correct
12735         register number.
12736         * v850/lib1funcs.asm (save_interrupt): Correct register number.
12737         (return_interrupt): Use stack pointer, not element pointer.
12738
12739 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
12740
12741         * configure.in, configure: Make sure to create the stage* and include
12742         symbolic links in each subdirectory.
12743
12744 Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
12745
12746         * pa.md (reload_peepholes): Don't allow addresses with side
12747         effects for the memory operand.
12748
12749 Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
12750
12751         * libgcc2.c (find_exception_handler): Subtract one from our PC when
12752         looking for a handler, to avoid hitting the beginning of the next
12753         region.
12754
12755         * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
12756
12757 Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
12758
12759         * mips/abi64.h (LONG_MAX_SPEC): Define.
12760         * mips.h (LONG_MAX_SPEC): Define.
12761         (CPP_SPEC): Include long_max_spec.
12762         (EXTRA_SPECS): Include long_max_spec.
12763
12764 Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
12765
12766         * v850.c (construct_save_jarl): Fix thinko in last change.
12767
12768 Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
12769
12770         * version.c: Bump for snapshot.
12771
12772 Tue Sep 16 14:22:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
12773
12774         * libgcc2.c (find_exception_handler): Not found is -1.
12775
12776         * integrate.c (expand_inline_function): Move expand_start_bindings
12777         after expanding the arguments.
12778
12779 Tue Sep 16 11:13:46 1997  Jim Wilson  <wilson@cygnus.com>
12780
12781         * expr.c (expand_expr): Remove previous incorrect change.
12782         If target and slot has no DECL_RTL, then call mark_addressable
12783         again for the slot after we give it RTL.
12784
12785 Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
12786
12787         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
12788         again for the slot after we give it RTL.
12789
12790 Tue Sep 16 00:13:20 1997  Nick Clifton  <nickc@cygnus.com>
12791
12792         * v850.c (register_is_ok_for_epilogue,
12793         pattern_is_ok_for_epilogue, construct_restore_jr,
12794         pattern_is_ok_for_prologue, construct_save_jarl): New functions.
12795
12796         * v850.h (pattern_is_ok_for_prologue,
12797         pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
12798         predicates.
12799
12800         * v850.md: Replace prologue and epilogue patterns with a
12801         match_parallel pattern.
12802
12803 Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
12804
12805         * aclocal.m4: Add replacement for AC_PROG_INSTALL.
12806         * configure.in: Use EGCS_PROG_INSTALL.
12807
12808 Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
12809
12810         * dwarf2out.c (gen_subprogram_die): Handle redefinition of an
12811         extern inline function.
12812
12813 Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
12814
12815         * dwarf2out.c (reg_loc_descriptor): Fix prototype.
12816         (concat_loc_descriptor): New function.
12817         (loc_descriptor): Call it.
12818         (add_AT_location_description): Also elide the descriptor if both
12819         halves of a CONCAT are pseudos.
12820         (add_location_or_const_value_attribute): Recognize CONCAT too.
12821
12822 Mon Sep 15 15:24:00 1997  Richard Henderson  <rth@cygnus.com>
12823
12824         * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
12825
12826         * alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
12827         out-or-range reg_offset.
12828         (output_epilog): Likewise.
12829
12830 Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
12831
12832         * cse.c (simplify_relational_operation): If MODE specifies a
12833         mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
12834         is derived from the sign bit of the low word.
12835
12836 Mon Sep 15 11:43:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
12837
12838         Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
12839
12840         * dwarf2.h: Add DW_CFA_GNU_args_size.
12841         * frame.c (execute_cfa_insn): Likewise.
12842         * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
12843         (dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
12844         (dwarf2out_frame_debug): If this isn't a prologue or epilogue
12845         insn, hand it off to dwarf2out_stack_adjust.
12846         (dwarf2out_begin_prologue): Initialize args_size.
12847         * frame.h (struct frame_state): Add args_size.
12848         * libgcc2.c (__throw): Use args_size.
12849         * final.c (final_scan_insn): If we push args, hand off all insns
12850         to dwarf2out_frame_debug.
12851         * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
12852
12853         * dwarf2out.c dwarf2out_frame_debug): Fix typo.
12854         Handle epilogue restore of SP from FP.
12855         * emit-rtl.c (gen_sequence): Still generate a sequence if the
12856         lone insn has RTX_FRAME_RELATED_P set.
12857
12858         * frame.c (extract_cie_info): Handle "e" augmentation.
12859         * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
12860         absence of UNALIGNED_*_ASM_OP.
12861         (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
12862         (output_call_frame_info): Use "e" instead of "z" for augmentation.
12863         Don't emit augmentation fields length.
12864         (dwarf2out_do_frame): Move outside of #ifdefs.
12865         * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
12866         opcodes.
12867
12868         * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
12869         * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
12870         * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
12871         * sparc/sun4gas.h: New file.
12872         * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
12873
12874         * collect2.c (write_c_file_stat, write_c_file_glob): Declare
12875         __register_frame_table and __deregister_frame.
12876
12877 1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
12878
12879         * except.c (find_exception_handler_labels): Use xmalloc instead of
12880         alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
12881         in some cases.
12882
12883 Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
12884
12885         * Makefile.in: Various changes to build info files
12886         in the object tree rather than the source tree.
12887
12888 Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
12889
12890         * fixinc.math: New file to fix math.h on some systems.
12891         * configure.in (freebsd, netbsd): Use fixinc.math on these
12892         systems.
12893         * configure: Rebuilt.
12894
12895 Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
12896
12897         * regmove.c (regmove_optimize): If we end up moving the
12898         original insn due to lifetime overlaps, make sure to move
12899         REG_NOTES too.
12900
12901 Sat Sep 13 15:51:11 1997  Manfred Hollstein  <manfred@s-direktnet.de>
12902
12903         * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
12904
12905 Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
12906
12907         * haifa-sched.c (add_branch_dependences): Make each insn in
12908         a SCHED_GROUP_P block explicitly depend on the previous insn.
12909
12910 Fri Sep 12 13:49:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
12911
12912         * except.h: Prototype dwarf2 hooks.
12913         * expr.c: Adjust.
12914
12915 Thu Sep 11 17:43:55 1997  Jim Wilson  <wilson@cygnus.com>
12916
12917         * configure.in (native_prefix): Delete.
12918         (mips-dec-netbsd): Don't set prefix.
12919         (*linux*): Don't set prefix.
12920
12921 Thu Sep 11 15:48:32 1997  Fred Fish  <fnf@ninemoons.com>
12922
12923         * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
12924         defined.  If not defined, include <sys/varargs.h> if
12925         HAVE_SYS_VARARGS_H is defined.
12926         * configure.in: Test for varargs.h and sys/varargs.h.
12927         * configure: Regenerate with autoconf.
12928         * config.in: Regenerate with autoheader.
12929
12930         * cpplib.c (quote_string): Cast first arg of sprintf call
12931         from "unsigned char *" to "char *".
12932         (output_line_command): Ditto.
12933         (macroexpand): Ditto.
12934         (do_line): Cast atoi arg from "unsigned char *" to "char *".
12935
12936 Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
12937
12938         * version.c: Bump for snapshot.
12939
12940         * Makefile.in (compare): Exit with nonzero status if there
12941         are comparison failures.  Note which files failed the
12942         comparison test in .bad_compare.
12943
12944 Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
12945
12946         * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
12947
12948 Wed Sep 10 16:37:28 1997  Fred Fish  <fnf@ninemoons.com>
12949
12950         * Makefile.in (LN, LN_S): New macros, use where appropriate.
12951         * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
12952         * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
12953         * configure: Regenerated.
12954
12955 Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
12956
12957         * loop.c (strength_reduce): Fix typo.
12958
12959 Wed Sep 10 16:01:15 1997  Jim Wilson  <wilson@cygnus.com>
12960
12961         * m88k/m88k.c (struct option): Rename to struct options.
12962         * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
12963         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
12964         * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
12965         __DOLPHIN__ or sysV88.
12966
12967 Wed Sep 10 14:58:40 1997  Jim Wilson  <wilson@cygnus.com>
12968
12969         * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
12970         create new subreg.
12971
12972 Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
12973
12974         * config.sub: Accept 'amigados' for backward compatability.
12975
12976 Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
12977
12978         * Makefile.in (testsuite/site.exp): New target.
12979         (check-gcc, check-g++): Depend on testsuite/site.exp.
12980         Don't stop for failure.
12981
12982 Wed Sep 10 12:59:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
12983
12984         * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
12985         if DWARF2_UNWIND_INFO.
12986
12987 Wed Sep 10 11:49:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
12988
12989         Add support for exception handling using DWARF 2 frame unwind info.
12990         Currently works on SPARC and MIPS, and almost on x86.
12991
12992         * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
12993         next_stack_level, in_reg_window): Helper fns.
12994         (__throw): Implement for DWARF2_UNWIND_INFO.
12995
12996         * expr.c (expand_builtin): Handle builtins used by __throw.
12997         * tree.h (enum built_in_function): Add builtins used by __throw.
12998         * c-decl.c (init_decl_processing): Declare builtins used by __throw.
12999         * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
13000         * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
13001         (expand_builtin_extract_return_addr): Likewise.
13002         (expand_builtin_frob_return_addr): Likewise.
13003         (expand_builtin_set_return_addr_reg): Likewise.
13004         (expand_builtin_eh_stub): Likewise.
13005         (expand_builtin_set_eh_regs): Likewise.
13006         (eh_regs): Choose two call-clobbered registers for passing back values.
13007
13008         * frame.c, frame.h: New files for parsing dwarf 2 frame info.
13009         * Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
13010         (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
13011         (stmp-multilib): Likewise.
13012         ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
13013
13014         * except.c: #include "defaults.h".
13015         (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
13016         (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
13017         (register_exception_table_p): New fn.
13018         (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
13019         (end_eh_unwinder): Likewise.
13020
13021         * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
13022         call __register_frame and __deregister_frame as needed.
13023         * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
13024         * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
13025         EH_FRAME_SECTION_ASM_OP.
13026         * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
13027         * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define.
13028         (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
13029
13030         * dwarf2out.c (output_call_frame_info): If no support for
13031         EXCEPTION_SECTION, mark the start of the frame info with a
13032         collectable tag.
13033         * collect2.c (frame_tables): New list.
13034         (is_ctor_dtor): Recognise frame entries.
13035         (scan_prog_file): Likewise.
13036         (main): Pass -fno-exceptions to sub-compile.  Also do collection
13037         if there are any frame entries.
13038         (write_c_file_stat): Call __register_frame_table and
13039         __deregister_frame as needed.
13040         (write_c_file_glob): Likewise.
13041
13042         * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
13043         Also require unaligned reloc support.
13044         * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13045         UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
13046         * sparc/sysv4.h: Not here.
13047
13048         * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
13049         * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
13050         (dwarf2out_finish): Don't call dwarf2out_frame_finish.
13051
13052         * libgcc2.c (L_eh): Reorganize, moving code shared by different
13053         EH implementations to the top.
13054         (find_exception_handler): Split out.  Start from 0.  Compare against
13055         end with >=.
13056         (__find_first_exception_table_match): Use it.
13057         * except.c (output_exception_table): Don't do anything if there's
13058         no table.  Don't output a first entry of zeroes.
13059         (eh_outer_context): Adjust properly.
13060         (add_eh_table_entry): Use xrealloc.
13061         * toplev.c (compile_file): Just call output_exception_table.
13062
13063 Wed Sep 10  11:30:36 1997  Jason Merrill  <jason@cygnus.com>
13064
13065         * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
13066
13067 Wed Sep 10 08:17:10 1997  Torbjorn Granlund  <tege@pdc.kth..se>
13068
13069         * except.c (eh_outer_context): Do masking using expand_and.
13070
13071 Wed Sep 10 01:38:30 1997  Doug Evans  <dje@cygnus.com>
13072
13073         Add port done awhile ago for the ARC cpu.
13074         * arc/arc.h: New file.
13075         * arc/arc.c: New file.
13076         * arc/arc.md: New file.
13077         * arc/initfini.c: New file.
13078         * arc/lib1funcs.asm: New file.
13079         * arc/t-arc: New file.
13080         * arc/xm-arc.h: New file.
13081         * ginclude/va-arc.h: New file.
13082         * ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
13083         * ginclude/varargs.h: Likewise.
13084         * Makefile.in (USER_H): Add va-arc.h.
13085         * configure.in (arc-*-elf*): Recognize.
13086         * longlong.h: Add ARC support.
13087
13088 Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
13089
13090         * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
13091         when clearing non-BLKmode data.
13092
13093 Wed Sep 10 00:29:29 1997  Manfred Hollstein  <manfred@s-direktnet.de>
13094
13095         * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
13096         * libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
13097
13098         * xm-m88k.h (USG): Only define if it hasn't already been defined.
13099
13100         * Makefile.in (risky-stage1): Delete gratutious whitespace.
13101
13102         * Makefile.in (clean): Delete libgcc1-test.
13103
13104         * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
13105
13106 Tue Sep  9 17:07:36 1997  Stan Cox  <coxs@dg-rtp.dg.com>
13107
13108         * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
13109         template.
13110
13111 Tue Sep  9 09:50:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13112
13113         * dwarf2out.c (output_call_frame_info): Call named_section.
13114
13115 Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
13116
13117         * haifa-sched.c (print_value): Fix last change.
13118
13119 Tue Sep  9 01:30:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
13120
13121         * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
13122         write_symbols.
13123
13124 Mon Sep  8 16:32:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
13125
13126         * mips.c (function_prologue): Set up the CFA when ABI_32.
13127
13128         * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
13129         for dwarf2 unwind info.
13130         (output_function_prologue, sparc_flat_output_function_prologue): Same.
13131
13132         * final.c (final_end_function): Check dwarf2out_do_frame instead
13133         of DWARF2_DEBUG for dwarf2 unwind info.
13134         (final_scan_insn): Likewise.
13135         (final_start_function): Likewise.  Initialize dwarf2 frame debug here.
13136         (final): Not here.
13137
13138         * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
13139         count > 0.
13140
13141         * varasm.c (exception_section): Check EXCEPTION_SECTION first.
13142
13143 Mon Sep  8 15:15:11 1997  Nick Clifton  <nickc@cygnus.com>
13144
13145         * v850.h (ASM_SPEC): Pass on target processor.
13146         (CPP_PREDEFINES): Only define if not already specified.
13147         (TARGET_VERSION): Only define if not already specified.
13148         (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
13149         processor.
13150         (EXTRA_SWITCHES): Extra entries in the switches array.
13151         (TARGET_DEFAULT): Set default target processor.
13152
13153 Mon Sep  8 18:26:35 1997  Jim Wilson  <wilson@cygnus.com>
13154
13155         * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
13156         cases, add %# and %/, and add : to make them into extended asms.
13157
13158 Sun Sep  7 23:57:50 1997  Weiwen Liu  <liu@hepunix.physics.yale.edu>
13159
13160         * alias.c (init_alias_analysis): Clean up incompatible pointer
13161         type warning in bzero.
13162         * regmove.c (regmove_optimize): Ditto.
13163         * haifa-sched.c (find_rgns): Ditto.
13164
13165         * haifa-sched.c (print_value): Clean up ptr->int cast
13166         warnings.
13167
13168 Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
13169
13170         * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
13171         * install.texi (Configurations): Ditto.
13172         * config.sub: Ditto.
13173
13174 Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
13175
13176         * Makefile.in (sdbout.o): Depend on insn-config.h.
13177
13178 Sun Sep  7 18:44:50 1997  Jim Wilson  <wilson@cygnus.com>
13179
13180         * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
13181         For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
13182
13183 Sun Sep  7 18:30:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
13184
13185         * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
13186         prologue insn, only the first elt is significant.
13187         (output_call_frame_info): For exception handling, always use 4-byte
13188         fields as specified by the dwarf2 spec.
13189         Don't skip trivial FDEs.
13190
13191 Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
13192
13193         * version.c: Bump for snapshot.
13194
13195 Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
13196
13197         * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
13198         for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
13199         when op1_is_pow2.
13200
13201 Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
13202
13203         * final.c (shorten_branches): During first pass, assume worst
13204         possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
13205
13206         * Makefile.in (distclean): Remove various things left around
13207         by running the testsuite.
13208
13209 Sun Sep  7 13:16:06 1997  Manfred Hollstein  <manfred@s-direktnet.de>
13210
13211         * configure.in (out_file): Emit definition to config.status in order
13212         to have a defined value for configure.lang.
13213         * configure: Re-built.
13214
13215 Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl)
13216
13217         * configure.in: Make symlink to as-new rather than as.new.  Similarly
13218         for ld-new.
13219         * configure: Rebuilt.
13220
13221 Fri Sep  5 16:54:55 1997  Jim Wilson  <wilson@cygnus.com>
13222
13223         * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
13224
13225 Fri Sep  5 16:16:44 1997  Christian Kuehnke  <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
13226
13227         * sparc/sparc.md: Add ultrasparc scheduling support.
13228         * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
13229
13230 Fri Sep  5 14:04:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
13231
13232         * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
13233         as initial value for real_label_map.
13234         (copy_for_inline): Likewise.
13235
13236 Fri Sep  5 13:36:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
13237
13238         * sched.c (update_flow_info) When looking if to set found_split_dest
13239         or found_orig_dest, look at all parts of a PARALLEL.
13240         * haifa-sched.c (update_flow_info): Likewise.
13241
13242 Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
13243
13244         * v850: New directory for v850 port.
13245         * v850/lib1funcs.asm: New file.
13246         * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
13247         * ginclude/va-v850.h: New file.
13248         * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
13249         * configure.in (mn10200-*-*): New target.
13250         * configure: Rebuilt.
13251         * config.sub: Handle v850-elf.
13252         * Makefile.in (USER_H): Add va-mn10200.h.
13253         * invoke.texi: Document v850 stuff.
13254
13255 Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
13256
13257         * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
13258         has integer TYPE_{MAX,MIN}_VALUE before using them.
13259
13260         * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
13261         __HPUX_ASM__ versions.
13262
13263 Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
13264
13265         * install.sh: Delete duplicate install script.
13266
13267 Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
13268
13269         * reg-stack.c (subst_stack_regs): Pop the stack register for a
13270         computed goto which sets the same stack register.
13271
13272         * reg-stack.c (compare_for_stack_reg): Swap only if the source and
13273         destination are both on the regstack.
13274         (subst_stack_regs_pat): Put the destination at the top of the regstack.
13275
13276 Thu Sep  4 15:02:27 1997  Jim Wilson  <wilson@cygnus.com>
13277
13278         * mips.md (nonlocal_goto_receiver): Define.
13279
13280         * profile.c (output_arc_profiler): Check next_insert_after for non
13281         NULL before deferencing it.
13282
13283         * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
13284
13285 Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
13286
13287         * i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
13288
13289 Thu Sep  4 15:01:49 1997  Michael Meissner  <meissner@cygnus.com>
13290
13291         * toplev.c (rest_of_compilation): For passes starting with
13292         flow_analysis, use print_rtl_with_bb instead of print_rtl.
13293
13294         * print-rtl.c (print_rtl_single): Print a single rtl value to a
13295         file.
13296
13297         * flow.c (print_rtl_with_bb): Print which insns start and end
13298         basic blocks.  For the start of a basic block, also print the live
13299         information.
13300
13301 Thu Sep  4 11:51:43 1997  Jim Wilson  <wilson@cygnus.com>
13302
13303         * toplev.c (main): Change #elif to #else/#ifdef
13304
13305         * tlink.c: Include ctype.h.
13306         * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
13307
13308 Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
13309
13310         * bitmap.c: Conditionally include stdlib.h.
13311         (free): Provide a declaration if NEED_DECLARATION_FREE.
13312
13313 Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
13314
13315         * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
13316
13317 Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
13318
13319         * profile.c (output_arc_profiler): Verify next_insert_after is an
13320         INSN before and after skipping a stack pop.
13321
13322 Thu Sep  4 07:39:19 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
13323
13324         * final.c (shorten_branches): Don't count the lengths of deleted
13325         instructions.
13326
13327 Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
13328
13329         * version.c: Bump for snapshot.
13330
13331 Thu Sep  4 11:04:21 1997  Michael Meissner  <meissner@cygnus.com>
13332
13333         * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
13334         two bitmaps ANDed together.
13335         (bitmap_print): Declare.
13336
13337         * bitmap.c (function_obstack): Don't declare any more.
13338         (bitmap_obstack): Obstack for allocating links from.
13339         (bitmap_obstack_init): New static to say whether to initialize
13340         bitmap_obstack.
13341         (bitmap_element_allocate): Use bitmap_obstack to allocate from.
13342         (bitmap_release_memory): Free all memory allocated from
13343         bitmap_obstack.
13344
13345         * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
13346         EXECUTE_IF_AND_IN_BITMAP.
13347
13348 Wed Sep  3 10:39:42 1997  Jim Wilson  <wilson@cygnus.com>
13349
13350         * alias.c (true_dependence): Address with AND can alias scalars.
13351         (anti_dependence, output_dependence): Likewise.
13352
13353         * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
13354
13355 Wed Sep  3 09:28:50 CDT 1997  Joel Sherrill (joel@OARcorp.com)
13356
13357         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
13358           mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
13359           sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
13360           definitions.  Use -qrtems instead of -mrtems.
13361
13362 Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
13363
13364         * xm-sco5.h (sys_siglist): Define.
13365         (SYS_SIGLIST_DECLARED): Likewise.
13366
13367 Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
13368
13369         * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
13370
13371 Wed Sep  3 02:09:30 1997  Torbjorn Granlund  <tege@pdc.kth..se>
13372
13373         * except.c (eh_outer_context): Expand masking operation using
13374         expand_binop.
13375
13376 Tue Sep  2 18:09:39 1997  Jim Wilson  <wilson@cygnus.com>
13377
13378         * alpha.md (floatdisf2-1): New pattern.
13379
13380 Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
13381
13382         * xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
13383         * xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
13384         * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
13385         * gcc.texi: Note that if you define sys_siglist that you should
13386         also define SYS_SIGLIST_DECLARED.
13387
13388         * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
13389         are relative to the next instruction, not the current instruction.
13390
13391 Tue Sep  2 14:22:43 1997  Jim Wilson  <wilson@cygnus.com>
13392
13393         * local-alloc.c (contains_replace_regs): New function.
13394         (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
13395         verify that there is no existing REG_EQUIV note, and add a call to
13396         contains_place_regs.
13397
13398 Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
13399
13400         * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
13401         (STARTFILE_SPEC): Always use crtbegin.o%s
13402         (ENDFILE_SPEC): Always use crtend.o%s.
13403
13404 Tue Sep  2 12:00:36 1997  Jim Wilson  <wilson@cygnus.com>
13405
13406         * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
13407         is passed in.
13408         * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
13409         SFmode for 64 bit hosts.
13410
13411 Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  <hilfingr@CS.Berkeley.EDU>
13412
13413         * fixincludes: Permits spaces between # and define.  Discard C++
13414         comments in sys/pci.h on HP/UX 10.20.
13415
13416 Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
13417
13418         * version.c: Bump for snapshot.
13419
13420         * pa.c (restore_unscaled_index_insn_codes): New function.
13421         (record_unscaled_index_insn_codes): Likewise.
13422         (output_function_prologue): Call restore_unscaled_index_insn_codes.
13423         (output_function_epilogue): Free memory for unscaled_index_insn_codes.
13424         (pa_reorg): Call record_unscaled_index_insn_codes.
13425
13426         * haifa-sched.c (move_insn): Handle notes correctly for insns
13427         with SCHED_GROUP_P set.
13428
13429 Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
13430
13431         * alpha/xm-linux.h (USE_BFD): Undef before define.
13432
13433 Mon Sep  1 16:25:34 1997  Jim Wilson  <wilson@cygnus.com>
13434
13435         * cse.c (cse_insn): Don't record BLKmode values.
13436
13437 Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
13438
13439         * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
13440
13441 Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
13442
13443         * cccp.c (sys_errlist): Remove special 4.4bsd declaration.
13444         * collect2.c (sys_errlist): Likewise.
13445         * cpplib.c (sys_errlist): Likewise.
13446         * gcc.c (sys_errlist): Likewise.
13447         * protoize (sys_errlist): Likewise.
13448         * configure.in: Check for strerror.
13449         * xm-freebsd.h (HAVE_STRERROR): Remove definition.
13450         * xm-gnu.h (HAVE_STRERROR): Likewise.
13451         * xm-linux.h (HAVE_STRERROR): Likewise.
13452         * xm-netbsd.h (HAVE_STRERROR): Likewise.
13453         * xm-bsd386.h (HAVE_STRERROR): Likewise.
13454         * xm-cygwin32.h (HAVE_STRERROR): Likewise.
13455         * xm-dos.h (HAVE_STRERROR): Likewise.
13456         * xm-mingw32.h (HAVE_STRERROR): Likewise.
13457         * xm-pa.h (HAVE_STRERROR): Likewise.
13458         * xm-papro.h (HAVE_STRERROR): Likewise.
13459         * xm-sysv4.h (HAVE_STRERROR): Likewise.
13460         * configure, config.in: Rebuilt.
13461
13462         * Makefile.in: Add several missing "else true" clauses.
13463
13464         * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
13465         * mips-tfile.c: Likewise.
13466         * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
13467         * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
13468         * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
13469         * configure.in: Check for sys_siglist declaration.
13470         * configure, config.in: Rebuilt.
13471
13472 Mon Sep  1 08:04:07 1997  Joel Sherrill (joel@OARcorp.com)
13473
13474         * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
13475         m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
13476         sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
13477         * i960/i960.h: Added SUBTARGET_SWITCHES macro.
13478         * rs6000/sysv4.h (extra_subtarget_switches): Added new
13479         macro EXTRA_SUBTARGET_SWITCHES.
13480         * configure.in (sh*-*-rtems*): New target.
13481         * sh/rtems.h: New file.
13482         * sh/sh.h: Added SUBTARGET_SWITCHES macro.
13483         * configure: Rebuilt.
13484
13485 Sat Aug 30 22:54:26 1997  Jim Wilson  <wilson@cygnus.com>
13486
13487         * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
13488
13489 Sat Aug 30 10:49:46 1997  David Edelsohn  <edelsohn@mhpcc.edu>
13490
13491         * rs6000.md: Make DF fused-add operations pay attention to
13492         -mno-fused-add.
13493
13494 Fri Aug 29 19:19:54 1997  Jim Wilson  <wilson@cygnus.com>
13495
13496         * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
13497
13498 Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
13499
13500         * pa.md (reload_peepholes): Make sure operand is a REG before
13501         examining REGNO.  Allow general registers too.
13502
13503 Fri Aug 29 11:42:04 1997  Jim Wilson  <wilson@cygnus.com>
13504
13505         * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
13506
13507 Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
13508
13509         * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
13510         to reallocate abbrev_die_table.
13511
13512 Thu Aug 28 15:14:46 1997  Jim Wilson  <wilson@cygnus.com>
13513
13514         * m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
13515
13516 1997-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
13517
13518         * Makefile.in (config.status): Depend on version.c
13519
13520         * expr.h (insn_gen_function): Reenable prototype.
13521
13522         * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
13523         first parameter.
13524
13525 Thu Aug 28 13:01:43 1997  Jim Wilson  <wilson@cygnus.com>
13526
13527         * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
13528
13529 Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
13530
13531         * version.c: Bump for latest snapshot.
13532
13533         * bc-optab.c: Conditionally include stdlib.h.
13534         (free): Provide a declaration if NEED_DECLARATION_FREE.
13535         * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
13536         * rtl.h (free): Remove declaration.
13537         * tree.h (free): Remvoe declaration.
13538
13539         * configure: Rebuilt.
13540
13541 Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
13542
13543         * flags.h (flag_move_all_movables): Declare.
13544         (flag_reduce_all_givs): Likewise.
13545         * loop.c (move_movables): Handle flag_move_all_movables.
13546         (strength_reduce): Handle flag_reduce_all_givs.
13547         * toplev.c (flag_move_all_movables): Define.
13548         (flag_reduce_all_givs): Likewise.
13549         (f_options): Add -fmove-all-movables and -freduce-all-givs.
13550         * invoke.texi: Document new options, including alias stuff that
13551         wasn't included last time.
13552
13553 Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
13554
13555         * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
13556         * t-mn10200: Ditto.
13557         * t-vxsparc: Ditto.
13558         * t-vxworks68: Ditto.
13559         * t-vxworks960: Ditto.
13560         * t-vx29k: Ditto.
13561
13562 Wed Aug 27 16:35:29 1997  Richard Henderson  <rth@cygnus.com>
13563
13564         * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
13565         if not already defined, and USE_C_ALLOCA not defined.
13566
13567 Wed Aug 27 16:08:43 1997  Jim Wilson  <wilson@cygnus.com>
13568
13569         * config.guess: Replace with script that uses ../config.guess.
13570
13571         * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
13572         if USE_GNULIBC_1 is not defined.
13573
13574 Wed Aug 27 15:49:12 1997  Richard Henderson  <rth@cygnus.com>
13575
13576         * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
13577         * config.guess: Recognize alpha-linux-gnulibc1.
13578         * configure.in (alpha-*-linux-gnulibc1): New target.
13579         (alpha-*-linux-gnu*): Don't build crtbegin/end.
13580
13581 Wed Aug 27 11:52:58 1997  Jim Wilson  <wilson@cygnus.com>
13582
13583         * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
13584         last change.
13585
13586 Wed Aug 27 01:56:18 1997  Doug Evans  <dje@seba.cygnus.com>
13587
13588         * loop.c (combine_movables): Earlier insns don't match later ones.
13589
13590 Wed Aug 27 01:24:25 1997  H.J. Lu   (hjl@gnu.ai.mit.edu)
13591
13592         * config/linux.h (CC1_SPEC): Define it only if not defined.
13593
13594         * config/m68k/linux.h (CC1_SPEC): Undefine it before include
13595         <linux.h>
13596
13597         * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
13598         USE_GNULIBC_1 is not defined.
13599
13600         * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
13601
13602         * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
13603         as 1 if USE_GNULIBC_1 is not defined.
13604
13605 Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
13606
13607         * reorg.c (dbr_schedule): Allow current_function_return_rtx
13608         to be something other than a REG.
13609         * function.c (expand_function_end): Fix current_function_return_rtx
13610         if it was a pseudo.
13611
13612         * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
13613         * x-netbsd: Likewise
13614         * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS
13615         (INSTALL_HEADERS): Delete.
13616         * x-dguxbcs: Likewise.
13617         * x-hp3bsd44: Likewise
13618         * x-pa: Likewise.
13619
13620 Wed Aug 27 00:30:00 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
13621
13622         * i386.md (pop): pop increments the stack pointer.
13623         (prologue_set_stack_ptr): New pattern.
13624         * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
13625         instead of subsi3.
13626
13627 Tue Aug 26 18:50:32 1997  Jim Wilson  <wilson@cygnus.com>
13628
13629         * reload.c (find_reloads, case '0'): Reject matching a non-offsettable
13630         address where an offsettable address is required.
13631
13632 Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
13633
13634         * loop.c (check_final_value): Don't miss a biv increment in a
13635         parallel.
13636
13637 Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
13638
13639         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
13640         TYPE_DECL_IS_STUB instead of DECL_NAME.
13641
13642 Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
13643
13644         * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
13645
13646 Mon Aug 25 23:27:10 1997  Jim Meyering <meyering@eng.ascend.com>
13647
13648         * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
13649
13650 Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
13651
13652         * haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
13653         (find_post_sched_live): Likewise.
13654
13655         * haifa-sched.c (schedule_block): Remove old code to get arguments
13656         from hard regs into pseudos early.
13657
13658 Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
13659
13660         * version.c: Bump for new snapshot.
13661
13662         * local-alloc.c (update_equiv_regs): All the target to reject
13663         promotion of some REG_EQUAL to REG_EQUIV notes.
13664         * pa.h (DONT_RECORD_EQUIVALENCE): Define.
13665
13666         * pa.c (secondary_reload_class): (mem (mem ... )) does not need
13667         secondary reloads.
13668
13669         * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
13670         store of the argument registers.
13671
13672 Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
13673
13674         * fold-const.c (multiple_of_p): New function.
13675         (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
13676
13677 Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
13678
13679         * expr.h (insn_gen_function): Temporarily remove prototype.
13680
13681 Sun Aug 24 17:22:21 1997  Jim Wilson  <wilson@cygnus.com>
13682
13683         * Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
13684         filenames.  Use sed to extract base filename for install.
13685
13686 Sat Aug 23 18:19:40 1997  John F. Carr  <jfc@mit.edu>
13687
13688         * unroll.c (find_splittable_givs): Only share if two givs have the
13689         same add and multiply values.
13690
13691 Sat Aug 23 14:36:27 1997  Jim Wilson  <wilson@cygnus.com>
13692
13693         * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
13694         * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
13695
13696 Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
13697
13698         * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
13699         around branch tables.
13700         * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
13701         and .end_brtab directives if TARGET_GAS.
13702
13703 Fri Aug 22 14:05:55 1997  Jim Wilson  <wilson@cygnus.com>
13704
13705         * alias.c (true_dependence): Pass x_addr not x to varies.
13706
13707         * acconfig.h (NEED_DECLARATION_CALLOC): Add.
13708         * configure.in: Add GCC_NEED_DECLARATION call for calloc.
13709         * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
13710         declarations.
13711         * config.in, configure: Regenerate.
13712
13713 Thu Aug 21 23:52:16 1997  John F. Carr  <jfc@mit.edu>
13714
13715         * alias.c (find_base_value): Improve handling of PLUS, MINUS, and
13716         LO_SUM.
13717         (record_set): Handle LO_SUM like PLUS.
13718         (init_alias_analysis): When following chains of base addresses,
13719         do not stop on reaching a hard register.
13720
13721 Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
13722
13723         * version.c: Bump for new snapshot.
13724
13725 Thu Aug 21 17:28:00 1997  Jim Wilson  <wilson@cygnus.com>
13726
13727         * alpha.h (ARCH_ASM_FILE_START): Define.
13728         (ASM_FILE_START): Use ARCH_ASM_FILE_START.
13729         * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
13730
13731 Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
13732
13733         * Makefile.in (install-common): Put gcov comment at start of line.
13734
13735 Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
13736
13737         * alias.c (init_alias_analysis): When simplifying the reg_base_value
13738         array, simplify entries for hard registers too.
13739
13740 Wed Aug 20 12:35:47 1997  Dave Love  <d.love@dl.ac.uk>
13741
13742         * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
13743         list.
13744
13745 Wed Aug 20 11:58:33 1997  Jim Wilson  <wilson@cygnus.com>
13746
13747         * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test
13748         block_stack before dereferencing it.
13749
13750 Wed Aug 20 11:57:11 1997  Michael Meissner  <meissner@cygnus.com>
13751
13752         * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
13753
13754 Tue Aug 19 17:10:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
13755
13756         * cplus-dem.c: Add 'extern' to prepends_underscore.
13757
13758 Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
13759
13760         * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
13761         (get_issue_rate): Delete.
13762         * pa.h (ISSUE_RATE): Define.
13763
13764         * configure.in: Turn on haifa by default for the PA.
13765         * configure: Rebuilt.
13766         * pa.c (override_options): Accept -mschedule=7200 option.
13767         (pa_adjust_cost): No longer need to scale costs for newer
13768         processors.
13769         * pa.h (enum processor_type): Add PROCESSOR_7200.
13770         * pa.md: Revamp scheduling parameters to work better with
13771         haifa.  Add scheduling parameters for the 7200.
13772
13773         * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
13774         insns too.
13775         (schedule_block): When adjusting basic_block_{head,end}, account
13776         for movement of SCHED_GROUP_P insns too.
13777
13778         * haifa-sched.c (debug_dependencies): Fix thinko.
13779
13780         * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
13781         (site.exp, check, check-g++, check-gcc): New targets.
13782
13783         * haifa-sched.c: Make lots of variables static.
13784
13785 Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
13786
13787         * expr.h, real.h: Finish prototyping.
13788
13789 Mon Aug 18 21:49:02 1997  Jim Wilson  <wilson@cygnus.com>
13790
13791         * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
13792         reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
13793         * reload1.c: Undo bugfix from Aug 11.
13794
13795 Mon Aug 18 17:39:02 1997  Mike Meissner  <meissner@cygnus.com>
13796
13797         * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
13798         quotes around the name.
13799         * configure: Regenerate.
13800
13801 Mon Aug 18 13:46:47 1997  Jim Wilson  <wilson@cygnus.com>
13802
13803         * Makefile.in (stmp-multilib-sub): Fix typo in last change.
13804
13805 Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
13806
13807         * Makefile.in (sub-makes): Pass the current value of LANGUAGES down
13808         to sub-makes to avoid building more passes than the user might have
13809         requested on the command line.
13810
13811 Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
13812
13813         * configure.in: Expurgate `broken_install' (install is
13814         autoconfed).
13815
13816         * configure.lang: Substitute autoconfed ${INSTALL} (not currently
13817         relevant).
13818
13819 Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
13820
13821         * loop.c (is_power_of_2, is_conditional_branch): Delete unused
13822         functions and declarations.
13823         (analyze_loop_iterations): Use condjump_p.
13824         (insert_bct): Likewise.  Use exact_log2.
13825
13826 Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
13827
13828         * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
13829         (schedule_region): Likewise.
13830         (schedule_insns): Likewise.
13831
13832         * PROJECTS: Update with Haifa stuff.
13833
13834 Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
13835
13836         * version.c: Change the version string to look like:
13837         egcs-2.90.00 970814 (gcc2-970802 experimental).
13838
13839         * loop.c (is_conditional_branch): Make definition match declaration.
13840
13841         * gcc.c: Take out experimental snapshot warning message.
13842
13843 Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
13844
13845         * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
13846         print out the names of the notes.  Print out the name of the insn
13847         that is not a note, and not an {,CALL_,JUMP_}INSN.
13848
13849 Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
13850
13851         * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
13852         again for the slot after we give it RTL.
13853
13854 Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
13855
13856         * configure.in (haifa configury): Fix typo.
13857         * configure: Regenerate.
13858
13859 Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
13860
13861         * version.c: Bump version to "gcc-3.0.0 970802 experimental".
13862
13863         * gcc.info*: Rebuilt.
13864
13865         * COPYING.g77, README.g77: New files.
13866         * real.c (ereal_unto_float, ereal_unto_double): New functions.
13867         * real.h (ereal_unto_float, ereal_unto_double): Declare them.
13868         (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
13869
13870 Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
13871
13872         * Integrate Haifa instruction scheduler.
13873         * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
13874         to sched with $(SCHED_CFLAGS.
13875         * configure.in: Handle --enable-haifa.
13876         * configure: Rebuilt.
13877         * flags.h: Add new flags for haifa instruction scheduler.
13878         * genattrtab.c (expand_units): For haifa, don't subtract one
13879         when computing blockage.
13880         * toplev.h (flag_schedule_interblock): Haifa scheduler flag.
13881         (flag_schedule_speculative): Ditto.
13882         (flag_schedule_speculative_load): Ditto.
13883         (flag_schedule_speculative_load_dangerous): Ditto.
13884         (flag_schedule_reverse_before_reload): Ditto.
13885         (flag_schedule_reverse_after_reload): Ditto.
13886         (flag_branch_on_count_reg): Ditto.
13887         (f_options): Add Haifa switches.
13888         (main): Turn off some Haifa options if appropriate macro is
13889         defined.  Process Haifa switches.
13890         * unroll.c (iteration_info): No longer static, since Haifa
13891         scheduler uses it.
13892         (unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
13893         * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
13894         * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
13895         * loop.h (loop_initial_value,loop_unroll_iter): New globals.
13896         * loop.c (loop_optimize): If HAIFA is defined, allocate additional
13897         storage for the Haifa scheduler.
13898         (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
13899         LABEL_NEXTREF.
13900         (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
13901         are defined, call analyze_loop_iterations and insert_bct to use
13902         countdown loops.
13903         (record_giv): Refine test for jumps out of loops if HAIFA is
13904         defined.
13905         (analyze_loop_iterations): New function to identify if we can use
13906         a countdown loop.
13907         (insert_bct): Insert countdown loop.
13908         (instrument_loop_bct): Low level code to insert countdown loop.
13909         (loop_number): Calculate UID of loop.
13910         (indirect_jump_in_function_p): Return true if an indirect jump is
13911         in the function.
13912         (is_power_of_2): Return true if value is a power of 2.
13913         (is_conditional_branch): Return true if insn is a conditional
13914         jump.
13915         (fix_bct_param): Process -fbct-{min,max}-N switches.
13916         (check_bct_param): Return true if loop should be instrumented.
13917         * loop.c (loop_initial_value,loop_unroll_iter): New globals.
13918         (loop_optimize): Initialize.
13919         (get_condition_for_loop): Ditto.
13920         * loop.c (strength_reduce): Inside of code that uses #ifdef
13921         HAVE_decrement_and_branch_on_count code, test it to make sure the
13922         condition is true.
13923         (instrument_loop_bct): Ditto.
13924         * haifa-sched.c: New file.
13925
13926
13927         * Integrate regmove pass.
13928         * Makefile.in (OBJS): Add regmove.o
13929         (regmove.o): Add dependencies.
13930         * flow.c (find_use_as_address): No longer static.
13931         * rtl.h (find_use_as_address): Declare.
13932         * toplev.c (regmove_dump, flag_regmove): Define.
13933         (f_options): Add -fregmove.
13934         (regmove_dump_file, regmove_time): Define.
13935         (fatal_insn): Close the regmove dump file.
13936         (compile_file): Initialize regmove_time; open/close the regmove dump
13937         file as needed.  Print regmove time as needed.
13938         (rest_of_compilation): Run regmove pass if requested, dump
13939         RTL after regmove if requested.
13940         (main): If -O2 or more, turn on regmove.  Handle dump switches.
13941         * regmove.c: New file.
13942
13943 Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
13944
13945         * Integrate tlink patch from jason@cygnus.com
13946         * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
13947         (process_command): Increment n_switches for them.  Don't discard
13948         their args.  Validate them.
13949         (main): Escape " marks when creating COLLECT_GCC_OPTIONS.
13950         From Rohan Lenard.
13951         (process_command): Set include_prefixes from COMPILER_PATH.
13952         (main): Set COLLECT_GCC_OPTIONS sooner.
13953         * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
13954         * tlink.c, hash.c, hash.h: New files.
13955         * Makefile.in (USE_COLLECT2): Always use collect2.
13956         (collect2): Depend on and link in hash.o and tlink.o.
13957         (tlink.o, hash.o): Add dependencies.
13958
13959 Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
13960
13961         * Integrate alias analysis changes from jfc@mit.edu
13962         * Makefile.in (OBJS): Add alias.o
13963         (alias.o): Add dependencies.
13964         * alias.c: New file.
13965         * sched.c: Remove alias analysis code.  It lives in alias.c now.
13966         (sched_analyze_2): Add new arguments to true_dependence.
13967         (schedule_insns): Always call init_alias_analysis.
13968         * calls.c (expand_call): Note calls to malloc, calloc, and realloc;
13969         mark return value from such functions as a pointer and keep track of
13970         them for alias analysis.  If a return value from a function is a
13971         pointer, mark it as such.
13972         * combine.c (distribute_notes): Handle REG_NOALIAS.
13973         * cse.c (struct write_data): Delete.  No longer needed.
13974         (invalidate): Don't call set_nonvarying_address_components anymore.
13975         Use true_dependence to decide if an entry should be removed from
13976         the hash table.
13977         (invalidate_memory): Remove WRITES argument, simplify appropriately.
13978         Fix all callers.
13979         (note_mem_written): Similarly for WRITE_PTR argument.
13980         (invalidate_from_clobbers): Similarly for W argument.
13981         (invalidate_for_call): Remove memory elements from the hash table.
13982         (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
13983         (cse_rtx_varies_p): New function.  Derived from old
13984         cse_rtx_addr_varies_p.
13985         (cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
13986         Don't call note_mem_written anymore.  Stack pushes invalidate the stack
13987         pointer if PUSH_ROUNDING is defined.  No longer need to call
13988         cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
13989         (skipped_writes_memory): Remove variable.
13990         (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
13991         (invalidate_skipped_block): Simplify for new alias analysis code.
13992         (cse_set_around_loop): Likewise.
13993         (cse_main): Call init_alias_analysis.
13994         * flags.h (flag_alias_check, flag_argument_noalias): Declare.
13995         * toplev.c (flag_alias_check, flag_argument_noalias): Define.
13996         (f_options): Add new alias checking arguments.
13997         (main): Set flag_alias_check when optimizing.
13998         * local_alloc (validate_equiv_mem_from_store): Add new arguments
13999         to true_dependence.
14000         (memref_referenced_p): Likewise.
14001         * loop.c (NUM_STORES): Increase to 30.
14002         (prescan_loop): Only non-constant calls set unknown_address_altered.
14003         (invariant_p): Add new arguments to true_dependence.
14004         (record_giv): Initialize unrolled and shared fields.
14005         (emit_iv_add_mult): Call record_base_value as needed.
14006         * loop.h (struct induction): Add unrolled and shared fields.
14007         * unroll.c  (unroll_loop): Call record_base_value as needed.
14008         (copy_loop_body): Likewise.
14009         (final_biv_value): Likewise.
14010         (final_giv_value): Likewise.
14011         (find_splittable_regs): Likewise.  Only create one new pseudo
14012         if we have multiple address GIVs that were combined with the same
14013         dst_reg GIV.  Note when a new register is created due to unrolling.
14014         * rtl.c (reg_note_name): Add REG_NOALIAS.
14015         * rtl.h (enum reg_note): Similarly.
14016         (rtx_varies_p, may_trap_p, side_effects_p): Declare.
14017         (volatile_refs_p, volatile_insn_p, remove_note): Likewise.
14018         (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
14019         (true_dependence, read_dependence, anti_dependence): Likewise.
14020         (output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
14021         (mark_user_reg, mark_reg_pointer): Likewise.
14022
14023
14024         * Integrate reload bugfix from Wilon which enables the PA port
14025         to bootstrap again.
14026         * reload1.c (reload): Sum needs for both OPADDR_ADDR and
14027         OPERAND_ADDRESS when computing how many registers an insn needs.
14028         (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
14029         conflict.
14030         (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
14031         OPADDR_ADDR reload.
14032         (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
14033         in reload_reg_use_in_op_addr do not reach the end.
14034         do not reach the end.
14035         (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
14036         RELOAD_FOR_OPERAND_ADDRESS.
14037
14038 Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
14039
14040         * egcs project officially starts.
14041
14042 Local Variables:
14043 add-log-time-format: current-time-string
14044 End: