OSDN Git Service

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