OSDN Git Service

283230b129e75af722cd5560448b5491fe6c948c
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Fri Jun 12 14:57:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2
3         * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
4         (large_int): Likewise.
5         (pc_or_label_operand): Likewise.
6         (call_insn_operand): Likewise.
7         (consttable_operand): Likewise.
8         (m16_uimm3_b): Likewise.
9         (m16_simm4_1): Likewise.
10         (m16_nsimm4_1): Likewise.
11         (m16_simm5_1): Likewise.
12         (m16_nsimm5_1): Likewise.
13         (m16_uimm5_4): Likewise.
14         (m16_nuimm5_4): Likewise.
15         (m16_simm8_1): Likewise.
16         (m16_nsimm8_1): Likewise.
17         (m16_uimm8_1): Likewise.
18         (m16_nuimm8_1): Likewise.
19         (m16_uimm8_m1_1): Likewise.
20         (m16_uimm8_4): Likewise.
21         (m16_nuimm8_4): Likewise.
22         (m16_simm8_8): Likewise.
23         (m16_nsimm8_8): Likewise.
24         (m16_usym8_4): Likewise.
25         (m16_usym5_4): Likewise.
26         (mips_move_1word): Change type of variable `i' from int to size_t.
27         (mips_move_2words): Likewise.
28         (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
29         (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
30         (function_arg): Likewise.
31         (function_arg_partial_nregs): Mark parameter `named' with
32         ATTRIBUTE_UNUSED.
33         (override_options): Use ISDIGIT instead of isdigit.
34         (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
35         (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
36         (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
37         function `fatal' to long before printing.  Use
38         HOST_WIDE_INT_PRINT_DEC in fprintf.  Both changes done several
39         times in this function.
40         (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
41         (function_epilogue): Likewise for parameters `file' and `size'.
42         Print an int with "%d" not "%ld".
43         (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
44         (mips_function_value): Likewise for parameter `func'.
45         (function_arg_pass_by_reference): Likewise for parameters `cum'
46         and `named'.
47         (extend_operator): Likewise for parameter `mode'
48         (highpart_shift_operator): Likewise.
49
50         * mips.md (mul_acc_si): Remove unused variable `macc'.
51
52 Fri Jun 12 09:33:44 1998  Richard Henderson <rth@cygnus.com>
53
54         * fold-const.c (fold): Revert last change.  It breaks constant
55         expressions somehow.
56
57 Fri Jun 12 10:23:36 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
58
59         * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
60         prevent operands from being evaluated twice.
61
62 Fri Jun 12 00:50:27 1998  Sergey Okhapkin <sos@prospect.com.ru>
63
64         * toplev.c (lang_options): Add -remap as a preprocessor option.
65
66 Fri Jun 12 00:30:32 1998  John Wehle  (john@feith.com)
67
68         * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
69         which set CC_REVERSED since reload should ensure that
70         the operands are already the correct type.
71
72 Thu Jun 11 17:14:15 1998  Jim Wilson  <wilson@cygnus.com>
73
74         * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
75         calling gen_rtx_SET.
76
77 Thu Jun 11 18:45:49 1998  David Edelsohn  <edelsohn@mhpcc.edu>
78
79         * config/rs6000/x-aix43 (AR): Delete.
80         (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
81
82 Thu Jun 11 16:19:17 1998  David W. Schuler  <schuld@btv.ibm.com>
83
84         * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
85
86 Thu Jun 11 12:40:27 1998  Jim Wilson  <wilson@cygnus.com>
87
88         * mips.c (override_options): Replace word_mode with explicit
89         TARGET_64BIT check.
90
91 Thu Jun 11 14:50:02 1998  Michael Meissner  <meissner@cygnus.com>
92
93         * regmove.c (regmove_optimize): If we can't replace the
94         destination in an insn that sets the source, generate an explicit
95         move of the source to the destination.
96         (copy_src_to_dest): New function.
97         (toplevel): Include basic-block.h
98
99         * Makefile.in (regmove.o): Add basic-block.h dependencies.
100
101 Thu Jun 11 10:30:09 1998  Dave Brolley  <brolley@cygnus.com>
102
103         * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
104
105 Wed Jun 10 23:39:32 1998  Mark Mitchell  <mark@markmitchell.com>
106
107         * rtl.h (rtx_def): Improve documentation.
108         (MEM_IN_STRUCT_P): Likewise.
109
110 Wed Jun 10 23:23:17 1998  Graham  <grahams@rcp.co.uk>
111
112         * c-decl.c (start_decl): Correct test for -Wmain.
113
114         * c-decl.c (grokdeclarator): Remove unused variable "last".
115
116 Wed Jun 10 14:52:27 1998  Jim Wilson  <wilson@cygnus.com>
117
118         * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
119         (expand_builtin_longjmp): Abort if value isn't const1_rtx.
120         Delete code storing value in static_chain_rtx.
121         (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
122         to second expand_expr call.
123
124 Wed Jun 10 13:08:41 1998  Mark Mitchell  <mark@markmitchell.com>
125
126         * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
127
128 Wed Jun 10 13:41:23 1998  Dave Brolley  <brolley@cygnus.com>
129
130         * cppmain.c (fatal): New function.
131         * configure.in (cpp_main): New configuration variable.
132         * configure: Regenerated.
133         * Makefile.in (CCCP): Use a configuration variable to select basex
134         for cccp.
135         (cppmain$(exeext)): Add @extra_cpp_objs@.
136
137 Wed Jun 10 13:07:02 1998  Dave Brolley  <brolley@cygnus.com>
138
139         * objc/objc-act.c: Add cpplib declarations.
140         (lang_decode_option): Initialize cpplib if necessary.
141         (lang_decode_option): New argc/argv interface. 
142         * tree.h (lang_decode_option): New argc/argv interface. 
143         * toplev.c (lang_options): Add cpp options.
144         (main): New interface for lang_decode_option.
145         * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
146         unless -E, -M or -MM is specified.
147         * cpplib.h (cpp_handle_option): New function. 
148         * cpplib.c (cpp_handle_option): New function.
149         (cpp_handle_options): Now calls cpp_handle_option.
150         * c-tree.h (c_decode_option): New argc/argv interface. 
151         * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
152         * c-lang.c (lang_decode_option): New argc/argv interface.
153         * c-decl.c: Add cpplib declarations.
154         (c_decode_option): New argc/argv interface.
155         (c_decode_option): Call cpp_handle_option.
156         (c_decode_option): Now returns number of strings processed.
157
158 Wed Jun 10 09:47:13 1998  Richard Earnshaw (rearnsha@arm.com)
159
160         * unroll.c (verify_addresses): Use validate_replace_rtx to undo the 
161         changes.  Abort if the undo fails.
162
163 Wed Jun 10 08:56:27 1998  John Carr  <jfc@mit.edu>
164
165         * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
166         for each alternative.  Do not replace a CONST_INT with a REG unless
167         the reg is cheaper.
168
169 Wed Jun 10 02:11:55 1998  Jeffrey A Law  (law@cygnus.com)
170
171         * decl.c (init_decl_processing): Fix typo.
172
173         * mips.c (gpr_mode): New variable.
174         (override_options): Initialize gpr_mode.
175         (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
176         determine size and offset of general purpose registers save slots.
177         (save_restore_insns, mips_expand_prologue): Similarly.
178
179         * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
180         between constant representations when we have (SUBREG (REG)) with
181         REG equivalent to a constant.
182
183 Wed Jun 10 01:39:00 1998  Juha Sarlin <juha@c3l.tyreso.se> 
184
185         * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
186
187 Tue Jun  9 22:05:34 1998  Richard Henderson  <rth@cygnus.com>
188
189         * fold-const.c (fold): Even with otherwise constant trees, look for
190         opportunities to combine integer constants.
191
192 Wed Jun  3 23:41:24 EDT 1998  John Wehle  (john@feith.com)
193
194         * i386.c (notice_update_cc): Clear cc_status.value2 in the
195         case of UNSPEC 5 (bsf).
196
197         * i386.md (movsfcc, movdfcc, movxfcc): The floating point
198         conditional move instructions don't support signed integer
199         comparisons.
200
201 Tue Jun  9 14:31:19 1998  Nick Clifton  <nickc@cygnus.com>
202
203         * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
204         overlfows. 
205
206         * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
207         16,sp,sp' ratehr than 'add 16,sp'.  Patch courtesy of Biomedin
208         <glctr@abc.it>.
209
210 Tue Jun  9 16:23:13 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
211
212         * except.c (expand_start_catch): Rename to start_catch_handler.
213         (expand_end_catch): Delete function.
214         (expand_end_all_catch): Remove catch status that expand_end_catch
215         use to do.
216         * except.h (expand_start_catch): Rename prototype.
217         (expand_end_catch): Delete prototype.
218
219 Tue Jun  9 12:57:32 1998  Mark Mitchell  <mark@markmitchell.com>
220
221         * invoke.texi: Add documentation for -mips4 and -mabi=*.
222
223 Tue Jun  9 12:12:34 1998  Klaus Kaempf (kkaempf@progis.de)
224
225         * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
226         (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.       
227         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.                
228
229 Tue Jun  9 12:10:27 1998  John Carr  <jfc@mit.edu>
230
231         * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
232         as the threshold to permit splitting memory operations.
233
234 Tue Jun  9 12:36:16 1998  Jeffrey A Law  (law@cygnus.com)
235
236         * mips.c (gpr_mode): New variable.
237         (override_options): Initialize gpr_mode.
238         (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
239         determine size and offset of general purpose registers save slots.
240         (save_restore_insns, mips_expand_prologue): Similarly.
241
242         * Makefile.in (LIB2FUNCS_EH): Define.  Just "_eh" for now.
243         (LIBGCC2_CFLAGS): Remove -fexceptions.
244         (LIB2FUNCS): Remove "_eh".
245         (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
246         it with -fexceptions.
247
248         * Makefile.in (local-alloc.o): Depend on insn-attr.h.
249         * local-alloc.c (block_alloc): Avoid creating false 
250         dependencies for targets which use instruction scheduling.
251
252 Tue Jun  9 02:40:49 1998  Richard Henderson  <rth@cygnus.com>
253
254         * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
255         (ASM_FINISH_DECLARE_OBJECT): Define;
256         * mips/elf64.h: Likewise.
257
258 Tue Jun  9 01:08:47 1998  Richard Henderson  <rth@cygnus.com>
259
260         * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
261
262 Mon Jun 8 23:24:48 PDT 1998 Jeff Law  (law@cygnus.com)
263
264         * version.c: Bump for snapshot.
265
266 Mon Jun  8 23:24:58 1998  David Edelsohn  <edelsohn@mhpcc.edu>
267
268         * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
269         (mulsidi3_ppc64): Delete.
270
271 Mon Jun  8 20:57:40 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
272
273         * Makefile.in (varasm.o): Depend on dbxout.h.
274         (cse.o): Depend on toplev.h and output.h.
275         (gcse.o): Depend on output.h.
276
277         * mips.c: Include system.h and toplev.h and remove redundant code.
278         Include output.h after tree.h so all its prototypes get activated.
279         * mips.md (table_jump): Remove unused variable `dest'.
280
281         * sparc.h: Add prototype for `v8plus_regcmp_op'.
282
283         * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
284         with __attribute__ ((__unused__)).
285         (__frame_dummy): Provide prototype before use, wrap it with
286         EH_FRAME_SECTION_ASM_OP.
287
288         * cse.c: Move inclusion of <setjmp.h> above local headers.
289         Include toplev.h and output.h.
290
291         * dbxout.h: Add prototype for `dbxout_begin_function'.
292
293         * final.c (final_scan_insn): Wrap variable `max_skip' in macro
294         ASM_OUTPUT_MAX_SKIP_ALIGN.
295
296         * gcse.c: Include system.h and output.h.
297         (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
298         Make extern instead of static.
299         (compute_can_copy): Only declare variables `reg' and `insn' when
300         AVOID_CCMODE_COPIES is not defined.
301         (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
302         (hash_scan_clobber): Likewise for `x' and `insn'.
303         (hash_scan_call): Likewise.
304         (record_last_set_info): Likewise for `setter'.
305         (mark_call): Likewise for `pat'.
306         (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
307
308         * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
309         length parameter so that it multiplies the number of elements by
310         the sizeof(element).
311
312         * output.h: Add prototype for `weak_finish'.
313
314         * recog.h: Likewise for `validate_replace_src'.
315
316         * rtl.h: Likewise for `optimize_save_area_alloca',
317         `fix_sched_param', `purge_addressof', `gcse_main',
318         `regmove_optimize', `dbr_schedule', `branch_prob' and
319         `end_branch_prob'.
320
321         * toplev.h: Likewise for `set_float_handler' and
322         `output_quoted_string'.
323
324         * varasm.c: Include dbxout.h.
325
326 Mon Jun  8 18:12:06 1998  Jim Wilson  <wilson@cygnus.com>
327
328         * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
329         GP_REG_P.  Use gr_regs instead of GR_REGS.
330
331 Mon Jun  8 16:54:12 1998  Ken Raeburn   <raeburn@cygnus.com>
332                           Jeff Law      <law@cygnus.com>
333
334         * Revamped multiply support for MIPS chips.
335         * mips.c (extend_operator): New function.
336         (highpart_shift_operator): Likewise.
337         * mips.h: Declare new functions.
338         (PREDICATE_CODES): Add support for new predicates.
339         * mips.md (mulsi3 expander): Simplify.
340         (mulsi_mult3): Add another constraint alternative.  Support
341         3 operand multiply instructions as found on various mips
342         parts.
343         (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
344         (mul_acc_si): New pattern and associated splitters.
345         (mulsidi3 expander): Rework to use mulsidi3_64bit and
346         mulsidi3_internal.
347         (umulsidi3): New expander.
348         (mulsidi3_internal): Accept either sign or zero extended
349         operands and generate code as appropriate appropriately.
350         (mulsidi3_64bit): Similarly.
351         (smulsi3_highpart): Turn into an expander and generate code
352         to match new patterns.
353         (umulsi3_highpart): Likewise.
354         (xmulsi3_highpart_internal): New pattern.
355         (maddi patterns): Delete.  Replace with:
356         (mul_acc_di, mul-acc_64bit_di): New patterns.
357
358 Mon Jun  8 14:16:15 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
359
360         * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
361         flag_new_exceptions runtime flag.
362         (struct old_exception_table): New struct which represents what
363         the exception table looks like without the new model.
364         (NEW_EH_RUNTIME): New value used as a tag in the exception table to
365         flag that this is a new style table.
366         * except.h: Remove compile time flag NEW_EH_MODEL.
367         (expand_builtin_eh_stub_old): New prototype.
368         * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
369         * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
370         * c-decl.c (init_decl_processing): Add new builtin function
371         __builtin_eh_stub_old.
372         * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
373         * flags.h (flag_new_exceptions): New runtime flag.
374         * toplev.c (flag_new_exceptions): Initialize default to 0, 
375         -fnew-exceptions sets to 1.
376         * except.c (output_exception_table_entry): Output New style exception 
377         identifier into table, and replace compile time flag NEW_EH_MODEL
378         with runtime flag flag_new_exceptions.
379         (output_exception_table): Replace compile time flag NEW_EH_MODEL.
380         (expand_builtin_eh_stub_old): Duplicates original functionality of
381         expand_builtin_eh_stub.
382         (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
383         * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
384         (old_find_exception_handler): New func, same as find_exception_handler
385         except it works on the old style exception table.
386         (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
387         of identifier in the exception table, and call appropriate routines.
388
389 Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
390
391         * function.c: Define current_function_cannot_inline.
392         (push_function_context_to): Save it.
393         (pop_function_context_from): Restore it.
394         * function.h (struct function): Provide it a home.
395         * output.h: Declare it.
396         * integrate.c (function_cannot_inline_p): Check it.
397
398 Mon Jun  8 10:43:15 1998  Richard Henderson  <rth@cygnus.com>
399
400         * expr.c (force_operand): Detect PIC address loads before 
401         splitting arithmetic.
402
403 Mon Jun 8 09:22:38 PDT 1998 Jeff Law  (law@cygnus.com)
404
405         * version.c: Bump for snapshot.
406
407 Mon Jun  8 02:55:56 1998  Graham  <grahams@rcp.co.uk>
408
409         * tree.c (tree_class_check): Add braces to eliminate ambigious
410         else warning.
411         (tree_check): Likewise.
412
413 Mon Jun  8 02:49:23 1998  H.J. Lu  (hjl@gnu.org)
414
415         * reg-stack.c (subst_stack_regs_pat): Make sure the top of
416         stack is the destination for conditional move insn.
417
418 Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
419
420         * tree.h (TREE_VEC_END): Cast unused value to void.
421
422         * i386.c (print_operand): Use %lx for long operand.
423
424 Mon Jun  8 00:04:07 1998  Richard Henderson  <rth@cygnus.com>
425
426         * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
427
428 Sun Jun  7 14:15:45 1998  John Carr  <jfc@mit.edu>
429
430         * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
431         conversion functions.
432
433 Sun Jun  7 14:02:58 1998  Richard Henderson  <rth@cygnus.com>
434
435         * toplev.c (flag_exceptions): Default to 0.
436         (compile_file): Remove flag_exceptions == 2 hack.
437         (main): Call lang_init_options.
438         * tree.h: Declare it.
439         * c-lang.c: Implement it.
440         * objc/objc-act.c: Likewise.
441         
442 Sun Jun  7 12:27:30 1998  David Edelsohn  <edelsohn@mhpcc.edu>
443
444         * rs6000.md (restore_stack_block): Generate MEM and specify mode.
445         * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
446         * rs6000.c (rs6000_output_load_toc_table): Use fputs.
447         (output_function_profiler): Use asm_fprintf and fputs.
448
449 Sat Jun  6 12:17:12 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
450
451         * gencheck.c: Remove redundant stdio.h include.  Add a definition
452         of xmalloc for when we are forced to link with alloca.o.
453
454         * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
455         instead of `1U'.
456
457         * fold-const.c (constant_boolean_node): Make definition static to
458         match the prototype.
459
460 Fri Jun  5 15:53:17 1998  Per Bothner  <bothner@cygnus.com>
461
462         * gcc.c (lang_specific_pre_link):  New LANG_SPECIFIC_DRIVER function.
463         (lang_specific_extra_outfiles):  New LANG_SPECIFIC_DRIVER variable.
464         (do_spec, input_filename, input_filename_length):  Make public.
465         (main):  Adjust outfiles allocation by lang_specific_extra_outfiles.
466         Call lang_specific_pre_link befor elinking.
467
468 Fri Jun  5 12:29:28 1998  Jeffrey A Law  (law@cygnus.com)
469
470         * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
471         the insn which has the most insns dependent on it.
472
473 Fri Jun  5 09:03:22 1998  John Carr  <jfc@mit.edu>
474
475         * alias.c (find_base_value): Avoid reading past end of reg_base_value.
476
477 Fri Jun  5 03:05:34 1998  Richard Henderson  <rth@cygnus.com>
478
479         * alpha.md (insxh-1): New insxl pattern for combine.
480
481 Fri Jun  5 01:12:15 1998  H.J. Lu  (hjl@gnu.org)
482
483         * i386/i386.c (output_fp_conditional_move): New function
484         to output floating point conditional move.
485         (output_int_conditional_move): New function to output integer
486         conditional move.
487
488         * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
489         output_int_conditional_move () to output int conditional move.
490         (movsfcc+5, movdfcc+5, movxfcc+5): Call
491         output_fp_conditional_move () to output floating point
492         conditional move.
493
494         * i386/i386.c (put_condition_code): In INT mode, check
495         cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
496
497 Thu Jun  4 16:09:51 1998  Dave Brolley  <brolley@cygnus.com>
498
499         * dbxout.c (dbxout_type): Output arrays of bits as if
500         they were bitstrings for Chill
501
502 Thu Jun  4 14:35:27 1998  David Edelsohn  <edelsohn@mhpcc.edu>
503
504         * tree.c (get_inner_array_type): New function.
505         * tree.h (get_inner_array_type): Prototype.
506         * expr.h (STACK_SAVEAREA_MODE): New macro.
507         * expr.c (expand_builtin_setjmp): Initialize sa_mode using
508         STACK_SAVEAREA_MODE.
509         (expand_builtin_longjmp): Likewise.
510         * explow.c (emit_stack_save): Likewise.
511         (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
512
513         * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
514         (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
515         * rs6000/aix43.h: New file.
516         * rs6000/t-aix43: New file.
517         * rs6000/x-aix41: New file.
518         * rs6000/x-aix43: New file.
519         * configure.in (rs6000-ibm-aix*): Use them.
520         * rs6000/powerpc.h: Delete.
521         * rs6000/sysv4.h: Move necessary powerpc.h definitions to here.
522         * rs6000/netware.h: and here.
523         * rs6000/win-nt.h: and here.
524
525         * rs6000/rs6000.c (processor_target_table, 620): Do not affect
526         MASK_POWERPC64.
527         (rs6000_override_options): Ignore flag_pic for AIX.
528         (rs6000_immed_double_const): Delete.
529         (u_short_cint_operand): Don't assume 32-bit CONST_INT.
530         (reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
531         (num_insns_constant): mask64_operand() is 2 insns.
532         (logical_operand): Don't assume 32-bit CONST_INT.
533         (non_logical_cint_operand): Don't assume 32-bit CONST_INT.
534         (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
535         (mask_constant): HOST_WIDE_INT parameter.
536         (non_and_cint_operand): Delete.
537         (mask64_operand): New function.
538         (and64_operand): New function.
539         (function_arg_advance): DImode arguments do not need special
540         alignment when 64-bit.
541         (function_arg): Likewise.
542         (setup_incoming_varargs): Reverse reg_size assignment.
543         (print_operand): HOST_WIDE_INT second parameter.
544         (print_operand, 'B'): New case.
545         (print_operand, 'M'): Fix typo in lossage string.
546         (print_operandm 'S'): New case.
547         (rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
548         to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
549         (rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
550         TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
551         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
552         (rs6000_allocate_stack_space): Use {cal|la}.
553         (output_epilog): Use {cal|la}
554         (output_function_profiler): Add call glue to mcount call.
555         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
556
557         * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
558         (STACK_BOUNDARY): Depend on TARGET_32BIT.
559         (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
560         (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
561         (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'.  Replace 'S' with
562         64-bit mask operand.
563         (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
564         (STACK_SAVEAREA_MODE): New macro.
565         (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
566         (LEGITIMIZE_RELOAD_ADDRESS): New macro.
567         (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
568         (ASM_FILE_START): Emit 64-bit ABI directive.
569         (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
570         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
571         (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
572         Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
573
574         * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
575         Restore define_splits.
576         (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
577         (floatsidf2_internal, floatunssidf2_internal2): Likewise.
578         Do not specify base register operand mode.
579         (floatsidf2_loadaddr): Do not specify base register operand mode.
580         (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
581         register; do not specify mode.  Remove !TARGET_POWERPC64 final
582         constraint.
583         (floatsidf2_load): Do not specify base register operand mode.  Remove
584         !TARGET_POWERPC64 final constraint.
585         (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
586         base register operand mode.
587         (adddi3): Split large constants early.
588         (absdi3): Shift by 63, not 31.
589         (*mulsidi3_ppc64): New pattern.
590         (rotldi3): Add masking combiner patterns.
591         (anddi3): Add rldic{r,l} masking.  Remove split of large constants
592         because PPC insns zero-extend.
593         (iordi3, xordi3): Split large constants early.
594         (movsi matcher): Remove S and T constraints.
595         (movsf const_double): create SImode constant from TARGET_DOUBLE.
596         (movdf_hardfloat32): Add default abort() case.
597         (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
598         (movdi): Remove 64-bit constant generator.  Try to convert
599         CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
600         (movdi_32): Add default abort() case.
601         (movdi_64): Add numerous ways to split 64-bit constants.
602         Make catch-all define_split more optimal and never FAIL.
603         (movti_ppc64): Add default abort() case.
604         (allocate_stack): Remove operand modes.  Use Pmode.
605         (restore_stack_block): Remove operand modes.  Generate Pmode
606         temporary.
607         (save_stack_nonlocal, restore_stack_nonlocal):  Generate Pmode
608         temporary.  Save area is double Pmode.
609         (call_indirect_aix64, call_value_indirect_aix64): New patterns.
610         (call, call_value): Do not specify address operand mode.  Choose
611         appropriate AIX ABI.
612         (*call_local64, *ret_call_local64): New patterns.
613         (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
614         (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
615         (compare): Materialize DImode truthvalues.
616
617 Thu Jun  4 01:26:57 1998  Craig Burley  <burley@gnu.org>
618
619         * expr.c (safe_from_p): Avoid combinatorial explosion
620         over duplicate SAVE_EXPRs by ensuring we never recurse
621         on one that has already been visited.
622
623 Thu Jun  4 00:54:21 1998  Graham  <grahams@rcp.co.uk>
624
625         * loop.c (check_dbra_loop): Initialise final_value before
626         normalizing the loop.
627
628 Wed Jun  3 20:00:04 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
629
630         * reload1.c (reload_reg_free_for_value_p): New arguments out and
631         reloadnum.  Changed all callers.
632
633 1998-06-03  Ulrich Drepper  <drepper@cygnus.com>
634
635         * system.h: Add _() and N_() macros in preparation for gettext.
636
637 Wed Jun  3 11:02:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
638
639         * c-common.c (check_format_info): Put back check for C9x `hh'
640         length modifier.  Warn about %n format writing into const.  Remove
641         obsolete comment.
642         (format_char_info): Fix comments.
643
644         * configure.in: Set float_format to m68k for all m68k targets that
645         do not override LONG_DOUBLE_TYPE_SIZE.
646         * config/float-m68k.h: New file.
647
648 Tue Jun  2 23:14:01 1998  Richard Henderson  <rth@cygnus.com>
649
650         * jump.c (jump_optimize): Remove debug messages accidentally left in
651         with the previous change.
652
653 Tue Jun  2 22:46:08 1998  Richard Henderson  <rth@cygnus.com>
654
655         * expr.c (store_expr): Revert stray patch associated with
656         1998-05-23 commit.
657
658 Tue Jun  2 21:59:01 1998  Richard Henderson  <rth@cygnus.com>
659
660         * jump.c (rtx_unsafe_p): New function.
661         (jump_optimize): Use it on if/then/else transformations and
662         conditional move transformations.
663
664 Tue Jun  2 22:50:10 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
665
666         * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
667         or VAR-- == CONST construct a proper mask if VAR is a bitfield.
668         Cope with CONST being out of range for the bitfield.
669
670 Tue Jun  2 22:28:31 1998  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
671
672         * expr.c (emit_move_insn_1): When moving complex values in several
673         steps, emit a CLOBBER to show the destination dies.
674
675 Tue Jun  2 22:17:26 1998  Jeffrey A Law  (law@cygnus.com)
676
677         * Makefile.in (site.exp): Use the object testsuite directory as
678         the temporary directory.
679
680         * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
681         address of an ADDRESSOF rtx.
682
683 1998-06-02  Mike Stump  <mrs@wrs.com>
684
685         * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
686         * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
687         * i960.md (ret, flush_register_windows): Define.
688         (nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
689         work yet.
690         * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
691
692 Tue Jun  2 14:02:38 1998  Richard Henderson  <rth@cygnus.com>
693
694         * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
695         around an OSF/1 library bug wrt sign-extension of inputs.
696
697 Tue Jun  2 13:02:44 1998  Richard Henderson  <rth@cygnus.com>
698
699         * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
700
701 Mon Jun  1 03:44:03 1998  Catherine Moore <clm@cygnus.com>
702
703         * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
704
705         * varasm.c (assemble_variable): Augment alignment warning.
706
707 Mon Jun  1 12:14:28 1998  Michael Meissner  <meissner@cygnus.com>
708
709         * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
710         in the presence of IEEE negative 0's.
711
712 Sun May 31 16:11:41 1998  John Wehle  (john@feith.com)
713
714         * reload.c (find_reloads): Record the existing mode if
715         operand_mode == VOIDmode before replacing a register with
716         a constant.
717         * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
718         i386_compare_op1 to const0_rtx for the benefit of the
719         conditional move patterns.
720         (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
721         based on suggestions from Jim Wilson.
722
723 Sun May 31 00:44:02 PDT 1998 Jeff Law  (law@cygnus.com)
724
725         * version.c: Bump for snapshot.
726
727 Sun May 31 00:34:17 1998  Bruce Korb <korbb@datadesign.com>
728
729         * Makefile.in (fixinc.sh): Update rules again.
730
731 Sun May 31 00:27:47 1998  Jeffrey A Law  (law@cygnus.com)
732
733         * extend.texi: Bring back reference to trampoline paper.
734
735 Sun May 31 00:22:34 1998  Ulrich Drepper  <drepper@cygnus.com>
736
737         * Makefile.in (USER_H): Add stdbool.h.
738         * ginclude/stdbool.h: New file.
739
740 Fri May 29 01:48:25 1998  Jeffrey A Law  (law@cygnus.com)
741
742         * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
743         of a non-note insn.
744
745         * gcse.c (pre_delete): Fix code to determine the mode of
746         the reaching pseudo register.
747
748 Fri May 29 01:07:28 1998  Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
749
750         * Makefile.in (GEN): Add gencheck
751         (STAGESTUFF): Add tree-check.h and gencheck.
752
753 Fri May 29 00:57:37 1998  Bruce Korb <korbb@datadesign.com>
754
755         * Makefile.in (cstamp-h.in): Remove before trying to recreate.
756         (fixinc.sh): Set some additional environment variables before
757         calling mkfixinc.sh.
758
759 Thu May 28 12:57:05 1998  Jeffrey A Law  (law@cygnus.com)
760
761         * reload.c (find_reloads): Do not force a reloads of match_operators.
762
763 Thu May 28 10:22:22 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
764
765         * except.h (remove_handler): Add new prototype.
766         * except.c (remove_handler): New function to remove handlers
767         from an exception region.
768         * flow.c (find_basic_blocks_1): Remove handlers from regions when
769         handler label is deleted; remove exception regions with no handlers.
770
771 Thu May 28 09:36:39 1998  Michael Meissner  <meissner@cygnus.com>
772
773         * except.h (rtx): Define rtx type correctly if needed.
774         * function.h (rtx): Ditto.
775         (tree): Define tree type correctly if needed.
776
777         * c-pragma.c (toplevel): Include rtl.h.
778
779         * stor-layout.c (toplevel): Move include of rtl.h before
780         except.h.
781
782         * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
783         (tree.o): Add except.h dependency.
784
785 Wed May 27 22:02:40 1998  Jeffrey A Law  (law@cygnus.com)
786
787         * reload1.c: Revert accidental checkin.
788
789         * configure.lang: Fix thinko when adding a definition for
790         target_alias to the Makefile.
791
792 Wed May 27 02:50:00 1998  Catherine Moore (clm@cygnus.com)
793
794         * config/sparc/lb1spc.asm (.rem and .urem):  Replace
795         routines.
796
797 Wed May 27 02:48:31 1998  Richard Earnshaw (rearnsha@arm.com)
798
799         * arm.c (arm_gen_constant): Rework to eliminate uninitialized
800         variable warnings.  Don't generate scratch registers if only
801         counting insns.
802         (find_barrier): Eliminate unused variable SRC.
803
804 1998-05-27  Manfred Hollstein  <manfred@s-direktnet.de>
805
806         * toplev.h (rtx_def): Provide global declaration to avoid
807         `limited scope' warnings.
808
809 Tue May 26 23:47:52 1998  Mumit Khan <khan@xraylith.wisc.edu>
810
811         * Makefile.in (gencheck.o): Use HOST_CC.
812         * i386/t-mingw32: New file.
813         * configure.in (i386-*-mingw32*): Use.
814
815 Tue May 26 07:31:04 1998  Richard Earnshaw (rearnsha@arm.com)
816
817         * arm.c (bad_signed_byte_operand): New predicate function.
818         * arm.h (PREDICATE_CODES): Add it to the list.
819         * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
820         can't handle.
821         (define_split): Two new splits for above insns.
822
823         * arm.c: Include toplev.h.
824         (arm_override_options): Add parentheses around use of tune_flags.
825         (arm_split_constant): Remove unused variable.
826         (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
827         (output_func_prologue, arm_expand_prologue): Likewise.
828         (arm_canonicalize_comparison): Make I unsigned; rework constants
829         accordignly.  Add missing paratheses around << operation.
830         (arm_rtx_costs): Correctly parenthesise MULT costs.  Add a DEFAULT
831         clause.
832         ({load,store}_multiple_sequence): Initialize BASE_REG.
833         (select_dominance_cc_mode): Add DEFAULT clauses.
834         (broken_move): Return zero if the destination is not a register.
835         (arm_reorg): Move unused REGNO declaration into the dead code.
836         * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
837
838 Mon May 25 22:49:56 PDT 1998 Jeff Law  (law@cygnus.com)
839
840         * version.c: Bump for snapshot.
841
842 Mon May 25 11:56:24 PDT 1998 Jeff Law  (law@cygnus.com)
843
844         * version.c: Bump for snapshot.
845
846 Mon May 25 14:00:13 1998  Dave Brolley  <brolley@cygnus.com>
847
848         * cpperror.c (v_cpp_message): Remove static prototype.
849         * cpplib.c (v_cpp_message): Move prototype to cpplib.h.
850         * cpplib.h (v_cpp_message): Add protoptype.
851         (stdarg.h,varargs.h): Needed for v_cpp_message prototype.
852
853 Sun May 24 20:36:15 PDT 1998 Jeff Law  (law@cygnus.com)
854
855         * version.c: Bump for snapshot.
856
857 Sun May 24 02:08:57 PDT 1998 Jeff Law  (law@cygnus.com)
858
859         * version.c: Bump for snapshot.
860
861 1998-05-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
862
863         * m68k.h: Declare more functions used in macros.
864         (REG_CLASS_CONTENTS): Completely embrace initializer.
865         * m68k.md (adddi3, subdi3): Add abort call to avoid warning
866         about returning no value.
867         * cse.c (find_best_addr): Declare p and found_better only if
868         needed.
869         * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
870         * dwarfout.c (string_length_attribute): #if 0 away.
871         * function.c (expand_function_end): Define varible blktramp only
872         if needed.
873         * jump.c (find_insert_position): Define only if !HAVE_cc0.
874         * loop.c (combine_givs_p): Define variable tem only if needed.
875         * real.c: Comment out unused functions eabs, eround,
876         e{24,53,64,113}toasc and eiinfin.
877
878
879 Sat May 23 23:44:53 1998  Alexandre Oliva <oliva@dcc.unicamp.br>
880
881         * Makefile.in (boostrap2-lean, bootstrap3-lean,
882         bootstrap4-lean): New targets.
883
884 Sat May 23 23:35:14 1998  Jeffrey A Law  (law@cygnus.com)
885
886         * warn_summary, test_summary: Moved into the contrib directory.
887
888 1998-05-23  Manfred Hollstein  <manfred@s-direktnet.de>
889
890         * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
891         of the Makefile.
892         (FLOAT_H_TEST): Likewise.
893         (ENQUIRE): Likewise.
894         (float.h-nat): Likewise.
895         (float.h-cross): Likewise.
896         (enquire): Likewise.
897         (enquire.o): Likewise.
898         (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
899         (stmp-headers): Move actions to stmp-int-hdrs, retaining only a
900         no-op.
901         (FLOAT_H): Remove old float.h-nat version; move current definition
902         to CROSS_FLOAT_H location.
903         (all.cross): Remove comments about enquire stuff.
904
905         * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
906         (rest.encap): Likewise.
907         (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
908
909         * toplev.h (tree_node): Provide global declaration to avoid
910         `limited scope' warnings.
911
912 Sat May 23 23:23:35 1998   Robert Lipe  <robertl@dgii.com>
913
914         * test_summary: Display section breaks for each entry
915         in a multilibbed target's output.
916
917 1998-05-23  Richard Henderson  <rth@cygnus.com>
918
919         * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
920         offset's mode is not ptr_mode, convert it.
921
922 1998-05-22  Jason Merrill  <jason@yorick.cygnus.com>
923
924         * fold-const.c (ssize_binop): New fn.
925         * tree.h: Declare it.
926
927 Fri May 22 03:42:05 1998  Richard Earnshaw (rearnsha@arm.com)
928
929         * genextract.c (print_path): Handle zero-length path as a special
930         case.
931
932 Fri May 22 01:38:07 1998  Hans-Peter Nilsson  <hp@axis.se>
933
934         * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
935
936 Fri May 22 00:57:00 1998  Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
937
938         * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
939         (shorten_branches, final_scan_insn): Test value of
940         JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
941         is defined.
942         * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
943         * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
944         * arm/tcoff.h: Likewise.
945         * i386/386bsd.h: Likewise.
946         * i386/freebsd-elf.h: Likewise.
947         * i386/freebsd.h: Likewise.
948         * i386/netbsd.h: Likewise.
949         * i386/ptx4-i.h: Likewise.
950         * i386/sysv4.h: Likewise.
951         * pa/pa.h: Likewise.
952         * rs6000/linux.h: Likewise.
953         * rs6000/rs6000.h: Likewise.
954         * sh/sh.h: Likewise.
955         * sparc/sp64-elf.h: Likewise.
956         * v850/v850.h: Likewise.
957         * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
958         * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
959
960 Thu May 21 19:50:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
961
962         * regmove.c (gen_add3_insn): New function.
963         (fixup_match_2): Use it instead of calling gen_addsi3.
964
965 Thu May 21 23:09:50 1998  Jeffrey A Law  (law@cygnus.com)
966
967         * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
968
969         * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
970         address.
971
972 Thu May 21 20:18:13 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
973
974         * Makefile.in (TREE_H): Add tree-check.h.
975         (tree-check.h, gencheck): New targets.
976         * gencheck.c: New file.
977         * tree.c (tree_check, tree_class_check): New functions.
978         * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
979         (TYPE_CHECK, DECL_CHECK): Define.
980         Modify all access macros to use generated checking macros.
981
982 Wed May 20 23:44:28 EDT 1998  John Wehle  (john@feith.com)
983
984         * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
985         * configure.in: Check for it.
986         * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
987         * final.c (uid_align, uid_shuid, label_align): Make static.
988         (label_align): Change type to struct label_alignment pointer.
989         (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
990         (LABEL_TO_MAX_SKIP): Define.
991         (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
992         LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
993         (shorten_branches): Record the maximum bytes to skip when
994         aligning a label.
995         (final_scan_insn): Use the maximum bytes to skip when aligning a label
996         if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
997         * i386.h (LOOP_ALIGN_MAX_SKIP,
998         LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
999         * i386.c (override_options): i386_align_jumps and i386_align_loops
1000         default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
1001         * invoke.texi: Document new i386 align-loops and align-jumps behavior.
1002
1003 1998-05-21  Mark Mitchell  <mmitchell@usa.net>
1004
1005         * cplus-dem.c (do_type): Handle volatile qualification.
1006
1007 Thu May 21 12:23:17 1998  Per Bothner  <bothner@cygnus.com>
1008
1009         * function.c (init_function_start):  Don't call emit_line_note if
1010         lineno is 0.  (Can happen when compiling Java .class files.)
1011
1012 Thu May 21 19:50:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1013
1014         * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
1015         end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
1016
1017 Thu May 21 19:32:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1018
1019         * combine.c (nonzero_bits): For paradoxical subregs, take
1020         LOAD_EXTENDED_OP into account.
1021
1022 Thu May 21 11:51:15 1998  Dave Brolley  <brolley@cygnus.com>
1023
1024         * configure.in (extra_c_objs): add prefix.o.
1025         (extra_cxx_objs): extra objects for C++ with cpplib.
1026         * configure: Regenerate.
1027
1028         * c-tree.h: (get_directive_line): Different prototype for cpplib.
1029         (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
1030
1031         * c-lex.h: (get_directive_line): Not needed here for cpplib.
1032
1033         * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
1034         (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
1035
1036         * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
1037         (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
1038
1039 Thu May 21 09:04:42 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1040
1041         * gengenrtl.c (type_from_format, accessor_from_format): Change
1042         type of parameter `c' from `char' to `int'.
1043
1044 Wed May 20 22:28:34 1998  Jeffrey A Law  (law@cygnus.com)
1045
1046         * warn_summary, test_summary: New scripts from
1047         Kaveh Ghazi and Alexandre Oliva respectively.
1048
1049         * gcse.c (current_function_calls_longjmp): Declare.
1050
1051 1998-05-20  Jason Merrill  <jason@yorick.cygnus.com>
1052
1053         * dwarf2out.c (base_type_die): Use int_size_in_bytes.
1054
1055 Wed May 20 01:11:02 1998  Doug Evans (devans@cygnus.com)
1056                           Jeff Law (law@cygnus.com)
1057
1058         * Global CSE and constant/copy propagation.
1059         * Makefile.in (OBJS): Add gcse.o
1060         (STAGESTUFF): Add *.gcse.
1061         (gcse.o): Add dependencies.
1062         (mostlyclean): Remove *.gcse and */*.gcse.
1063         * gcse.c: New file.
1064         * loop.c (loop_optimize): Move call to init_alias_analysis.
1065         * recog.c (validate_replace_src): New function.
1066         * toplev.c (gcse_dump): New global variable.
1067         (flag_gcse, gcse_time): Likewise.
1068         (compile_file): Initialize gcse_time and clean out the gcse dump
1069         file if necessary.
1070         (rest_of_compilation): Call gcse_main as requested.  Dump RTL
1071         after gcse if requested.
1072         (main): Enable gcse for -O2 and above.  Handle -dG.  Enable gcse
1073         dumps for -da.
1074         * gcc.texi: Add gcse related internal documentation.
1075         * invoke.texi: Note new command line options for gcse.
1076         * tm.texi: Document AVOID_CCMODE_COPIES.
1077         * mips.h (AVOID_CCMODE_COPIES): Define.
1078
1079 Tue May 19 22:31:20 1998  Jeffrey A Law  (law@cygnus.com)
1080
1081         * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
1082         exists.
1083         (stmp-fixproto): Simlarly for running fixproto.
1084         * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
1085
1086 Tue May 19 19:08:52 1998  Jim Wilson  <wilson@cygnus.com>
1087
1088         * config/mips/mips.c (double_memory_operand): Accept any MEM during
1089         reload when TARGET_64BIT.
1090
1091 Tue May 19 18:21:25 1998  Jim Wilson  <wilson@cygnus.com>
1092
1093         Finish incomplete change started by Kenner.
1094         * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
1095         (powerpcle-*-cygwin32): Delete xm_defines.
1096         * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
1097         HAVE_STAB_H instead of NO_STAB_H.
1098         * config/xm-linux.h (NO_STAB_H): Delete.
1099         (HAVE_STAB_H): Undefine.
1100         * config/i386/xm-go32.h (NO_STAB_H): Delete.
1101
1102 1998-05-19  Jim Wilson  <wilson@cygnus.com>
1103
1104         * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
1105         LANG_TYPE trees with DECL_SOURCE_LINE of 0.
1106
1107 Tue May 19 15:07:54 1998  Todd Vierling  <tv@netbsd.org>
1108
1109         * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
1110
1111 Tue May 19 17:19:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1112
1113         * reload1.c (reload_reg_free_for_value_p): New function.
1114         (allocate_reload_reg, choose_reload_regs): Use it.
1115
1116 Tue May 19 11:51:00 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
1117
1118         * except.c (expand_start_catch): Correct logic for when to
1119         generate a new handler label, and when to use the old one.
1120
1121 Tue May 19 11:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1122
1123         * Makefile.in (print-rtl.o): Depend on bitmap.h.
1124         (dbxout.o): Depend on toplev.h.
1125         ($(SCHED_PREFIX)sched.o): Likewise.
1126         ($(out_object_file)): Likewise for system.h and toplev.h.
1127         (cppmain.o): Depend on gansidecl.h.
1128         (cpplib.o): Likewise.
1129         (cpperror.o): Likewise.
1130         (cppexp.o): Likewise.
1131         (cpphash.o): Likewise.
1132         (cppalloc.o): Likewise.
1133         (fix-header.o): Depend on cpplib.h and cpphash.h.
1134         (scan-decls.o): Depend on gansidecl.h.
1135
1136         * basic-block.h (free_regset_vector): Add prototype.
1137
1138         * cccp.c (check_precompiled): Mark parameter `fname' with
1139         ATTRIBUTE_UNUSED.
1140         (do_assert): Likewise for `op' and `keyword'.
1141         (do_unassert): Likewise.
1142         (do_line): Likewise for `keyword'.
1143         (do_error): Likewise for `op' and `keyword'.
1144         (do_warning): Likewise.
1145         (do_ident): Likewise for `keyword'.
1146         (do_pragma): Likewise for `limit', `op' and `keyword'.
1147         (do_sccs): Likewise.
1148         (do_if): Likewise for `keyword'.
1149         (do_elif): Likewise.
1150         (do_else): Likewise.
1151         (do_endif): Likewise.
1152
1153         * collect2.c (getenv): Remove redundant prototype.
1154         (collect_exit, collect_execute, dump_file): Likewise.
1155         (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
1156         (dump_prefix_list): Hide prototype and definition.
1157
1158         * sparc.c: Include toplev.h.
1159         (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
1160         (symbolic_memory_operand): Likewise.
1161         (sp64_medium_pic_operand): Likewise.
1162         (data_segment_operand): Likewise.
1163         (text_segment_operand): Likewise.
1164         (splittable_symbolic_memory_operand): Likewise.
1165         (splittable_immediate_memory_operand): Likewise.
1166         (eq_or_neq): Likewise.
1167         (normal_comp_operator): Likewise.
1168         (noov_compare_op): Likewise.
1169         (v9_regcmp_op): Likewise.
1170         (v8plus_regcmp_op): Likewise.
1171         (extend_op): Likewise.
1172         (cc_arithop): Likewise.
1173         (cc_arithopn): Likewise.
1174         (small_int): Likewise.
1175         (uns_small_int): Likewise.
1176         (clobbered_register): Likewise.
1177         (legitimize_pic_address): Likewise.
1178         (delay_operand): Likewise.
1179         (sparc_builtin_saveregs): Remove unused variable `stdarg'.
1180
1181         * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
1182         sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
1183
1184         * sparc.md (cmpdi_v8plus): Add abort for default case in switch.
1185
1186         * cppalloc.c: Include gansidecl.h.
1187
1188         * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
1189         (cpp_file_line_for_message): Mark parameter `pfile' with
1190         ATTRIBUTE_UNUSED.
1191         (v_cpp_message): New function.
1192         (cpp_message): Use it.  Also convert to variable arguments.
1193         (cpp_fatal): Likewise.
1194         (cpp_pfatal_with_name): Constify parameter `name'.
1195
1196         * cppexp.c: Move gansidecl.h before cpplib.h.
1197         * cpphash.c: Likewise.
1198         * cpphash.h (hashf, delete_macro): Add prototypes.
1199
1200         * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
1201         cpplib.h.  Don't include errno.h.
1202         (update_path): Add arguments to prototype.
1203         (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
1204         cpp_print_containing_files): Remove redundant prototypes.
1205         (cpp_hash_cleanup, add_import, append_include_chain,
1206         make_assertion, path_include, initialize_builtins,
1207         initialize_char_syntax, finclude, validate_else, comp_def_part,
1208         lookup_import, redundant_include_p, is_system_include,
1209         read_name_map, read_filename_string, open_include_file,
1210         check_macro_name, compare_defs, compare_token_lists,
1211         eval_if_expression, change_newlines): Add prototype arguments.
1212         (hashf): Remove redundant prototype.
1213         (read_token_list, free_token_list, safe_read, xcalloc, savestring,
1214         conditional_skip, skip_if_group): Add prototype arguments.
1215         (fdopen): Remove redundant prototype.
1216         (do_define, do_line, do_include, do_undef, do_error, do_pragma,
1217         do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
1218         do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
1219         (struct directive): Add prototype arguments to function pointer
1220         member `func'.
1221         (handle_directive): Add missing arguments to call to `do_line'.
1222         (do_include): Mark parameters `unused1' and `unused2' with
1223         ATTRIBUTE_UNUSED.
1224         (do_line): Likewise for `keyword' and new parameters `unused1' and
1225         `unused2'.
1226         (do_error): Likewise for `keyword'.
1227         (do_warning): Likewise.  Also add missing argument `pfile' in call
1228         to cpp_pedwarn.
1229         (do_once): Mark parameter `keyword', `unused1' and `unused2' with
1230         ATTRIBUTE_UNUSED.
1231         (do_ident): Likewise for `keyword', `buf' and `limit'.
1232         (do_pragma): Likewise.  Also add missing arguments in call to do_once.
1233         (do_sccs): Mark parameter `keyword', `buf' and `limit' with
1234         ATTRIBUTE_UNUSED.
1235         (do_if): Likewise for `keyword'.
1236         (do_elif): Likewise.
1237         (eval_if_expression): Likewise for `buf' and `length'.
1238         (do_xifdef): Likewise for `unused1' and `unused2'.
1239         (do_else): Likewise for `keyword', `buf' and `limit'.
1240         (do_endif): Likewise.
1241         (parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
1242         (cpp_handle_options): Remove superfluous NULL argument in call to
1243         cpp_fatal.
1244         (cpp_handle_options): Likewise.
1245         (do_assert): Mark parameter `keyword', `buf' and `limit' with
1246         ATTRIBUTE_UNUSED.
1247         (do_unassert): Likewise.
1248         (cpp_print_file_and_line): Add missing argument `pfile' in call to
1249         cpp_file_line_for_message.
1250         (v_cpp_error): New function.
1251         (cpp_error): Use it. Also accept variable arguments.
1252         (v_cpp_warning): New function.
1253         (cpp_warning): Use it. Also accept variable arguments.
1254         (cpp_pedwarn): Accept variable arguments.
1255         (v_cpp_error_with_line): New function
1256         (cpp_error_with_line): Use it.  Accept variable arguments.
1257         (v_cpp_warning_with_line): New function.
1258         (cpp_warning_with_line): Use it.  Accept variable arguments.  Hide
1259         definition.
1260         (cpp_pedwarn_with_line): Accept variable arguments.
1261         (cpp_pedwarn_with_file_and_line): Likewise.
1262         (cpp_error_from_errno): Constify parameter `name'.  Add missing
1263         argument `pfile' in call to cpp_file_line_for_message.
1264         (cpp_perror_with_name): Constify parameter `name'.
1265
1266         * cpplib.h: Define PARAMS() in terms of PROTO().
1267         (fatal): Remove redundant prototype.
1268         (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
1269         cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
1270         cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
1271         cpp_fatal, cpp_message, cpp_pfatal_with_name,
1272         cpp_file_line_for_message, cpp_print_containing_files): Add
1273         arguments to prototypes.
1274         (scan_decls, cpp_finish): Add prototypes.
1275
1276         * cppmain.c: Include gansidecl.h.
1277         (main): Remove unused variable `i'.
1278
1279         * dbxout.c: Include toplev.h.
1280
1281         * demangle.h (do_tlink, collect_execute, collect_exit,
1282         collect_wait, dump_file, file_exists): Add prototype.
1283
1284         * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
1285         prototype and definition.
1286         (gen_unspecified_parameters_die): Don't assign results of call to
1287         function new_die() to unused variable `parm_die'.
1288         (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
1289         (dwarf2out_define): Likewise for `lineno' and `buffer'.
1290
1291         * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
1292         prototype and definition.
1293         (output_die): Add prototype arguments to function pointer arg.
1294         (output_unspecified_parameters_die): Mark parameter `arg' with
1295         ATTRIBUTE_UNUSED.
1296
1297         * except.c (output_exception_table_entry): Remove unused variable
1298         `eh_entry'.
1299
1300         * except.h (expand_fixup_region_start, expand_fixup_region_end):
1301         Add prototypes.
1302
1303         * expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
1304
1305         * expr.h (do_jump_by_parts_equality_rtx): Add prototype.
1306
1307         * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
1308         before cpplib.h, include cpphash.h, remove redundant prototype of
1309         cpp_fatal, don't define `const', add a prototype for `fatal'.
1310         (cpp_file_line_for_message): Add missing arguments `pfile'.
1311         (v_cpp_message): New function.
1312         (cpp_message): Use it.
1313         (v_fatal): New function.
1314         (fatal, cpp_fatal): Use it.
1315         (cpp_pfatal_with_name): Constify parameter `name'.
1316
1317         * flow.c (free_regset_vector): Remove redundant prototype.
1318
1319         * function.c (round_down): Wrap prototype and definition with
1320         macro ARGS_GROW_DOWNWARD.
1321         (record_insns): Wrap prototype and definition with
1322         defined (HAVE_prologue) || defined (HAVE_epilogue).
1323
1324         * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
1325
1326         * gen-protos.c: Include gansidecl.h.
1327         (hashf): Don't make it static, constify parameter `name'.
1328
1329         * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
1330         specifier %s in calls to function `fatal'.
1331
1332         * haifa-sched.c: Include toplev.h.
1333         (find_rgns): Remove unused variable `j'.
1334
1335         * integrate.c (note_modified_parmregs): Mark parameter `x' with
1336         ATTRIBUTE_UNUSED.
1337         (mark_stores): Likewise.
1338
1339         * jump.c (mark_modified_reg): Likewise.
1340
1341         * output.h (insn_current_reference_address): Add prototype.
1342         (eh_frame_section): Likewise.
1343
1344         * print-rtl.c: Include bitmap.h.
1345
1346         * reload1.c (reload): Wrap variables `note' and `next' in macro
1347         PRESERVE_DEATH_INFO_REGNO_P.
1348         (forget_old_reloads_1): Mark parameter `ignored' with
1349         ATTRIBUTE_UNUSED.
1350         (choose_reload_regs): Remove unused variable `in'.
1351         (reload_cse_invalidate_mem): Mark parameter `ignore' with
1352         ATTRIBUTE_UNUSED.
1353         (reload_cse_check_clobber): Likewise.
1354
1355         * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
1356         (mark_elimination): Fix typo in prototype.
1357
1358         * scan-decls.c: Include gansidecl.h.
1359
1360         * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
1361
1362 Mon May 18 22:37:33 1998  Jeffrey A Law  (law@cygnus.com)
1363
1364         * function.c (identify_blocks): Fix thinko when setting the
1365         block number for NOTE_INSN_BLOCK_END.
1366
1367 Mon May 18 15:30:42 1998  Nick Clifton  <nickc@cygnus.com>
1368
1369         * config/v850/lib1funcs.asm: Add .text pseudo op to start of
1370         ___udivsi3.
1371
1372         * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
1373         underscores for the prefixes to the names of the maths functions.
1374
1375         * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE.  Add
1376         comment explaining why.
1377
1378 Mon May 18 13:20:23 1998  Richard Henderson  <rth@cygnus.com>
1379
1380         * tree.h (TYPE_SIZE_UNIT): New.
1381         (struct tree_type): Add size_unit member.
1382         * stor-layout.c (layout_type): Initialize it.
1383         * expr.c (get_inner_reference) [ARRAY_REF]: Use it.
1384         * tree.c (size_in_bytes, int_size_in_bytes): Likewise.
1385
1386 Mon May 18 12:07:37 1998  Richard Earnshaw (rearnsha@arm.com)
1387
1388         * stor-layout.c (layout_record): Fix off-by-one error when checking
1389         length of the TYPE_BINFO vector.
1390
1391 Mon May 18 10:59:23 1998  Nick Clifton  <nickc@cygnus.com>
1392
1393         * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
1394         function parameter passed in memory.
1395
1396 Mon May 18 09:02:09 1998  Robert Lipe  <robertl@dgii.com>
1397
1398         * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h:  New files.
1399         Prototypes for externally used functions in respective C files.
1400         * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
1401         final.c: Include above files.
1402         * Makefile.in (toplev.o): Add dependency for above four headers.
1403         (final.o): Likewise.
1404         (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
1405         respective header files.
1406
1407 Mon May 18 01:23:33 1998  Jeffrey A Law  (law@cygnus.com)
1408
1409         * Makefile.in (TARGET_TOOLPREFIX): No longer define.
1410         (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
1411         the build tree if they exist.
1412         (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
1413         appropriately.
1414         (objdir): Let configure substitute value.
1415         (FLOAT_H): Let configure select a pre-built version from the
1416         config subdir.
1417         * build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
1418         * configure.in: Substitute for objdir.
1419
1420         * Makefile.in (build_canonical, host_canonical): Let configure
1421         substitute values for these variables.
1422         * configure.in: Substitute for build_canonical, host_canonical
1423         and target_subdir in generated Makefile.
1424
1425         * output.h (find_basic_blocks): Declare.
1426         (free_basic_block_vars, set_block_num, life_analysis): Likewise.
1427
1428         * Makefile.in (BISON): Use bison from the build tree if it exists.
1429         (FLEX): Similarly.
1430
1431 Mon May 18 00:08:19 1998  Nick Clifton  <nickc@cygnus.com>
1432
1433         * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
1434         (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
1435         (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
1436         command line arguments to see if an executable is not being
1437         created, and if so - do not append the suffix.
1438
1439         * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
1440         driver macro.
1441
1442 Sun May 17 23:59:45 1998  John Wehle  (john@feith.com)
1443
1444         * i386.h (ALIGN_DFmode): Delete.
1445         (CONSTANT_ALIGNMENT): Define.
1446         * varasm.c (force_const_mem): Use it.
1447
1448 Sun May 17 19:31:05 1998  Richard Henderson  <rth@cygnus.com>
1449
1450         * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
1451         using it with swap_condition, not before.
1452
1453 Sun May 17 13:44:32 1998  Jim Wilson  <wilson@cygnus.com>
1454
1455         * alias.c (mode_alias_check): Delete.
1456         (true_dependence, anti_dependence, output_dependence): Revert April 21
1457         change.
1458
1459 Sun May 17 08:45:21 1998  Krister Walfridsson <cato@df.lth.se>
1460
1461         * toplev.c (output_lang_identify): Enable prototype and definition.
1462
1463 Sun May 17 01:12:27 PDT 1998 Jeff Law  (law@cygnus.com)
1464
1465         * version.c: Bump for snapshot.
1466
1467 Sat May 16 23:20:32 1998  Richard Henderson  <rth@cygnus.com>
1468
1469         * alpha/osf.h (HAVE_STAMP_H): Define.
1470         * alpha.c: Use it.
1471         * alpha/netbsd.h, alpha/netbsd-elf.h: New files.
1472         * configure.in (alpha*-*-netbsd*): New.
1473         Based on patches from Paul H. Anderson <pha@pdq.com>.
1474
1475         * configure.in (alpha*-*-linux-*): Kill xm_defines.
1476         (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
1477         * alpha/xm-linux.h: Remove file.
1478
1479 Sat May 16 18:32:45 1998  Doug Evans  <devans@canuck.cygnus.com>
1480
1481         * dbxout.c (dbxout_parms): If mode of type of parameter living
1482         in memory doesn't match mode of DECL_RTL, make big endian correction.
1483
1484 Fri May 15 21:40:06 1998  John Wehle  (john@feith.com)
1485
1486         * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
1487
1488 Fri May 15 18:55:22 1998  Jason Merrill  <jason@yorick.cygnus.com>
1489
1490         * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
1491         * stor-layout.c (layout_record): Set it.
1492
1493 Fri May 15 18:49:30 1998  Mark Mitchell  <mmitchell@usa.net>
1494
1495         * toplev.c (rest_of_compilation): Don't defer nested functions.
1496
1497 Fri May 15 17:42:52 1998  Bob Manson  <manson@charmed.cygnus.com>
1498
1499         * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
1500         to an 8-byte boundary if info_ptr->fpmem_p.
1501
1502 Fri May 15 17:36:11 1998  Bill Moyer <ttk@cygnus.com>
1503
1504         * loop.c (basic_induction_var): Added test preventing
1505         CCmode parameter passed to convert_modes().
1506
1507 Fri May 15 17:26:18 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
1508
1509         * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
1510         input_filename and lineno around expand_expr call.  Set them to values
1511         in WFL before expand_expr call.
1512
1513 Fri May 15 12:44:57 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
1514
1515         * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
1516
1517 Fri May 15 07:20:03 1998  Mark Mitchell  <mmitchell@usa.net>
1518
1519         * fold-const.c (constant_boolean_node): New function.
1520         (fold): Use it.
1521
1522 Fri May 15 11:21:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1523
1524         * sh.c (gen_shl_and): Don't sign extend constant for kind two.
1525         Abort if trying to split kind 3 or 4 outside of combine.
1526
1527 Fri May 15 01:47:37 1998  Jeffrey A Law  (law@cygnus.com)
1528
1529         * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
1530
1531 Fri May 15 01:42:45 1998  Mumit Khan <khan@xraylith.wisc.edu>
1532
1533         * objc/Make-lang.in (OBJC_O): Add missing exeext.
1534         (libobjc.a, runtime-info.h): Likewise.
1535
1536 Fri May 15 01:29:39 1998  John Wehle  (john@feith.com)
1537
1538         * i386.h (DATA_ALIGNMENT): Define.
1539
1540 Fri May 15 05:35:37 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1541
1542         * reload1.c (delete_output_reload): Ignore single USE that
1543         was emitted for the pseudo use of this INSN.
1544         If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
1545         remains, we can always delete OUTPUT_RELOAD_INSN.
1546
1547 Thu May 14 18:38:50 1998  Jim Wilson  <wilson@cygnus.com>
1548
1549         * reload.c (find_reloads): Don't penalize SCRATCH output reload.
1550
1551 Thu May 14 15:10:30 1998  Jeffrey A Law  (law@cygnus.com)
1552
1553         * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
1554
1555 Thu May 14 16:30:47 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
1556
1557         * eh-common.h: New file for basic EH data structures.
1558         * except.h: Various prototypes and structures for NEW_EH_MODEL
1559         * function.h (struct function): Add a struct eh_stack for the catch
1560         clause stack.
1561         * except.c (gen_exception_label): New function to generate an
1562         exception label.
1563         (push_eh_entry): Use gen_exception_label() and init 'label_used' field.
1564         (push_entry): New function to push an existing entry onto a stack.
1565         (receive_exception_label): New function to emit the code required
1566         at the start of all catch blocks.
1567         (struct func_eh_entry): New structure for maintaining handlers
1568         associated with EH regions.
1569         (new_eh_region_entry): New function to register an EH region.
1570         (add_new_handler): New function to register a handler with a region.
1571         (get_new_handler): Creates  anew handler entry for registering.
1572         (find_func_region): New function to convert a NOTE eh region number
1573         to an Eh region index.
1574         (get_first_handler): New function to get the first handler in a region.
1575         (clear_function_eh_region): New function to release memory.
1576         (duplicate_handlers): New function to duplicate a list of handlers.
1577         (expand_eh_region_end): Create a new region entry node as well.
1578         (expand_leftover_cleanups): Call receive_exception_label() and
1579         register the cleanup as a handler to the current region.
1580         (expand_start_catch): New function to start a catch clause.
1581         (expand_end_catch): New function to end a catch clause.
1582         (expand_start_all_catch): restructure to not do the equivilent of
1583         what expand_start_catch() does now. Push the exception region being
1584         handled onto the catch stack.
1585         (output_exception_table_entry): Issue an entry for each handler
1586         associated with a region.
1587         (set_exception_lang_code): New function for setting the language code.
1588         (set_exception_version_code): New function to set the version number.
1589         (output_exception_table): Output version and language codes.
1590         (find_exception_handler_labels): Find handler labels using new scheme.
1591         (is_exception_handler_label): New function, returns 1 if label is
1592         present as a handler in some exception region.
1593         (check_exception_handler_labels): Use the new scheme.
1594         (init_eh_for_function): Initialize the catch stack.
1595         (save_eh_status): Save the catch stack.
1596         (restore_eh_status): Restore the catch stack.
1597         (scan_region): Don't remove unreferenced handler label. Flow does it.
1598         (get_reg_for_handler): New function to get the eh_context pointer
1599         passed by __throw.
1600         (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
1601         * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
1602         entry when processing END region rather that START region.
1603         * flow.c (find_basic_blocks_1): Find all potential handler regions
1604         now that we don't automatically know what the labels might be.
1605         Let scan_region() remove unreferenced EH BEGIN/END labels.
1606         * integrate.c (get_label_from_map): Put inlined labels onto the
1607         permanent obstack since we dont know which ones might be exception
1608         labels.
1609         (save_for_inline_copying): Make new copies of all the handlers.
1610         (expand_inline_function): Make new copies of all the handlers.
1611         * libgcc2.c: Remove local struct decls, and include eh-common.h.
1612         (find_exception_handler): With NEW_EH_MODEL the first matching
1613         region we find is the right one. Add eh_info as a new parameter.
1614         (__throw): Pass eh_info to find_exception_handler. Set handler
1615         and pass use different regs  under NEW_EH_MODEL.
1616
1617 Thu May 14 12:58:21 1998  Jim Wilson  <wilson@cygnus.com>
1618
1619         * i960.h (hard_regno_mode_ok): Changed to function from array of
1620         unsigned.
1621         (HARD_REGNO_MODE_OK): Call function instead of testing bit.
1622         * i960.c (hard_regno_mode_ok): Changed to function from array of
1623         unsigned.
1624
1625 Thu May 14 08:41:46 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1626
1627         * reload.c (remove_replacements): New function.
1628         * reload.h (remove_replacements): Declare.
1629         * reload1.c (choose_reload_regs): Disable some reloads that
1630         belong to inherited reloads.
1631
1632 Thu May 14 02:17:17 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1633
1634         * loop.c (scan_loop): Don't call move_moveables for optimize_size.
1635
1636         * reload1.c (merge_assigned_reloads):  When merging, reset
1637         reload_spill_index for the eliminated reload.
1638
1639 Wed May 13 17:51:13 1998  Jeffrey A Law  (law@cygnus.com)
1640
1641         * haifa-sched.c (schedule_insns): Fix merge goof.
1642
1643 1998-05-13  Jim Wilson  <wilson@cygnus.com>
1644
1645         * varasm.c (make_decl_rtl): Revert April 1 change.
1646         * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
1647         m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
1648         Get function name from the SYMBOL_REF in the DECL_RTL, not from
1649         DECL_ASSEMBLER_NAME.
1650         * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
1651         DECL_ASSEMBLER_NAME.
1652
1653 Wed May 13 13:09:19 1998  Jim Wilson  <wilson@cygnus.com>
1654
1655         * i386.c (notice_update_cc, output_float_compare): Disable
1656         TARGET_CMOVE support.
1657
1658 Wed May 13 15:28:59 1998  Michael Meissner  <meissner@cygnus.com>
1659                           Jeff Law <law@cygnus.com>
1660
1661         * rtlanal.c (find_reg_note): Ignore notes that are not on on
1662         insns of class 'i'.
1663         (find_regno_note): Likewise.
1664
1665         * Makefile.in (stor-layout.o): Depend on except.h
1666         (varasm.o, function.o): Likewise.
1667         (expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
1668
1669         * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
1670         (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
1671         ($(HOST_PREFIX_1)rtl.o): Likewise.
1672         ($(HOST_PREFIX_1)bitmap.o): New host object.
1673         * emit-rtl.c (toplevel): Include bitmap.h.
1674         (gen_rtx): Handle 't' and 'b' nodes.
1675         * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
1676         Print block number for block begin/end notes.  Print 't' type
1677         nodes as a pointer.  Know that the 3rd argument of live range
1678         start/stop notes is really a range_info rtx.  If type is 'b', print
1679         out argument as a bitmap.
1680         * rtl.c: Include bitmap.c.
1681         (copy_rtx): Copy tree nodes as is.  Copy bitmaps if type is 'b'.
1682         (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
1683         * rtl.def (RANGE_LIVE): New node to hold live information while we
1684         recalculate the basic blocks.
1685         (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
1686         (RANGE_VAR): New node, to hold information saved in symbol node for New
1687         communicating live range information to the debug output functions.
1688         * rtl.h (rtunion_def): Add rttree and rtbit fields.
1689         (XBITMAP, XTREE): New accessor macros.
1690         (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
1691         (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
1692         (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
1693         (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
1694         (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
1695         (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
1696         (RANGE_INFO_*): Likewise.
1697         * sched.c (sched_analyze): Keep live range start/stop notes.
1698         (unlink_other_notes): Likewise.
1699         * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
1700         (unlink_other_notes): Likewise.
1701         * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
1702         (BLOCK_LIVE_RANGE_FLAG): Likewise.
1703         (DECL_LIVE_RANGE_RTL): Likewise.
1704         (struct tree_block): Add live_range_flag, live_range_var_flag,
1705         live_range_start and live_range_end.
1706         (struct tree_decl): Add live_range_rtl field.
1707         * gengenrtl.c (type_from_format): Handle 'b' and 't'.
1708         (accessor_from_format): Likewise.
1709
1710         * haifa-sched.c (schedule_block): Make verbose output line up.
1711         Also add a blank line in printing the individual ready lists.
1712
1713 Wed May 13 15:43:44 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1714
1715         * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
1716         (c-lex.o): Depend on output.h.
1717         (c-common.o): Likewise.
1718         (stmt.o): Likewise.
1719         (calls.o): Likewise.
1720         (integrate.o): Depend on toplev.h.
1721         (regclass.o): Depend on output.h.
1722         (final.o): Depend on reload.h.
1723
1724         * c-common.c: Include output.h.
1725         (check_format_info): Remove unused variable `integral_format'.
1726
1727         * c-decl.c (print_lang_decl): Mark parameters `file', `node' and
1728         `indent' with ATTRIBUTE_UNUSED.
1729         (print_lang_type): Likewise.
1730         (maybe_build_cleanup): Likewise for parameter `decl'.
1731         (copy_lang_decl): Likewise for parameter `node'.
1732
1733         * c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
1734         (lang_print_xnode): Mark parameters `file', `node' and `indent'
1735         with ATTRIBUTE_UNUSED.
1736         (lookup_interface): Likewise for parameter `arg'.
1737         (is_class_name): Likewise.
1738         (maybe_objc_check_decl): Likewise for parameter `decl'.
1739         (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
1740         `reflexive'.
1741         (maybe_objc_method_name): Likewise for parameter `decl'.
1742         (build_objc_string): Likewise for parameters `len' and `str'.
1743
1744         * c-lex.c: Include output.h.
1745
1746         * c-lex.h (position_after_white_space): Correct typo in prototype.
1747
1748         * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
1749         c_expand_end_cond, init_iterators): Add prototypes.
1750
1751         * caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
1752         with ATTRIBUTE_UNUSED.
1753
1754         * calls.c: Include output.h.
1755
1756         * cccp.c (pipe_closed): Mark parameter `signo' with
1757         ATTRIBUTE_UNUSED.
1758
1759         * combine.c: Move inclusion of expr.h to after insn-config.h.
1760
1761         * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
1762         as empty, rather define as ((void)0).
1763
1764         * sparc.c (sparc_check_64): Add braces around ambiguous `else'.
1765         Add parentheses around assignment used as truth value.
1766
1767         * cplus-dem.c (squangle_mop_up): Change return type to void.
1768         (internal_cplus_demangle): Remove unused parameter `options'.
1769         All callers changed.
1770         (cplus_demangle_opname): Remove function wide variable `int i' and
1771         replace with `size_t i' at each location where it is used.
1772         (cplus_demangle_opname): change type of `i' from int to size_t.
1773
1774         * cppexp.c (right_shift): Mark parameter `pfile' with
1775         ATTRIBUTE_UNUSED.
1776
1777         * cpphash.c (cpp_lookup): Likewise.
1778         (cpp_hash_cleanup): Likewise.
1779
1780         * cpplib.c (parse_name): Add a prototype and make it static.
1781         (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
1782         (null_cleanup): Likewise for parameters `pbuf' and `pfile'.
1783         (macro_cleanup): Likewise for parameter `pfile'.
1784         (file_cleanup): Likewise.
1785
1786         * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
1787         cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
1788
1789         * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
1790         __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
1791
1792         * cse.c (cse_check_loop_start): Mark parameter `set' with
1793         ATTRIBUTE_UNUSED.
1794
1795         * dbxout.c (flag_minimal_debug, have_used_extensions,
1796         source_label_number): Move inside macro wrapper check against
1797         defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
1798
1799         * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
1800
1801         * except.h (doing_eh): Provide prototype.
1802
1803         * expr.c: Move inclusion of expr.h to after insn-config.h.
1804
1805         * final.c: Include reload.h.
1806         (shorten_branches): Cast the first argument of bzero to char *.
1807
1808         * fix-header.c (cpp_print_containing_files): Mark parameter
1809         `pfile' with ATTRIBUTE_UNUSED.
1810         (cpp_fatal): Likewise.
1811
1812         * flow.c (find_basic_blocks_1): Cast the first argument of bzero
1813         to char *.
1814
1815         * genattrtab.c (make_length_attrs): Change the type of variable
1816         `i' from int to size_t.
1817         (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
1818         (one_fn): Likewise.
1819
1820         * genextract.c (main): When generating insn-extract.c, mark
1821         variable `junk' with ATTRIBUTE_UNUSED.
1822
1823         * gengenrtl.c (gencode): When generating genrtl.c, cast the first
1824         argument of bzero to char*.
1825
1826         * integrate.c: Include toplev.h.
1827
1828         * libgcc2.c: Wrap `struct exception_table' and
1829         `find_exception_handler' in macro DWARF2_UNWIND_INFO.
1830
1831         * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
1832
1833         * objc/objc-act.c: Include toplev.h.
1834         (lang_print_xnode): Mark parameters `file', `node' and `indent'
1835         with ATTRIBUTE_UNUSED.
1836         (finish_protocol): Likewise for parameter `protocol'.
1837
1838         * output.h (declare_weak): Add prototype.
1839         (decode_reg_name): Don't wrap with TREE_CODE macro.
1840         (assemble_alias): Add prototype.
1841
1842         * regclass.c: Include output.h.
1843
1844         * reload.h (reloads_conflict): Add prototype.
1845
1846         * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
1847         output_func_start_profiler): Add prototypes.
1848
1849         * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
1850         ATTRIBUTE_UNUSED.
1851
1852         * scan-decls.c: Include scan.h.
1853
1854         * scan.h (recognized_function, recognized_extern): Add prototypes.
1855
1856         * stmt.c: Include output.h.
1857
1858         * toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
1859         (output_lang_identify): Hide prototype and definition.
1860         (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
1861         (pipe_closed): Likewise.
1862
1863         * toplev.h (count_error, strip_off_ending, error_for_asm,
1864         warning_for_asm): Add prototypes.
1865
1866 Wed May 13 12:54:19 1998  Michael Meissner  <meissner@cygnus.com>
1867
1868         * toplev.c (rest_of_compilation): "Charge" final for any time
1869         doing various cleanup operations after finishing compilation
1870         of a function.
1871
1872         * flow.c (dump_flow_info): Also print number of sets and
1873         whether or not the pseudo is a user variable.
1874
1875         * flow.c (reg_n_max): New global variable.
1876         * regclass.c (allocate_reg_info): Keep reg_n_max up to date.
1877         Delete regno_max variable.
1878         * regs.h (REG_N_CHECK): Define.
1879         (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
1880         (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
1881         (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
1882
1883 Wed May 13 12:54:19 1998  Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
1884
1885         * acconfig.h (ENABLE_CHECKING): Undefine.
1886         * configure.in (--enable-checking): New option.
1887
1888 Wed May 13 08:52:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1889
1890         * reload1.c (merge_assigned_reloads):  Can merge
1891         RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
1892         if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
1893
1894 Tue May 12 20:05:57 1998  Jim Wilson  <wilson@cygnus.com>
1895
1896         * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
1897
1898 Wed May 13 03:23:45 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1899
1900         * reload1.c (gen_reload): Create REG_EQUIV notes.
1901
1902 Tue May 12 22:21:07 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
1903
1904         * reload1.c (reload): Fix check for USEs to use code of pattern.
1905         (choose_reload_regs): Remove dead variable use_insn.
1906
1907 Tue May 12 14:04:49 1998  Jeffrey A Law  (law@cygnus.com)
1908
1909         * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
1910
1911 Tue May 12 15:16:02 1998  Michael Meissner  <meissner@cygnus.com>
1912
1913         * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
1914         already defined.
1915         (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
1916         (insn_{unit,issue_delay}): Ditto.
1917         (blockage_range): Ditto.
1918         (actual_hazard{,_this_instance}): Ditto.
1919         (schedule_unit): Ditto.
1920         (potential_hazard): Ditto.
1921         (insn_cost): Ditto.
1922         (swap_sort): Ditto.
1923         (queue_insn): Ditto.
1924         (birthing_insn_p): Ditto.
1925         (adjust_priority): Ditto.
1926         (get_block_head_tail): Ditto.
1927         (init_rgn_data_dependences): Ditto.
1928
1929 Tue May 12 10:27:54 1998  Klaus Kaempf  <kkaempf@progis.de>
1930
1931         * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
1932
1933 Tue May 12 11:44:14 1998  Gavin Koch  <gavin@cygnus.com>
1934
1935         * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
1936
1937 Tue May 12 11:38:31 1998  Gavin Koch  <gavin@cygnus.com>
1938
1939         * config/mips/mips.md (dslot): Move after definition of "cpu"
1940         attribute.  Handle r3900 case.
1941
1942 Tue May 12 10:21:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1943
1944         * system.h: Define the STRINGIFY macro here.
1945         * protoize.c: Not here.
1946         * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
1947
1948 Tue May 12 00:47:33 1998  John Wehle  (john@feith.com)
1949
1950         * varasm.c (assemble_variable): Compute the alignment of the data
1951         earlier so that both initialized and uninitialized variables are
1952         effected by DATA_ALIGNMENT.
1953         * tm.texi (DATA_ALIGNMENT): Updated appropriately.
1954
1955 Mon May 11 19:57:58 1998  Jeffrey A Law  (law@cygnus.com)
1956
1957         * mips.c: Prototype static functions.
1958
1959 Mon May 11 17:43:03 1998  Jim Wilson  <wilson@cygnus.com>
1960
1961         * regmove.c (fixup_match_2, find_matches, regmove_profitable):
1962         Add explanatory comments.
1963
1964         * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
1965
1966 Mon May 11 17:24:27 1998  Richard Henderson  <rth@cygnus.com>
1967
1968         * sparc.md (ffsdi2): Disable.  Simplify the expression as well.
1969
1970 Mon May 11 13:30:44 1998  Jim Wilson  <wilson@cygnus.com>
1971
1972         * varasm.c (make_decl_rtl): Disable April 1 change.
1973
1974 Mon May 11 09:14:41 1998  Richard Henderson  <rth@cygnus.com>
1975
1976         * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
1977
1978 Mon May 11 08:24:18 1998  Richard Henderson <rth@cygnus.com>
1979
1980         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
1981         * alpha.c (print_operand): Handle it.
1982         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
1983         related define_splits.  Also add peepholes for SImode reload
1984         plus sign_extend lossage.
1985
1986 Mon May 11 09:33:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1987
1988         * genattr.c: Include stdarg.h/varargs.h.  Change function
1989         `fatal' to use variable arguments instead of faking it with
1990         integer parameters.  Provide a prototype which also
1991         checks the format specifiers using ATTRIBUTE_PRINTF_1.
1992
1993         * genattrtab.c: Likewise.
1994         * gencodes.c: Likewise.
1995         * genconfig.c: Likewise.
1996         * genemit.c: Likewise.
1997         * genextract.c: Likewise.
1998         * genflags.c: Likewise.
1999         * genopinit.c: Likewise.
2000         * genpeep.c: Likewise.
2001         * genrecog.c: Likewise.
2002         * genoutput.c: Likewise.  Similarly for function `error'.
2003
2004 Sun May 10 02:27:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2005
2006         * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
2007         * alocal.m4 (GCC_C_VOLATILE): New autoconf test.
2008         * configure.in: Use GCC_C_VOLATILE.
2009         * system.h (volatile): Define as empty if no volatile support is
2010         available.
2011
2012 Sun May 10 01:21:43 1998  Jeffrey A Law  (law@cygnus.com)
2013
2014         * genemit.c (output_add_clobbers): Removed unused variable 'i' from
2015         generated fucntion.
2016
2017 Sat May  9 02:02:15 1998  Richard Henderson  <rth@cygnus.com>
2018
2019         * loop.c (get_condition): Don't combine when either compare is MODE_CC.
2020         * alpha.c (alpha_emit_conditional_branch): New function.  Taken from
2021         the body of beq; additionally set the mode of the branch to CCmode for
2022         FP compares and not fast_math.
2023         (alpha_emit_conditional_move): Always use a compare insn for FP
2024         when not fast_math, as well as setting CCmode on the cmov.
2025         * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
2026
2027         * machmode.h (COMPLEX_MODE_P): New macro.
2028
2029 Sat May  9 01:53:23 1998  Richard Henderson  <rth@cygnus.com>
2030
2031         * haifa-sched.c (print_exp): Fix typo.
2032
2033 Fri May 8 21:48:50 PDT 1998 Jeff Law  (law@cygnus.com)
2034
2035         * version.c: Bump for snapshot.
2036
2037 Fri May  8 18:23:08 1998  Michael Meissner  <meissner@cygnus.com>
2038
2039         * final.c (final_scan_insn): Call fatal_insn instead of abort if
2040         we could not split an insn when required to.
2041
2042         * m32r.md ({add,sub}di3): Add define_splits and appropriate low
2043         level insns.
2044         (peepholes): Disable peepholes that call dead_or_set_p.
2045         (movsi): Rewrite to handle addresses better after last change.
2046         Add define_split to split load of addresses in large/medium modes.
2047         (prologue): Call m32r_expand_prologue.
2048         (movsi_{push,pop}): Generators for push/pop.
2049         (movsi): Support PRE_{INC,DEC}, POST_INC.
2050         (mov{di,df}): Rewrite.  Always split the insns.
2051         (movsf): Add define_split to get register load in correct mode.
2052         (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
2053         (attributes): Rewrite attributes so that type indicates both the
2054         type and the length of the insn directly.
2055         (all insns): Change to use new type attributes.
2056         (debug): New attribute to convey whether -mdebug was used.
2057         (opt_space): New attribute to convey whether -Os was used.
2058         (function units): Loads are 3 cycles, not 2.  Better classify all
2059         insns into short/long.
2060         (load/store/extend insns): Add separate case for load/store
2061         indirect operations without an offset.
2062         (divsi3): Division is a long operation, not short.
2063
2064         * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
2065         modes > 1 word.
2066         (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
2067         (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
2068         (EXTRA_CONSTRAINT): Remove 'S' special support.  Add 'U' for
2069         operands with PRE_{INC,DEC}, POST_INC.
2070         (FUNCTION_PROFILER): Call abort instead of doing nothing.
2071         (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
2072         SImode variables.
2073         (gen_split_move_double): Declare.
2074         (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
2075
2076         * m32r.c (gen_split_move_double): Fix typo.  Also, don't call
2077         emit_move_insn, build up SET's directly.
2078         (toplevel): Include system.h, not stdio.h.
2079         (move_double_src_operand): Allow any DF or DI mode constant.
2080         (gen_split_move_double): Split moves of DI or DF values into the
2081         appropriate moves, loads, or stores.  Don't handle use of auto
2082         inc/dec if using dead index.  Do handle overlapping moves, etc.
2083         (m32r_frame_info): Remove prologue_size field.
2084         (m32r_compute_frame_size): Don't calculate prologue size.
2085         (m32r_output_function_prologue): Change to pretty much a NOP.
2086         (m32r_expand_prologue): Expand prologue as a series of INSNs.
2087         (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
2088         (m32r_print_operand_address): Ditto.
2089
2090 Fri May  8 14:13:21 1998  H.J. Lu  (hjl@gnu.org)
2091
2092         * reload1.c (emit_reload_insns): When performing expensive
2093         optimizations, do not output the last reload insn if OLD is
2094         not the dest of NSN and is in the src and is clobbered by INSN.
2095
2096 Fri May  8 09:47:29 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2097
2098         * Makefile.in (genrtl.o): Depend on system.h.
2099         * gengenrtl.c (gencode): When creating genrtl.c, have it
2100         include system.h.
2101
2102 Fri May  8 10:57:33 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2103
2104         * config/m68k/t-linux: Remove extra stuff already included in
2105         config/t-linux.
2106
2107 Fri May  8 09:53:24  Paul Eggert  <eggert@twinsun.com>
2108
2109         * fixinc.wrap: Renamed from fixinc.math.  Put wrapper around
2110         curses.h if it contains `typedef char bool;', as suggested by
2111         Manfred Hollstein <manfred@s-direktnet.de>.
2112
2113         * configure.in: Rename fixinc.math to fixinc.wrap.
2114
2115 Thu May  7 19:26:34 1998  Jim Wilson  <wilson@cygnus.com>
2116
2117         * gcc.c (read_specs): Handle missing blank line at end of specs file.
2118
2119         * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
2120         movdfcc_1): Disable.
2121
2122 Thu May  7 15:39:14 1998  Jim Wilson  <wilson@cygnus.com>
2123
2124         * configure.in (enable_threads): Rename to enable_threads_flag before
2125         main loop.  Set enable_threads to enable_threads_flag inside main
2126         loop.
2127
2128 Thu May  7 17:38:03 1998  Michael Meissner  <meissner@cygnus.com>
2129
2130         * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
2131         multiple times.
2132
2133 Thu May  7 14:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2134
2135         * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
2136
2137         * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
2138         (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
2139         (AC_CHECK_FUNCS): Remove unused check for vprintf.
2140
2141         * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
2142         (cccp.o): Depend on gansidecl.h.
2143         (cexp.o): Likewise.
2144
2145         * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
2146         per the rest of gcc source.
2147         * cexp.y: Likewise.  Include gansidecl.h and remove all code made
2148         redundant.
2149
2150         * cccp.c: Remove checks for HAVE_VPRINTF and the associated code
2151         used when vfprintf is missing.
2152         * cexp.y: Likewise.
2153         * gcc.c: Likewise.
2154         * genattrtab.c: Likewise.
2155         * mips-tfile.c: Likewise.
2156         * toplev.c: Likewise.
2157
2158         * vfprintf.c: New file.
2159         * doprint.c: New file.
2160
2161 Thu May  7 10:18:41 1998  Jeffrey A Law  (law@cygnus.com)
2162
2163         * config/linux.h (ASM_COMMENT_START): Remove from here,
2164         * config/linux-aout.h (ASM_COMMENT_START): and here,
2165         * config/i386/linux.h (ASM_COMMENT_START): to here,
2166         * config/i386/linux-aout.h (ASM_COMMENT_START): and here.
2167         * config/i386/linux-oldld.h (ASM_COMMENT_START): Define
2168         here as '#' too.
2169
2170 Thu May  7 10:55:59 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2171
2172         * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
2173         constant.
2174
2175 Wed May  6 22:32:37 CDT 1998 Robert Lipe  <robertl@dgii.com>
2176
2177         * Makefile.in (dwarfout.o) Add toplev.h dependency.
2178         * dwarfout.c, i386.c: Include toplev.h
2179         * toplev.h: (pfatal_with_name) Add prototype.
2180
2181 Wed May  6 19:02:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
2182
2183         * Makefile.in: Fix .SUFFIXES.
2184
2185 Wed May  6 19:31:32 1998  Alan Modra <alan@spri.levels.unisa.edu.au>
2186
2187         * config/linux.h (ASM_COMMENT_START): Define as "#".
2188         * config/linux-aout.h (ASM_COMMENT_START): Likewise.
2189
2190 Wed May  6 15:51:39 1998  Jim Wilson  <wilson@cygnus.com>
2191
2192         * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
2193         * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
2194
2195         * toplev.c: Include toplev.h.
2196         * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
2197         c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
2198         dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
2199         hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
2200         reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
2201         toplev.h dependency.
2202
2203         * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
2204         HARD_FRAME_POINTER_REGNUM.
2205
2206         * expr.c (target_temp_slot_level): Delete duplicate definition.
2207
2208 Wed May  6 16:46:01 1998  Jeffrey A Law  (law@cygnus.com)
2209
2210         * stmt.c (mark_seen_cases): Make it have external linkage again.
2211         * expr.h (mark_seen_cases): Add declaration, but only when tree.h
2212         has been included.
2213
2214         * haifa-sched.c (print_value, case SUBREG): Fix typo.
2215
2216         * i386.c (output_387_binary_op): Add some braces to avoid warnings.
2217         * i386.h (REG_CLASS_CONTENTS): Similarly.
2218
2219         * toplev.c (-fsched-max): Delete flag.
2220         (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
2221         * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
2222         and -fsched-interblock-max-insns-N support.  Remove INTERBLOCK_DEBUG
2223         conditionals.
2224
2225         * haifa-sched.c (find_rgns): Correctly handle reducible loops with
2226         inner loops which are not reducible.
2227
2228         * loop.c (regs_match_p): Fix typo in prototype.
2229
2230         * regmove.c (try_auto_increment): Wrap declaration inside an
2231         #ifdef AUTO_INC_DEC.
2232
2233 Wed May  6 17:07:47 1998  Michael Meissner  <meissner@cygnus.com>
2234
2235         * final.c (output_operand_lossage): Call fatal with the operand
2236         lossage message instead of calling abort.
2237
2238 Wed May  6 15:37:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2239
2240         * c-common.c: Convert to using ctype macros defined in system.h.
2241         * c-lex.c: Likewise.
2242         * cccp.c: Likewise.
2243         * collect2.c: Likewise.
2244         * rs6000.c: Likewise.
2245         * cpplib.c: Likewise.
2246         * fix-header.c: Likewise.
2247         * gcc.c: Likewise.
2248         * gen-protos.c: Likewise.
2249         * pexecute.c: Likewise.
2250         * protoize.c: Likewise.
2251         * rtl.c: Likewise.
2252         * scan.c: Likewise.
2253         * stmt.c: Likewise.
2254         * tlink.c: Likewise.
2255         * toplev.c: Likewise.
2256
2257 Wed May  6 14:44:14 1998  Gavin Koch  <gavin@cygnus.com>
2258
2259         * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
2260         Replace -gdwarf-2 with -g0.
2261
2262 Wed May  6 11:43:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2263
2264         * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
2265         * mips-tdump.c: Include system.h, remove redundant headers.
2266         * mips-tfile.c: Likewise.  Also, convert all ctype function calls
2267         to calls of the macro versions defined in system.h.
2268
2269         * objc/Make-lang.in (objc-act.o): Depend on system.h.
2270         * objc/objc-act.c: Include system.h, remove redundant headers.
2271
2272 Wed May  6 11:21:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2273
2274         * configure.in (AC_CHECK_FUNCS): Add isascii.
2275         (GCC_NEED_DECLARATIONS): Add atof.
2276
2277         * system.h: Provide prototypes for abort, atof, atol and sbrk here.
2278         * rtl.c, rtl.h, toplev.c, tree.h: Not here.
2279
2280 Wed May  6 10:52:49 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2281
2282         * system.h: Wrap time.h and sys/file.h in autoconf checks.
2283         Provide default definitions for O_RDONLY and O_WRONLY here.
2284
2285         * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
2286
2287 1998-05-06 Mark Mitchell  <mmitchell@usa.net>
2288
2289         * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
2290
2291 Wed May  6 06:35:38 1998  Robert Lipe  <robertl@dgii.com>
2292
2293         * toplev.h: New file.   Protypes for functions in toplev.c.
2294         * tree.h, rtl.h: Deleted protos for functions in toplev.c.
2295         * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
2296         c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
2297         convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
2298         function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
2299         reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
2300         varasm.c: include it.
2301
2302 Wed May  6 01:09:01 1998  Jeffrey A Law  (law@cygnus.com)
2303                           Jim Wilson (wilson@cygnus.com)
2304
2305         * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
2306         blocks.  Check for 1 successor which is the EXIT_BLOCK.
2307
2308         * haifa-sched.c (find_rgns): Detect unreachable blocks, including
2309         unreachable loops with more than one block.
2310
2311 Wed May  6 08:22:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
2312
2313         * fix-header.c (write_rbrac): Add "abort" to functions which need to
2314         be protected.
2315
2316 Wed May  6 00:09:36 1998  Jeffrey A Law  (law@cygnus.com)
2317
2318         * Check in merge from gcc2.  See ChangeLog.12 for details.
2319
2320 Tue May  5 14:33:49 1998  Jim Wilson  <wilson@cygnus.com>
2321
2322         * c-common.c (scan_char_table): Separate 's' and 'c'.  'c' does not
2323         accept 'a' flag.  'S' does accept 'a' flag.
2324         (check_format_info): When pedantic, warn for m/C/S/a/A formats,
2325         and `a' flag.
2326
2327         * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
2328
2329 Tue May  5 10:50:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2330
2331         * config/m68k/m68k.h: Declare functions from m68k.c used in
2332         macros and machine description.
2333         (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
2334         long values.
2335         (ASM_OUTPUT_FLOAT): Likewise.
2336         (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
2337
2338 Tue May  5 01:28:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
2339
2340         * tree.def: Add NAMESPACE_DECL.
2341         * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
2342         * dwarf2out.c (push_decl_scope): Likewise.
2343         (scope_die_for): Likewise.
2344         * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
2345         how to get next context level.
2346
2347 Tue May  5 01:43:16 1998  Jim Wilson  <wilson@cygnus.com>
2348
2349         * i386.c (output_fix_trunc): Add code to emulate non-popping DImode
2350         case.
2351
2352 Tue May  5 01:15:06 1998  Jeffrey A Law  (law@cygnus.com)
2353
2354         * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
2355
2356         * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
2357         for any insns skipped at the start of a block because they were
2358         redundant.
2359
2360 Mon May  4 20:23:51 1998  Jim Wilson  <wilson@cygnus.com>
2361
2362         * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
2363
2364 1998-05-04  Ulrich Drepper  <drepper@cygnus.com>
2365
2366         * c-common.c (format_char_info): Add new field hhlen.
2367         (print_char_table, scan_char_table, time_char_table): Initialize
2368         hhlen field appropriately.
2369         (char_format_info): Recognize hh modifier and lookup correct char
2370         table entry.
2371
2372 Mon May  4 19:15:29 1998  Jim Wilson  <wilson@cygnus.com>
2373
2374         * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
2375         reference if this is a store.
2376
2377 Mon May  4 17:25:17 1998  Richard Henderson  <rth@cygnus.com>
2378
2379         * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
2380
2381 Sun May  3 23:57:25 1998  Robert Lipe   <robertl@dgii.com>
2382
2383         Make UnixWare 7 bootstrap support work with final shipping product.
2384         * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file.
2385         Pick up xm-siglist and xm-alloca.
2386         (xm_defines): Add USG so dbxout will build.
2387         * configure: Regenerate.
2388
2389 Sun May  3 13:51:34 PDT 1998  Richard Henderson  <rth@cygnus.com>
2390
2391         Support for official Sparc V9 ABI:
2392         * sparc.c (sparc_override_options): Force stack bias off for !arch64.
2393         Care for flag_pcc_struct_return default.
2394         (output_move_quad): Rewrite to move by halves on v9 and in the
2395         proper direction.
2396         (move_quad_direction): New function.
2397         (output_fp_move_quad): Use it to determine the direction of copy.
2398         (function_arg_slotno): Return -1 for FP reg overflow as well.
2399         (function_arg_record_value*): New functions.
2400         (function_arg): Use them.  Streamline unprototyped parameter passing.
2401         (function_arg_pass_by_reference): Pass TCmode by reference.
2402         (function_value): New function.
2403         * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
2404         long long in 64-bit mode.
2405         (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
2406         (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
2407         (BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
2408         (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
2409         (BASE_INCOMING_ARG_REG): Likewise.
2410         (FUNCTION_VALUE): Call function_value.
2411         (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
2412         * sparc.md (movdi_sp32_v9): Disable for arch64.
2413         (movsf, movdf, movtf): Sort all ulternatives using fp regs first.
2414         (call_value_address_sp64): Remove register class constraints.
2415         (call_value_symbolic_sp64): Likewise.
2416         (nonlocal_goto): Pass label reg directly to goto_handlers.  Constrain
2417         v9 case to 32-bit constants.
2418         (goto_handler_and_restore_v9): Provide a version for arch64.
2419         * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
2420         * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
2421         (CPP_PREDEFINES): New.
2422         * sparc/sp64-elf.h: Likewise.
2423         (PREFERRED_DEBUGGING_TYPE): Dwarf2.
2424         (ASM_OUTPUT_DWARF2_ADDR_CONST): New.
2425         * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
2426
2427 Sat May 2 17:47:17 PDT 1998 Jeff Law  (law@cygnus.com)
2428
2429         * version.c: Bump for snapshot.
2430
2431 Sat May  2 01:37:29 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2432
2433         * reload.c (find_reloads): Emit USEs to mark where a pseudo
2434         is reloaded with the MEM of its stack slot.
2435         * reload1.c (cannot_omit_stores): Delete.
2436         (reload): Don't initialize it.
2437         Don't apply avoid_return_reg logic to USEs.
2438         When done, remove USEs that have a REG_EQUAL note on them.
2439         (emit_reload_insns): Handle case where we have inherited a MEM.
2440         (choose_reload_regs): Likewise.
2441         (delete_output_reload): Don't use cannot_omit_stores.
2442
2443 Thu Apr 30 18:59:03 1998  Jim Wilson  <wilson@cygnus.com>
2444
2445         * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
2446
2447 Thu Apr 30 16:57:34 1998  Michael Meissner  <meissner@cygnus.com>
2448
2449         * haifa-sched.c (print_{exp,value}): Various changes to make the
2450         debug output easier to read.  Also, use only one buffer, and make
2451         sure the buffer we are passed in doesn't overflow.
2452         (safe_concat): Concatenate to a buffer without overflow.
2453
2454 Thu Apr 30 16:57:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2455
2456         * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
2457         with the prototype.
2458
2459 Wed Apr 29 21:45:16 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2460
2461         * sched.c (new_insn_dead_notes): Check if the register was
2462         used in the original instruction.
2463         * haifa-sched.c (new_insn_dead_notes): Likewise.
2464
2465 Wed Apr 29 13:46:03 1998  Jim Wilson  <wilson@cygnus.com>
2466
2467         * dwarf2out.c (scope_die_for): If could not find proper scope,
2468         check for and handle tagged type with incorrect TYPE_CONTEXT.
2469
2470 Wed Apr 29 15:34:40 1998  John Carr  <jfc@mit.edu>
2471
2472         * calls.c (expand_call): Fix recognition of C++ operator new.
2473
2474         * alias.c (mode_alias_check): Disable type based alias detection.
2475
2476 Wed Apr 29 15:06:42 1998  Gavin Koch  <gavin@cygnus.com>
2477
2478         * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
2479         ASM_OUTPUT_WEAK_ALIAS): Define.
2480         * config/mips/elf64.h: Same.
2481         * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
2482         ASM_WEAKEN_LABEL): Removed.
2483
2484 Wed Apr 29 10:53:29 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2485
2486         * calls.c (expand_call): Bump the length limit on the specially
2487         recognized function names to 17.
2488
2489 Tue Apr 28 17:53:33 1998  Jim Wilson  <wilson@cygnus.com>
2490
2491         * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
2492         when undefining macros at the end.
2493
2494         * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
2495         val or len has TREE_SIDE_EFFECTS set.
2496
2497         * sparc.md (mulsidi3): Call const v8plus and v8plus routines.
2498         (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
2499         (smuldi3_highpart): Call const v8plus routine.
2500         (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
2501         (const_smulsi3_highpart_v8plus): New pattern.
2502         (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
2503         (umulsidi3): Call const v8plus routine.
2504         (umulsi3_highpart): Handle const before v8plus.  Call const v8plus
2505         routine.
2506         (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
2507         (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
2508
2509 Tue Apr 28 08:55:26 1998  Michael Meissner  <meissner@cygnus.com>
2510
2511         * m32r.c (*_oper{and|ator}): Change enum arguments and return
2512         values to int, so they can be prototyped even in files that don't
2513         include rtl.h.
2514         ({small,large}_insn_p): Ditto.
2515         (m32r_select_cc_mode): Ditto.
2516         (gen_compare): Ditto.
2517         (function_arg_partial_nregs): Ditto.
2518         (m32r_setup_incoming_varargs): Ditto.
2519         (init_reg_tables): Add prototype.
2520         (m32r_frame_info): Add prolog_size field.
2521         (m32r_compute_frame_size): Calculate the size of the prologue.
2522         (m32r_first_insn_address): Return prologue size.
2523         (m32r_output_function_prologue): Calculate frame size before
2524         printing out information.  Print out the prologue size.
2525
2526         * m32r.h: Prototype all functions in m32r.c.
2527         (FIRST_INSN_ADDRESS): Declare, returning prologue size.
2528
2529         * m32r.md (bcc functions): Cast enum's to int.
2530
2531         * m32r.c (conditional_move_operand): Silence a debug message.
2532         ({small,long}_insn): New predicates.
2533
2534         * m32r.h (TARGET_M32R): New macro.
2535         (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
2536         (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
2537         was selected.
2538         (ISSUE_RATE): Define as 2.
2539
2540         * m32r.md (insn_size): New attribute.
2541         ({,rev_}branch_insn): Add .s qualifier to branches believed to be
2542         short.
2543         (m32r): New attribute.
2544
2545         * configure.in (enable_haifa): Switch m32r to Haifa by default.
2546         * configure: Regenerate.
2547
2548         (Changes from Nick Clifton <nickc@cygnus.com>)
2549         * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
2550         the equivalent of a negated 'I' constraint.
2551         (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
2552         optimisation to work.
2553
2554         * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather
2555         than 'I' since the value is negated.
2556         (peephole): Add peephole optimisation to cope with optimization of
2557         divide and subtracts of the same operands.
2558
2559         * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
2560         * m32r.h: Ditto.
2561         * m32r.md: Ditto.
2562
2563         * m32r.h (PREDICATE_CODES): Add declaration of machine specific
2564         predicates.
2565
2566 Tue Apr 28 07:25:53 1998  Manfred Hollstein  <manfred@s-direktnet.de>
2567
2568         * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
2569
2570 Mon Apr 27 18:39:47 1998  Nick Clifton  <nickc@cygnus.com>
2571
2572         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
2573         frame_pointer_rtx not FRAME_POINTER_REGNUM.
2574
2575 Mon Apr 27 18:36:28 1998  Jim Wilson  <wilson@cygnus.com>
2576
2577         * reg-stack.c: Revert last patch (Apr 20).
2578         (convert_regs): Set insn to PREV_INSN (next) after do while loop.
2579
2580         * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
2581
2582         * loop.c (check_dbra_loop): New locals jump, first_compare, and
2583         compare_and_branch.  Call get_condition to set first_compare.
2584         Set compare_and_branch to number of compare/branch instructions.
2585         Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
2586         Replace '2' with compare_and_branch.
2587
2588 Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com>
2589
2590         * cplus-dem.c (demangle_qualified): Replace missing else.
2591
2592 Mon Apr 27 20:22:08 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2593
2594         * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
2595
2596 Mon Apr 27 18:23:51 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2597
2598         * sh.c (sh_expand_prologue, sh_expand_epilogue):
2599         If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
2600         * sh.h (STACK_BOUNDARY): Likewise.
2601
2602 Mon Apr 27 17:22:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2603
2604         * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
2605
2606 Mon Apr 27 08:55:23 1998  Michael Meissner  <meissner@cygnus.com>
2607
2608         * system.h (abort): If abort is not defined, and neither is
2609         USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
2610         reporting the line and filename of the error.
2611
2612         * .gdbinit: Add breakpoints on exit and fancy_abort.
2613
2614         * final.c (split_double): Avoid a compiler warning if
2615         BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
2616
2617         * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}):  New macros
2618         for calling jump_optimize.
2619
2620         * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
2621         macros, rather than 0/1's.
2622
2623 Sun Apr 26 23:19:10 1998  Richard Henderson  <rth@cygnus.com>
2624
2625         * alpha.h (CONST_COSTS): Zero is always free.
2626         (RTX_COSTS): Add EV6 costs.  Abort if alpha_cpu is unknown.
2627
2628 Sun Apr 26 15:38:50 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2629
2630         * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
2631         length in the name of a virtual table.
2632
2633 Sun Apr 26 01:21:06 1998  Richard Henderson  <rth@cygnus.com>
2634
2635         * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
2636
2637 Sat Apr 25 22:11:38 PDT 1998 Jeff Law  (law@cygnus.com)
2638
2639         * version.c: Bump for snapshot.
2640
2641 Sat Apr 25 17:17:15 1998  Jeffrey A Law  (law@cygnus.com)
2642
2643         * fold-const.c (fold_convert): Fix typo.
2644
2645 Sat Apr 25 17:55:54 1998  John Carr  <jfc@mit.edu>
2646
2647         * alias.c (alias_invariant): New variable.
2648         (record_base_value): New argument INVARIANT.
2649         (memrefs_conflict_p): If a register has an entry in the alias_invariant
2650         array, try substituting that value for the register.
2651
2652         * rtl.h: Declare record_base_value.
2653
2654         * loop.c, unroll.c: Update callers of record_base_value.
2655
2656         * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
2657         ZERO_EXTEND do not affect base values.
2658
2659 Fri Apr 24 15:57:02 1998  Jeffrey A Law  (law@cygnus.com)
2660
2661         * dbxout.c (dbxout_type): Fix typo.
2662         (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
2663
2664         * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
2665
2666 Fri Apr 24 16:11:47 1998  John Carr  <jfc@mit.edu>
2667
2668         * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
2669         if the argument is the address of a structure or array.
2670
2671         * configure.in: Enable Haifa scheduler by default for SPARC.
2672
2673 Fri Apr 24 20:55:47 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2674
2675         * cse.c (cse_set_around_loop): Don't do optimization when
2676         new pseudos are created.
2677
2678 Fri Apr 24 11:00:18 1998  Jeffrey A Law  (law@cygnus.com)
2679
2680         * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
2681         appropriately.
2682         (dbxout_type_method_1, dbxout_type): Likewise.
2683         (print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
2684         (dbxout_type): Fix check for when to print a type range in
2685         octal vs decimal.
2686
2687 Fri Apr 24 16:45:03 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2688
2689         * (gen_shl_and, in case 1): Fix comparison with mask.
2690
2691 Fri Apr 24 06:46:40 1998  Nick Clifton  <nickc@cygnus.com>
2692
2693         * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
2694         pointer as second register in REG+REG pair.
2695
2696 Fri Apr 24 09:22:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2697
2698         * c-common.c (check_format_info): Don't check for the 'x' format
2699         character twice, instead check for 'x' and 'X'
2700
2701 Fri Apr 24 08:02:30 1998  Manfred Hollstein  <manfred@s-direktnet.de>
2702
2703         * Makefile.in (libgcc2.ready): Add explicit dependancy from
2704         $(STMP_FIXPROTO) to ensure all necessary include files have
2705         been created and to guarantee proper parallel builds.
2706
2707 Fri Apr 24 04:42:35 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2708
2709         * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
2710         register for stdarg functions.
2711         * sh.h (current_function_varargs): Declare.
2712         (FUNCTION_ARG): Ignore NAMED for stdarg functions.
2713
2714 1998-04-23  Jim Wilson  <wilson@cygnus.com>
2715
2716         * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
2717         inhibit_libc is defined.
2718
2719         * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
2720
2721 Thu Apr 23 19:09:33 1998  Jim Wilson  <wilson@cygnus.com>
2722
2723         * profile.c (tablejump_entry_p): New function.
2724         (branch_prob): Add code to recognize MIPS tablejump entry branch.
2725         Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
2726
2727 Thu Apr 23 15:01:13 1998  Nick Clifton  <nickc@cygnus.com>
2728
2729         * config/arm/arm.c (find_barrier): Return as soon as a barrier is
2730         found, rather than at end of the loop, after the insn has been
2731         changed.
2732
2733 Thu Apr 23 20:21:06 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
2734
2735         * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
2736         * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
2737
2738 Wed Apr 22 17:07:35 1998  Michael Meissner  <meissner@cygnus.com>
2739
2740         * loop.c (note_addr_stored): Correct function to take 2 arguments,
2741         instead of 1.
2742
2743         * rtl.def (MATCH_INSN2): Add new matching pattern.
2744         * genrecog.c (add_to_sequence): Support MATCH_INSN2.
2745
2746 Wed Apr 22 15:52:22 1998  John Carr  <jfc@mit.edu>
2747
2748         * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
2749         if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
2750
2751         * final.c (split_double): Sign extend both halves of a split CONST_INT.
2752
2753 Wed Apr 22 10:42:45 1998  Jeffrey A Law  (law@cygnus.com)
2754
2755         * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
2756
2757 Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod  <amacleod@cygnus.com>
2758
2759         * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
2760         (cplus_demangle_opname): Call mop_up_squangle.
2761         (cplus_demangle): Initialize squangle info, then call
2762         internal_cplus_demangle. (Most code moved there as well)
2763         (internal_cplus_demangle): New function, performs most of what use
2764         to be done in cplus_demangle, but is only called with this file.
2765         (squangle_mop_up): New function to clean up B and K code data.
2766         (mop_up): set pointers to NULL after freeing.
2767         (demangle_signature, demangle_template, demangle_class): Add
2768         switch elements to handle K and B codes.
2769         (demangle_prefix, gnu_special, demangle_qualified): Add
2770         code to handle K and B codes.
2771         (do_type, demangle_fund_type): Handle B and K codes.
2772         (remember_Ktype): New function to store K info.
2773         (register_Btype, remember_Btype): New functions for B codes.
2774         (forget_B_and_K_types): New function to destroy B and K info.
2775
2776 1998-04-21  Jim Wilson  <wilson@cygnus.com>
2777
2778         * stmt.c (check_seenlabel): When search for line number note for
2779         warning, handle case where there is no such note.
2780
2781 Tue Apr 21 20:48:37 1998  John Carr  <jfc@mit.edu>
2782
2783         * genemit.c (gen_exp): Allow machine description to set mode of
2784         MATCH_OP_DUP.
2785
2786 Tue Apr 21 16:36:01 1998  John Carr  <jfc@mit.edu>
2787
2788         * alias.c (mode_alias_check): New function.
2789         (true_dependence, anti_dependence, output_dependence): Call
2790         mode_alias_check.
2791
2792 Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
2793
2794         * mips.h (STACK_BOUNDARY): Allow specific targets to override.
2795         (MIPS_STACK_ALIGN): Similarly.
2796
2797         * c-common.c (type_for_mode): Handle TI types.
2798         * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
2799         (init_decl_processing): Handle TI types.
2800         * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
2801
2802         * mips.c (block_move_loop): Test Pmode == DImode instead of
2803         TARGET_MIPS64.
2804         (expand_block_move, save_restore_insns): Likewise.
2805         (function_prologue, mips_expand_prologue): Likewise.
2806         (mips_expand_epilogue): Likewise.
2807         * mips.h (POINTER_SIZE): Allow specific targets to override.
2808         (Pmode): Allow specific targets to override.
2809         (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
2810         (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
2811         (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
2812         (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
2813         (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
2814         (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2815         * mips.md (indirect, tablejump & casesi support): Test for
2816         Pmode == DImode instead of TARGET_MIPS64.
2817         (call patterns): Likewise.
2818
2819 Tue Apr 21 09:43:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2820
2821         * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
2822         for gen_rtx(MEM, ...).
2823
2824 Tue Apr 21 02:15:36 1998  Richard Henderson  <rth@cygnus.com>
2825
2826         * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
2827         to not be so gross, and to properly function with PIC.
2828
2829 Mon Apr 20 20:44:25 1998  Jim Wilson  <wilson@cygnus.com>
2830
2831         * frame.c (heapsort): Rename to frame_heapsort.
2832
2833         * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
2834
2835 Mon Apr 20 12:43:09 1998  Doug Evans  <devans@canuck.cygnus.com>
2836
2837         * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
2838
2839 Mon Apr 20 15:04:14 1998  John Wehle  (john@feith.com)
2840
2841         * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
2842         operands during and after reload.
2843
2844 Mon Apr 20 22:37:50 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2845
2846         * final.c (shorten_branches, init_insn_lengths): Move code
2847         to free label_align, uid_shuid, insn_lengths, insn_addresses
2848         and uid_align from the former function into the latter one;
2849         Add code to clear these variables.
2850         * sh.h (label_align): Remove declaration.
2851
2852 Mon Apr 20 14:48:29 1998  Michael Meissner  <meissner@cygnus.com>
2853
2854         * gcc.c (lang_specific_driver): Declare prototype properly so
2855         fatal can be passed to it without error.
2856
2857         * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
2858         * configure: Regenerate.
2859         * config.in: Add #undef's for strchr and strrchr.
2860
2861         * protoize.c (toplevel): If we have rindex, but not strrchr, map
2862         rindex to strrchr.
2863         (file_could_be_converted): Use strrchr, not rindex since rindex is
2864         not defined on Linux systems when _POSIX_SOURCE is defined.
2865         (file_normally_convertible): Ditto.
2866         (process_aux_info_file): Ditto.
2867         (main): Ditto.
2868
2869         * rs6000.md (mov{sf,df} define_splits): When splitting a move of
2870         a constant to an integer register, don't split the insns that do
2871         the simple AND and OR operations, rather just split each word, and
2872         let the normal movsi define split handle it further.
2873
2874 Mon Apr 20 18:19:40 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
2875
2876         * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
2877         (split_branches): Call init_insn_lengths.
2878
2879 Mon Apr 20 07:37:49 1998  Michael Meissner  <meissner@cygnus.com>
2880
2881         * i386.c: Include expr.h to get the change_address prototype
2882         declared.
2883
2884 Mon Apr 20 01:00:05 1998  H.J. Lu  (hjl@gnu.org)
2885
2886         * reg-stack.c (subst_asm_stack_regs): Change to return the last
2887         new insn generated by this function.
2888         (subst_stack_regs): Likewise.
2889         (convert_regs): Record the last newly generated insn and use
2890         it for change_stack () instead of INSN.
2891
2892 Sun Apr 19 15:41:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
2893
2894         * fix-header.c (enum special_file): Undefine enumerators if they
2895         are already defined by include files.
2896         * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
2897         macro with '__' to not pollute user namespace.
2898
2899 Sun Apr 19 02:42:06 1998  Richard Henderson  <rth@cygnus.com>
2900
2901         * haifa-sched.c (queue_to_ready): Fix typo in prototype.
2902
2903 Sat Apr 18 23:52:35 PDT 1998 Jeff Law  (law@cygnus.com)
2904
2905         * version.c: Bump for snapshot.
2906
2907 Sat Apr 18 18:30:22 1998  Jim Wilson  <wilson@cygnus.com>
2908
2909         * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
2910
2911         * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
2912         Add missing -Dpentium* options.
2913         (CPP_CPU_SPEC): Delete redundant definition.  Include cpp_cpu_default
2914         instead of CPP_CPU_DEFAULT.
2915         (EXTRA_SPECS): Add entry for cpp_cpu_default.
2916
2917 Sat Apr 18 19:06:59 1998  David Edelsohn  <edelsohn@mhpcc.edu>
2918
2919         * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
2920         negative in a stackless frame.
2921         * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
2922         in stackless frame size.  Support 64-bit stackless frame size.
2923         Combine fpmem offset calculations and don't add total_size to
2924         offset if not pushing a stack frame.
2925
2926 Sat Apr 18 15:41:16 1998  Jim Wilson  <wilson@cygnus.com>
2927
2928         * regmove.c (fixup_match_1): In three places, in flag_exceptions
2929         check, change p to q.
2930
2931 Sat Apr 18 15:30:49 1998  Jim Wilson  <wilson@cygnus.com>
2932
2933         * gcc.c (lang_specific_driver): Add new parm type to prototype.
2934         (added_libraries): New file scope static variable.
2935         (process_command): Initialize added_libraries.  Pass it to
2936         lang_specific_driver.
2937         (main): Use added_libraries in check for no input files.
2938
2939 Sat Apr 18 01:23:11 1998  John Carr  <jfc@mit.edu>
2940
2941         * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
2942         code generation.  Use 64 bit instructions in 32 bit mode when
2943         possible.  Use V9 return instruction.  UltraSPARC optimizations.
2944
2945         * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
2946
2947 Fri Apr 17 22:38:17 1998  Jeffrey A Law  (law@cygnus.com)
2948
2949         * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
2950         just pass zero.  That will work regardless of the size of HARD_REG_SET.
2951
2952         * libgcc2.c (__floatdisf): Fix a couple typos.
2953
2954 Fri Apr 17 17:28:26 1998  Jim Wilson  <wilson@cygnus.com>
2955
2956         * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
2957
2958 Fri Apr 17 16:35:35 1998  Greg McGary  <gkm@gnu.org>
2959
2960         * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
2961
2962 Fri Apr 17 14:30:37 1998  John Carr <jfc@mit.edu>
2963
2964         * emit-rtl.c (operand_subword_force): If a register can not be
2965         accessed by words, copy it to a pseudo register.
2966
2967 Fri Apr 17 14:30:37 1998  Jim Wilson  <wilson@cygnus.com>
2968
2969         * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
2970
2971 Fri Apr 17 17:01:25 1998  Michael Meissner  <meissner@cygnus.com>
2972
2973         * tree.h (mark_seen_cases): Delete declaration.
2974
2975 Fri Apr 17 13:32:20 1998  Jeffrey A Law  (law@cygnus.com)
2976
2977         * stmt.c (mark_seen_cases): Make static and add prototype.
2978
2979 Fri Apr 17 11:21:43 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2980
2981         * frame.c: Include stdlib.h and unistd.h to possibly get various
2982         function prototypes.  The fixproto script guarantees these header
2983         files exist on the target system.
2984         * libgcc2.c: Likewise.
2985
2986         * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
2987         __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
2988         function parameters.
2989         * libgcc2.c (__udiv_w_sdiv): Likewise.
2990
2991 Thu Apr 16 22:41:02 1998  Jeffrey A Law  (law@cygnus.com)
2992
2993         * varasm.c (asm_output_bss): Add prototype.
2994         (asm_output_aligned_bss): Likewise.
2995
2996         * unroll.c (verify_addresses): Add prototype.
2997
2998         * toplev.c: Add many prototypes.  Too many to mention here.
2999
3000         * stmt.c (check_seenlabel): Add prototype.
3001
3002         * rtlanal.c (reg_set_p_1): Add prototype.
3003         (reg_set_last_1): Likewise.
3004
3005         * reorg.c (find_dead_or_set_registers): Add prototype.
3006
3007         * regmove (try_auto_increment): Add prototype.
3008
3009         * reg-stack.c (pop_stack): Add prototype.
3010
3011         * recog.c (validate_replace_rtx_1): Add prototype.
3012         (find_cosntant_term_loc): Likewise.
3013
3014         * loop.c (regs_patch_p): Add prototype.
3015         (add_label_notes, count_nonfixed_reads): Likewise.
3016         (find_single_use_in_loop): Likewise.
3017         (express_from): Surround prototype with #ifdef.
3018         (giv_sort): Similarly.
3019
3020         * jump.c (mark_modified_reg): Add prototype.
3021
3022         * haifa-sched.c (is_prisky): Add prototype.
3023         (queue_to_ready): Likewise.
3024
3025         * genextract.c (gen_insn): Add prototype.
3026
3027         * genemit.c (max_operand_1): Add prototype.
3028         (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
3029         (gen_expand, gen_explit, output_add_clobbers): Likewise.
3030         (output_init_mov_optab): Likewise.
3031
3032         * genattrtab.c (attr_hash_add_rtx): Add prototype.
3033         (attr_hash_add_string, write_length_unit_log): Likewise.
3034
3035         * genattr.c (init_range): Add prototype.
3036
3037         * combine.c (sets_function_arg_p): Add prototype.
3038
3039         * expr.c (store_constructor_field): Add prototype.
3040         (get_memory_usage_from_modifier): Likewise
3041
3042         * expmed.c (synth_mult): Add prototype.
3043         (choose_multiplier, invert_mod2n): Likewise.
3044
3045         * except.c (push_eh_entry): Add prototype.
3046         (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
3047         (call_get_eh_context, start_dynamic_cleanup): Likewise.
3048         (start_dynamic_handler, can_throw): Likewise.
3049         (output_exception_table_entry, scan_region): Likewise.
3050         (eh_regs, set_insn_eh_region): Likewise.
3051
3052         * dwarfout.c (decl_class_context): Add prototype.
3053         (output_inheritance_die, type_ok_for_scope): Likewise.
3054
3055         * c-lex.c (skip_white_space_on_line): Add prototype.
3056
3057         * alias.c (record_set): Add prototype.
3058         (find_base_term, base_alias_check): Likewise.
3059
3060         * function.c (assign_outer_stack_local): Make static and add prototype.
3061
3062         * haifa-sched.c (build_control_flow): Accept raw data as inputs
3063         instead of computing it locally.  Callers changed.
3064         (find_rgns): Several new arguments.  Callers changed.
3065         Generally clean up and comment better.  Use dominators to
3066         identify reducible loops.  Convert some flag arrays to bitmaps.
3067         Convert most of the code to work on pred/succ lists instead of
3068         an edge table.  Add comments for future improvements.
3069         (schedule_insns): Allocate temporary tables for flow data, call
3070         routines to compute flow data and pass it along to children as
3071         arguments.
3072         (debug_control_flow): Delete.  Use dump_bb_data instead.
3073
3074         * basic-block.h (compute_dominators): Declare.
3075
3076         * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
3077         functions.
3078         * basic-block.h: Declare them.
3079
3080 Thu Apr 16 13:45:51 1998  Jim Wilson  <wilson@cygnus.com>
3081
3082         * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
3083         no operands.
3084
3085 Wed Apr 15 11:33:09 1998  Alexandre Petit-Bianco  <apbianco@sendai.cygnus.com>
3086
3087         * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
3088         Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
3089         node is non NULL. Cache last file name and file name identifier node.
3090
3091 1998-04-15  Mark Mitchell  <mmitchell@usa.net>
3092
3093         * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
3094         the length of an array, not TREE_TYPE.
3095
3096 Wed Apr 15 15:31:34 1998  Jeffrey A Law  (law@cygnus.com)
3097
3098         * flow.c (sbitmap_union_of_successors):  New function.
3099         * basic-block.h (sbitmap_union_of_successors): Declare it.
3100
3101 Wed Apr 15 12:38:03 1998  Jim Wilson  <wilson@cygnus.com>
3102
3103         * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
3104         Set gnu_ld to gnu_ld_flag inside main loop.
3105         (gas): Likewise.
3106
3107 Wed Apr 15 14:50:05 1998  Dave Brolley  <brolley@cygnus.com>
3108
3109         * toplev.c (compile_file): Call init_parse using new interface.
3110         (init_lex): Remove declaration.
3111
3112         * c-lex.c (init_parse): Now returns char* containing filename.
3113
3114 Wed Apr 15 12:37:10 1998  Jeffrey A Law  (law@cygnus.com)
3115
3116         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
3117
3118 Wed Apr 15 12:10:18 1998  Michael Meissner  <meissner@cygnus.com>
3119
3120         * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
3121         (gen{extract,peep,opinit,output}): Ditto.
3122
3123         * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
3124         global definition so print-rtl.o can be linked in.
3125         * gen{peep,recog}.c (insn_attr_name): Ditto.
3126
3127 Tue Apr 14 07:30:57 1998  K. Richard Pixley  <rich@kyoto.noir.com>
3128
3129         * fixincludes: discard empty C++ comments, as found in sys/time.h
3130         on hpux-11.0.
3131
3132 Wed Apr 15 10:47:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3133
3134         * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
3135         operand.
3136
3137 Wed Apr 15 01:21:21 1998  Jeffrey A Law  (law@cygnus.com)
3138
3139         * emit-rtl.c (operand_subword): Rework slightly to avoid
3140         bogus warning from previous change.
3141
3142 Tue Apr 14 23:39:13 1998  Richard Henderson  <rth@cygnus.com>
3143
3144         * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
3145         Nov 8 find_replacement change.  Move decls of get_unaligned_address
3146         * alpha.h: ... here.
3147
3148 Tue Apr 14 22:00:39 1998  John Carr <jfc@mit.edu>
3149
3150         * function.c (assign_parms): Initialize unsignedp before passing
3151         its pointer to promote_mode.
3152
3153         * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
3154         (write_test_expr): Allow MATCH_INSN.
3155
3156 Tue Apr 14 21:57:57 1998  Paul Eggert <eggert@twinsun.com>
3157
3158         * install.texi: Update section on warnings that can be safely ignored.
3159
3160 Tue Apr 14 14:55:16 1998  Jim Wilson  <wilson@cygnus.com>
3161
3162         * mips.md (reload_outdi): Change the scratch mode from DImode to
3163         TImode.  New variable scratch, used instead of operand[2] in template.
3164         Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
3165
3166 Tue Apr 14 16:19:03 1998  Michael Meissner  <meissner@cygnus.com>
3167
3168         * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
3169
3170 Tue Apr 14 11:31:28 1998  Krister Walfridsson <cato@df.lth.se>
3171
3172         * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
3173
3174 Tue Apr 14 09:02:32 1998  Jeffrey A Law  (law@cygnus.com)
3175
3176         * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
3177         (ASM_FINISH_DECLARE_OBJECT): Likewise.
3178
3179         * Idea and part of the patch from HJ.
3180         * Makefile.in: auto-host.h renamed from auto-config.h.  All references
3181         changed.
3182         (distclean): Remove auto-build.h too.
3183         * configure.in: Rename host autoconf generated file to auto-host.h.
3184         If host != build, then run autoconf to generate auto-build.h for
3185         the build machine and include it in build_xm_files.
3186         Check for wait.h and sys/wait.h.
3187
3188         * combine.c (simplify_rtx, case TRUNCATE): Respect value of
3189         TRULY_NOOP_TRUNCATION.
3190
3191 Mon Apr 13 11:31:49 1998  Jason Merrill  <jason@yorick.cygnus.com>
3192
3193         * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
3194
3195 Sun Apr 12 20:55:32 1998  Catherine Moore <clm@cygnus.com>
3196
3197         * invoke.texi (ld options)  Include memset requirements
3198         for options -nodstdlib and -nodefaultlibs.
3199
3200 1998-04-12  Paul Eggert  <eggert@twinsun.com>
3201
3202         This change is from an idea suggested by Arthur David Olson.
3203
3204         * c-common.c (decl_attributes, record_function_format,
3205         check_format_info, init_function_format_info):
3206         Add support for strftime format checking.
3207         (enum format_type): New type.
3208         (record_function_format): Now static, and takes value of type
3209         enum format_type instead of int.
3210         (time_char_table): New constant.
3211         (struct function_format_info): format_type member renamed from is_scan.
3212         (check_format_info): Use `warning' rather than sprintf followed by
3213         `warning', to avoid mishandling `%' in warnings.
3214         Change `pedwarn' to `warning', since these warnings do not necessarily
3215         mean the program does not conform to the C Standard, as the code
3216         need not be executed.
3217
3218         * c-tree.h (record_function_format): Remove decl; no longer extern.
3219
3220         * extend.texi: Add documentation for strftime format checking.
3221
3222 Sun Apr 12 20:23:03 1998  Jeffrey A Law  (law@cygnus.com)
3223
3224         * mips/ecoffl.h: Do not include mips.h.
3225         * mips/elf.h: Likewise.
3226
3227         * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
3228         * mips/ecoff.h: Include "mips/mips.h".
3229
3230 Sat Apr 11 22:42:54 PDT 1998 Jeff Law  (law@cygnus.com)
3231
3232         * version.c: Bump for snapshot.
3233
3234 Sat Apr 11 01:24:28 1998  Jeffrey A Law  (law@cygnus.com)
3235
3236         * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
3237         (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
3238         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns              instead of delete_dead_from_cse.  Also call delete_trivially_dead_insns
3239         between loop optimization passes.
3240         * rtl.h: Updated appropriately.
3241
3242 Fri Apr 10 22:28:32 1998  Jeffrey A Law  (law@cygnus.com)
3243
3244         Reinstall this patch from Jason.
3245         * function.c (push_function_context_to): Don't call init_emit.
3246
3247 Fri Apr 10 13:40:20 1998  Nick Clifton  <nickc@cygnus.com>
3248
3249         * rtl.c (read_skip_spaces): Prevent infinite loops upon
3250         encountering unterminated comments.
3251
3252 Fri Apr 10 10:43:41 1998  Jeffrey A Law  (law@cygnus.com)
3253
3254         * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
3255         64x32 cross builds.
3256
3257         * configure.in: Handle --with-fast-fixincludes.
3258         (fixincludes): If --with-fast-fixincludes, then use a different
3259         fixincludes program by default.
3260         * Makefile.in (fixinc.sh): New rule.
3261
3262 Fri Apr 10 00:36:31 1998  H.J. Lu  (hjl@gnu.org)
3263
3264         * i386.md (movqi+1): Handle invalid QI register.
3265         (movsf_push-1): Likewise.
3266
3267 Thu Apr  9 16:53:59 1998  Nick Clifton  <nickc@cygnus.com>
3268
3269         * config/m32r/m32r.c: call_address_operand(): Only accept symbolic
3270         addresses.
3271         symbolic_memort_operand(), call32_operand(), int8_operand(),
3272         int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
3273         Not used.
3274         uint16_operand(): Made static.
3275
3276 Thu Apr  9 01:43:04 1998  Jeffrey A Law  (law@cygnus.com)
3277
3278         * calls.c (expand_call): Fix typo.
3279
3280 Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
3281
3282         * c-lex.c (finput): New global.
3283         (init_parse): Always included.  Handle !USE_CPPLIB using
3284         code originally in compile_file.
3285         (finish_parse): Update for CPPLIB.
3286         * toplev.c (init_parse, finish_parse): Declare.
3287         (finput): Delete variable.  Now in front-ends.
3288         (compile_file): Remove code which is now handled by init_parse
3289         which is unconditionally called.  Similarly for finish_parse.
3290
3291 Wed Apr  8 23:13:50 1998  Gavin Koch  <gavin@cygnus.com>
3292
3293         * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
3294         ASM_WEAKEN_LABEL): Add.
3295
3296 Wed Apr  8 18:21:30 1998  Richard Henderson  <rth@cygnus.com>
3297
3298         * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
3299         * configure.in (alpha-*-linux*): Use them.
3300
3301 Fri Apr  3 17:02:13 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
3302
3303         * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
3304         * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
3305         COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
3306         (build_expr_wfl): New prototype declaration.
3307         * tree.c (build_expr_wfl): New function, to build
3308         EXPR_WITH_FILE_LOCATION nodes.
3309         (copy_node): Don't zero TREE_CHAIN if copying a
3310         EXPR_WITH_FILE_LOCATION node.
3311         * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
3312         * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
3313
3314 Wed Apr  8 12:51:19 1998  Jeffrey A Law  (law@cygnus.com)
3315
3316         * configure.in (v850): Use t-v850.
3317         (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
3318
3319         * protoize.c (creat, read, write): Do not declare.
3320
3321         * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
3322         refer to the CODE_LABEL before a dispatch table.
3323
3324         * invoke.texi: Add ARC options.
3325
3326         * gcc.c (proces_command): Improve error message for -o with
3327         either -c or -S.
3328
3329         * i386/x-cygwin32 (CLIB): Link in advapi32.
3330
3331         * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
3332         (ASM_IDENTIFY_LANGUAGE): Likewise.
3333
3334         * i386.md (movqi recognizer): Don't perfom byte increment into
3335         a NON_QI_REG_P.
3336
3337         * configure.in (x86-dg-dgux): Run fixinc.dgux.
3338
3339         * i370.h: Fix typo in GEN_INT changes.
3340
3341         * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
3342         of an empty arglist in prototype.
3343
3344         * Makefile.in: Remove bytecode crud that crept back in after the
3345         gcc2 merge.
3346
3347 1998-04-08  Brendan Kehoe  <brendan@cygnus.com>
3348
3349         * c-lex.h (is_class_name): Fix arg type to be tree, not void.
3350         (make_pointer_declarator, reinit_parse_for_function): Fix typo.
3351
3352 Wed Apr  8 06:16:45 1998  Richard Earnshaw (rearnsha@arm.com)
3353
3354         * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3355
3356 Wed Apr  8 00:44:18 1998  Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
3357
3358         * c-lex.c (is_class_name): Delete declaration.
3359         (whitespace_cr): Make static and add prototype.
3360         * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
3361         yylex, get_directive_line): Turn declarations into prototypes.
3362         (position_after_whitespace, check_newline, yyerror,, is_class_name,
3363         forget_protocol_qualifiers, remember_protocol_qualifiers): Add
3364         prototypes.
3365         * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
3366         prototypes.
3367         * gencodes.c (gen_insn): Add prototype.
3368         * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
3369         gen_peephole): Add prototypes.
3370         * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
3371         prototypes.
3372         * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
3373         special_format, find_formats, gendecl, genmacro, gendef, genlegend,
3374         genheader, gencode): Add prototypes.
3375         * genopinit.c (gen_insn): Add prototype.
3376         * genoutput.c (output_prologue, output_epilogue, scan_operands,
3377         process_template, validate_insn_alternatives, gen_insn, gen_peephole,
3378         gen_expand, gen_split, n_occurrences): Add prototypes.
3379         * genpeep.c (gen_peephole): Add prototype.
3380         * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
3381         reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
3382         labels_in_range_p, count_loop_regs_set, note_addr_stored,
3383         loop_reg_used_before_p, scan_loop, replace_call_address,
3384         skip_consec_insns, libcall_benefit, ignore_some_movables,
3385         force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
3386         strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
3387         check_final_value, record_giv, update_giv_derive, basic_induction_var,
3388         simplify_giv_expr, general_induction_var, consec_sets_giv,
3389         check_dbra_loop, express_from, combine_givs_p, combine_givs,
3390         product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
3391         last_use_this_basic_block, record_initial, update_reg_last_use,
3392         iteration_info, analyze_loop_iterations, insert_bct,
3393         instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
3394         into prototypes.
3395
3396 Tue Apr  7 21:48:52 1998  Jeffrey A Law  (law@cygnus.com)
3397
3398         * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
3399
3400 1998-04-07  Ken Raeburn  <raeburn@cygnus.com>
3401
3402         * config/mips/mips.c (siginfo): Deleted.
3403         (override_options): Don't install SIGINFO signal handler.
3404
3405 Tue Apr  7 11:58:04 1998  Jim Wilson  <wilson@cygnus.com>
3406
3407         * loop.c (check_dbra_loop): When normalize comparison_val, add check
3408         to verify it is non-negative.
3409
3410 Tue Apr  7 02:01:47 1998  Richard Henderson  <rth@cygnus.com>
3411
3412         * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
3413         (alpha_expand_block_clear): Likewise.
3414
3415 Mon Apr  6 23:36:01 1998  Richard Henderson  <rth@cygnus.com>
3416
3417         * tree.h (sizetype_tab): Fix previous change for K&R.
3418
3419 Mon Apr 6 22:23:29 PDT 1998 Jeff Law  (law@cygnus.com)
3420
3421         * version.c: Bump for snapshot.
3422
3423 Mon Apr  6 23:16:10 1998  Richard Earnshaw (rearnsha@arm.com)
3424
3425         * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
3426         Add USG and POSIX to xm_defines.
3427
3428 Mon Apr  6 21:49:57 1998  Bob Manson  <manson@charmed.cygnus.com>
3429
3430         * gcc.c: Add linker spec.
3431         (link_command_spec): Use %(linker) instead of ld.
3432         (main): If collect2 is requested as the linker, see if it exists;
3433         if not, use ld instead.
3434
3435         * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
3436         (ld:) Deleted.
3437         (install-collect2): Install as collect2, not ld.
3438
3439